Marcel Moolenaar wrote: > Nate, > > I just tried to boot a kernel with the new ACPI PCI IRQ routing and > things look very bad: > > Table 'SSDT' at 0xe00000003fdfc680 > Table 'SSDT' at 0xe00000003fdfc740 > Table 'SSDT' at 0xe00000003fdfc970 > Table 'SSDT' at 0xe00000003fdfcfe0 > Table 'SSDT' at 0xe00000003fdfd650 > Table 'SSDT' at 0xe00000003fdfdcc0 > Table 'SSDT' at 0xe00000003fdfe330 It's very hard to debug things when all your important devices are hidden in SSDTs. I'd appreciate it if someone took me up on adding SSDT support to acpidump. > acpi0: <HP> on motherboard > acpi0: [GIANT-LOCKED] > acpi0: Power Button (fixed) > acpi0: Sleep Button (fixed) > > pcib0: <ACPI Host-PCI bridge> on acpi0 > ACPI PCI link initial configuration: > pci0: <ACPI PCI bus> on pcib0 > pci0: physical bus=0 > map[10]: type 1, range 32, base 80023000, size 12, enabled > found-> vendor=0x1033, dev=0x0035, revid=0x41 > bus=0, slot=1, func=0 > class=0c-03-10, hdrtype=0x00, mfdev=1 > cmdreg=0x0146, statreg=0x0210, cachelnsz=32 (dwords) > lattimer=0x80 (3840 ns), mingnt=0x01 (250 ns), maxlat=0x2a (10500 ns) > intpin=a, irq=0 > powerspec 2 supports D0 D1 D2 D3 current D0 > map[10]: type 1, range 32, base 80022000, size 12, enabled [...] > > If you don't have any suggestions from the top of your head, then > please could you back it out so that we can work out what's going > on without having ia64 completely bOrked. It not just inconvenient > for me. It's a major blocker. In that light I'd hoped to be given > more time for testing. It's likely your link devices don't like being called with _DIS. Try the attached patch. -Nate Index: acpi_pci_link.c =================================================================== RCS file: /home/ncvs/src/sys/dev/acpica/acpi_pci_link.c,v retrieving revision 1.20 diff -u -r1.20 acpi_pci_link.c --- acpi_pci_link.c 11 Aug 2004 20:37:24 -0000 1.20 +++ acpi_pci_link.c 11 Aug 2004 22:33:09 -0000 _at__at_ -377,12 +377,13 _at__at_ * run _DIS (i.e., the method doesn't exist), assume the initial * IRQ was routed by the BIOS. */ +#if 0 if (ACPI_SUCCESS(AcpiEvaluateObject(handle, "_DIS", NULL, NULL))) { link->current_irq = 0; link->flags = ACPI_LINK_NONE; } else { +#endif link->flags = ACPI_LINK_ROUTED; - } error = AcpiGetPossibleResources(handle, &buf); if (ACPI_FAILURE(error)) {Received on Wed Aug 11 2004 - 20:35:04 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:05 UTC