[SeaBIOS] [PATCH] acpi: reintroduce LNKS

Kevin O'Connor kevin at koconnor.net
Fri Dec 14 01:24:06 CET 2012


On Thu, Dec 13, 2012 at 08:42:02AM +0100, Paolo Bonzini wrote:
> Commit 4540409 (acpi: LNKS is not needed, 2012-08-07) removed LNKS because
> it basically worked by chance: _CRS returns something else then one of the
> possible resources from _PRS, _DIS would not really disable the interrupt,
> and there was no _SRS method.  It just happened to work because all OSes
> have some kind of special-casing for SCI.
> 
> Unfortunately, the code after the patch is also against the spec, and it
> breaks FreeBSD because it treats IRQ 9 polarity as active low without
> the Interrupt() entry.  Actually, numeric _PRT entries are handled the
> same in Linux and FreeBSD (as active-low).  However, under Linux it just
> happens to trigger another special casing of SCI which sets SCI up from
> its override entry in the MADT, ignoring the DSDT completely.
> 
> This patch adds back the LNKS, but without using the PIIX register for
> LNKA in its methods.

Thanks - looks okay to me.  The prt_slot() macro should probably be
used.

-Kevin



More information about the SeaBIOS mailing list