Date: Wed, 11 Aug 2004 14:47:08 -0700 From: Marcel Moolenaar <marcel@xcllnt.net> To: njl@FreeBSD.org Cc: current@FreeBSD.org Subject: ia64: ACPI PCI IRQ routing breakage Message-ID: <20040811214708.GA25696@dhcp50.pn.xcllnt.net>
next in thread | raw e-mail | index | archive | help
Nate, I just tried to boot a kernel with the new ACPI PCI IRQ routing and things look very bad: OK boot -v Entering /boot/kernel/kernel at 0xe000000004058000... PA Pocat0x000003f401 SA: P ak-u vctr:0xf0 G a 0e00000fe000 Prceso rti 92,Bu rti 11,IT rti 92 Skipping memory chunk start 0x4040000000 Skipping memory chunk start 0x407efff000 Skipping memory chunk start 0x407f2e8000 Skipping memory chunk start 0x407f9ff000 Skipping memory chunk start 0x407fdff000 Skipping memory chunk start 0x407fe7f000 ptc.e base=0x0, count1=1, count2=1, stride1=0x0, stride2=0x0 Processor supports 24 Region ID bits Trying VHPT size 0x400000 Putting VHPT at 0x400000 Splitting [0x100000-0x4000000] GDB: debug ports: uart GDB: current port: uart KDB: debugger backends: ddb gdb KDB: current backend: ddb Copyright (c) 1992-2004 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD 5.2-CURRENT #11: Wed Aug 11 21:23:19 UTC 2004 marcel@pluto1.freebsd.org:/p/src/sys/ia64/compile/PLUTO1 WARNING: WITNESS option enabled, expect reduced performance. UNWIND: table added: base=e000000004000000, start=e000000004639898, end=e00000000465b828 Preloaded elf kernel "/boot/kernel/kernel" at 0xe0000000047ca000. CPU: McKinley (900.00-Mhz Itanium 2) Origin = "GenuineIntel" Revision = 7 Features = 0x1<LB> real memory = 1067114496 (1017 MB) Physical memory chunk(s): 0x0005c000 - 0x0009ffff, 278528 bytes (34 pages) 0x00100000 - 0x003fffff, 3145728 bytes (384 pages) 0x00800000 - 0x03ffffff, 58720256 bytes (7168 pages) 0x047cc000 - 0x3ead5fff, 976265216 bytes (119173 pages) avail memory = 1030324224 (982 MB) FPSWA Revision = 0x1000c, Entry = 0xe00000407fe62050 Using ACPI2.0 table at 0x3fdf8000 Table 'FACP' at 0xe00000003fdfe3f0 Table 'SPCR' at 0xe00000003fdfe528 Table 'DBGP' at 0xe00000003fdfe578 Table 'APIC' at 0xe00000003fdfe638 Local APIC address=0xfee00000 Local APIC override entry Local APIC address=0xfee00000 Local SAPIC entry ProcessorId=0x0, Id=0x0, Eid=0x0 Local SAPIC entry ProcessorId=0x1, Id=0x1, Eid=0x0 I/O SAPIC entry Id=0x0, InterruptBase=0x10, Address=0xfed20800 I/O SAPIC entry Id=0x1, InterruptBase=0x1b, Address=0xfed22800 I/O SAPIC entry Id=0x2, InterruptBase=0x26, Address=0xfed24800 I/O SAPIC entry Id=0x3, InterruptBase=0x31, Address=0xfed26800 I/O SAPIC entry Id=0x4, InterruptBase=0x3c, Address=0xfed28800 I/O SAPIC entry Id=0x6, InterruptBase=0x47, Address=0xfed2c800 I/O SAPIC entry Id=0x7, InterruptBase=0x52, Address=0xfed2e800 Table 'SPMI' at 0xe00000003fdfe5b0 Table 'CPEP' at 0xe00000003fdfe600 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 MCA: allocated 32768 bytes for state info. mem: <memory> null: <null device, zero device> random: <entropy source, Software, Yarrow> acpi0: <HP> on motherboard acpi0: [GIANT-LOCKED] acpi0: Power Button (fixed) acpi0: Sleep Button (fixed) ACPI timer looks BAD min = 2, max = 7, width = 5 ACPI timer looks BAD min = -6, max = 15, width = 21 ACPI timer looks BAD min = -2, max = 11, width = 13 ACPI timer looks BAD min = -10, max = 19, width = 29 ACPI timer looks BAD min = -26, max = 35, width = 61 ACPI timer looks BAD min = -59, max = 68, width = 127 ACPI timer looks GOOD min = 4, max = 5, width = 1 ACPI timer looks BAD min = -11, max = 20, width = 31 ACPI timer looks GOOD min = 4, max = 5, width = 1 ACPI timer looks BAD min = -42, max = 51, width = 93 Timecounter "ACPI-safe" frequency 3579545 Hz quality 1000 acpi_timer0: <32-bit timer at 3.579545MHz> iomem 0xff5c1004-0xff5c1007 on acpi0 acpi_tz0: <Thermal Zone> on acpi0 cpu0: <ACPI CPU> on acpi0 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 found-> vendor=0x1033, dev=0x0035, revid=0x41 bus=0, slot=1, func=1 class=0c-03-10, hdrtype=0x00, mfdev=0 cmdreg=0x0146, statreg=0x0210, cachelnsz=32 (dwords) lattimer=0x80 (3840 ns), mingnt=0x01 (250 ns), maxlat=0x2a (10500 ns) intpin=b, irq=0 powerspec 2 supports D0 D1 D2 D3 current D0 map[10]: type 1, range 32, base 80021000, size 8, enabled found-> vendor=0x1033, dev=0x00e0, revid=0x02 bus=0, slot=1, func=2 class=0c-03-20, hdrtype=0x00, mfdev=0 cmdreg=0x0146, statreg=0x0210, cachelnsz=32 (dwords) lattimer=0x80 (3840 ns), mingnt=0x10 (4000 ns), maxlat=0x22 (8500 ns) intpin=c, irq=0 powerspec 2 supports D0 D1 D2 D3 current D0 map[10]: type 4, range 32, base 00000d58, size 3, enabled map[14]: type 4, range 32, base 00000d64, size 2, enabled map[18]: type 4, range 32, base 00000d50, size 3, enabled map[1c]: type 4, range 32, base 00000d60, size 2, enabled map[20]: type 4, range 32, base 00000d40, size 4, enabled found-> vendor=0x1095, dev=0x0649, revid=0x02 bus=0, slot=2, func=0 class=01-01-8f, hdrtype=0x00, mfdev=0 cmdreg=0x0145, statreg=0x0290, cachelnsz=0 (dwords) lattimer=0x80 (3840 ns), mingnt=0x02 (500 ns), maxlat=0x04 (1000 ns) intpin=a, irq=14 powerspec 2 supports D0 D1 D2 D3 current D0 map[10]: type 1, range 32, base 80020000, size 12, enabled map[14]: type 4, range 32, base 00000d00, size 6, enabled map[18]: type 1, range 32, base 80000000, size 17, enabled found-> vendor=0x8086, dev=0x1229, revid=0x0d bus=0, slot=3, func=0 class=02-00-00, hdrtype=0x00, mfdev=0 cmdreg=0x0147, statreg=0x0290, cachelnsz=0 (dwords) lattimer=0x80 (3840 ns), mingnt=0x08 (2000 ns), maxlat=0x38 (14000 ns) intpin=a, irq=0 powerspec 2 supports D0 D1 D2 D3 current D0 ohci0: <NEC uPD 9210 USB controller> mem 0x80023000-0x80023fff irq 0 at device 1.0 on pci0 ohci0: Reserved 0x1000 bytes for rid 0x10 type 3 at 0x80023000 ohci0: Could not setup irq, 2 device_attach: ohci0 attach returned 6 ohci1: <NEC uPD 9210 USB controller> mem 0x80022000-0x80022fff irq 0 at device 1.1 on pci0 ohci1: Reserved 0x1000 bytes for rid 0x10 type 3 at 0x80022000 ohci1: Could not setup irq, 2 device_attach: ohci1 attach returned 6 ehci0: <NEC uPD 720100 USB 2.0 controller> mem 0x80021000-0x800210ff irq 0 at device 1.2 on pci0 ehci0: Reserved 0x100 bytes for rid 0x10 type 3 at 0x80021000 ehci0: Could not setup irq, 2 device_attach: ehci0 attach returned 6 atapci0: <CMD 649 UDMA100 controller> port 0xd40-0xd4f,0xd60-0xd63,0xd50-0xd57,0xd64-0xd67,0xd58-0xd5f irq 14 at device 2.0 on pci0 atapci0: Reserved 0x10 bytes for rid 0x20 type 4 at 0xd40 atapci0: unable to setup interrupt atapci0: Reserved 0x8 bytes for rid 0x10 type 4 at 0xd58 atapci0: Reserved 0x4 bytes for rid 0x14 type 4 at 0xd64 ata2: reset tp1 mask=03 ostat0=00 ostat1=01 ata2-master: stat=0x00 err=0x01 lsb=0x14 msb=0xeb ata2-slave: stat=0x01 err=0x04 lsb=0x14 msb=0xeb ata2: reset tp2 stat0=00 stat1=01 devices=0x4<ATAPI_MASTER> ata2: at 0xd58 on atapci0 ata2: [MPSAFE] atapci0: Reserved 0x8 bytes for rid 0x18 type 4 at 0xd50 atapci0: Reserved 0x4 bytes for rid 0x1c type 4 at 0xd60 ata3: reset tp1 mask=00 ostat0=ff ostat1=ff ata3: at 0xd50 on atapci0 ata3: [MPSAFE] fxp0: <Intel 82550 Pro/100 Ethernet> port 0xd00-0xd3f mem 0x80000000-0x8001ffff,0x80020000-0x80020fff irq 0 at device 3.0 on pci0 fxp0: Reserved 0x1000 bytes for rid 0x10 type 3 at 0x80020000 fxp0: using memory space register mapping fxp0: PCI IDs: 8086 1229 103c 1274 000d fxp0: Dynamic Standby mode is disabled miibus0: <MII bus> on fxp0 inphy0: <i82555 10/100 media interface> on miibus0 inphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto fxp0: bpf attached fxp0: Ethernet address: 00:30:6e:39:b6:70 fxp0: could not setup irq panic: fxp_release() called with intr handle still active KDB: enter: panic [thread 0] Stopped at kdb_enter+0x80: [M0] break.m 0x84b5d db> tr kdb_enter(0xe0000000045daa38, 0xe000000004280210, 0x895, 0xe000000004677388) at kdb_enter+0x80 panic(0xe0000000045b33a0, 0x2, 0xe0000000045b3380, 0x343) at panic+0x1c0 fxp_release(0xe000000000900000, 0xe000000000901d20, 0xca1, 0xe0000000048aed60, 0xe000000000900000, 0x0, 0xe0000000009003a0, 0xffffffffffffffff) at fxp_release+0x70 fxp_attach(0xe0000000008fa500, 0xe00000000023bd58, 0xe000000000900074, 0x2, 0x8086, 0x1229, 0x103c, 0xe000000000900000) at fxp_attach+0x17f0 device_attach(0xe0000000008fa500) at device_attach+0x4c0 bus_generic_attach(0xe0000000008fa500, 0xe0000000040de610, 0x38d, 0xe000000004604900) at bus_generic_attach+0x40 acpi_pci_attach(0xe0000000008b0200, 0xe0000000001a5200, 0xe000000004678320, 0xe000000004677478, 0xe0000000042b2840, 0x797, 0xe0000000048aed60) at acpi_pci_attach+0x250 device_attach(0xe0000000008b0200) at device_attach+0x4c0 bus_generic_attach(0xe0000000008b0200, 0xe0000000040e1800, 0x50e, 0xe0000000008b0374) at bus_generic_attach+0x40 acpi_pcib_attach(0xe0000000001a5200, 0xe0000000008f38a0, 0x0, 0xe0000000008a2200, 0xe000000004678320) at acpi_pcib_attach+0x1a0 acpi_pcib_acpi_attach(0xe0000000001a5200, 0xe0000000008f3894, 0xe0000000046774a8, 0xe0000000008f3898, 0xe0000000008f3888, 0xe0000000008f3880, 0xe0000000042b2840, 0x797) at acpi_pcib_acpi_attach+0x370 device_attach(0xe0000000001a5200) at device_attach+0x4c0 bus_generic_attach(0xe0000000001a5200, 0xe0000000040cd880, 0xa9d, 0xe0000000046780a0) at bus_generic_attach+0x40 acpi_attach(0xe0000000008a2200, 0x4, 0xe00000000467c6e0, 0xe0000000046774e8, 0xe0000000046774d8, 0xe0000000008a2148, 0xe0000000045b1a78, 0xe0000000045b9648) at acpi_attach+0xae0 device_attach(0xe0000000008a2200) at device_attach+0x4c0 bus_generic_attach(0xe0000000008a2200) at bus_generic_attach+0x40 nexus_attach(0xe0000000001a2200, 0xe0000000042b2840, 0x797, 0xe0000000042b2810) at nexus_attach+0xd0 device_attach(0xe0000000001a2200) at device_attach+0x4c0 root_bus_configure(0xe0000000001a2200, 0xe0000000045686f0, 0x186) at root_bus_configure+0x50 configure(0xe00000000422a610, 0x48b) at configure+0x60 mi_startup(0xe000000004603dd0, 0xe0000000046d0d38, 0xe0000000046d0d40, 0x1, 0xe0000000046d0d30, 0xe0000000046d0d48, 0xe000000004584400, 0x899) at mi_startup+0x2c0 ia64_init(0xe0000000046d06c8) at ia64_init+0xc80 __start() at __start+0xa0 db> show irq 68 1 0 low-active level ID=0 EID=0 db> 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. Thanks, -- Marcel Moolenaar USPA: A-39004 marcel@xcllnt.net
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040811214708.GA25696>