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;
};
Thenin cpu/k8/Config.lb, add this line:
config chip.h
Note this file could be called anything, but chip.h is a habit for me.
In the mainboard config (mainboard/arima/hdama/Config.lb), you set things
up as follows:
southbridge amd/amd8111 "amd8111"
end
southbridge amd/amd8131 "amd8131"
end
# pull in all includes, etc. for the k8.
# should we have a 'noise keyword' for this, e.g. 'cputype k8'?
dir /cpu/k8
# define the CPUs, their names, and their connections.
cpu k8 "cpu0"
register "north" = "amd8111"
register "east" = "cpu1"
end
cpu k8 "cpu1"
register "north" = "amd8131"
register "west" = "cpu0"
end
This will result in initialized structures, per-cpu, that "do the right
thing".
I've hit a bug I have to ask Greg about, but this is a rough idea.
Comments?
ron