[SeaBIOS] Issues on initialization of PCI devices below root.
lautriv at coldplug.net
Thu Nov 22 12:45:57 CET 2012
On 11/21/2012 07:11 PM, Stefan Reinauer wrote:
> * lautriv<lautriv at coldplug.net> [121121 13:35]:
>> i tried to get seabios up via payload from coreboot and failed on
>> the initialisation
>> of neccessary devices.
>> The board in Question is a Tyan S4882, consisting of K8 northbridge,
>> 8131 southbridge, 8111 southbridge and Winbond w83627hf SuperIO.
>> You will see on the following pastebin-url that coreboot does a
>> proper init and can see all relevant devices.
>> I was also able to get VGA up via coreboot ( to reflect an
>> accessible device below root ) but not from within seabios. It
>> probes only against PCI 00:18.0 ... 00:18.3 which are on the
>> northbridge itself.
>> I had a look on the sources and found it should see and init the
>> whole tree, also checked my sources against some patches i found on
>> the net and they are all applied or superseded.
> I think you need to change the board's HT configuration so that the
> southbridge ends up on bus 0 instead of 1 (with no pci bridge pointing
> to bus 1)
ok, i investigated a few hours on the coreboot part of hardware-init,
device-tree and surrounding stuff.
where i found coreboot itself can always find and init devices while
seabios fails right after the northbridge, mentioning "MaxPCIBus 00"
which was always a miracle to me.
however, after the init was already working, and i could not see a
problem on the fly, i took a crossbar and changed one line in pci.h from
"extern int MaxPCIBus;" to "extern int MaxPCIBus = 5;". this is no
solution or even gentlemen like but overrides the tree-building loops
finally i got this --> http://pastebin.com/iqQJ1m7C
not perfect and needs more tuning but shows clearly something in the
routines of PCI initialisation returns too early in the process.
regards , Helmut
More information about the SeaBIOS