diff options
author | Pratyush Anand <panand@redhat.com> | 2016-11-14 19:32:42 +0530 |
---|---|---|
committer | Will Deacon <will.deacon@arm.com> | 2016-11-18 17:23:17 +0000 |
commit | 651be3cb085341a21847e47c694c249c3e1e4e5b (patch) | |
tree | b4a596841030d58a25847f9d87dd15e5f3cbc1b6 | |
parent | bc33b0ca11e3df467777a4fa7639ba488c9d4911 (diff) | |
download | op-kernel-dev-651be3cb085341a21847e47c694c249c3e1e4e5b.zip op-kernel-dev-651be3cb085341a21847e47c694c249c3e1e4e5b.tar.gz |
hw_breakpoint: Allow watchpoint of length 3,5,6 and 7
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.
Signed-off-by: Pratyush Anand <panand@redhat.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
-rw-r--r-- | include/uapi/linux/hw_breakpoint.h | 4 | ||||
-rw-r--r-- | tools/include/uapi/linux/hw_breakpoint.h | 4 |
2 files changed, 8 insertions, 0 deletions
diff --git a/include/uapi/linux/hw_breakpoint.h b/include/uapi/linux/hw_breakpoint.h index b04000a..2b65efd 100644 --- a/include/uapi/linux/hw_breakpoint.h +++ b/include/uapi/linux/hw_breakpoint.h @@ -4,7 +4,11 @@ enum { HW_BREAKPOINT_LEN_1 = 1, HW_BREAKPOINT_LEN_2 = 2, + HW_BREAKPOINT_LEN_3 = 3, HW_BREAKPOINT_LEN_4 = 4, + HW_BREAKPOINT_LEN_5 = 5, + HW_BREAKPOINT_LEN_6 = 6, + HW_BREAKPOINT_LEN_7 = 7, HW_BREAKPOINT_LEN_8 = 8, }; diff --git a/tools/include/uapi/linux/hw_breakpoint.h b/tools/include/uapi/linux/hw_breakpoint.h index b04000a..2b65efd 100644 --- a/tools/include/uapi/linux/hw_breakpoint.h +++ b/tools/include/uapi/linux/hw_breakpoint.h @@ -4,7 +4,11 @@ enum { HW_BREAKPOINT_LEN_1 = 1, HW_BREAKPOINT_LEN_2 = 2, + HW_BREAKPOINT_LEN_3 = 3, HW_BREAKPOINT_LEN_4 = 4, + HW_BREAKPOINT_LEN_5 = 5, + HW_BREAKPOINT_LEN_6 = 6, + HW_BREAKPOINT_LEN_7 = 7, HW_BREAKPOINT_LEN_8 = 8, }; |