Signed-off-by: Igor Mammedov <imamm...@redhat.com> --- hw/i386/acpi-build.c | 27 +++++++++++++++++++++++++++ hw/i386/acpi-dsdt-isa.dsl | 9 --------- 2 files changed, 27 insertions(+), 9 deletions(-)
diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c index 4b7229d..55bb466 100644 --- a/hw/i386/acpi-build.c +++ b/hw/i386/acpi-build.c @@ -1171,6 +1171,32 @@ static void build_hpet_aml(Aml *table) aml_append(table, scope); } +static Aml *build_eisa_device_aml(const char *name, const char *hid, Aml *crs) +{ + Aml *dev; + + dev = aml_device("%s", name); + aml_append(dev, aml_name_decl("_HID", aml_eisaid(hid))); + aml_append(dev, aml_name_decl("_CRS", crs)); + + return dev; +} + +static void build_isa_devices_aml(Aml *table) +{ + Aml *crs; + Aml *scope = aml_scope("_SB.PCI0.ISA"); + + crs = aml_resource_template(); + aml_append(crs, aml_io(AML_DECODE16, 0x0070, 0x0070, 0x10, 0x02)); + aml_append(crs, aml_irq_no_flags(8)); + aml_append(crs, aml_io(AML_DECODE16, 0x0072, 0x0072, 0x02, 0x06)); + aml_append(scope, build_eisa_device_aml( + "RTC", "PNP0B00", crs)); + + aml_append(table, scope); +} + static void build_dbg_aml(Aml *table) { Aml *field; @@ -1228,6 +1254,7 @@ build_ssdt(GArray *table_data, GArray *linker, build_dbg_aml(ssdt); build_hpet_aml(ssdt); + build_isa_devices_aml(ssdt); build_cpu_hotplug_aml(ssdt); build_memory_hotplug_aml(ssdt, nr_mem, pm->mem_hp_io_base, pm->mem_hp_io_len); diff --git a/hw/i386/acpi-dsdt-isa.dsl b/hw/i386/acpi-dsdt-isa.dsl index 89caa16..f2cbbea 100644 --- a/hw/i386/acpi-dsdt-isa.dsl +++ b/hw/i386/acpi-dsdt-isa.dsl @@ -16,15 +16,6 @@ /* Common legacy ISA style devices. */ Scope(\_SB.PCI0.ISA) { - Device(RTC) { - Name(_HID, EisaId("PNP0B00")) - Name(_CRS, ResourceTemplate() { - IO(Decode16, 0x0070, 0x0070, 0x10, 0x02) - IRQNoFlags() { 8 } - IO(Decode16, 0x0072, 0x0072, 0x02, 0x06) - }) - } - Device(KBD) { Name(_HID, EisaId("PNP0303")) Method(_STA, 0, NotSerialized) { -- 1.8.3.1