target/i386: document incorrect semantics of watchpoint following MOV/POP SS
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
6dd7d8c649
commit
cdc829b37d
@ -215,6 +215,12 @@ void breakpoint_handler(CPUState *cs)
|
|||||||
if (cs->watchpoint_hit->flags & BP_CPU) {
|
if (cs->watchpoint_hit->flags & BP_CPU) {
|
||||||
cs->watchpoint_hit = NULL;
|
cs->watchpoint_hit = NULL;
|
||||||
if (check_hw_breakpoints(env, false)) {
|
if (check_hw_breakpoints(env, false)) {
|
||||||
|
/*
|
||||||
|
* FIXME: #DB should be delayed by one instruction if
|
||||||
|
* INHIBIT_IRQ is set (STI cannot trigger a watchpoint).
|
||||||
|
* The delayed #DB should also fuse with one generated
|
||||||
|
* by ICEBP (aka INT1).
|
||||||
|
*/
|
||||||
raise_exception(env, EXCP01_DB);
|
raise_exception(env, EXCP01_DB);
|
||||||
} else {
|
} else {
|
||||||
cpu_loop_exit_noexc(cs);
|
cpu_loop_exit_noexc(cs);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user