Interaction with L4

Peter Nguyen peter.nguyen at ...29...
Mon Jan 11 12:27:22 CET 2010


Norman,

Thanks for your help as usual. With my code, I have functionality that  
is based on the iguana trace buffer. As such, some of my functionality  
is iguana based. In particular, I am wondering how i can go about  
mapping kernel memory to user space in a way that works the same as  
the Iguana trace buffer, given you have suggested that Genode  
primitives should be used.

Thanks
-----------------------------------------------------
Peter Nguyen
Jacaranda Research Group



On 11/01/2010, at 7:02 PM, Norman Feske wrote:

> Hi Peter,
>
>> I'm trying to port some code that I originally implemented in  
>> Iguana. This
>> functionality pertains to profiling functionality. In my current  
>> setup (ie. with
>> Iguana), I added an L4 system call (OKL4) to start and stop  
>> profiling. I'm
>> wondering whether it's possible at all to use OKL4 functionality  
>> directly in
>
> yes, that is no problem. In fact, Genode's framework libraries such as
> the IPC library directly use L4 system calls. Also, our port of  
> OKLinux
> relies on using L4 system calls directly. However, all programs except
> for Genode's core do not have roottask privileges. So you are  
> restricted
> to use system calls that need no special privileges. As a general rule
> of thumb, I would suggest to perform all tasks that are related to
> resource allocation (e.g., creating threads and address spaces) and
> address-space layout management (mapping) using Genode primitives  
> only.
>
> If you want to use OKL4 system calls from your program, you might take
> some existing Genode code as reference, for example the IPC library:
>
>  base-okl4/src/base/ipc/ipc.cc
>
> There you can see that we include the OKL4 headers into a dedicated
> namespace called 'Okl4'. I suggest to stick to this scheme to avoid
> symbol-name conflicts between your code and the Genode libraries.
>
>> writing genode apps. The profiling code that I have implemented is  
>> L4 code,
>> where some of the code uses OKL4 IPC primitives and a small amount  
>> of Iguana
>> based code with regards to creating threads.
>
> It should be ok to use OKL4 directly for your L4-specific IPC  
> operations
> and your custom system-call interface. For thread creation, however,
> Genode's Thread API should be used.
>
> Regards
> Norman
>
> ------------------------------------------------------------------------------
> This SF.Net email is sponsored by the Verizon Developer Community
> Take advantage of Verizon's best-in-class app development support
> A streamlined, 14 day to market process makes app distribution fast  
> and easy
> Join now and get one step closer to millions of Verizon customers
> http://p.sf.net/sfu/verizon-dev2dev
> _______________________________________________
> Genode-main mailing list
> Genode-main at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/genode-main





More information about the users mailing list