Ram initialization and small c.

Eric W. Biederman ebiederman at lnxi.com
Fri Feb 14 03:41:01 CET 2003


"Ronald G. Minnich" <rminnich at lanl.gov> writes:

> On 13 Feb 2003, Eric W. Biederman wrote:
> 
> > The basic layout I am looking at, is to have some kind of list of hardware
> > in the code.  And then for each piece of hardware call an initialization
> > function.  This has the potential to replace a lot of code in the
> > current hardwaremain.c  Handling initialization order is an
> > interesting problem I have not tackled yet.
> 
> I think the superio stuff is one possible way. I've found that three
> passes covers the case for superio, and actually for southbridge. 
> 
> For the multiple northbridge case did you want to discover northbridges 
> dynamically or continue to specify it in a config file.

Auto discovery is necessary as everything may not be plugged in.
But I suspect I will also want to specify information that
is valid if the cpu/northbridge is plugged in.

> The _fixup stuff goes away with the three pass approach, I think.

I need to look closely at this issue.  We have one huge hook before
hardwaremain.  Beyond that I suspect doing something as simple
as going through the devices in a tree structured order would
remove the need for multiple passes.

> I'd like to hash this out a bit on the list the way I've hashed out other 
> approaches in the past (config tool, new superio, etc.) to see if we can't 
> scare up good ideas from other people.

We are still on the list.  And talking is good.  But to a certain
extent you don't see things until code is written and you try it.

So we need a development branch to try these things out on.  I don't
promise we will get it perfect the first try.  The goal is to get it
close enough that we won't break ports by going the last few inches.

Things like having no guaranteed order the code will be called
independent of the device tree should help.  By device tree I am
thinking of the something roughly like pci device tree.  How far
devices are from the cpu.   The goal is not perfection but a useful
approximation of reality.

Eric




More information about the coreboot mailing list