Question about map operation

Jonathan S. Shapiro shap at
Fri Dec 5 19:49:02 CET 2003

Believe it or not, I'm converging, but I'm trying to do it respectfully,
which means asking an unreasonable number of stupid questions at high
speed. :-)

Now that I understand the shape of GPTs, I would like to understand the
*mechanism* of the map operation. In particular, I would like to
understand how the book-keeping mechanism works.

It may be that this has been written up, and that I just haven't found
it -- appearances notwithstanding, you guys collectively write faster
than I do alone :-)

Bootstrap conditions:

1. When a new, virgin, never-before-used task is created, can it have a
completely empty address space, or is an initial flexpage required as an
argument to the task-create operation?  I'm trying to learn whether a
null address space pointer is ever a conceptually valid thing for a task
to have.

Map operation:

2. Suppose a sender maps a single page to a recipient task, and the
corresponding recipient address was previously undefined. What data
structures get constructed in the recipient's GPT?

I am *guessing* that the answer is: the recipient GPT tree is expanded
by inserting GPT nodes until a slot can be contrived into which
*something* can be placed that reflects the existence of the new
mapping. I would like to know what the *something* is.  In particular,
is it a GPT whose type is 'alias'?

3. In order to support the unmap operation, some book-keeping data
structure is needed in which all of the derived mappings can be
discovered. Can someone describe for the x86 what book-keeping
structures are created at the time of the "map", and how they are used
at the time of the "unmap"?  I think this may be the MapDB that someone
mentioned earlier. I've had a hard time getting a clear understanding of

I ask about x86 only because it is the machine that is most current in
my mind. Also, please note that I am *not* trying to ask how the
hardware addressing structure gets built -- I can think of several ways
to handle that.

Thank you!


More information about the l4-hackers mailing list