Unable to boot 64bit hello

Julian Stecklina jsteckli at os.inf.tu-dresden.de
Mon Jun 10 18:09:07 CEST 2013


On 06/09/2013 05:06 PM, Daniel Müller wrote:
> Hi,
> 
> I tried booting a 64bit hello world program on L4/Fiasco but that fails
> with a region overlap:
> 
> =============================================
> xc: info: VIRTUAL MEMORY ARRANGEMENT:
>   Loader:        0000000000100000->000000000019dd88
>   TOTAL:         0000000000000000->000000007f800000
>   ENTRY ADDRESS: 0000000000100000
> xc: info: PHYSICAL MEMORY ALLOCATION:
>   4KB PAGES: 0x0000000000000200
>   2MB PAGES: 0x00000000000003fb
>   1GB PAGES: 0x0000000000000000
> Daemon running with PID 9320 net0: 00:16:3e:72:79:e5 using rtl8139 on
> PCI00:04.0 (open)
>   [Link:up, TX:0 TXE:0 RX:0 RXE:0]
> DHCP (net0 00:16:3e:72:79:e5)... ok
> net0: 192.168.178.200/255.255.255.0 gw 192.168.178.54
> Booting from PXE menu
> boot
> PXEBS (net0 type 128).... ok
> Next server: 192.168.178.54
> Filename: pxeboot.0
> tftp://192.168.178.54/pxeboot.0... ok
> 
> L4 Bootstrapper
>   Build: #7 Sun Jun  9 16:51:46 CEST 2013, x86-64, 4.6.3
>   RAM: 0000000000000000 - 000000000009a7ff: 618kB
>   RAM: 0000000000100000 - 000000007f7b9fff: 2087656kB
>   Total RAM: 2039MB
>   New region for list regions:        [   20d000,    4c62c9] { 2b92ca}
> Root   Module
>   overlaps with:                 [   2d0080,    2e45c7] {    14548}
> Boot   bootstrap

This is problem is caused by the way bootstrap works on 64-bit systems.
If there is a module at 0x2d0000, bootstrap will overwrite that with its
own 64-bit code and then figure out later that things are b0rken.

I don't know a good workaround for this, except having a bootloader that
moves modules out of the way. You might try bender in my firewire
toolchain: https://github.com/TUD-OS/morbo

It is a multiboot 'kernel' whose purpose it is to find PCI serial
controllers, but it will also move any remaining modules to high memory
before executing them, so bootstrap will not destroy them.

Julian

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: OpenPGP digital signature
URL: <http://os.inf.tu-dresden.de/pipermail/l4-hackers/attachments/20130610/bbebd161/attachment.asc>


More information about the l4-hackers mailing list