Ronald G Minnich <[EMAIL PROTECTED]> writes:
> On Mon, 26 Feb 2001 [EMAIL PROTECTED] wrote:
>
> > So the question becomes: How strongly do we believe that "if the
> > kernel can the kernel must"? How much of hardwaremain.c should be
> > moved into the kernel?
Given the reliability you gain by moving it into the mainstream kernel
I believe pretty strongly in doing it. If it comes out as a no we'll never
support in the mainstream kernel, I'll reconsider but we haven't reached
that point yet.
As for init order, that's a good question. For devices with a PCI id
it shouldn't be hard. If you can not detect the hardware with a reliable
probe we need to find a way to tell the kernel it is there.
> > At this point I'm looking for inspiration on this as I don't feel that
> > I know the right answer.
I'll take a look shortly, I have a ali chip with integrated
southbridge on the alpha that I need to handle. Right now the
question if meminit can be done in C on x86 has some big consequences
of how my alpha code will be merged in. If you can do meminit in C
there is no reason not to do superio init, for debugging.
> if moving this stuff to the kernel makes life too hard, then we need to
> find a way to do it in linuxbios without making the simple cases hard
> (i.e. most mainboards) but still make the harder cases doable (i.e.
> multiple northbridge, peer busses, multiple superios, etc. )
Right. I need to review ACPI and see what information it can give the
kernel. I'm highly inspired that making the kernel do a lot is the
right way to go now that the linux kernel can now do full PCI init in
the kernel.
The SMP issue of starting up auxillary processors makes a good
argument for having code that can reliably setup L1 & L2 caches in the
kernel. So I think we have a good chance.
Tyson. One of the ideas of policy or extra code I am kicking around,
is to chain via kexec to an addon module to linuxBIOS that will do
setup the kernel doesn't know how to do, or will implement policy.
As I'm thinking all of this we need to standardize on a block that can
sit in the flash (and describe how we use it) so we can write a
general purpose utility that will work on most any linuxBIOS system.
Now to get my l440gx up again, so I can flash start working on
memory initialization from C.
Eric