Is L4Linux can use its existed Linux driver to access hardware device?
matthias.lange at kernkonzept.com
Fri Sep 2 08:24:41 CEST 2016
On 08/31/2016 02:35 PM, Zhe Zhao wrote:
> After read the basic ideas of L4Linux I have some questions related to it.
> Is L4Linux run as a paravirtualization VM on L4Re? Then the traditional
> Linux Process just still compiled against Linux system and put them
> together with L4Linux disk image?
> so it means L4Re works like qemu and Linuxl?
No, L4Re does not work like qemu.
> or L4Re works as a micro kernel operating system, and L4Linux run as a
> process on it, all devices handled to L4Linux to reuse the drivers of
> L4Linux? and the previous Linux process
> compiled with Linux, but run direct on L4Re as L4 processes which
> communicate with L4Linux through IPC?
L4Linux is a modified version of the Linux kernel with the hardware
abstraction layer (HAL) implemented using L4Re primitives. Technically
L4Re appears to be "just" another hardware architecture for the Linux
kernel, just like ARM or MIPS.
L4Linux runs as a user space task on top of the L4Re microkernel and at
the (Linux) kernel ABI is unmodified which allows to run existing Linux
programs. That means, you can compile "normal" Linux programs with your
standard tool chain, put the binary onto a ramdisk or disk image and run
it with L4Linux.
> it is quite confused after read a little of the codes, in L4Linux, seems
> there is some injection of L4 task stuffs inside thread_struct of Linux,
> but also have some vCPU related stuffs,
> can you help me about what is the real behavior of L4Linux?
Each (Linux) process is actually an L4Re task with the exception and
page fault handler set to the L4Linux task. That's why some L4-specific
additions are required to Linux kernel data structures.
> I'm sorry to ask this basic questions, but after some digging I feel
> quite confused about how it works.
More information about the l4-hackers