mmu in bootstrap

Matthias Lange matthias.lange at
Thu Apr 16 10:14:47 CEST 2015


On 04/16/2015 04:14 AM, 水镜 wrote:
> hi,
> i want to know, whether the bootstrap in l4re(x86) will initialize the
> MMU, setup pagetable?

Yes and no. On i386 bootstrap will only move the modules to their
respective locations and then it starts the kernel. Fiasco takes care of
setting up an initial pagetable before switching paging on.

On x86_64 the picture is a little bit different as bootstrap already
switches the CPU into long mode. Switching into long mode requires
paging to be setup up and switched on. That's why bootstrap creates a
simple identity mapped pagetable which is handed over to the kernel.
Fiasco uses that pagetable intially before creating its own one.


> i am trying to debug the fiasco with gdb and qemu.
> when i attach to the qemu before system startup, i can check memory like
> 0x1100000.after the system startup, the gdb tell me can not access
> memory if i check 0x1100000 again.

Matthias Lange, matthias.lange at, +49 - 351 - 41 88 86 14

Kernkonzept GmbH.  Sitz: Dresden.  Amtsgericht Dresden, HRB 31129.
Geschäftsführer: Dr.-Ing. Michael Hohmuth

More information about the l4-hackers mailing list