[SeaBIOS] [PATCH] acpi: reintroduce LNKS

Kevin O'Connor kevin at koconnor.net
Sun Dec 16 15:48:21 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.  I committed this change, along with a follow up patch to use
the prt_slot() macro.


More information about the SeaBIOS mailing list