Commit 960540b4d229318592135b0faa5c958c00af6e39
1 parent
db620f46
GIF flag handling fix (Alexander Graf)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4663 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
1 changed file
with
2 additions
and
2 deletions
target-i386/op_helper.c
@@ -4908,7 +4908,7 @@ void helper_vmrun(int aflag, int next_eip_addend) | @@ -4908,7 +4908,7 @@ void helper_vmrun(int aflag, int next_eip_addend) | ||
4908 | break; | 4908 | break; |
4909 | } | 4909 | } |
4910 | 4910 | ||
4911 | - helper_stgi(); | 4911 | + env->hflags2 |= HF2_GIF_MASK; |
4912 | 4912 | ||
4913 | if (int_ctl & V_IRQ_MASK) { | 4913 | if (int_ctl & V_IRQ_MASK) { |
4914 | env->interrupt_request |= CPU_INTERRUPT_VIRQ; | 4914 | env->interrupt_request |= CPU_INTERRUPT_VIRQ; |
@@ -5266,7 +5266,7 @@ void helper_vmexit(uint32_t exit_code, uint64_t exit_info_1) | @@ -5266,7 +5266,7 @@ void helper_vmexit(uint32_t exit_code, uint64_t exit_info_1) | ||
5266 | stq_phys(env->vm_vmcb + offsetof(struct vmcb, control.exit_code), exit_code); | 5266 | stq_phys(env->vm_vmcb + offsetof(struct vmcb, control.exit_code), exit_code); |
5267 | stq_phys(env->vm_vmcb + offsetof(struct vmcb, control.exit_info_1), exit_info_1); | 5267 | stq_phys(env->vm_vmcb + offsetof(struct vmcb, control.exit_info_1), exit_info_1); |
5268 | 5268 | ||
5269 | - helper_clgi(); | 5269 | + env->hflags2 &= ~HF2_GIF_MASK; |
5270 | /* FIXME: Resets the current ASID register to zero (host ASID). */ | 5270 | /* FIXME: Resets the current ASID register to zero (host ASID). */ |
5271 | 5271 | ||
5272 | /* Clears the V_IRQ and V_INTR_MASKING bits inside the processor. */ | 5272 | /* Clears the V_IRQ and V_INTR_MASKING bits inside the processor. */ |