mirror of https://github.com/xqemu/xqemu.git
pc: acpi: move FDC0 device from DSDT to SSDT
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>
This commit is contained in:
parent
c355cb2c0f
commit
95ed7e97e4
|
@ -1199,6 +1199,44 @@ static void build_hpet_aml(Aml *table)
|
||||||
aml_append(table, scope);
|
aml_append(table, scope);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static Aml *build_fdc_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("FDC0");
|
||||||
|
aml_append(dev, aml_name_decl("_HID", aml_eisaid("PNP0700")));
|
||||||
|
|
||||||
|
method = aml_method("_STA", 0, AML_NOTSERIALIZED);
|
||||||
|
aml_append(method, aml_store(aml_name("FDEN"), 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, 0x03F2, 0x03F2, 0x00, 0x04));
|
||||||
|
aml_append(crs, aml_io(AML_DECODE16, 0x03F7, 0x03F7, 0x00, 0x01));
|
||||||
|
aml_append(crs, aml_irq_no_flags(6));
|
||||||
|
aml_append(crs,
|
||||||
|
aml_dma(AML_COMPATIBILITY, AML_NOTBUSMASTER, AML_TRANSFER8, 2));
|
||||||
|
aml_append(dev, aml_name_decl("_CRS", crs));
|
||||||
|
|
||||||
|
return dev;
|
||||||
|
}
|
||||||
|
|
||||||
static Aml *build_rtc_device_aml(void)
|
static Aml *build_rtc_device_aml(void)
|
||||||
{
|
{
|
||||||
Aml *dev;
|
Aml *dev;
|
||||||
|
@ -1210,6 +1248,7 @@ static Aml *build_rtc_device_aml(void)
|
||||||
aml_append(crs, aml_io(AML_DECODE16, 0x0070, 0x0070, 0x10, 0x02));
|
aml_append(crs, aml_io(AML_DECODE16, 0x0070, 0x0070, 0x10, 0x02));
|
||||||
aml_append(crs, aml_irq_no_flags(8));
|
aml_append(crs, aml_irq_no_flags(8));
|
||||||
aml_append(crs, aml_io(AML_DECODE16, 0x0072, 0x0072, 0x02, 0x06));
|
aml_append(crs, aml_io(AML_DECODE16, 0x0072, 0x0072, 0x02, 0x06));
|
||||||
|
aml_append(dev, aml_name_decl("_CRS", crs));
|
||||||
|
|
||||||
return dev;
|
return dev;
|
||||||
}
|
}
|
||||||
|
@ -1263,6 +1302,7 @@ static void build_isa_devices_aml(Aml *table)
|
||||||
aml_append(scope, build_rtc_device_aml());
|
aml_append(scope, build_rtc_device_aml());
|
||||||
aml_append(scope, build_kbd_device_aml());
|
aml_append(scope, build_kbd_device_aml());
|
||||||
aml_append(scope, build_mouse_device_aml());
|
aml_append(scope, build_mouse_device_aml());
|
||||||
|
aml_append(scope, build_fdc_device_aml());
|
||||||
|
|
||||||
aml_append(table, scope);
|
aml_append(table, scope);
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,24 +16,6 @@
|
||||||
/* Common legacy ISA style devices. */
|
/* Common legacy ISA style devices. */
|
||||||
Scope(\_SB.PCI0.ISA) {
|
Scope(\_SB.PCI0.ISA) {
|
||||||
|
|
||||||
Device(FDC0) {
|
|
||||||
Name(_HID, EisaId("PNP0700"))
|
|
||||||
Method(_STA, 0, NotSerialized) {
|
|
||||||
Store(FDEN, Local0)
|
|
||||||
If (LEqual(Local0, 0)) {
|
|
||||||
Return (0x00)
|
|
||||||
} Else {
|
|
||||||
Return (0x0F)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Name(_CRS, ResourceTemplate() {
|
|
||||||
IO(Decode16, 0x03F2, 0x03F2, 0x00, 0x04)
|
|
||||||
IO(Decode16, 0x03F7, 0x03F7, 0x00, 0x01)
|
|
||||||
IRQNoFlags() { 6 }
|
|
||||||
DMA(Compatibility, NotBusMaster, Transfer8) { 2 }
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
Device(LPT) {
|
Device(LPT) {
|
||||||
Name(_HID, EisaId("PNP0400"))
|
Name(_HID, EisaId("PNP0400"))
|
||||||
Method(_STA, 0, NotSerialized) {
|
Method(_STA, 0, NotSerialized) {
|
||||||
|
|
Loading…
Reference in New Issue