Opened 17 years ago
Closed 17 years ago
#1774 closed bug (fixed)
PANIC: PCI::AddVirtBus bus 128 too large on ASRock 4CoreDual-Sata2
Reported by: | biffuz | Owned by: | marcusoverhagen |
---|---|---|---|
Priority: | normal | Milestone: | R1 |
Component: | Drivers | Version: | R1/pre-alpha1 |
Keywords: | Cc: | ||
Blocked By: | Blocking: | ||
Platform: | All |
Description
Just got this new motherboard, and tried it with Haiku rev. 23900.
I got this error on boot screen:
PANIC: PCI::AddVirtBus bus 128 too large
Disabling BIOS calls didn't help, so I checked pci.cpp, and it is right... bus 128 _is_ too large (I think it calls "bus" the "device number on the bus", isn't it?), which should be 0-31. I modified the method to print the vendor and device IDs, and it said 1106 and 3288: that's the on-board HDA controller. I disabled it from the BIOS setup and Haiku boot correclty.
I looked for a solution, and thought that maybe the device uses an int8 instead of an uint8. So I just modified line 371 to
if ((bus & 0x7f) > 31)
and it worked! The HDA controller is also correctly listed in listdev.
I'm not sure this is a proper solution or just an hack. Tried this on two more computers and looks fine.
BIOS version is 1.80, if this can help.
Attachments (2)
Change History (12)
comment:1 by , 17 years ago
Component: | - General → Drivers |
---|---|
Owner: | changed from | to
comment:2 by , 17 years ago
Status: | new → assigned |
---|---|
Summary: | VIA HDA causes PANIC at boot on ASRock 4CoreDual-Sata2 → PANIC: PCI::AddVirtBus bus 128 too large on ASRock 4CoreDual-Sata2 |
comment:3 by , 17 years ago
This is the syslog with my modification. I couldn't get the syslog for the original version, any suggestion? Shouldn't be much different, however.
comment:4 by , 17 years ago
Would it possible to have a "lspci -Dvv" output on Linux to check against ? It could help IMO.
comment:5 by , 17 years ago
Just downloaded SimplyMEPIS 7.0 32 bit release (it's a live CD), and booting with Default settings. I get this message:
PCI: BIOS bug: MCFG area at e0000000 is not E820-reserved PCI: Not using MMCONFIG. PCI: Cannot allocate resource region 0 of device 0000:00:00.0
Quite scaring.
As requested by korli, I'm attaching the output of "lspci -Dvv".
comment:6 by , 17 years ago
Thanks! Checking your lspci, the bus value is really 128 (0x80). Also checking on other sources, bus values are up to 255. IMO the uint8 bus value doesn't need a check.
comment:7 by , 17 years ago
But later it's used to build the virtbus number. Looks like there's a need of a major change, then.
comment:10 by , 17 years ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
please attach syslog or serial debug output