Booting questions ....

Willem Jan Withagen wjw at withagen.nl
Mon Nov 8 12:27:34 PST 2004


John Baldwin wrote:

[All about getting a flat memoryspace]

>>>>Next is then which ranges are valid to test, and then things really start
>>>>to get complicated and arch dependant. Which is why I ended up in
>>>>machdep.c right after the setting up of the memory ranges.
>>>
>>>Heh, the above memory mapping is also i386 specific.  Alpha only has a
>>>small bit of memory mapped in the loader, same with sparc64, etc.
>>
>>Ehhhh, again more reasons to put this in the kernel, or something that
>>closely resembles a kernel.
> 
> 
> Well, part of the problem there is that the early kernel code is all MD 
> anyway.  I think your best bet really is to write your own mini-kernel that 
> the loader can load to do this, but it will require MD stubs for early 
> bootstrapping as well as some kind of API for mapping a page so you can test 
> it and then unmap it, which is required for x86 machines with > 4GB of RAM 
> for example.

I would start simple, and forget about PAE, since I do not have a PAE 
machine... Simple 1386, and amd64-smp is all I got. Then I'd rather look at 
other architectures, then look at PAE. If ever I get this far.

Can you give me some hints from the current modules/source-files on i386 I 
would at least need to get somewhere. Because that would be the way I'd go: 
See if I can rip enough from the regular kernel to be able to build the 
mini-kernel.

And give the way mi_startup works that would be a very nice/simple way to keep 
loading modules until there is enough to get the work done.

Did anybody write a routine that "dumps" the module list before mi_startup 
start to work on it??? Or would that be my first assignment :)

I'll start by copying my own sys-tree so work does not get overwritten by 
daily cvsup.

--WjW



More information about the freebsd-arch mailing list