Martin Young <my(a)siroyan.com> writes:
> Thinking it through however it's obvious that a task A can map a page P
> to task B which can then map it back to task A at a different virtual
> address. Is this allowed in L4? (I assume it is) Is it useful? Could
> I get away with not allowing it? I ask because my initial
> implementation includes a quick index from a taskid to a node in the
> mapping tree (to avoid recursion rather than for speed) but this
> requires that each task has only a single entry.
L4Linux would not work on your L4 implementation, since we need more
then one mapping for a page in the same address space to be able to
implement vmalloc() and friends. To do this we currently map one page
to a special helper task which immidiatly grants it back those
creating a new mapping for the same page in the address space of
L4Linux (we do this since for some reasons Jochen's L4 version didn't
support intra task mappings, but I forgot the reasoning behind this
design decision).
Jean
--
I get up each morning, gather my wits.
Pick up the paper, read the obits.
if I'm not there I know I'm not dead.
So I eat a good breakfast and go back to bed. Peete Seeger