static config for CPUs with K8 example
ron minnich
rminnich at lanl.gov
Thu Jul 31 11:29:01 CEST 2003
On Thu, 31 Jul 2003, Stefan Reinauer wrote:
> > 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.
OK. I also occured to me last night that we need this:
struct ht_link {
struct chip *chip;
unsigned int ht_width, ht_speed;
};
then:
southbridge amd/amd8111 "amd8111"
register "north" = "{.chip = &cpu0, .ht_width = 8, .ht_speed=200"
end
and so on. Make sense? Or not? I don't have the data book so don't know
if the 8111 has more than one link.
For the CPUs we then have
struct cpu_k8_config {
struct ht_link up, down, across;
};
> > dir /cpu/k8
> ^^^^^^^^^^^
>
> can this not implicitly be generated from the below description?
yes, and it should be, I had the same thought.
> > # define the CPUs, their names, and their connections.
cpu k8 "cpu0"
register "down" = "{.chip = &amd8111, .ht_width=8, .ht_speed=200}"
.
.
end
better?
ron
p.s. the chip-specific structure for the PCI bridge will, of course, have
a pointer to the top of the PCI tree, and that becomes our link from the
static to the dynamic devices.
More information about the coreboot
mailing list