summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorGabriel L. Somlo <gsomlo@gmail.com>2013-12-22 10:34:56 -0500
committerMichael S. Tsirkin <mst@redhat.com>2014-01-26 13:06:48 +0200
commit15bce1b7c55c69f47e13c9eb2a4b80f41da26581 (patch)
treefc8ac6ec8bfd998fee2803cd04b31c46e78bda97 /include
parent3e16d14fd93ca6059134ba6b4f65c1c3e4cd3a18 (diff)
downloadqemu-15bce1b7c55c69f47e13c9eb2a4b80f41da26581.tar.gz
Add DSDT node for AppleSMC
AppleSMC (-device isa-applesmc) is required to boot OS X guests. OS X expects a SMC node to be present in the ACPI DSDT. This patch adds a SMC node to the DSDT, and dynamically patches the return value of SMC._STA to either 0x0B if the chip is present, or otherwise to 0x00, before booting the guest. Signed-off-by: Gabriel Somlo <somlo@cmu.edu> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Diffstat (limited to 'include')
-rw-r--r--include/hw/isa/isa.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/include/hw/isa/isa.h b/include/hw/isa/isa.h
index fa45a5b094..e0c749f9e9 100644
--- a/include/hw/isa/isa.h
+++ b/include/hw/isa/isa.h
@@ -20,6 +20,13 @@
#define TYPE_ISA_BUS "ISA"
#define ISA_BUS(obj) OBJECT_CHECK(ISABus, (obj), TYPE_ISA_BUS)
+#define TYPE_APPLE_SMC "isa-applesmc"
+
+static inline bool applesmc_find(void)
+{
+ return object_resolve_path_type("", TYPE_APPLE_SMC, NULL);
+}
+
typedef struct ISADeviceClass {
DeviceClass parent_class;
} ISADeviceClass;