diff options
author | bellard | 2008-06-04 19:07:08 +0200 |
---|---|---|
committer | bellard | 2008-06-04 19:07:08 +0200 |
commit | 960540b4d229318592135b0faa5c958c00af6e39 (patch) | |
tree | 6718df7f558b5d7d78675a1c3a83895da543ef27 /target-i386 | |
parent | reworked SVM interrupt handling logic - fixed vmrun EIP saved value - reworke... (diff) | |
download | qemu-960540b4d229318592135b0faa5c958c00af6e39.tar.gz qemu-960540b4d229318592135b0faa5c958c00af6e39.tar.xz qemu-960540b4d229318592135b0faa5c958c00af6e39.zip |
GIF flag handling fix (Alexander Graf)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4663 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'target-i386')
-rw-r--r-- | target-i386/op_helper.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/target-i386/op_helper.c b/target-i386/op_helper.c index d5e1fc28ef..810c4665f3 100644 --- a/target-i386/op_helper.c +++ b/target-i386/op_helper.c @@ -4908,7 +4908,7 @@ void helper_vmrun(int aflag, int next_eip_addend) break; } - helper_stgi(); + env->hflags2 |= HF2_GIF_MASK; if (int_ctl & V_IRQ_MASK) { env->interrupt_request |= CPU_INTERRUPT_VIRQ; @@ -5266,7 +5266,7 @@ void helper_vmexit(uint32_t exit_code, uint64_t exit_info_1) stq_phys(env->vm_vmcb + offsetof(struct vmcb, control.exit_code), exit_code); stq_phys(env->vm_vmcb + offsetof(struct vmcb, control.exit_info_1), exit_info_1); - helper_clgi(); + env->hflags2 &= ~HF2_GIF_MASK; /* FIXME: Resets the current ASID register to zero (host ASID). */ /* Clears the V_IRQ and V_INTR_MASKING bits inside the processor. */ |