[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 05/15] kvm: x86: Do not leave halt if interrupts are
From: |
Jan Kiszka |
Subject: |
[Qemu-devel] [PATCH 05/15] kvm: x86: Do not leave halt if interrupts are disabled |
Date: |
Fri, 4 Mar 2011 11:20:02 +0100 |
When an external interrupt is pending but IF is cleared, we must not
leave the halt state prematurely.
Signed-off-by: Jan Kiszka <address@hidden>
---
target-i386/kvm.c | 4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/target-i386/kvm.c b/target-i386/kvm.c
index 7b7105d..6efa491 100644
--- a/target-i386/kvm.c
+++ b/target-i386/kvm.c
@@ -1590,7 +1590,9 @@ int kvm_arch_process_async_events(CPUState *env)
return 0;
}
- if (env->interrupt_request & (CPU_INTERRUPT_HARD | CPU_INTERRUPT_NMI)) {
+ if (((env->interrupt_request & CPU_INTERRUPT_HARD) &&
+ (env->eflags & IF_MASK)) ||
+ (env->interrupt_request & CPU_INTERRUPT_NMI)) {
env->halted = 0;
}
if (env->interrupt_request & CPU_INTERRUPT_INIT) {
--
1.7.1
- [Qemu-devel] [PATCH 00/15] [uq/master] Patch queue, part V (the rest), Jan Kiszka, 2011/03/04
- [Qemu-devel] [PATCH 08/15] x86: Save/restore PAT MSR, Jan Kiszka, 2011/03/04
- [Qemu-devel] [PATCH 15/15] Expose thread_id in info cpus, Jan Kiszka, 2011/03/04
- [Qemu-devel] [PATCH 05/15] kvm: x86: Do not leave halt if interrupts are disabled,
Jan Kiszka <=
- [Qemu-devel] [PATCH 10/15] kvm: Consider EXIT_DEBUG unknown without CAP_SET_GUEST_DEBUG, Jan Kiszka, 2011/03/04
- [Qemu-devel] [PATCH 13/15] kvm: x86: Reorder functions in kvm.c, Jan Kiszka, 2011/03/04
- [Qemu-devel] [PATCH 14/15] kvm: x86: Push kvm_arch_debug to kvm_arch_handle_exit, Jan Kiszka, 2011/03/04
- [Qemu-devel] [PATCH 07/15] x86: Properly reset PAT MSR, Jan Kiszka, 2011/03/04
- [Qemu-devel] [PATCH 06/15] kvm: Mark VCPU state dirty on creation, Jan Kiszka, 2011/03/04
- [Qemu-devel] [PATCH 03/15] kvm: Install optimized interrupt handlers, Jan Kiszka, 2011/03/04