[okl4-developer] list of values set at building

Nelson Tam nelson at ok-labs.com
Sun Mar 30 16:40:39 EST 2008


Hi Charles,

On 27/03/2008, at 9:03 PM, Charles.VANWITTENBERGHE at fr.thalesgroup.com  
wrote:
> I'd like to know if I could find a list of all the initializations  
> done at building of the kernel, or if someone could provide it to  
> me. By initializations, I mean the setting of values for the kip,  
> the memory descriptors, and all that stuff that should be done  
> before running the real initialisation of the kernel. I ask this  
> question because I'm trying to build OKL4 without using the scripts.


That's a very good question - one that deserves thorough investigation  
on our part.  Unfortunately this might take a few days because we are  
in a bit of a crunch this week.  Sorry about the delay.

 From the top of my head (i.e. I'm answering without examining the  
code for confirmation), the KIP is initialised implicitly within the  
architecture-specific code; memory descriptors are initialised from a  
variety of sources (machines.py, plus some allocation logic within  
build scripts), and physical memory is zeroed before kernel execution  
(performed by bootloader, but build system support is required).  This  
covers the L4 kernel only.

At the user level, OKL4 does a lot more initialisation during link- 
time, and most of this logic is contained within a tool called  
Elfweaver.  This tool works closely with the rest of the build system.

In my opinion, it will take a non-trivial amount of work to completely  
replace the build system with something else, as least if you want to  
build the user-level code.  But it is certainly possible, given that  
Elfweaver is a standalone tool that does not depend on the OKL4 build  
system.

--
(nt)

Nelson Tam







More information about the Developer mailing list