summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAvi Kivity <avi@redhat.com>2009-07-12 18:01:47 +0300
committerAvi Kivity <avi@redhat.com>2009-07-12 18:01:47 +0300
commit18b29b17a8a6d681f1a29abba0706d0dbec51e33 (patch)
tree33a583b38a415fedf23680178381cc8a32089f22 /cpu-exec.c
parentMerge commit '94c5495dd16ca3311cbc95705e58d28a45899d1d' into upstream-merge (diff)
parentQEMU: MCE: Add MCE simulation to qemu/tcg (diff)
downloadqemu-kvm-18b29b17a8a6d681f1a29abba0706d0dbec51e33.tar.gz
qemu-kvm-18b29b17a8a6d681f1a29abba0706d0dbec51e33.tar.bz2
qemu-kvm-18b29b17a8a6d681f1a29abba0706d0dbec51e33.zip
Merge commit '79c4f6b08009a1d23177c2be8bd003253cf3686a' into upstream-merge
* commit '79c4f6b08009a1d23177c2be8bd003253cf3686a': QEMU: MCE: Add MCE simulation to qemu/tcg getrlimit conversion mix-up wrap path for access syscall 64-bit clean socketcall syscall pipe argument should not be signed configure: remove bogus linux-user check linux-user/syscall.c: remove warning: ‘array’ may be used uninitialized in this function linux-user: check some parameters for some socket syscalls. linux-user: increment MAX_ARG_PAGES Conflicts: qemu-monitor.hx Signed-off-by: Avi Kivity <avi@redhat.com>
Diffstat (limited to 'cpu-exec.c')
-rw-r--r--cpu-exec.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/cpu-exec.c b/cpu-exec.c
index ffa92f1fb..cc0ba6ebb 100644
--- a/cpu-exec.c
+++ b/cpu-exec.c
@@ -407,6 +407,10 @@ int cpu_exec(CPUState *env1)
env->hflags2 |= HF2_NMI_MASK;
do_interrupt(EXCP02_NMI, 0, 0, 0, 1);
next_tb = 0;
+ } else if (interrupt_request & CPU_INTERRUPT_MCE) {
+ env->interrupt_request &= ~CPU_INTERRUPT_MCE;
+ do_interrupt(EXCP12_MCHK, 0, 0, 0, 0);
+ next_tb = 0;
} else if ((interrupt_request & CPU_INTERRUPT_HARD) &&
(((env->hflags2 & HF2_VINTR_MASK) &&
(env->hflags2 & HF2_HIF_MASK)) ||