qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH 10/11] ACPI: set CPU hotplug io base dynamically


From: Igor Mammedov
Subject: [Qemu-devel] [PATCH 10/11] ACPI: set CPU hotplug io base dynamically
Date: Fri, 13 Dec 2013 17:22:15 +0100

Signed-off-by: Igor Mammedov <address@hidden>
---
 hw/i386/acpi-build.c  | 6 ++++++
 hw/i386/ssdt-misc.dsl | 1 +
 2 files changed, 7 insertions(+)

diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c
index befc39f..bfd34d7 100644
--- a/hw/i386/acpi-build.c
+++ b/hw/i386/acpi-build.c
@@ -68,6 +68,7 @@ typedef struct AcpiPmInfo {
     uint32_t gpe0_blk;
     uint32_t gpe0_blk_len;
     uint32_t io_base;
+    uint16_t io_cpu_base;
 } AcpiPmInfo;
 
 typedef struct AcpiMiscInfo {
@@ -169,6 +170,9 @@ static void acpi_get_pm_info(AcpiPmInfo *pm)
                                            NULL);
     pm->gpe0_blk_len = object_property_get_int(obj, ACPI_PM_PROP_GPE0_BLK_LEN,
                                                NULL);
+    pm->io_cpu_base = object_property_get_int(obj,
+                                              ACPI_CPU_HOTPLUG_IO_BASE_PROP,
+                                              NULL);
 }
 
 static void acpi_get_hotplug_info(AcpiMiscInfo *misc)
@@ -712,6 +716,8 @@ build_ssdt(GArray *table_data, GArray *linker,
 
     *(uint16_t *)(ssdt_ptr + *ssdt_isa_pest) =
         cpu_to_le16(misc->pvpanic_port);
+    *(uint16_t *)(ssdt_ptr + *ssdt_cpugpe_port) =
+        cpu_to_le16(pm->io_cpu_base);
 
     {
         GArray *sb_scope = build_alloc_array();
diff --git a/hw/i386/ssdt-misc.dsl b/hw/i386/ssdt-misc.dsl
index ec8893c..bb75b99 100644
--- a/hw/i386/ssdt-misc.dsl
+++ b/hw/i386/ssdt-misc.dsl
@@ -123,6 +123,7 @@ DefinitionBlock ("ssdt-misc.aml", "SSDT", 0x01, "BXPC", 
"BXSSDTSUSP", 0x1)
         Device(CPHD) {
             Name(_HID, EISAID("PNP0C08"))
             Name(CPPL, 32) // cpu-gpe length
+            ACPI_EXTRACT_NAME_WORD_CONST ssdt_cpugpe_port
             Name(CPHP, 0xaf00)
 
             OperationRegion(PRST, SystemIO, CPHP, CPPL)
-- 
1.8.3.1




reply via email to

[Prev in Thread] Current Thread [Next in Thread]