Opened 16 years ago

Closed 16 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)

syslog.zip (32.9 KB ) - added by biffuz 16 years ago.
syslog with my modification
lspci.zip (2.9 KB ) - added by biffuz 16 years ago.
output of "lspci -Dvv" on Linux

Download all attachments as: .zip

Change History (12)

comment:1 by axeld, 16 years ago

Component: - GeneralDrivers
Owner: changed from axeld to marcusoverhagen

comment:2 by marcusoverhagen, 16 years ago

Status: newassigned
Summary: VIA HDA causes PANIC at boot on ASRock 4CoreDual-Sata2PANIC: PCI::AddVirtBus bus 128 too large on ASRock 4CoreDual-Sata2

please attach syslog or serial debug output

comment:3 by biffuz, 16 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.

by biffuz, 16 years ago

Attachment: syslog.zip added

syslog with my modification

comment:4 by korli, 16 years ago

Would it possible to have a "lspci -Dvv" output on Linux to check against ? It could help IMO.

comment:5 by biffuz, 16 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".

by biffuz, 16 years ago

Attachment: lspci.zip added

output of "lspci -Dvv" on Linux

comment:6 by korli, 16 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 biffuz, 16 years ago

But later it's used to build the virtbus number. Looks like there's a need of a major change, then.

comment:8 by marcusoverhagen, 16 years ago

This should be fixed by the major change in hrev23944.

comment:9 by biffuz, 16 years ago

Now it works, thank you!

comment:10 by marcusoverhagen, 16 years ago

Resolution: fixed
Status: assignedclosed

fixed with hrev23944 and hrev23981.

Note: See TracTickets for help on using tickets.