[coreboot] Resource allocation

Myles Watson mylesgw at gmail.com
Tue Nov 11 21:07:20 CET 2008

> -----Original Message-----
> From: ron minnich [mailto:rminnich at gmail.com]
> Sent: Tuesday, November 11, 2008 12:45 PM
> To: Myles Watson
> Cc: Coreboot
> Subject: Re: [coreboot] Resource allocation
> On Tue, Nov 11, 2008 at 11:20 AM, Myles Watson <mylesgw at gmail.com> wrote:
> > Opteron -> 8111 -> 8111lpc -> Winbond SuperIO
> >
> > The SuperIO has resources like this:
> >        PNP 2e.0: size 8 align 3 gran 3 limit 7ff flags 100 index 60
> >                - IO resource that has to be allocated below 7ff
> >        PNP 2e.5: size 1 align 0 gran 0 limit ffffffff flags 60000100
> index
> > 60
> >                - IO resource that has to be allocated below ffffffff
> >
> > Then does the 8111lpc need to have an IO subtractive resource? the 8111?
> the
> > domain?
> Well what appears to happen on more modern k8 hardware (and I am
> pretty sure this did not happen in the early days, but who knows -- we
> did the resource map on older boards so this would all work).
> The legacy chain will "just work" such that this device can be
> accessed. In other words, some set of hardware will work correctly so
> that, e.g., FLASH can be read. Since this part IIRC is also on the
> chain (?) it is accessible too.

Yes.  The flash just works.  I'm having trouble with PNP devices.
> >
> > Are either of them supposed to be positively decoded by the bridge, or
> > should we let them both live under 7ff?  What code takes care of this?
> What
> > code makes sure that these resources don't conflict?
> From memory, on the old boards, the very early resource map setup in
> v2 auto.c did this. Things were set up just enough that the basic
> legacy devices worked.

So the parallel port, floppy, etc should be enabled in stage1? Otherwise
their addresses will be set later.

> Note that config space doesn't change later --
> just some basic routing. So if the subtractive path doesn't get messed
> up, and no other resource positively decodes this, we're ok.

This seems to work fine.  The resources that need to be set up to be below
7ff don't work.

> Let's not  bring the IOINDEX_SUBTRACTIVE resources into this
> discussion -- I did that already and it got me into trouble. The
> SUBTRACTIVE name in the resource code is misleading IMHO.

I'm sorry.  I realize that I'm trying to go too many directions at once and
I can't keep it all on the top of the stack.  It's too much complexity.

Does anyone have an idea why resource allocation isn't working?  My talking
around the idea hasn't helped me yet.


More information about the coreboot mailing list