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