Opened 13 years ago
Closed 12 years ago
#7971 closed bug (fixed)
panics while trying to find IRQ routing for non existant PCI-device
Reported by: | pfoetchen_ | Owned by: | mmlr |
---|---|---|---|
Priority: | normal | Milestone: | R1 |
Component: | System/Kernel | Version: | R1/Development |
Keywords: | pci irq routing | Cc: | joshua.kraemer@… |
Blocked By: | Blocking: | ||
Platform: | x86 |
Description
I tried to boot hrev42719 on this Acer Aspire 1360 and it panics early in the boot process trying to find an irq routing for PCI-device 0:17:1 and at least lspci under linux does not know anything about such a device ..
I don't know the bios password for this machine so I can't change anything in the bios..
I attached a picture of the bt (hmmm perhapse I could add a qr code generator to the debug output so that the screenshots are easyer to read by computer ;) ).
here is the lspci output:
00:00.0 Host bridge: VIA Technologies, Inc. K8M800 Host Bridge Subsystem: Acer Incorporated [ALI] Device 006e Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap+ 66MHz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort+ >SERR- <PERR- INTx- Latency: 8 Region 0: Memory at d0000000 (32-bit, prefetchable) [size=256M] Capabilities: <access denied> Kernel driver in use: agpgart-amd64 Kernel modules: amd64-agp 00:00.1 Host bridge: VIA Technologies, Inc. K8M800 Host Bridge Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 0 00:00.2 Host bridge: VIA Technologies, Inc. K8M800 Host Bridge Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 0 00:00.3 Host bridge: VIA Technologies, Inc. K8M800 Host Bridge Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 0 00:00.4 Host bridge: VIA Technologies, Inc. K8M800 Host Bridge Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 0 00:00.7 Host bridge: VIA Technologies, Inc. K8M800 Host Bridge Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 0 00:01.0 PCI bridge: VIA Technologies, Inc. VT8237 PCI bridge [K8T800/K8T890 South] (prog-if 00 [Normal decode]) Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap+ 66MHz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 0 Bus: primary=00, secondary=01, subordinate=01, sec-latency=0 Memory behind bridge: c1000000-c1ffffff Prefetchable memory behind bridge: e0000000-efffffff Secondary status: 66MHz+ FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort+ <SERR- <PERR- BridgeCtl: Parity- SERR- NoISA+ VGA+ MAbort- >Reset- FastB2B- PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn- Capabilities: <access denied> Kernel modules: shpchp 00:0b.0 CardBus bridge: Texas Instruments PCI7420 CardBus Controller Subsystem: Acer Incorporated [ALI] Device 006e Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 168, Cache Line Size: 64 bytes Interrupt: pin A routed to IRQ 17 Region 0: Memory at 30000000 (32-bit, non-prefetchable) [size=4K] Bus: primary=00, secondary=02, subordinate=05, sec-latency=176 Memory window 0: 20000000-23fff000 (prefetchable) Memory window 1: 24000000-27fff000 I/O window 0: 00002000-000020ff I/O window 1: 00002400-000024ff BridgeCtl: Parity- SERR- ISA- VGA- MAbort- >Reset+ 16bInt+ PostWrite+ 16-bit legacy interface ports at 0001 Kernel driver in use: yenta_cardbus Kernel modules: yenta_socket 00:0b.1 CardBus bridge: Texas Instruments PCI7420 CardBus Controller Subsystem: Acer Incorporated [ALI] Device 006e Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 168, Cache Line Size: 64 bytes Interrupt: pin B routed to IRQ 18 Region 0: Memory at 30001000 (32-bit, non-prefetchable) [size=4K] Bus: primary=00, secondary=06, subordinate=09, sec-latency=176 Memory window 0: 28000000-2bfff000 (prefetchable) Memory window 1: 2c000000-2ffff000 I/O window 0: 00002800-000028ff I/O window 1: 00002c00-00002cff BridgeCtl: Parity- SERR- ISA- VGA- MAbort- >Reset+ 16bInt+ PostWrite+ 16-bit legacy interface ports at 0001 Kernel driver in use: yenta_cardbus Kernel modules: yenta_socket 00:0b.2 FireWire (IEEE 1394): Texas Instruments PCI7x20 1394a-2000 OHCI Two-Port PHY/Link-Layer Controller (prog-if 10 [OHCI]) Subsystem: Acer Incorporated [ALI] Device 006e Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 64 (500ns min, 1000ns max), Cache Line Size: 64 bytes Interrupt: pin C routed to IRQ 19 Region 0: Memory at c0005000 (32-bit, non-prefetchable) [size=2K] Region 1: Memory at c0000000 (32-bit, non-prefetchable) [size=16K] Capabilities: <access denied> Kernel driver in use: firewire_ohci Kernel modules: firewire-ohci 00:10.0 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 80) (prog-if 00 [UHCI]) Subsystem: Acer Incorporated [ALI] Device 006e Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 64, Cache Line Size: 64 bytes Interrupt: pin A routed to IRQ 21 Region 4: I/O ports at 1c00 [size=32] Capabilities: <access denied> Kernel driver in use: uhci_hcd Kernel modules: uhci-hcd 00:10.1 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 80) (prog-if 00 [UHCI]) Subsystem: Acer Incorporated [ALI] Device 006e Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 64, Cache Line Size: 64 bytes Interrupt: pin B routed to IRQ 21 Region 4: I/O ports at 1c20 [size=32] Capabilities: <access denied> Kernel driver in use: uhci_hcd Kernel modules: uhci-hcd 00:10.2 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 80) (prog-if 00 [UHCI]) Subsystem: Acer Incorporated [ALI] Device 006e Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 64, Cache Line Size: 64 bytes Interrupt: pin C routed to IRQ 21 Region 4: I/O ports at 1c40 [size=32] Capabilities: <access denied> Kernel driver in use: uhci_hcd Kernel modules: uhci-hcd 00:10.3 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 82) (prog-if 20 [EHCI]) Subsystem: Acer Incorporated [ALI] Device 006e Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 64, Cache Line Size: 64 bytes Interrupt: pin D routed to IRQ 21 Region 0: Memory at c0005800 (32-bit, non-prefetchable) [size=256] Capabilities: <access denied> Kernel driver in use: ehci_hcd Kernel modules: ehci-hcd 00:11.0 ISA bridge: VIA Technologies, Inc. VT8235 ISA Bridge Subsystem: VIA Technologies, Inc. VT8235 ISA Bridge Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping+ SERR- FastB2B- DisINTx- Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 0 Capabilities: <access denied> Kernel modules: i2c-viapro, via-ircc 00:11.1 IDE interface: VIA Technologies, Inc. VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (rev 06) (prog-if 8a [Master SecP PriP]) Subsystem: Acer Incorporated [ALI] Device 006e Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 64 Interrupt: pin A routed to IRQ 0 Region 0: [virtual] Memory at 000001f0 (32-bit, non-prefetchable) [size=8] Region 1: [virtual] Memory at 000003f0 (type 3, non-prefetchable) [size=1] Region 2: [virtual] Memory at 00000170 (32-bit, non-prefetchable) [size=8] Region 3: [virtual] Memory at 00000370 (type 3, non-prefetchable) [size=1] Region 4: I/O ports at 1c60 [size=16] Capabilities: <access denied> Kernel driver in use: pata_via Kernel modules: via82cxxx, pata_via 00:11.5 Multimedia audio controller: VIA Technologies, Inc. VT8233/A/8235/8237 AC97 Audio Controller (rev 50) Subsystem: Acer Incorporated [ALI] Device 0046 Control: I/O+ Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Interrupt: pin C routed to IRQ 22 Region 0: I/O ports at 1000 [size=256] Capabilities: <access denied> Kernel driver in use: VIA 82xx Audio Kernel modules: snd-via82xx 00:11.6 Communication controller: VIA Technologies, Inc. AC'97 Modem Controller (rev 80) Subsystem: Acer Incorporated [ALI] Device 0046 Control: I/O+ Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Interrupt: pin C routed to IRQ 22 Region 0: I/O ports at 1400 [size=256] Capabilities: <access denied> Kernel driver in use: VIA 82xx Modem Kernel modules: snd-via82xx-modem 00:12.0 Ethernet controller: VIA Technologies, Inc. VT6102 [Rhine-II] (rev 74) Subsystem: Acer Incorporated [ALI] Device 006e Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 64 (750ns min, 2000ns max), Cache Line Size: 64 bytes Interrupt: pin A routed to IRQ 23 Region 0: I/O ports at 1800 [size=256] Region 1: Memory at c0005c00 (32-bit, non-prefetchable) [size=256] Capabilities: <access denied> Kernel driver in use: via-rhine Kernel modules: via-rhine 00:18.0 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] HyperTransport Technology Configuration Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Capabilities: <access denied> 00:18.1 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Address Map Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- 00:18.2 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] DRAM Controller Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- 00:18.3 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Miscellaneous Control Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Kernel driver in use: k8temp Kernel modules: k8temp 01:00.0 VGA compatible controller: nVidia Corporation NV34M [GeForce FX Go5200 64M] (rev a1) (prog-if 00 [VGA controller]) Subsystem: Acer Incorporated [ALI] Device 006e Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 64 (1250ns min, 250ns max) Interrupt: pin A routed to IRQ 16 Region 0: Memory at c1000000 (32-bit, non-prefetchable) [size=16M] Region 1: Memory at e0000000 (32-bit, prefetchable) [size=128M] Expansion ROM at e8000000 [disabled] [size=128K] Capabilities: <access denied> Kernel driver in use: nouveau Kernel modules: nouveau, nvidiafb
Attachments (5)
Change History (14)
by , 13 years ago
Attachment: | S1053981.JPG added |
---|
comment:1 by , 13 years ago
Component: | System → System/Kernel |
---|---|
Owner: | changed from | to
Status: | new → assigned |
comment:2 by , 13 years ago
Replying to pfoetchen_:
I tried to boot hrev42719 on this Acer Aspire 1360 and it panics early in the boot process trying to find an irq routing for PCI-device 0:17:1 and at least lspci under linux does not know anything about such a device ..
That is not relevant, as the OS can reconfigure those and the addresses aren't necessarily structured the same.
Considering the place of the panic (ensure_all_functions_matched) it most probably is a present device. That it fails to find a match means that there is neither a routing table entry for the device nor could one be incurred from any of its parent devices, making the device unusable.
here is the lspci output:
As mentioned this one isn't really helpful. Instead please grab the initial on-screen output where the PCI devices are dumped. This one has the devices in the configuration as Haiku sees/uses them.
In either case the panic is non-fatal (the specific device just won't be able to use PCI IRQs) and you can continue out of it using the "continue" KDL command. Depending on what's going wrong exactly it's possible though that the panic reoccurs for multiple devices.
follow-up: 4 comment:3 by , 13 years ago
Ah ok I booted it again and took some more photos ;) 17:0:1 is the IDE-controler and it seems to work after typing continue (at least it finds the hardisk)
But I can't boot from the USB-stick since it has (unrelated?) truble with the usb-controler or the usb stick. I can't boot form USB directly but chainload the USB stick from grub on the hd so it might also be that grub leaves the controler in some strange state or something like that ;).
comment:4 by , 13 years ago
Sorry for the delay.
Replying to pfoetchen_:
But I can't boot from the USB-stick since it has (unrelated?) truble with the usb-controler or the usb stick. I can't boot form USB directly but chainload the USB stick from grub on the hd so it might also be that grub leaves the controler in some strange state or something like that ;).
It looks like the IO-APIC is actually required, or that the revert to non IO-APIC mode after the configuration failure doesn't work on this particular configuration. What you can try is disabling the IO-APIC via safemode settings in the bootloader menu instead. If it is only reverting the interrupt routing model that is not working, then that should get it going.
comment:5 by , 13 years ago
There's my try with hrev42792. Ran under Windows Server 2008 R2 SP1 Hyper-V session.
comment:6 by , 13 years ago
Both of these issues seem to involve a device that has no interrupt line assigned. The point of the IO-APIC routing was, to quite some degree, to enable such devices via the routing information from ACPI. However it'd seem that these devices don't actually have any routing, but instead of setting the interrupt pin to 0, it just has the interrupt line set to 0 and no routing info at all. So I'll go ahead and check for this case and assume an intentionally disabled device. From the lspci output above it looks like Linux does the same, as the controller has IRQ 0 there as well. It'd be interesting to get a full log from Linux (dmesg) to see what exactly it does, so if you can please attach such a log as well.
comment:7 by , 13 years ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
I've commited the change outlined above in hrev42795 which should now make it work on both your configurations. Please test, and as mentioned, I'd still be interested in the full debug message log on Linux, just to see if it makes the same assumptions. I've checked the specs, which weren't helpful, and tried to figure it out from the Linux and FreeBSD source, where I gave up because it's just way too time consuming to sift through again without a specific clue as to where that'd happen.
by , 12 years ago
Attachment: | hrev44678_ThinkCentre_M51.jpg added |
---|
Early panic when booting hrev44678 on an IBM ThinkCentre M51
follow-up: 9 comment:8 by , 12 years ago
Cc: | added |
---|---|
Resolution: | fixed |
Status: | closed → reopened |
When trying to boot on an IBM ThinkCentre M51, hrev44678 panics with the above error. The only extension card attached is a PCI Express video card. When I proceed by entering "continue", everything seems to work.
comment:9 by , 12 years ago
Resolution: | → fixed |
---|---|
Status: | reopened → closed |
Replying to Joshua_K:
When trying to boot on an IBM ThinkCentre M51, hrev44678 panics with the above error. The only extension card attached is a PCI Express video card. When I proceed by entering "continue", everything seems to work.
The symptom may be the same, but the reason cannot really be as it was fixed. Therefore please open a new ticket and attach a syslog from a full boot (with continue) from /var/log/syslog.
debug output during boot