jeremy.odonoghue at gmail.com
Wed May 24 13:56:56 CEST 2006
Luke A. Guest <laguest <at> archangeli.demon.co.uk> writes:
> I've just started to look at L4 and I'm using L4ka::Pistachio as a
> starting point. I'm trying to read as much as possible and have found a
> reference to sigma1, but no docs on it. Can anyone elaborate on what
> this is for?
AFAIK, sigma1 disappeared a long time back - I've been working with Pistachio
for about 18 months now, and have never seen it!
Given the name, I suspect that it probably formed part of a previous
implementation of platform memory management. On more recent Pistachio kernels,
a privileged thread, sigma0 'owns', all platform memory on startup. Thread
pagers (root task, by default) obtain memory by requesting it from sigma0.
Sigma0 has disappeared from the latest Pistachio kernels as well, so even the
information above is version dependent.
Learning about L4 in general can be frustrating as, being in significant part, a
research vehicle, much of the background documentation is in conference papers
and thesis extracts, and dates quickly (L4::Pistachio is evolving very rapidly).
The background material is still useful, but you need to be aware that it's not
always relevant to the latest releases.
The source code is your friend here (although the user manual and refman are
reasonably up to date). Most of the code is well written and structured (if
sparsely commented), although it requires very good C++ and CPU platform
knowledge to follow in detail.
You don't mention whether you have done so or not, but you would be well advised
to start off with the Iguana release. Iguana presents a much more friendly API
on L4, and is also a very useful source of programming techniques.
More information about the l4-hackers