[okl4-developer] starting wirh OKL4
Abi Nourai
anourai at ok-labs.com
Thu Feb 21 17:23:11 EST 2008
On 19/02/2008, at 10:21 PM, Charles.VANWITTENBERGHE at fr.thalesgroup.com
wrote:
> Hi everybody!
>
> I'm a young french trainee, starting with OKL4 kernel. I have to
> implement
> it on a MIPS-32 core, using the Eclipse Development Environment
> provided
> with the platform. I think that I have well understood the theory and
> concepts related to microkernel and virtualization, but the practice
> is
> harder.
>
> To start, I just want to compile the smallest base of the kernel,
> just the
> functionnalities described in the "OKL4 Programming Manual". So
> here come
> my two questions :
> - In my mind, I just need to work with the librairies from the path :
> "okl4_release_1.5.2\libs\l4\include" and
> "okl4_release_1.5.2\arch\mips\libs\l4\include". Is that true ?
> - I have some problems to initialise the kernel. The manual speaks
> about the
> _l4_init function. I suppose it's an assembler function, but I can't
> find
> it.
>
> Thank you for your answers.
>
> Regards,
> Charles.
>
Hi Charles,
Welcome to the OKL4 community !
Let me begin by giving you a quick tour guide through our source base.
* Firstly (almost) all architecture-specific code can be found under
arch/ . Most platform-specific code is under platform/ .
* pistachio/ contains all the okl4 kernel code .
* libs/l4 contains C stubs that user-level programs can link against
to conveniently perform l4 system calls. It's not used by the
microkernel itself. It's used by the user-level programs that run on
top of the microkernel.
* The first user thread the okl4 microkernel launches (called the
'root task') is very important. The root server typically used with
the okl4 microkernel is iguana whose source code can be found in
iguana/server .
The good news is that v1.5.2 already supports one MIPS platform,
namely the u4600. Hence you'll find mips-specific code for the okl4
microkernel under arch/mips/pistachio . You'll find code specific to
our supported mips platform under platform/u4600/pistachio.
Hence to port OKL4 to your MIPS platform, you'll need to introduce a
new platform under platform/ and update the build-system accordingly.
Under platform/<your platform> you'll need to implement platform-
specific kernel functionality, such as interrupt routing and some
bootstrap. Updating the build-system mostly comes down to updating
tools/machine.py where you'll need to introduce your platform and
configure a bunch of things like the memory layout of the platform.
I hope that's enough to get you started. Do let us know if you get
stuck.
Regards
Abi
More information about the Developer
mailing list