Why devices ARE or NOT on bus 0 ?
Eric W. Biederman
ebiederman at lnxi.com
Mon Apr 26 18:02:01 CEST 2004
Li-Ta Lo <ollie at lanl.gov> writes:
> On Mon, 2004-04-26 at 11:58, Eric W. Biederman wrote:
> > Li-Ta Lo <ollie at lanl.gov> writes:
> >
> > > > You might need to specify the bridges/busses in Config.lb.
> > > > I know the current code works and can handle this.
> > > >
> > > > > Does anyone can help on this ?
> > > >
> > > > Without something like a serial console trace so that the details
> > > > of what are going on are clear I don't know.
> > > >
> > >
> > > Please see that attached log. As you ca see the HyperTransport scan
> > > is not actually done in northbridge.c:amdk8_scan_chain(). It only
> > > prints the message before and after the for loop but skip the loop.
> >
> > Please reread my hunch below. It looks like I nailed it on the head.
> > The fact that the first pci_scan_bus shows devices below 0x18 is
> > confirmation of this.
> >
> > mainboard_operations needs to specify amdk8_scan_root_bus.
> >
>
>
> What exactly are you talking about ? It is amdk8_scan_root_bus
> in ibm/e325/mainboard.c.
>
> static struct device_operations mainboard_operations = {
> .read_resources = root_dev_read_resources,
> .set_resources = root_dev_set_resources,
> .enable_resources = enable_childrens_resources,
> .init = mainboard_init,
> .scan_bus = amdk8_scan_root_bus,
> .enable = 0,
> };
Hmm. So it is there.
For some reason it is not being called. A missing chip.h perhaps?
My old copy of that code does:
max = pci_scan_bus(&root->link[0], PCI_DEVFN(0x18, 0), 0xff, max);
So it starts at device 0x18 (The first cpu) and works down. That is
not happening so that code is not being called.
I don't know why/how it is failing except possibly for fragility in
the config tool. But I observe it is not.
Eric
More information about the coreboot
mailing list