Sharing I/O Memory

Wesley Miaw wesley at
Mon Jan 30 18:12:47 CET 2012


On Jan 30, 2012, at 1:13 AM, Adam Lackorzynski wrote:

> On Fri Jan 27, 2012 at 18:15:46 -0800, Wesley Miaw wrote:
>> I have an L4 process requesting access to a large chunk (512MB) of
>> physical RAM using l4sigma0_map_iomem(). I am not using l4sigma0_map_mem()
>> because Fiasco is running in a different partition of physical RAM.
>> I would like to then grant full read/write access to the same memory to a
>> second L4 process, but I'm not sure how to do that.
>> It also doesn't look like clans have anything to do with this, other than
>> the possibility of creating some shared memory for an IPC. But that's not
>> really what I want to do, I want both L4 processes to directly access the
>> memory. Is there some way to accomplish this?
> Common practice is to have a roottask which handles allocation of memory
> in the desired ways. With 'directly access' you mean that no roottask (or
> similar) can revoke access to the memory?

Hm. This is related to the TrustZone work I am doing. I have a userland boot loader, launched by moe, mapping 512MB of RAM using l4sigma0_map_iomem() and copying the Linux kernel into there. But I want various secure services to handle requests from Linux in their respective L4 userland memory spaces. However that means they will need to access memory in that 512MB of RAM to read and write information to handle the request.

I couldn't find any way to revoke access once granted via sigma0. Or for a L4 userland process to "put back" the memory it has previous requested access to.

Wesley Miaw
wesley at

More information about the l4-hackers mailing list