[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