Hello,
In AMD's <<BIOS and Kernel developer's Guide>> 3.3.16 LDTi Bus Number Registers section it says that if the link contains the HT IO hub the secondary bus number must be programmed to 0. But amdk8_scan_chains() is called with max=0, so it won't write the secondary register of any link to 0? Or some other code handles this case?
Regards, Liu Tao
Hello,
I googled some results of amdk8 linuxbios, and seems after dev_enumerate() AMD8111 is not at bus0. So does it mean when we are running from the BIOS ROM the IO HUB must be at bus0, and when we are running in RAM the bus number doesn't matter?
Regards, Liu Tao
In AMD's <<BIOS and Kernel developer's Guide>> 3.3.16 LDTi Bus Number Registers section it says that if the link contains the HT IO hub the secondary bus number must be programmed to 0. But amdk8_scan_chains() is called with max=0, so it won't write the secondary register of any link to 0? Or some other code handles this case?
* Liu Tao liutao@safe-mail.net [040922 04:57]:
I googled some results of amdk8 linuxbios, and seems after dev_enumerate() AMD8111 is not at bus0. So does it mean when we are running from the BIOS ROM the IO HUB must be at bus0, and when we are running in RAM the bus number doesn't matter?
I think to remember that Linux wants the IO Hub to hang off bus 0 as well. Which is why some ports reversed the probe order to achieve this. Maybe there is a more correct and generic solution to this?
Stefan
Stefan Reinauer stepan@openbios.org writes:
- Liu Tao liutao@safe-mail.net [040922 04:57]:
I googled some results of amdk8 linuxbios, and seems after dev_enumerate() AMD8111 is not at bus0. So does it mean when we are running from the BIOS ROM the IO HUB must be at bus0, and when we are running in RAM the bus number doesn't matter?
Yes. So long as linux can find it. We just put it at bus 0 as convenience so we can find it easily.
Putting the hypertransport chains on their own bus is clearer reflection of reality than putting extra devices on bus 0.
I think to remember that Linux wants the IO Hub to hang off bus 0 as well. Which is why some ports reversed the probe order to achieve this. Maybe there is a more correct and generic solution to this?
As for linux so long as it can find the bus everything is good. Mostly that is a matter of putting the bus in the pirq table so linux will know about the bus.
Eric