Object-Capabilities and Physical Memory Mapping

François Goichon francois.goichon at insa-lyon.fr
Tue Oct 4 10:29:11 CEST 2011

Hello everyone,

I have some questions regarding object-capabilities and physical memory 

- First of all, my goal is to manage and develop drivers on top of 
Fiasco. The documentation mentions the existence of an I/O server that 
does not seem to be on the repository anymore. Did I miss any 
announcement or is the I/O server in development?
- As I did not find this server, I tried to code drivers from scratch 
but fail to see how I can map physical addresses in the first place. 
With other L4 kernels I would expect to find a map system call which 
would provide such a mapping to a thread with sufficient capabilities. 
In your model however, it seems that object-capabilities on such 
operations are transmitted to sigma0 only and that further mapping 
requests should go through sigma0. I actually lack any example on how to 
talk to sigma0 in the first place - what OC should I use as the first 
argument of l4sigma0_map_iomem().
- I also fail to understand the actual meaning of the environment OCs 
"map region" and "mem alloc" and the actual operations they provide, 
along with the "classic capabilities" my thread has on physical 
addresses for instance. Moreover, is there any configuration step where 
I can modify/list those "classic capabilities" passed to the thread 
spawned by moe?

Any help/clarification would be greatly appreciated,


Goichon François

PhD - Hardware Security in Operating Systems
INSA Lyon, Dpt. Telecommunications - francois.goichon at insa-lyon.fr
CITI Laboratory, INRIA - francois.goichon at inria.fr

More information about the l4-hackers mailing list