On Wed, Nov 4, 2009 at 10:02 AM, Myles Watson mylesgw@gmail.com wrote:
Hi, Myles, About the HT code, I have a question.
I am debugging my board, which is Fam10+RS780+SB700. The CPU and RS780 are the two HT node.
Aren't there three? How is the SB700 connected to the RS780?
It seems like the RS690/SB600 board.
The RS690/SB600 board has three.
There is just the CPU and 690 or 780. The AMD 600 or 700 is connect with Alink, not HT.
early_ht.c: Just enumerate the southbridge chain in case that's needed for serial initialization or ROM access.
incoherent_ht.c: Enumerate all chains so that they can be optimized before the first reset.
hypertransport.c: Enumerate the chains according to the device tree.
Is early_ht.c, enumerate_ht_chain(), even needed. The subtractive path should work. Maybe depends on the southbridge/configuration.
For Fam10, I think that where problems happen is the early_ht.c sets values that are found and used by the AGESA based code that has a slightly different search algorithm. This happens in ht3init.c, process_link(). Failures in process_link() cause the system to halt even if it could continue based on the early setup.
Marc