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@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main