L4 for asm-free OS'es?

William A. Gatliff bgat at billgatliff.com
Mon Apr 8 16:51:34 CEST 2002


I'm an L4 newbie.  I've booted it on my PC, I've read a lot of the
online docs, and I've looked at some of the code.  But I've been doing
embedded systems for more than ten years now, so I know a thing or two
about computers and operating systems.

I'm interested in using L4 as a foundation for a new,
yet-to-be-written Linux replacement intended primarily for use in
embedded systems.  My main motivations are for an OS that is portable,
is understandable, has low interrupt latency, and has a small memory
footprint.  I'm thinking along the same lines as L4-Linux, but my OS
would probably be written in C++ and make more use of L4 servers for
hardware i/o.

Here are my questions:

One of the L4 manuals I've read says that when an OS running under L4
starts, it should take all free memory from sigma0 and then manage the
pages itself.  To me, this means that the OS has to know how to
interact with the host CPU's MMU hardware, which is obviously
hardware-dependent and therefore undesirable in a portable OS.  It
also appears to be redundant--- sigma0 already knows how to work the
MMU.  Performance issues aside, would letting sigma0 do page mapping
and unmapping eliminate the need for an OS running under it to know
how the MMU interface works, and thereby make the OS a little more
portable?  Is this a reasonable approach?

What is the likelihood that an L4-based OS would need no assembly
language at all, other than the syscall interface?  I'm thinking along
the lines of "to port this OS to your CPU, just port L4 and then
recompile the OS sources."

I'm eyeing ARM, MIPS, SH and x86 targets--- all of which I work with
every day.  I have single-board computers representing all four
architectures in my lab here right now, and I'm doing something with
all of them almost all the time.  That's why portability is important
to me.  My customers think Linux is great because it's more portable
than the alternatives, but I think it isn't nearly portable enough.
And it scores low marks for understandability, interrupt latency and
footprint.  Oh, and debuggability---I love your "KD:" prompt!  :^)


Bill Gatliff
bgat at billgatliff.com

More information about the l4-hackers mailing list