target/i386: fix TF/RF handling for HLT
authorPaolo Bonzini <pbonzini@redhat.com>
Sat, 25 May 2024 08:47:31 +0000 (10:47 +0200)
committerPaolo Bonzini <pbonzini@redhat.com>
Sat, 8 Jun 2024 08:33:38 +0000 (10:33 +0200)
commit6dd7d8c6490b73dcc33dfb1fe76c081e7e2eb820
treee5649c25c1304f50734bd91ef5e937bc986b7201
parent3718523d011e898d414f09a4ed43cf13d76de0b4
target/i386: fix TF/RF handling for HLT

HLT uses DISAS_NORETURN because the corresponding helper calls
cpu_loop_exit().  However, while gen_eob() clears HF_RF_MASK and
synthesizes a #DB exception if single-step is active, none of this is
done by HLT.  Note that the single-step trap is generated after the halt
is finished.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
target/i386/tcg/sysemu/misc_helper.c
target/i386/tcg/sysemu/seg_helper.c