[coreboot] Resource allocation
Myles Watson
mylesgw at gmail.com
Tue Nov 11 15:42:57 CET 2008
> -----Original Message-----
> From: coreboot-bounces at coreboot.org [mailto:coreboot-bounces at coreboot.org]
> On Behalf Of Marc Jones
> Sent: Monday, November 10, 2008 3:28 PM
> To: Coreboot
> Subject: Re: [coreboot] Resource allocation
>
> ----- Original Message ----
> > From: Myles Watson <mylesgw at gmail.com>
> > To: Coreboot <coreboot at coreboot.org>
> > Sent: Monday, November 10, 2008 2:53:57 PM
> > Subject: [coreboot] Resource allocation
> >
> > I need to clear up my understanding of resource allocation. Here's my
> > understanding of it:
> >
> > 1. Start at the root with 2 resources (1 for memory, 1 for IO)
> > 2. For each child of each link:
> > A. Add resources
> > B. Get common constraints
> > C. Descend links
> > D. Propagate back to root
> >
> > When you're done you should have the Root device with the superset of
> all
> > devices' resources.
> >
>
> Yes, and each bridge needs the resources grouped which is why the
> links(bridges) are desended as found.
>
> > My question is if resources ever split. In other words, lets imagine a
> > device which implements several IO ports in the 0x3fX range and larger
> > regions that must be mapped above 0x1000. Since the limit for the
> smaller
> > regions is 0x7ff and the alignment for the larger regions is 0x1000,
> they
> > both can't coexist.
> >
> > What happens?
>
> Everything
> below 0x1000 is legacy IO space and are not typically used by PCI
> devices (some devices/firmware sneek some stuff in around 0x800 for
> ACPI). As you noted there are some devices that might need to decode
> legacy regions to boot. If that is the case they will usually have a
> legacy enable bit in the header. In legacy mode the PCI BARs are
> ignored. The firmware, option ROM, and driver need to be aware of which
> mode it is in. An example is the AMD sb600 IDE controller(Device 20,
> Function 1). There is a legacy/PCI mode in the revision register ot
> offset 0x8.
Thanks Marc.
All right. So the legacy IO resources shouldn't be grouped with the others.
Should they be marked Subtractive? Are they declared to be special in a
different way?
Thanks,
Myles
More information about the coreboot
mailing list