Commit 651be3cb authored by Pratyush Anand's avatar Pratyush Anand Committed by Will Deacon

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: default avatarPratyush Anand <panand@redhat.com>
Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
parent bc33b0ca
...@@ -4,7 +4,11 @@ ...@@ -4,7 +4,11 @@
enum { enum {
HW_BREAKPOINT_LEN_1 = 1, HW_BREAKPOINT_LEN_1 = 1,
HW_BREAKPOINT_LEN_2 = 2, HW_BREAKPOINT_LEN_2 = 2,
HW_BREAKPOINT_LEN_3 = 3,
HW_BREAKPOINT_LEN_4 = 4, 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, HW_BREAKPOINT_LEN_8 = 8,
}; };
......
...@@ -4,7 +4,11 @@ ...@@ -4,7 +4,11 @@
enum { enum {
HW_BREAKPOINT_LEN_1 = 1, HW_BREAKPOINT_LEN_1 = 1,
HW_BREAKPOINT_LEN_2 = 2, HW_BREAKPOINT_LEN_2 = 2,
HW_BREAKPOINT_LEN_3 = 3,
HW_BREAKPOINT_LEN_4 = 4, 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, HW_BREAKPOINT_LEN_8 = 8,
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment