Signed-off-by: Igor Mammedov <imamm...@redhat.com> --- hw/i386/acpi-build.c | 20 ++++++++++++++++++-- hw/i386/acpi-dsdt-isa.dsl | 12 ------------ 2 files changed, 18 insertions(+), 14 deletions(-)
diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c index 55bb466..c485530 100644 --- a/hw/i386/acpi-build.c +++ b/hw/i386/acpi-build.c @@ -1171,12 +1171,21 @@ 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) +static Aml * +build_eisa_device_aml(const char *name, const char *hid, Aml *crs, + bool have_sta) { Aml *dev; + Aml *method; + Aml *a_device_present = aml_int(0x0f); dev = aml_device("%s", name); aml_append(dev, aml_name_decl("_HID", aml_eisaid(hid))); + if (have_sta) { + method = aml_method("_STA", 0, AML_NOTSERIALIZED); + aml_append(method, aml_return(a_device_present)); + aml_append(dev, method); + } aml_append(dev, aml_name_decl("_CRS", crs)); return dev; @@ -1192,7 +1201,14 @@ static void build_isa_devices_aml(Aml *table) 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)); + "RTC", "PNP0B00", crs, false)); + + crs = aml_resource_template(); + aml_append(crs, aml_io(AML_DECODE16, 0x0060, 0x0060, 0x01, 0x01)); + aml_append(crs, aml_io(AML_DECODE16, 0x0064, 0x0064, 0x01, 0x01)); + aml_append(crs, aml_irq_no_flags(1)); + aml_append(scope, build_eisa_device_aml( + "KBD", "PNP0303", crs, true)); aml_append(table, scope); } diff --git a/hw/i386/acpi-dsdt-isa.dsl b/hw/i386/acpi-dsdt-isa.dsl index f2cbbea..f7a3c0a 100644 --- a/hw/i386/acpi-dsdt-isa.dsl +++ b/hw/i386/acpi-dsdt-isa.dsl @@ -16,18 +16,6 @@ /* Common legacy ISA style devices. */ Scope(\_SB.PCI0.ISA) { - Device(KBD) { - Name(_HID, EisaId("PNP0303")) - Method(_STA, 0, NotSerialized) { - Return (0x0f) - } - Name(_CRS, ResourceTemplate() { - IO(Decode16, 0x0060, 0x0060, 0x01, 0x01) - IO(Decode16, 0x0064, 0x0064, 0x01, 0x01) - IRQNoFlags() { 1 } - }) - } - Device(MOU) { Name(_HID, EisaId("PNP0F13")) Method(_STA, 0, NotSerialized) { -- 1.8.3.1