Hi,
Thanks for you answers.
Does Fiasco use the scheduler that follow the priority? I mean like if there is high priority task, it will always have CPU? Does Fiasco already support tickless kernel? or it will use a fixed 1000 HZ as the tick? I'd like to run L4Linux on a Droid-xu4 or raspberry is there any easy start guide for it?
When I tried the L4Linux with ramdisk which in the L4Re snapshot, it seems the it just like running a Linux. I don't know if below understanding is correct, if not please correct me
The syscall fork "int 80" will be redirect to L4Linux from Fiasco by IPC (how Fiasco knows to redirect int 80 through IPC to L4Linux?), and fork will be executed inside L4Linux, then L4Linux will create Fiasco task? (so here we have two task proc combined to identify one linux process), and L4Linux will create vmspace for the process ? then how the memory space be handled to Fiasco?
From the above assumption, it means I can just build a rootfs with native
Linux apps, and use IO manager to pass the harddisk/emmc to L4Linux, then I can run whatever apps I like?
I'd like to start read codes related to Fiasco, L4Re, any suggestions about the start point?
Br Alex
2016-09-06 23:37 GMT+08:00 Matthias Lange matthias.lange@kernkonzept.com:
Hi,
On 09/05/2016 11:36 AM, Zhe Zhao wrote:
Hi,
Thanks for your answers, I really appreciate it.
I tried to run L4Linux and L4Re in a qemu environment, is it support SMP already? I found I only have a single core L4Linux running. and Fiasco report only one scheduler instance.
Yes, SMP is supported. Have you configured the L4Re microkernel with multiprocessing support? Did you start qemu with multiple CPUs? To enable more CPUs in L4Linux you need to pass the 'l4x_cpus=<VALUE>' parameter on the cmdline.
And is it possible to direct reuse the L4Linux's driver instead of rewrite them in L4Re? is that IO manager used to mapping all needed device physical address to L4Linux's memory space? Is that mean I can map all device direct to L4Linux through IO manager?
Yes, but there might be work involved. First you should make yourself familiar with the concepts of Io [0].
Is there any work ongoing to support ARM64 on L4Re and L4Linux? It will be quite interesting consider most of the ARM device are moving to be 64 bit arch.
We are looking at it but there is nothing to announce publicly right now
Do you have some recommend documents for the newbie like me to get a quick start up?
The L4Re documentation [1].
Matthias.
[0] http://l4re.org/doc/io.html [1] http://l4re.org/doc/
Br Alex
2016-09-02 14:24 GMT+08:00 Matthias Lange <matthias.lange@kernkonzept.com <mailto:matthias.lange@kernkonzept.com
:
Hi, On 08/31/2016 02:35 PM, Zhe Zhao wrote: > Hi, > > After read the basic ideas of L4Linux I have some questionsrelated to it.
> > Is L4Linux run as a paravirtualization VM on L4Re? Then thetraditional
> 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 runas a
> process on it, all devices handled to L4Linux to reuse the driversof
> 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 andat
the (Linux) kernel ABI is unmodified which allows to run existingLinux
programs. That means, you can compile "normal" Linux programs withyour
standard tool chain, put the binary onto a ramdisk or disk image andrun
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 ofLinux,
> 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 someL4-specific
additions are required to Linux kernel data structures. Matthias. > I'm sorry to ask this basic questions, but after some digging Ifeel
> quite confused about how it works. > > Thanks > Br > Alex