提交 1142e45f 编写于 作者: I Igor Mammedov 提交者: Michael S. Tsirkin

pc: export applesmc IO port/len

IO port and length will be used in following patch
to correctly generate SMC ACPI device in SSDT.
Signed-off-by: NIgor Mammedov <imammedo@redhat.com>
Reviewed-by: NMichael S. Tsirkin <mst@redhat.com>
Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
上级 70560453
...@@ -145,7 +145,7 @@ static void acpi_get_dsdt(AcpiMiscInfo *info) ...@@ -145,7 +145,7 @@ static void acpi_get_dsdt(AcpiMiscInfo *info)
/* Patch in appropriate value for AppleSMC _STA */ /* Patch in appropriate value for AppleSMC _STA */
*(uint8_t *)(info->dsdt_code + *applesmc_sta) = *(uint8_t *)(info->dsdt_code + *applesmc_sta) =
applesmc_find() ? 0x0b : 0x00; applesmc_port() ? 0x0b : 0x00;
} }
static static
......
...@@ -43,7 +43,6 @@ ...@@ -43,7 +43,6 @@
/* command/status port used by Apple SMC */ /* command/status port used by Apple SMC */
#define APPLESMC_CMD_PORT 0x4 #define APPLESMC_CMD_PORT 0x4
#define APPLESMC_NR_PORTS 32 #define APPLESMC_NR_PORTS 32
#define APPLESMC_MAX_DATA_LENGTH 32
#define APPLESMC_READ_CMD 0x10 #define APPLESMC_READ_CMD 0x10
#define APPLESMC_WRITE_CMD 0x11 #define APPLESMC_WRITE_CMD 0x11
...@@ -249,7 +248,7 @@ static void applesmc_isa_realize(DeviceState *dev, Error **errp) ...@@ -249,7 +248,7 @@ static void applesmc_isa_realize(DeviceState *dev, Error **errp)
} }
static Property applesmc_isa_properties[] = { static Property applesmc_isa_properties[] = {
DEFINE_PROP_UINT32("iobase", AppleSMCState, iobase, DEFINE_PROP_UINT32(APPLESMC_PROP_IO_BASE, AppleSMCState, iobase,
APPLESMC_DEFAULT_IOBASE), APPLESMC_DEFAULT_IOBASE),
DEFINE_PROP_STRING("osk", AppleSMCState, osk), DEFINE_PROP_STRING("osk", AppleSMCState, osk),
DEFINE_PROP_END_OF_LIST(), DEFINE_PROP_END_OF_LIST(),
......
...@@ -21,10 +21,17 @@ ...@@ -21,10 +21,17 @@
#define ISA_BUS(obj) OBJECT_CHECK(ISABus, (obj), TYPE_ISA_BUS) #define ISA_BUS(obj) OBJECT_CHECK(ISABus, (obj), TYPE_ISA_BUS)
#define TYPE_APPLE_SMC "isa-applesmc" #define TYPE_APPLE_SMC "isa-applesmc"
#define APPLESMC_MAX_DATA_LENGTH 32
#define APPLESMC_PROP_IO_BASE "iobase"
static inline bool applesmc_find(void) static inline uint16_t applesmc_port(void)
{ {
return object_resolve_path_type("", TYPE_APPLE_SMC, NULL); Object *obj = object_resolve_path_type("", TYPE_APPLE_SMC, NULL);
if (obj) {
return object_property_get_int(obj, APPLESMC_PROP_IO_BASE, NULL);
}
return 0;
} }
typedef struct ISADeviceClass { typedef struct ISADeviceClass {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册