Thanks for the feedback, all.

It's an good point about having (or, rather, disseminating) consistent
knowledge in the face of concurrent updates. Seems like a compelling
argument for not exposing the translate API.

On Sun, Dec 13, 2015 at 7:48 PM, Matthew Fernandez <
matthew.fernan...@nicta.com.au> wrote:

> To give some additional context to Kevin's comments, the CAmkES component
> platform already
> implements the kind of mapping cache Kevin describes for reversing the
> mappings of its DMA pool [0],
> though the template code may be slightly difficult to decipher.
>
>   [0]:
> https://github.com/seL4/camkes-tool/blob/master/camkes/templates/component.template.c#L73-L103
>
> On 14/12/15 09:54, Gerwin Klein wrote:
>
>> Purely from the proof side, I don’t think it would violate any of the
>> current high-level properties
>> (integrity, inflow, availability, functional correctness). If implemented
>> correctly, of course.
>>
>> Cheers,
>> Gerwin
>>
>>
>> On 13 Dec 2015, at 20:54, Kevin Elphinstone <
>>> kevin.elphinst...@nicta.com.au
>>> <mailto:kevin.elphinst...@nicta.com.au>> wrote:
>>>
>>> The original design of the kernel was that whatever user-level service
>>> established the mappings
>>> (e.g. the root task) could provide the translation info to whomever
>>> needs it. Depending on the
>>> design of the system built on seL4, it could be as simple as base limit
>>> info in the case of static
>>> systems, in an ideal case. A mapping table in the case of fragmented
>>> allocation.
>>>
>>> Obtaining the mapping info via system calls has the disadvantage of
>>> kernel entry and exit
>>> (overhead), though you could populate a mapping table with each call.
>>>
>>> Also note that system calls are not necessarily accurate either in the
>>> case of dynamic systems,
>>> unless the mappee has some kind of contract with the mapper to not
>>> change the mapping, e.g. a
>>> pinning API or similar. If you have a pinning API, you can get the
>>> current translation info with
>>> the pin RPC.
>>>
>>> The current frame translate method was a originally a work around an
>>> immature user-level that has
>>> made it “out in the wild”, so to speak.
>>>
>>> We have not thought hard about security implications of translate on a
>>> page directory, as AFAIK,
>>> we had no motivation for an additional translate on top of an existing
>>> translate, on top of what
>>> could be done at user-level with some book keeping (and complexity).
>>>
>>> -Kevin
>>>
>>> *From:*Devel [mailto:devel-bounces@sel4.systems]*On Behalf Of*Ben Karel
>>> *Sent:*Sunday, 13 December 2015 5:23 PM
>>> *To:*devel@sel4.systems <mailto:devel@sel4.systems>
>>> *Subject:*[seL4] VSpace translation?
>>>
>>> Would any of seL4's guarantees be compromised if a Translate method were
>>> added to page directory
>>> objects (for mapping a virtual address to the underlying physical
>>> address, without exposing the
>>> intermediate page capabilities)?
>>>
>>>
>>> ----------------------------------------------------------------------------------------------------
>>>
>>> The information in this e-mail may be confidential and subject to legal
>>> professional privilege
>>> and/or copyright. National ICT Australia Limited accepts no liability
>>> for any damage caused by
>>> this email or its attachments.
>>> _______________________________________________
>>> Devel mailing list
>>> Devel@sel4.systems <mailto:Devel@sel4.systems>
>>> https://sel4.systems/lists/listinfo/devel
>>>
>>
>>
>>
>> _______________________________________________
>> Devel mailing list
>> Devel@sel4.systems
>> https://sel4.systems/lists/listinfo/devel
>>
>>
> ________________________________
>
> The information in this e-mail may be confidential and subject to legal
> professional privilege and/or copyright. National ICT Australia Limited
> accepts no liability for any damage caused by this email or its attachments.
>
> _______________________________________________
> Devel mailing list
> Devel@sel4.systems
> https://sel4.systems/lists/listinfo/devel
>
_______________________________________________
Devel mailing list
Devel@sel4.systems
https://sel4.systems/lists/listinfo/devel

Reply via email to