diff options
author | Huang Ying <ying.huang@intel.com> | 2009-06-23 10:05:14 +0800 |
---|---|---|
committer | Anthony Liguori <aliguori@us.ibm.com> | 2009-07-09 16:04:53 -0500 |
commit | 79c4f6b08009a1d23177c2be8bd003253cf3686a (patch) | |
tree | c9a9e72451d20ba2ae8e0f5a14301522281add70 /cpu-exec.c | |
parent | 2152390dca9975b1aaaa6f0518ebdd359477905b (diff) | |
download | qemu-79c4f6b08009a1d23177c2be8bd003253cf3686a.zip qemu-79c4f6b08009a1d23177c2be8bd003253cf3686a.tar.gz qemu-79c4f6b08009a1d23177c2be8bd003253cf3686a.tar.bz2 |
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
@@ -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)) || |