We only support breakpoint/watchpoint of length 1, 2, 4 and 8. If we can support other length as well, then user may watch more data with less number of watchpoints (provided hardware supports it). For example: if we have to watch only 4th, 5th and 6th byte from a 64 bit aligned address, we will have to use two slots to implement it currently. One slot will watch a half word at offset 4 and other a byte at offset 6. If we can have a watchpoint of length 3 then we can watch it with single slot as well. ARM64 hardware does support such functionality, therefore adding these new definitions in generic layer.
Showing the changes to include/uapi/linux (1 of 2 files). Show all
Unified · Split
| @@ -4,7 +4,11 @@ · 3 unmodified lines | ||
| 4 | 4 | enum { |
| 5 | 5 | HW_BREAKPOINT_LEN_1 = 1, |
| 6 | 6 | HW_BREAKPOINT_LEN_2 = 2, |
| 7 | + HW_BREAKPOINT_LEN_3 = 3, | |
| 7 | 8 | HW_BREAKPOINT_LEN_4 = 4, |
| 9 | + HW_BREAKPOINT_LEN_5 = 5, | |
| 10 | + HW_BREAKPOINT_LEN_6 = 6, | |
| 11 | + HW_BREAKPOINT_LEN_7 = 7, | |
| 8 | 12 | HW_BREAKPOINT_LEN_8 = 8, |
| 9 | 13 | }; |
| 10 | 14 | |