Thursday, January 26, 2006

Porting L4 - midway through

I have been reading L4-embedded sources and recently began to port it to some ARM platform. I haven't had a chance to run my OS template yet, but I got the idea and don't need to see it running. The reason I decided to jump directly to L4 is that after the paging and scheduling of basic tasks would work, it would be it. The memory regions are poorly described and it would need changing a lot of code only for nothing. Contrarily on L4, there are address space mapping functions, and much more. If I could read and understand it all, at which I didn't have much trouble so far, I could spend my efforts in building on top of it. Anyways, so far I'm midway through the first port. It's quite trivial because it's merely a platform port. It only need general irq controller code, and a timer interrupt. I will then add a bit of irq,cpu,cache,tlb ops concepts from my template code and linux kernel, to make it clearer.

Also there's the testing. Hopefully the first image will run without any problems. There will also be the hassle of getting the debug symbols to work with the debugger. We'll see.