L4linux IPC communication with L4re application

ba_f ba_f at rbg.informatik.tu-darmstadt.de
Tue Mar 15 17:20:28 CET 2016

Am 2016-03-10 00:36, schrieb Adam Lackorzynski:
> On Tue Mar 08, 2016 at 17:05:05 +0100, Ahmed Makkawi wrote:
>> I think the solution to the communication of an application on l4linux 
>> with
>> an application on l4re would be to implement an ipc stream in the 
>> character
>> device module in the l4linux kernel to communicate with the IPC stream 
>> on
>> l4re application.
>> the Problem now is l4linux modules are in C and the l4re application 
>> is in
>> C++, is this a good idea to start searching in it or its a dead end 
>> and
>> maybe someone would have a better idea to work on ?
> That's one way of doing it, and yes, one needs to bridge from the Linux
> driver to the L4Re world. There are several examples in L4Linux where
> Linux drivers use L4 IPC to communicate with L4Re services. Most L4Re
> services also have a C interface, exactly for the reason that they can
> be used by C code. Doing such a C variant is reasonably easy, look for
> example in pkg/l4re-core/l4re_c for how it is done. For Linux drivers,
> any under drivers/ directory with 'l4' in the file name should provide
> insights how it is used.
> Adam

Hi Adam,

i struggling on the same problem.
And i guess we'd prefer a clean C solution instead of mixing C++ in the 
Linux driver.

As mentioned in an earlier post [1] i looked at several IPC examples in 
src/l4/pkg/examples written in C.
I tried to adopt this, but failed (see earlier post).

Is it even possible to use that L4re-App IPC C-Code in a L4Linux driver?

You also mentioned L4XV_FN* wrappers.
What are they for and when to use them?

Anyway, i've looked up all l4linux/drivers with 'l4' in its name but, 
haven't found a proper example.
Can you please point a concrete example, where an L4Linux-Driver acts as 
a Client to an L4re-Server?

Thank you,


[1] http://os.inf.tu-dresden.de/pipermail/l4-hackers/2016/007767.html

More information about the l4-hackers mailing list