[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