On 28.08.2015 22:21, Peter Maydell wrote:
> The watchpoint code has a chance of cpu_resume_from_signal
> doing the right thing, because we really did have the
> code to do the load/store. However I have a feeling this
> won't interact properly with the fact that ARM needs
> BP_STOP_BEFORE_ACCESS on its watchpoints (unlike x86, which
> is where I was looking at when I wrote the ARM wp handling
> code.) So we may well be broken there as well in the
> case where check_watchpoints() returns false.
You are right. The same problem with watchpoints. Here is a small test
for this:
.text
.global _start
_start:
adr x0, wp
msr dbgwvr0_el1, x0
mov x0, #1
orr x0, x0, #(3 << 3)
orr x0, x0, #(0xff << 5)
msr dbgwcr0_el1, x0
ldr x0, wp
wfi
b .
.data
.balign 64
wp:
.quad 0