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