* Deal with halt race. What could happen: 1. hart 1 halts due to a breakpoint 2. OpenOCD polls and notices hart 1 has halted. 3. hart 0 halts because it is in a halt group with halt 1 4. OpenOCD decides to halt hart 0 also. 5. OpenOCD discovers hart 0 is already halted, and doesn't update the debug reason. In that case OpenOCD would tell gdb that hart 0 halted, while the interesting event is that hart 1 halted. Fix this by updating the debug reason when we discover a hart is already halted when we try to halt it. This race was exposed in the Sv* address translation tests, but the bug has nothing to do with address translation. Change-Id: I59d871e8545bd644bf42581266f15234b93e9900 Signed-off-by: Tim Newsome <tim@sifive.com> * Comment set_debug_reason Co-authored-by: Jan Matyas <50193733+JanMatCodasip@users.noreply.github.com> Co-authored-by: Jan Matyas <50193733+JanMatCodasip@users.noreply.github.com> |
||
---|---|---|
.. | ||
flash | ||
helper | ||
jtag | ||
pld | ||
rtos | ||
rtt | ||
server | ||
svf | ||
target | ||
transport | ||
xsvf | ||
Makefile.am | ||
hello.c | ||
hello.h | ||
main.c | ||
openocd.c | ||
openocd.h |