* ron minnich rminnich@lanl.gov [030731 00:44]:
OK, I am hoping this is the kind of thing that will work for the K8.
First, in cpu/k8, define a file, chip.h:
struct cpu_k8_config { struct chip *north, *south, *east, *west; };
I don't think we need both of east and west really. The Bios Developers Guide calls these links "UP", "DOWN" and "ACROSS", for LDT0-2. It might still be interesting to have a topological view on the hardware, but at least for hypertransport setup, east and west is equal.
In the mainboard config (mainboard/arima/hdama/Config.lb), you set things up as follows:
southbridge amd/amd8111 "amd8111"
register "north" = "cpu0" register "ht_width" = "8" # 8bit, even if device reports more register "ht_speed" = "200" # don't drive faster than 200MHz, # in case device reports false # maximum speed
end southbridge amd/amd8131 "amd8131"
register "north" = "cpu1" (for example) register "ht_width" = "8" register "ht_speed" = "200"
end
# pull in all includes, etc. for the k8. # should we have a 'noise keyword' for this, e.g. 'cputype k8'?
noise keyword?
dir /cpu/k8
^^^^^^^^^^^
can this not implicitly be generated from the below description?
# define the CPUs, their names, and their connections. cpu k8 "cpu0" register "north" = "amd8111"
^^^^^ south (iirc)
register "east" = "cpu1" end
cpu k8 "cpu1" register "north" = "amd8131"
^^^^^ south
register "west" = "cpu0" end
Stefan