[coreboot] v3 HT

Myles Watson mylesgw at gmail.com
Mon Oct 27 22:38:57 CET 2008



> -----Original Message-----
> From: Marc Jones [mailto:Marc.Jones at amd.com]
> Sent: Monday, October 27, 2008 3:26 PM
> To: Myles Watson
> Cc: 'ron minnich'; 'Coreboot'
> Subject: Re: [coreboot] v3 HT
> 
> Myles Watson wrote:
> >
> >> -----Original Message-----
> >> From: Marc Jones [mailto:Marc.Jones at amd.com]
> >> Sent: Monday, October 27, 2008 3:10 PM
> >> To: Myles Watson
> >> Cc: 'ron minnich'; 'Coreboot'
> >> Subject: Re: [coreboot] v3 HT
> >>
> >> Myles Watson wrote:
> >>>> -----Original Message-----
> >>>> From: ron minnich [mailto:rminnich at gmail.com]
> >>>> Sent: Monday, October 27, 2008 8:57 AM
> >>>> To: Myles Watson
> >>>> Cc: Coreboot
> >>>> Subject: Re: [coreboot] v3 HT
> >>>>
> >>>> On Mon, Oct 27, 2008 at 7:48 AM, Myles Watson <mylesgw at gmail.com>
> >> wrote:
> >>>>> I don't think we need to expand the dts to fix this, we just need to
> >>>> make
> >>>>> the code match the structure.
> >>>> Do you have a rough idea of how this would look in the code? This is
> a
> >>>> good catch.
> >>> Right now the code goes through the list of children and initializes
> >> them as
> >>> bridges, without checking to see that they are.  Then it enumerates
> them
> >>> with the pci code.
> >>>
> >>> I think we'd have to find the children that are bridges and then
> >> enumerate
> >>> them with the list of children, so that we can pass parameters
> >> correctly.  I
> >>> don't think it would be too hard.
> >>>
> >>> 1. Find bridges and set them to not decode
> >>> 2. Set first bridge to decode all device numbers (HT Unit IDs)
> >>> 3. Do PCI scan on bridge with remaining non-bridge children
> >>> 4. Find next bridge
> >>> 5. Set to decode next device numbers
> >>> 6. Goto 3
> >> I think that the dts is can/should to handle arbitrary bus numbering
> >> (since a bridge can be plugged into any slot making everything change).
> >> The numbers are not so important if as long as the tree has the same
> >> connections (bridgeA has device 1, 2, 3 and bridgeB has x, y, z).
> >>
> >> I don't think that you need a bridge scan before the device scan. It
> can
> >> be done as one. The device tree just needs to note the appropriate
> >> decode (bus number) for the bridge and the devices under it. Also, If
> >> the bus is already numbered we we shouldn't change it. Just use what is
> >> set.
> >
> > So the collapse existing enumeration needs to be taken out?
> 
> I didn't know that there was a collapse. That might not be good since a
> bridge could be "hard coded" to a location. That is ok if bus numbers
> are arbitrary. It they get colapsed that would be bad. I need to go
> understand this part of the dts/scan more.

It's not part of the dts.  It's also in v2 ht_collapse_early_enumeration.

Thanks,
Myles





More information about the coreboot mailing list