On 11/21/2012 07:11 PM, Stefan Reinauer wrote:
- lautrivlautriv@coldplug.net [121121 13:35]:
Hello, 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)
Stefan
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 with success.
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