On 08/07/12 15:01, Paolo Bonzini wrote: > LNKS is a bit strange in that it reuses the same PIIX register as LNKA, > but has a different interrupt. This means that the _CRS it returns will > not be one of the possible resources from _PRS. This shows up in the > Linux boot logs as > > ACPI: PCI Interrupt Link [LNKS] (IRQs 9) *0 > > Instead of that, we can simply use a hardwired interrupt index. > > Cc: Gleb Natapov <[email protected]> > Cc: Laszlo Ersek <[email protected]> > Signed-off-by: Paolo Bonzini <[email protected]> > --- > src/acpi-dsdt.dsl | 16 ++++------------ > 1 file modificato, 4 inserzioni(+), 12 rimozioni(-) > > diff --git a/src/acpi-dsdt.dsl b/src/acpi-dsdt.dsl > index 083e2be..66ca853 100644 > --- a/src/acpi-dsdt.dsl > +++ b/src/acpi-dsdt.dsl > @@ -86,7 +86,10 @@ DefinitionBlock ( > #define prt_slot3(nr) prt_slot(nr, LNKC, LNKD, LNKA, LNKB) > prt_slot0(0x0000), > /* Device 1 is power mgmt device, and can only use irq 9 */ > - prt_slot(0x0001, LNKS, LNKB, LNKC, LNKD), > + Package() { 0x1ffff, 0, 0, 9 }, > + Package() { 0x1ffff, 1, LNKB, 0 }, > + Package() { 0x1ffff, 2, LNKC, 0 }, > + Package() { 0x1ffff, 3, LNKD, 0 } > prt_slot2(0x0002), > prt_slot3(0x0003), > prt_slot0(0x0004), > @@ -653,17 +656,6 @@ DefinitionBlock ( > Method (_CRS, 0, NotSerialized) { Return (IQCR(PRQ3)) } > Method (_SRS, 1, NotSerialized) { SETIRQ(PRQ3, Arg0) } > } > - Device(LNKS) { > - Name(_HID, EISAID("PNP0C0F")) // PCI interrupt link > - Name(_UID, 5) > - Name(_PRS, ResourceTemplate() { > - Interrupt (, Level, ActiveHigh, Shared) > - { 9 } > - }) > - Method (_STA, 0, NotSerialized) { Return (IQST(PRQ0)) } > - Method (_DIS, 0, NotSerialized) { DISIRQ(PRQ0) } > - Method (_CRS, 0, NotSerialized) { Return (IQCR(PRQ0)) } > - } > } > > /****************************************************************
Reviewed-by: Laszlo Ersek <[email protected]> Thanks! Laszlo _______________________________________________ SeaBIOS mailing list [email protected] http://www.seabios.org/mailman/listinfo/seabios
