Skip to content

Commit

Permalink
pc: acpi: move LPT device from DSDT to SSDT
Browse files Browse the repository at this point in the history
Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
  • Loading branch information
Igor Mammedov authored and mstsirkin committed Jan 9, 2016
1 parent 95ed7e9 commit 8b1da5f
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 16 deletions.
36 changes: 36 additions & 0 deletions hw/i386/acpi-build.c
Expand Up @@ -1295,6 +1295,41 @@ static Aml *build_mouse_device_aml(void)
return dev;
}

static Aml *build_lpt_device_aml(void)
{
Aml *dev;
Aml *crs;
Aml *method;
Aml *if_ctx;
Aml *else_ctx;
Aml *zero = aml_int(0);
Aml *is_present = aml_local(0);

dev = aml_device("LPT");
aml_append(dev, aml_name_decl("_HID", aml_eisaid("PNP0400")));

method = aml_method("_STA", 0, AML_NOTSERIALIZED);
aml_append(method, aml_store(aml_name("LPEN"), is_present));
if_ctx = aml_if(aml_equal(is_present, zero));
{
aml_append(if_ctx, aml_return(aml_int(0x00)));
}
aml_append(method, if_ctx);
else_ctx = aml_else();
{
aml_append(else_ctx, aml_return(aml_int(0x0f)));
}
aml_append(method, else_ctx);
aml_append(dev, method);

crs = aml_resource_template();
aml_append(crs, aml_io(AML_DECODE16, 0x0378, 0x0378, 0x08, 0x08));
aml_append(crs, aml_irq_no_flags(7));
aml_append(dev, aml_name_decl("_CRS", crs));

return dev;
}

static void build_isa_devices_aml(Aml *table)
{
Aml *scope = aml_scope("_SB.PCI0.ISA");
Expand All @@ -1303,6 +1338,7 @@ static void build_isa_devices_aml(Aml *table)
aml_append(scope, build_kbd_device_aml());
aml_append(scope, build_mouse_device_aml());
aml_append(scope, build_fdc_device_aml());
aml_append(scope, build_lpt_device_aml());

aml_append(table, scope);
}
Expand Down
16 changes: 0 additions & 16 deletions hw/i386/acpi-dsdt-isa.dsl
Expand Up @@ -16,22 +16,6 @@
/* Common legacy ISA style devices. */
Scope(\_SB.PCI0.ISA) {

Device(LPT) {
Name(_HID, EisaId("PNP0400"))
Method(_STA, 0, NotSerialized) {
Store(LPEN, Local0)
If (LEqual(Local0, 0)) {
Return (0x00)
} Else {
Return (0x0F)
}
}
Name(_CRS, ResourceTemplate() {
IO(Decode16, 0x0378, 0x0378, 0x08, 0x08)
IRQNoFlags() { 7 }
})
}

Device(COM1) {
Name(_HID, EisaId("PNP0501"))
Name(_UID, 0x01)
Expand Down

0 comments on commit 8b1da5f

Please sign in to comment.