summary refs log tree commit diff stats
path: root/include
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2015-06-18 18:30:51 +0200
committerPaolo Bonzini <pbonzini@redhat.com>2015-07-06 17:59:44 +0200
commitfba72476c6b7be60ac74c5bcdc06c61242d1fe4f (patch)
treed3aa2ae337edcff05bf5595a01701bd5a01daa43 /include
parent61e66c6237a0ca3eac35cf3145ccbb3ab5b6354c (diff)
downloadfocaccia-qemu-fba72476c6b7be60ac74c5bcdc06c61242d1fe4f.tar.gz
focaccia-qemu-fba72476c6b7be60ac74c5bcdc06c61242d1fe4f.zip
ich9: add smm_enabled field and arguments
Q35's ACPI device is hard-coding SMM availability to KVM.  Place the
logic where the board is created instead, so that it will be possible
to override it.

Acked-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'include')
-rw-r--r--include/hw/acpi/ich9.h3
-rw-r--r--include/hw/i386/ich9.h2
2 files changed, 3 insertions, 2 deletions
diff --git a/include/hw/acpi/ich9.h b/include/hw/acpi/ich9.h
index 77cc65cbc2..ac24bbe9a3 100644
--- a/include/hw/acpi/ich9.h
+++ b/include/hw/acpi/ich9.h
@@ -54,10 +54,11 @@ typedef struct ICH9LPCPMRegs {
     uint8_t disable_s3;
     uint8_t disable_s4;
     uint8_t s4_val;
+    uint8_t smm_enabled;
 } ICH9LPCPMRegs;
 
 void ich9_pm_init(PCIDevice *lpc_pci, ICH9LPCPMRegs *pm,
-                  qemu_irq sci_irq);
+                  bool smm_enabled, qemu_irq sci_irq);
 void ich9_pm_iospace_update(ICH9LPCPMRegs *pm, uint32_t pm_io_base);
 extern const VMStateDescription vmstate_ich9_pm;
 
diff --git a/include/hw/i386/ich9.h b/include/hw/i386/ich9.h
index a2cc15c915..b317a481c8 100644
--- a/include/hw/i386/ich9.h
+++ b/include/hw/i386/ich9.h
@@ -17,7 +17,7 @@
 void ich9_lpc_set_irq(void *opaque, int irq_num, int level);
 int ich9_lpc_map_irq(PCIDevice *pci_dev, int intx);
 PCIINTxRoute ich9_route_intx_pin_to_irq(void *opaque, int pirq_pin);
-void ich9_lpc_pm_init(PCIDevice *pci_lpc);
+void ich9_lpc_pm_init(PCIDevice *pci_lpc, bool smm_enabled);
 I2CBus *ich9_smb_init(PCIBus *bus, int devfn, uint32_t smb_io_base);
 
 #define ICH9_CC_SIZE                            (16 * 1024)     /* 16KB */