l4-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: physmem, simple containers


From: Niels Möller
Subject: Re: physmem, simple containers
Date: 27 Jan 2004 10:43:18 +0100
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2

Marcus Brinkmann <address@hidden> writes:

> wortel maps all of physmem's memory into the physmem task at the first page
> fault that automatically arises when the first instruction is
> executed.

I tried to read that code, but I couldn't make sense of it. First, I
couldn't find anything in the L4 spec that says that you're allowed to
send several fpages in the reply to a page fault. Ah, perhaps this is
how it works: You send one fpage per page fault. But then physmem will
page fault again and again on the sama address, so that wortel gets as
many page fault request as it needs. Clever.

I think I would have understood this more quickly if the comment

    /* We want to grant all the memory for the physmem binary image
       with the first page fault, but we might have to send several
       fpages.  So we first create a list of all fpages we need, then
       we serve one after another, providing the one containing the
       fault address last.  */

mentioned that there will be several page faults for the same address.
I read it as "one page fault, multiple fpages", and then the code
seemed to do something quite different.

> > , and it seems even more necessary if wortel
> > is to make mmap-related calls to physmem.
> 
> No way!

Hmm. I thought the point of WORTEL_MSG_GET_CAP_REPLY was to return
container capabilities to wortel, which wortel could then use for mmap
(what else could you use a container for?). I must have miserably
misunderstood that part of the wortel-physmem interaction.

Regards,
/Niels




reply via email to

[Prev in Thread] Current Thread [Next in Thread]