diff options
author | 2009-06-23 10:05:14 +0800 | |
---|---|---|
committer | 2009-07-09 16:04:53 -0500 | |
commit | 79c4f6b08009a1d23177c2be8bd003253cf3686a (patch) | |
tree | c9a9e72451d20ba2ae8e0f5a14301522281add70 /cpu-exec.c | |
parent | Merge commit 'linux-user/linux-user-for-upstream' into tmp-staging (diff) | |
download | qemu-kvm-79c4f6b08009a1d23177c2be8bd003253cf3686a.tar.gz qemu-kvm-79c4f6b08009a1d23177c2be8bd003253cf3686a.tar.bz2 qemu-kvm-79c4f6b08009a1d23177c2be8bd003253cf3686a.zip |
QEMU: MCE: Add MCE simulation to qemu/tcg
- MCE features are initialized when VCPU is intialized according to CPUID.
- A monitor command "mce" is added to inject a MCE.
- A new interrupt mask: CPU_INTERRUPT_MCE is added to inject the MCE.
aliguori: fix build for linux-user
Signed-off-by: Huang Ying <ying.huang@intel.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Diffstat (limited to 'cpu-exec.c')
-rw-r--r-- | cpu-exec.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/cpu-exec.c b/cpu-exec.c index db5cb5730..38335f8b4 100644 --- a/cpu-exec.c +++ b/cpu-exec.c @@ -400,6 +400,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)) || |