aboutsummaryrefslogtreecommitdiff
path: root/python/scripts
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2024-05-29 15:41:56 +0200
committerPaolo Bonzini <pbonzini@redhat.com>2024-06-08 10:33:38 +0200
commit8aa76496dfaac0d7b0dd34793359680c90d9aea0 (patch)
tree73c7b2c20e9f2e3148dc7f7dfbed854fdc540040 /python/scripts
parent57f8dbdbe94a502301f51809e8b282b02df43370 (diff)
downloadqemu-8aa76496dfaac0d7b0dd34793359680c90d9aea0.zip
qemu-8aa76496dfaac0d7b0dd34793359680c90d9aea0.tar.gz
qemu-8aa76496dfaac0d7b0dd34793359680c90d9aea0.tar.bz2
target/i386: disable/enable breakpoints on vmentry/vmexit
If the required DR7 (either from the VMCB or from the host save area) disables a breakpoint that was enabled prior to vmentry or vmexit, it is left enabled and will trigger EXCP_DEBUG. This causes a spurious #DB on the next crossing of the breakpoint. To disable it, vmentry/vmexit must use cpu_x86_update_dr7 to load DR7. Because cpu_x86_update_dr7 takes a 32-bit argument, check reserved bits prior to calling cpu_x86_update_dr7, and do the same for DR6 as well for consistency. This scenario is tested by the "host_rflags" test in kvm-unit-tests. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'python/scripts')
0 files changed, 0 insertions, 0 deletions