summaryrefslogtreecommitdiffstats
path: root/target-i386
diff options
context:
space:
mode:
authorbellard2008-06-04 19:07:08 +0200
committerbellard2008-06-04 19:07:08 +0200
commit960540b4d229318592135b0faa5c958c00af6e39 (patch)
tree6718df7f558b5d7d78675a1c3a83895da543ef27 /target-i386
parentreworked SVM interrupt handling logic - fixed vmrun EIP saved value - reworke... (diff)
downloadqemu-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.c4
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. */