public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
* [BUGFIX] MCE: Fix bug of IA32_MCG_STATUS after system reset
@ 2010-01-05  8:34 Huang Ying
  2010-01-05 10:44 ` Andi Kleen
  2010-01-05 10:50 ` Avi Kivity
  0 siblings, 2 replies; 8+ messages in thread
From: Huang Ying @ 2010-01-05  8:34 UTC (permalink / raw)
  To: Avi Kivity, Anthony Liguori, Andi Kleen; +Cc: kvm

Now, if we inject a fatal MCE into guest OS, for example Linux, Linux
will go panic and then reboot. But if we inject another MCE now,
system will reset directly instead of go panic firstly, because
MCG_STATUS.MCIP is set to 1 and not cleared after reboot. This is does
not follow the behavior in real hardware.

This patch fixes this via set IA32_MCG_STATUS to 0 during system reset.

Signed-off-by: Huang Ying <ying.huang@intel.com>
---
 qemu-kvm-x86.c |    1 +
 1 file changed, 1 insertion(+)

--- a/qemu-kvm-x86.c
+++ b/qemu-kvm-x86.c
@@ -1015,6 +1015,7 @@ void kvm_arch_load_regs(CPUState *env)
 #endif
     set_msr_entry(&msrs[n++], MSR_KVM_SYSTEM_TIME,  env->system_time_msr);
     set_msr_entry(&msrs[n++], MSR_KVM_WALL_CLOCK,  env->wall_clock_msr);
+    set_msr_entry(&msrs[n++], MSR_MCG_STATUS, 0);
 
     rc = kvm_set_msrs(env, msrs, n);
     if (rc == -1)



^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2010-01-06  8:40 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-01-05  8:34 [BUGFIX] MCE: Fix bug of IA32_MCG_STATUS after system reset Huang Ying
2010-01-05 10:44 ` Andi Kleen
2010-01-06  8:22   ` Huang Ying
2010-01-05 10:50 ` Avi Kivity
2010-01-06  7:05   ` Huang Ying
2010-01-06  8:03     ` Avi Kivity
2010-01-06  8:17       ` Huang Ying
2010-01-06  8:38         ` Marcelo Tosatti

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox