Fork us on GitHub Follow us on Facebook Follow us on Twitter

Opened 7 years ago

Closed 7 years ago

#463 closed defect (worksforme)

The presence of the ISA bus driver and the USB HC drivers hangs the system during boot

Reported by: Jakub Jermář Owned by: Jakub Jermář
Priority: major Milestone: 0.5.0
Component: helenos/drv/isa Version: mainline
Keywords: Cc:
Blocker for: Depends on:
See also:

Description

mainline,1376 changed the ISA-bridge match ID from the vendor/device scheme to the class/subclass scheme. Unfortunately, the change hangs my desktop shortly after input is started. Reverting the change fixes the problem.

My lspci -nn output:

00:00.0 Host bridge [0600]: Advanced Micro Devices [AMD] RS880 Host Bridge [1022:9601]
00:01.0 PCI bridge [0604]: Advanced Micro Devices [AMD] RS780/RS880 PCI to PCI bridge (int gfx) [1022:9602]
00:0a.0 PCI bridge [0604]: Advanced Micro Devices [AMD] RS780/RS880 PCI to PCI bridge (PCIE port 5) [1022:9609]
00:11.0 SATA controller [0106]: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 SATA Controller [IDE mode] [1002:4390] (rev 40)
00:12.0 USB controller [0c03]: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 USB OHCI0 Controller [1002:4397]
00:12.2 USB controller [0c03]: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 USB EHCI Controller [1002:4396]
00:13.0 USB controller [0c03]: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 USB OHCI0 Controller [1002:4397]
00:13.2 USB controller [0c03]: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 USB EHCI Controller [1002:4396]
00:14.0 SMBus [0c05]: Advanced Micro Devices [AMD] nee ATI SBx00 SMBus Controller [1002:4385] (rev 41)
00:14.1 IDE interface [0101]: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 IDE Controller [1002:439c] (rev 40)
00:14.2 Audio device [0403]: Advanced Micro Devices [AMD] nee ATI SBx00 Azalia (Intel HDA) [1002:4383] (rev 40)
00:14.3 ISA bridge [0601]: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 LPC host controller [1002:439d] (rev 40)
00:14.4 PCI bridge [0604]: Advanced Micro Devices [AMD] nee ATI SBx00 PCI to PCI Bridge [1002:4384] (rev 40)
00:14.5 USB controller [0c03]: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 USB OHCI2 Controller [1002:4399]
00:15.0 PCI bridge [0604]: Advanced Micro Devices [AMD] nee ATI SB700/SB800/SB900 PCI to PCI bridge (PCIE port 0) [1002:43a0]
00:15.1 PCI bridge [0604]: Advanced Micro Devices [AMD] nee ATI SB700/SB800/SB900 PCI to PCI bridge (PCIE port 1) [1002:43a1]
00:16.0 USB controller [0c03]: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 USB OHCI0 Controller [1002:4397]
00:16.2 USB controller [0c03]: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 USB EHCI Controller [1002:4396]
00:18.0 Host bridge [0600]: Advanced Micro Devices [AMD] Family 10h Processor HyperTransport Configuration [1022:1200]
00:18.1 Host bridge [0600]: Advanced Micro Devices [AMD] Family 10h Processor Address Map [1022:1201]
00:18.2 Host bridge [0600]: Advanced Micro Devices [AMD] Family 10h Processor DRAM Controller [1022:1202]
00:18.3 Host bridge [0600]: Advanced Micro Devices [AMD] Family 10h Processor Miscellaneous Control [1022:1203]
00:18.4 Host bridge [0600]: Advanced Micro Devices [AMD] Family 10h Processor Link Control [1022:1204]
01:05.0 VGA compatible controller [0300]: Advanced Micro Devices [AMD] nee ATI RS880 [Radeon HD 4250] [1002:9715]
01:05.1 Audio device [0403]: Advanced Micro Devices [AMD] nee ATI RS880 HDMI Audio [Radeon HD 4200 Series] [1002:970f]
02:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller [10ec:8168] (rev 03)
03:0e.0 FireWire (IEEE 1394) [0c00]: Texas Instruments TSB43AB23 IEEE-1394a-2000 Controller (PHY/Link) [104c:8024]
04:00.0 SATA controller [0106]: JMicron Technology Corp. JMB363 SATA/IDE Controller [197b:2363] (rev 02)
04:00.1 IDE interface [0101]: JMicron Technology Corp. JMB363 SATA/IDE Controller [197b:2363] (rev 02)

Change History (9)

comment:1 Changed 7 years ago by Jakub Jermář

Guessing the problem may be related to the fact that the ISA bridge was actually properly discovered after mainline,1376.

comment:2 Changed 7 years ago by Martin Decky

Yes. Therefore I would not call it a regression. It is simply a bug in the ISA driver which did not manifest before switching to the class/subclass detection because the driver was not loaded at all for your hardware configuration.

comment:3 Changed 7 years ago by Jakub Jermář

Summary: Regression in mainline,1376 when booting on real hwThe presence of ISA bus driver hangs the system during boot

This indeed seems to be a problem of the ISA driver. Keeping the ISA bus driver and only excluding i8042 and ps2mouse from the image doesn't fix the hang while excluding also the ISA driver does. I am changing the summary to reflect this fact.

comment:4 Changed 7 years ago by Jakub Jermář

Summary: The presence of ISA bus driver hangs the system during bootThe presence of the ISA bus driver hangs the system during boot

comment:5 Changed 7 years ago by Jakub Jermář

Summary: The presence of the ISA bus driver hangs the system during bootThe presence of the ISA bus driver and the USB HC drivers hangs the system during boot

Interestingly enough, if I exclude the USB host controller drivers and keep the ISA bus driver, the system boots up normally.

comment:6 Changed 7 years ago by Jakub Jermář

It looks like the ISA and USB HC drivers merely create a suitable environment for some sort of a timing sensitive bug which manifests itself by sudden inability to spawn or complete spawning a new instance of loader.

comment:7 Changed 7 years ago by Jakub Jermář

Further investigation reveals that a new instance of loader hangs because the kernel stops ticking. The kernel console shows several 'PIC spurious interrupt' messages. I also noticed that on this system, IRQ 5 is shared by the ISA driver (ne2k slot) and the USB HC (ohci). There is no ne2k NIC on my system though. I suspect this is related and the kernel probably hangs as a result of handling the shared IRQ 5. Disabling the IRQ enabling code in the i8259 irc service allows the system to boot into bdsh.

comment:8 Changed 7 years ago by Jakub Jermář

Owner: set to Jakub Jermář
Status: newassigned

comment:9 Changed 7 years ago by Jakub Jermář

Resolution: worksforme
Status: assignedclosed

After mainline,1545, the issue is no longer reproducible. The role of the mis-detected ne2k in the hang remains unclear though.

Note: See TracTickets for help on using tickets.