skip smm code running in UG mode 15/25315/1
authorliucm <chunmei.liu@intel.com>
Sat, 2 Aug 2014 00:15:49 +0000 (17:15 -0700)
committerliucm <chunmei.liu@intel.com>
Sat, 2 Aug 2014 00:17:14 +0000 (17:17 -0700)
Change-Id: I74c8f375800706c9c0db9e87d92376873ae9c839

hw/acpi/ich9.c
hw/acpi/piix4.c

index 0afac425ec67aa6f7f3f64209cc53847b7b46691..6d5f226513988bd1eb9cf22e665f8f10a77454ac 100644 (file)
@@ -158,7 +158,7 @@ const VMStateDescription vmstate_ich9_pm = {
         VMSTATE_END_OF_LIST()
     }
 };
-
+extern int hax_enabled(void);
 static void pm_reset(void *opaque)
 {
     ICH9LPCPMRegs *pm = opaque;
@@ -169,7 +169,7 @@ static void pm_reset(void *opaque)
     acpi_pm_tmr_reset(&pm->acpi_regs);
     acpi_gpe_reset(&pm->acpi_regs);
 
-    if (kvm_enabled()) {
+    if (kvm_enabled()||hax_enabled()) {
         /* Mark SMM as already inited to prevent SMM from running. KVM does not
          * support SMM mode. */
         pm->smi_en |= ICH9_PMIO_SMI_EN_APMC_EN;
index 4188e096678043497f89bb44c827c7ab8c7e9695..cc92e26c92338497cd6baf8d345c14e326d664fc 100644 (file)
@@ -283,7 +283,7 @@ static const VMStateDescription vmstate_acpi = {
         VMSTATE_END_OF_LIST()
     }
 };
-
+extern int hax_enabled(void);
 static void piix4_reset(void *opaque)
 {
     PIIX4PMState *s = opaque;
@@ -298,7 +298,7 @@ static void piix4_reset(void *opaque)
     pci_conf[0x40] = 0x01; /* PM io base read only bit */
     pci_conf[0x80] = 0;
 
-    if (s->kvm_enabled) {
+    if (s->kvm_enabled ||hax_enabled()) {
         /* Mark SMM as already inited (until KVM supports SMM). */
         pci_conf[0x5B] = 0x02;
     }
@@ -393,7 +393,7 @@ static int piix4_pm_initfn(PCIDevice *dev)
     /* APM */
     apm_init(dev, &s->apm, apm_ctrl_changed, s);
 
-    if (s->kvm_enabled) {
+    if (s->kvm_enabled || hax_enabled()) {
         /* Mark SMM as already inited to prevent SMM from running.  KVM does not
          * support SMM mode. */
         pci_conf[0x5B] = 0x02;