cvs commit: src/sys/i386/acpica madt.c
jhb at FreeBSD.org
Mon Jan 26 11:41:25 PST 2004
On Monday 26 January 2004 02:34 pm, John Baldwin wrote:
> jhb 2004/01/26 11:34:24 PST
> FreeBSD src repository
> Modified files:
> sys/i386/acpica madt.c
> - Call acpi_Startup() before parsing interrupt-related APIC resources so
> we can look at the ACPI tables. If the startup fails, we panic and tell
> the user to try rebooting with ACPI disabled. Previously in this case we
> would try to use $PIR interrupt routing which only works for the atpic
> while using the apic to handle interrupts which would result in misrouted
> interrupts and a hang at boot time with no error message.
> - Read the SCI out of the FADT instead of hardcoding 9 when checking to
> see if an interrupt override entry is for the SCI.
> - Try to work around some BIOS brain damage for the SCI's programming by
> forcing the SCI to be level triggered and active low if it is routed
> to a non-ISA interrupt (greater than 15) or if it is identity mapped
> with edge trigger and active high polarity. This should fix some of the
> hangs with device apic and ACPI that some people see.
Namely, if you used to get an interrupt storm on irq20 with acpi0 and some
other PCI device, those should be fixed now.
John Baldwin <jhb at FreeBSD.org> <>< http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve" = http://www.FreeBSD.org
More information about the cvs-all