Question about memory management in L4 Fiasco O.C + L4re

Adam Lackorzynski adam at
Sat Jul 18 00:16:25 CEST 2015


On Fri Jul 17, 2015 at 10:36:35 +0200, Mahdi Aichouch wrote:
> The memory regions are exclusive. Specifying exactly which physical
> > memory an L4Linux is getting is currently not possible but I guess
> > you're using the numbers just as an example?
> Yes, I am giving these numbers as an example.
> However, is it possible to know what are the start address and the end address
> of a physical memory partition allocated to a L4Linux instance?

Yes, this is done in L4Linux as it is for example required for device
drivers. virt_to_phys will yield the proper physical memory address.
L4Linux is also printing the virt-phys pairs on bootup.
> The memory is completely mapped initially, so no page fault should
> > happen. As probably nobody will take it away again it should also stay
> > like this.
> Does this apply also to user-level programs executed on top of L4Linux.

User-level programs are paged normally. Any possible page fault
avoidance needs to be done with Linux means.

> You can put showpfexc=1 on the cmdline to see any in-kernel page fault.
> >
> There shouldn't be any (except in the outside wrapper code as I see
> > which can be changed by launching L4Linux with the eager_map flag).
> Could please give some explanation about what is the wrapper code? And
> Where to set the "eager_map flag" option?

With the wrapper code I mean the glue layer that gates between the
internal Linux system and the outside L4Re system. See arch/l4/boot.

L4.default_loader:start({ ldr_flags = L4.Ldr_flags.eager_map }, ...);

Adam                 adam at

More information about the l4-hackers mailing list