Hello l4-hackers,
I am currently working on porting the Fiasco.OC micro kernel onto the Raspberry pi 2.
Therefore, I am struggling with memory mapping, and I encounter the following error when launching the default 'hello' entry:
L4 Bootstrapper Build: #2 Tue Feb 23 11:57:19 CET 2016, 4.8.3 20140303 (prerelease) Scanning up to 1024 MB RAM, starting at offset 32MB Memory size is 1024MB (00000000 - 3fffffff) RAM: 0000000000000000 - 000000003fffffff: 1048576kB Total RAM: 1024MB Scanning fiasco Scanning sigma0 Scanning moe Moving up to 5 modules behind 1100000 moving module 02 { 10db000-110c4d7 } -> { 11cc000-11fd4d7 } [201944] moving module 01 { 10c9000-10da373 } -> { 11ba000-11cb373 } [70516] moving module 00 { 1043000-10c889f } -> { 1134000-11b989f } [546976] moving module 04 { 1029000-10425af } -> { 111a000-11335af } [103856] moving module 03 { 100f000-102849b } -> { 1100000-111949b } [103580] Loading fiasco Loading sigma0 Loading moe find kernel info page... found kernel info page at 0x2000 Regions of list 'regions' [ 1000, 1aff] { b00} Kern fiasco [ 2000, 92fff] { 91000} Kern fiasco [ 93000, 930eb] { ec} Root mbi_rt [ c0000, c9c33] { 9c34} Sigma0 sigma0 [ d0000, d6177] { 6178} Sigma0 sigma0 [ 140000, 16905b] { 2905c} Root moe [ 170000, 17b58b] { b58c} Root moe [ 1000000, 100e4ff] { e500} Boot bootstrap [ 1100000, 1133fff] { 34000} Root Module API Version: (87) experimental Sigma0 config ip:000c0100 sp:00000000 Roottask config ip:00140250 sp:00000000 Starting kernel fiasco at 000012b8 Non-HYP kernel detected but running in HYP mode, switching back. Hello from Startup::stage2
Assertion failed at /home/adebut/Documents/snapshotTest/l4re-snapshot-2015123115/src/kernel/fiasco/src/kern/buddy_alloc.cpp:101: (unsigned long)block >= _base
Press any key to reboot.
I am currently working on the latest snapshot (2015123115), with U-Boot as a bootloader, and testing on a real board (Raspberry Pi 2 model B V1.1). The entry built is the standard 'hello', and I use the ramdisk-arm.rd given in the snapshot.
I did add a custom Bsp for the board, mainly based on the first Raspberry Pi except for the Base Address, that is 0x3F000000 instead of the first Pi's 0x20000000.
I highly think that it is an address configuration problem, because it first happened when I did expand the RAM size to 1024MB. With further investigation, I found out that it was the kernel memory allocation that causes this error, and suspect an incorrect MMU mapping. This suspicion comes from the fact that the assertion takes the address _base (0xf0400000) and the currently allocated block (0xee100000).
I did not modify any parameter in the kern/arm/mem_layout-arm.cpp file on the Fiasco directory, which provides the default ARM addressing. Maybe that's where my error comes from ? How can I correctly configure my memory mapping, besides what I already configure in the Bsp (given in attachment) ?
Also, it is the first time that I am assigned for porting a system, do you have some hints, like important steps to follow ?
I am pretty sure it is a newbie error, but I cannot figure it out for now :(
Thanks in advance for your time,
Hi,
On Wed Feb 24, 2016 at 15:59:44 +0100, Antoine DEBUT wrote:
I am currently working on porting the Fiasco.OC micro kernel onto the Raspberry pi 2.
Therefore, I am struggling with memory mapping, and I encounter the following error when launching the default 'hello' entry:
L4 Bootstrapper Build: #2 Tue Feb 23 11:57:19 CET 2016, 4.8.3 20140303 (prerelease) Scanning up to 1024 MB RAM, starting at offset 32MB Memory size is 1024MB (00000000 - 3fffffff) RAM: 0000000000000000 - 000000003fffffff: 1048576kB Total RAM: 1024MB Scanning fiasco Scanning sigma0 Scanning moe Moving up to 5 modules behind 1100000 moving module 02 { 10db000-110c4d7 } -> { 11cc000-11fd4d7 } [201944] moving module 01 { 10c9000-10da373 } -> { 11ba000-11cb373 } [70516] moving module 00 { 1043000-10c889f } -> { 1134000-11b989f } [546976] moving module 04 { 1029000-10425af } -> { 111a000-11335af } [103856] moving module 03 { 100f000-102849b } -> { 1100000-111949b } [103580] Loading fiasco Loading sigma0 Loading moe find kernel info page... found kernel info page at 0x2000 Regions of list 'regions' [ 1000, 1aff] { b00} Kern fiasco [ 2000, 92fff] { 91000} Kern fiasco [ 93000, 930eb] { ec} Root mbi_rt [ c0000, c9c33] { 9c34} Sigma0 sigma0 [ d0000, d6177] { 6178} Sigma0 sigma0 [ 140000, 16905b] { 2905c} Root moe [ 170000, 17b58b] { b58c} Root moe [ 1000000, 100e4ff] { e500} Boot bootstrap [ 1100000, 1133fff] { 34000} Root Module API Version: (87) experimental Sigma0 config ip:000c0100 sp:00000000 Roottask config ip:00140250 sp:00000000 Starting kernel fiasco at 000012b8 Non-HYP kernel detected but running in HYP mode, switching back. Hello from Startup::stage2
Assertion failed at /home/adebut/Documents/snapshotTest/l4re-snapshot-2015123115/src/kernel/fiasco/src/kern/buddy_alloc.cpp:101: (unsigned long)block >= _base
Press any key to reboot.
That typically happens when something with the memory config is not ok.
I am currently working on the latest snapshot (2015123115), with U-Boot as a bootloader, and testing on a real board (Raspberry Pi 2 model B V1.1). The entry built is the standard 'hello', and I use the ramdisk-arm.rd given in the snapshot.
I did add a custom Bsp for the board, mainly based on the first Raspberry Pi except for the Base Address, that is 0x3F000000 instead of the first Pi's 0x20000000.
If memory shall go from 0-0x3fffffff, then 0x3F000000 overlaps with that. Better give a bit less than 1024M, that could help.
I highly think that it is an address configuration problem, because it first happened when I did expand the RAM size to 1024MB. With further investigation, I found out that it was the kernel memory allocation that causes this error, and suspect an incorrect MMU mapping. This suspicion comes from the fact that the assertion takes the address _base (0xf0400000) and the currently allocated block (0xee100000).
I did not modify any parameter in the kern/arm/mem_layout-arm.cpp file on the Fiasco directory, which provides the default ARM addressing. Maybe that's where my error comes from ? How can I correctly configure my memory mapping, besides what I already configure in the Bsp (given in attachment) ?
For a BSP, there's no change required in mem_layout-arm.cpp. It's most likely the overlap described above.
Adam
On Mon, 29 Feb 2016 00:47:11 +0100 Adam Lackorzynski adam@os.inf.tu-dresden.de wrote:
Hello Adam,
If memory shall go from 0-0x3fffffff, then 0x3F000000 overlaps with that. Better give a bit less than 1024M, that could help.
Yes, that was the point I was missing, and it was actually the error. The correct RAM size is indeed 940MB instead of 1024MB, so there is no more overlapping.
Thank you for your answer !
Best regards,
On Mon, 29 Feb 2016 10:59:40 +0100 Antoine DEBUT adebut@pactenovation.fr wrote:
The correct RAM size is indeed 940MB instead of 1024MB
Oops typo ! 960MB is the correct size.
Best regards,
Hello Antoine, hello l4-hackers,
I'm currently trying to replicate the port to RPi2 for Fiasco/Genode, which works great, until I get stuck in the boot process:
L4 Bootstrapper Build: #7 Di 21. Nov 15:19:58 CET 2017, 5.4.0 Scanning up to 960 MB RAM, starting at offset 32MB Memory size is 960MB (00000000 - 3bffffff) RAM: 0000000000000000 - 000000003bffffff: 983040kB Total RAM: 960MB Scanning fiasco Scanning sigma0 Scanning moe Moving up to 5 modules behind 1100000 moving module 02 { 10ed000-111e4a3 } -> { 11de000-120f4a3 } [201892] moving module 01 { 10db000-10ec337 } -> { 11cc000-11dd337 } [70456] moving module 00 { 1053000-10da0e7 } -> { 1144000-11cb0e7 } [553192] moving module 04 { 1031000-105257b } -> { 1122000-114357b } [136572] moving module 03 { 100f000-1030467 } -> { 1100000-1121467 } [136296] Loading fiasco Loading sigma0 Loading moe find kernel info page... found kernel info page (via ELF) at 2000 Regions of list 'regions' [ 1000, 1a3f] { a40} Kern fiasco [ 2000, 96fff] { 95000} Kern fiasco [ 97000, 970eb] { ec} Root mbi_rt [ e0000, ea9e7] { a9e8} Sigma0 sigma0 [ f0000, f517b] { 517c} Sigma0 sigma0 [ 140000, 17c4eb] { 3c4ec} Root moe [ 1000000, 100e523] { e524} Boot bootstrap [ 1100000, 1143fff] { 44000} Root Module found kernel options (via ELF) at 3000 Sigma0 config ip:000e0100 sp:00000000 Roottask config ip:00140254 sp:00000000 Starting kernel fiasco at 00001200 Non-HYP kernel detected but running in HYP mode, switching back
Sometimes (non-reproducible) additionally I get:
[...] Hello from Startup::stage2
Which means stage2 comes up but hangs afterwards. And even sometimes I am able to completely boot the device:
[...] FPU: Initialize FPU0: Subarch: 2, Part: 30, Rev: 5, Var: 7, Impl: 41 ARM generic timer: freq=19200000 interval=19200 cnt=36679846728534094 SERIAL ESC: allocated IRQ 57 for serial uart Not using serial hack in slow timer handler. Welcome to L4/Fiasco.OC! L4/Fiasco.OC microkernel on arm Rev: r75 compiled with gcc 5.4.0 for Broadcom 2836 [] Build: #2 Tue Nov 21 15:17:05 CET 2017
Calibrating timer loop... done. MDB: use page size: 20 MDB: use page size: 12 SIGMA0: Hello! KIP @ 2000 allocated 4KB for maintenance structures SIGMA0: Dump of all resource maps RAM:------------------------ [0:0;fff] [4:97000;97fff] [0:98000;dffff] [0:eb000;effff] [0:f6000;13ffff] [4:140000;17cfff] [0:17d000;10fffff] [4:1100000;1143fff] [0:1144000;3affffff] IOMEM:---------------------- [0:3c000000;ffffffff] MOE: Hello world MOE: found 965472 KByte free memory MOE: found RAM from 97000 to 3b000000 MOE: allocated 943 KByte for the page array @0x17d000 MOE: virtual user address space [0-bfffffff] MOE: rom name space cap -> [C:103000] MOE: rwfs name space cap -> [C:105000] BOOTFS: [1100000-1121468] [C:107000] l4re BOOTFS: [1122000-114357c] [C:109000] hello MOE: cmdline: moe --init=rom/hello MOE: Starting: rom/hello MOE: loading 'rom/hello' Hello World!
As one can see I tried to replicate this for vanilla Fiasco/L4Re (r75), just to make sure. The same happens of course with Fiasco/Genode where I'm also only sometimes (non-reproducible) able to completely boot the device.
I also saw the `globalconfig.out` from the thread 'Booting L4Linux on Raspberry Pi 2'. When using the same configuration, where you (Antoine) were able to successfully boot the RPi2 I'm stuck with the same problem.
On the bright side, booting Fiasco/L4Re in Qemu (vers. 2.10.1) seems to always work when using the following command to start it up:
qemu-system-arm -M raspi2 -kernel /home/alex/Projects/foc_upstream/l4/build_rpi2/images/bootstrap.elf -nographic
If one could give me some insight on why this happens and/or how to resolve this, I'd really appreciate it.
Regards, Alexander
PS: Using r67, when bcm2836 wasn't introduced to Fiasco, I'm stuck with same problem.
On 29.02.2016 11:21, Antoine DEBUT wrote:
On Mon, 29 Feb 2016 10:59:40 +0100 Antoine DEBUT adebut@pactenovation.fr wrote:
The correct RAM size is indeed 940MB instead of 1024MB
Oops typo ! 960MB is the correct size.
Best regards,
Hi,
On Tue Nov 21, 2017 at 16:19:52 +0100, Alexander Weidinger wrote:
Hello Antoine, hello l4-hackers,
I'm currently trying to replicate the port to RPi2 for Fiasco/Genode, which works great, until I get stuck in the boot process:
L4 Bootstrapper Build: #7 Di 21. Nov 15:19:58 CET 2017, 5.4.0 Scanning up to 960 MB RAM, starting at offset 32MB Memory size is 960MB (00000000 - 3bffffff) RAM: 0000000000000000 - 000000003bffffff: 983040kB Total RAM: 960MB Scanning fiasco Scanning sigma0 Scanning moe Moving up to 5 modules behind 1100000 moving module 02 { 10ed000-111e4a3 } -> { 11de000-120f4a3 } [201892] moving module 01 { 10db000-10ec337 } -> { 11cc000-11dd337 } [70456] moving module 00 { 1053000-10da0e7 } -> { 1144000-11cb0e7 } [553192] moving module 04 { 1031000-105257b } -> { 1122000-114357b } [136572] moving module 03 { 100f000-1030467 } -> { 1100000-1121467 } [136296] Loading fiasco Loading sigma0 Loading moe find kernel info page... found kernel info page (via ELF) at 2000 Regions of list 'regions' [ 1000, 1a3f] { a40} Kern fiasco [ 2000, 96fff] { 95000} Kern fiasco [ 97000, 970eb] { ec} Root mbi_rt [ e0000, ea9e7] { a9e8} Sigma0 sigma0 [ f0000, f517b] { 517c} Sigma0 sigma0 [ 140000, 17c4eb] { 3c4ec} Root moe [ 1000000, 100e523] { e524} Boot bootstrap [ 1100000, 1143fff] { 44000} Root Module found kernel options (via ELF) at 3000 Sigma0 config ip:000e0100 sp:00000000 Roottask config ip:00140254 sp:00000000 Starting kernel fiasco at 00001200 Non-HYP kernel detected but running in HYP mode, switching back
Sometimes (non-reproducible) additionally I get:
[...] Hello from Startup::stage2
Which means stage2 comes up but hangs afterwards. And even sometimes I am able to completely boot the device:
Seems some initialization thing to me in your case. "Unfortunately" works fine for me so far. Are you using u-boot or are you booting differently?
Adam
[...] FPU: Initialize FPU0: Subarch: 2, Part: 30, Rev: 5, Var: 7, Impl: 41 ARM generic timer: freq=19200000 interval=19200 cnt=36679846728534094 SERIAL ESC: allocated IRQ 57 for serial uart Not using serial hack in slow timer handler. Welcome to L4/Fiasco.OC! L4/Fiasco.OC microkernel on arm Rev: r75 compiled with gcc 5.4.0 for Broadcom 2836 [] Build: #2 Tue Nov 21 15:17:05 CET 2017
Calibrating timer loop... done. MDB: use page size: 20 MDB: use page size: 12 SIGMA0: Hello! KIP @ 2000 allocated 4KB for maintenance structures SIGMA0: Dump of all resource maps RAM:------------------------ [0:0;fff] [4:97000;97fff] [0:98000;dffff] [0:eb000;effff] [0:f6000;13ffff] [4:140000;17cfff] [0:17d000;10fffff] [4:1100000;1143fff] [0:1144000;3affffff] IOMEM:---------------------- [0:3c000000;ffffffff] MOE: Hello world MOE: found 965472 KByte free memory MOE: found RAM from 97000 to 3b000000 MOE: allocated 943 KByte for the page array @0x17d000 MOE: virtual user address space [0-bfffffff] MOE: rom name space cap -> [C:103000] MOE: rwfs name space cap -> [C:105000] BOOTFS: [1100000-1121468] [C:107000] l4re BOOTFS: [1122000-114357c] [C:109000] hello MOE: cmdline: moe --init=rom/hello MOE: Starting: rom/hello MOE: loading 'rom/hello' Hello World!
As one can see I tried to replicate this for vanilla Fiasco/L4Re (r75), just to make sure. The same happens of course with Fiasco/Genode where I'm also only sometimes (non-reproducible) able to completely boot the device.
I also saw the `globalconfig.out` from the thread 'Booting L4Linux on Raspberry Pi 2'. When using the same configuration, where you (Antoine) were able to successfully boot the RPi2 I'm stuck with the same problem.
On the bright side, booting Fiasco/L4Re in Qemu (vers. 2.10.1) seems to always work when using the following command to start it up:
qemu-system-arm -M raspi2 -kernel /home/alex/Projects/foc_upstream/l4/build_rpi2/images/bootstrap.elf -nographic
If one could give me some insight on why this happens and/or how to resolve this, I'd really appreciate it.
Regards, Alexander
Hi Adam,
I'm using U-Boot in the version v2017.09 by denx to boot the device. The binary blobs `bootcode.bin` and `start.elf` are from [0]. Additionally the `config.txt` in use is as follows:
kernel=u-boot.bin enable_uart=1 init_uart_baud=115200 init_uart_clock=3000000
I'm directly using the *.elf file(s) and copy them to `loadaddr`, which should be 0x00200000.
Regards, Alexander
[0] https://github.com/raspberrypi/firmware/tree/1.20170811/boot
On 24.11.2017 01:10, Adam Lackorzynski wrote:
Hi,
On Tue Nov 21, 2017 at 16:19:52 +0100, Alexander Weidinger wrote:
Hello Antoine, hello l4-hackers,
I'm currently trying to replicate the port to RPi2 for Fiasco/Genode, which works great, until I get stuck in the boot process:
L4 Bootstrapper Build: #7 Di 21. Nov 15:19:58 CET 2017, 5.4.0 Scanning up to 960 MB RAM, starting at offset 32MB Memory size is 960MB (00000000 - 3bffffff) RAM: 0000000000000000 - 000000003bffffff: 983040kB Total RAM: 960MB Scanning fiasco Scanning sigma0 Scanning moe Moving up to 5 modules behind 1100000 moving module 02 { 10ed000-111e4a3 } -> { 11de000-120f4a3 } [201892] moving module 01 { 10db000-10ec337 } -> { 11cc000-11dd337 } [70456] moving module 00 { 1053000-10da0e7 } -> { 1144000-11cb0e7 } [553192] moving module 04 { 1031000-105257b } -> { 1122000-114357b } [136572] moving module 03 { 100f000-1030467 } -> { 1100000-1121467 } [136296] Loading fiasco Loading sigma0 Loading moe find kernel info page... found kernel info page (via ELF) at 2000 Regions of list 'regions' [ 1000, 1a3f] { a40} Kern fiasco [ 2000, 96fff] { 95000} Kern fiasco [ 97000, 970eb] { ec} Root mbi_rt [ e0000, ea9e7] { a9e8} Sigma0 sigma0 [ f0000, f517b] { 517c} Sigma0 sigma0 [ 140000, 17c4eb] { 3c4ec} Root moe [ 1000000, 100e523] { e524} Boot bootstrap [ 1100000, 1143fff] { 44000} Root Module found kernel options (via ELF) at 3000 Sigma0 config ip:000e0100 sp:00000000 Roottask config ip:00140254 sp:00000000 Starting kernel fiasco at 00001200 Non-HYP kernel detected but running in HYP mode, switching back
Sometimes (non-reproducible) additionally I get:
[...] Hello from Startup::stage2
Which means stage2 comes up but hangs afterwards. And even sometimes I am able to completely boot the device:
Seems some initialization thing to me in your case. "Unfortunately" works fine for me so far. Are you using u-boot or are you booting differently?
Adam
[...] FPU: Initialize FPU0: Subarch: 2, Part: 30, Rev: 5, Var: 7, Impl: 41 ARM generic timer: freq=19200000 interval=19200 cnt=36679846728534094 SERIAL ESC: allocated IRQ 57 for serial uart Not using serial hack in slow timer handler. Welcome to L4/Fiasco.OC! L4/Fiasco.OC microkernel on arm Rev: r75 compiled with gcc 5.4.0 for Broadcom 2836 [] Build: #2 Tue Nov 21 15:17:05 CET 2017
Calibrating timer loop... done. MDB: use page size: 20 MDB: use page size: 12 SIGMA0: Hello! KIP @ 2000 allocated 4KB for maintenance structures SIGMA0: Dump of all resource maps RAM:------------------------ [0:0;fff] [4:97000;97fff] [0:98000;dffff] [0:eb000;effff] [0:f6000;13ffff] [4:140000;17cfff] [0:17d000;10fffff] [4:1100000;1143fff] [0:1144000;3affffff] IOMEM:---------------------- [0:3c000000;ffffffff] MOE: Hello world MOE: found 965472 KByte free memory MOE: found RAM from 97000 to 3b000000 MOE: allocated 943 KByte for the page array @0x17d000 MOE: virtual user address space [0-bfffffff] MOE: rom name space cap -> [C:103000] MOE: rwfs name space cap -> [C:105000] BOOTFS: [1100000-1121468] [C:107000] l4re BOOTFS: [1122000-114357c] [C:109000] hello MOE: cmdline: moe --init=rom/hello MOE: Starting: rom/hello MOE: loading 'rom/hello' Hello World!
As one can see I tried to replicate this for vanilla Fiasco/L4Re (r75), just to make sure. The same happens of course with Fiasco/Genode where I'm also only sometimes (non-reproducible) able to completely boot the device.
I also saw the `globalconfig.out` from the thread 'Booting L4Linux on Raspberry Pi 2'. When using the same configuration, where you (Antoine) were able to successfully boot the RPi2 I'm stuck with the same problem.
On the bright side, booting Fiasco/L4Re in Qemu (vers. 2.10.1) seems to always work when using the following command to start it up:
qemu-system-arm -M raspi2 -kernel /home/alex/Projects/foc_upstream/l4/build_rpi2/images/bootstrap.elf -nographic
If one could give me some insight on why this happens and/or how to resolve this, I'd really appreciate it.
Regards, Alexander
l4-hackers mailing list l4-hackers@os.inf.tu-dresden.de http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers
Hi,
On Fri Nov 24, 2017 at 10:30:31 +0100, Alexander Weidinger wrote:
I'm using U-Boot in the version v2017.09 by denx to boot the device. The binary blobs `bootcode.bin` and `start.elf` are from [0]. Additionally the `config.txt` in use is as follows:
kernel=u-boot.bin enable_uart=1 init_uart_baud=115200 init_uart_clock=3000000
I'm directly using the *.elf file(s) and copy them to `loadaddr`, which should be 0x00200000.
Thanks for all the info. I can only try to reproduce this to eventually understand what the problem is.
Thanks, Adam
[0] https://github.com/raspberrypi/firmware/tree/1.20170811/boot
On 24.11.2017 01:10, Adam Lackorzynski wrote:
Hi,
On Tue Nov 21, 2017 at 16:19:52 +0100, Alexander Weidinger wrote:
Hello Antoine, hello l4-hackers,
I'm currently trying to replicate the port to RPi2 for Fiasco/Genode, which works great, until I get stuck in the boot process:
L4 Bootstrapper Build: #7 Di 21. Nov 15:19:58 CET 2017, 5.4.0 Scanning up to 960 MB RAM, starting at offset 32MB Memory size is 960MB (00000000 - 3bffffff) RAM: 0000000000000000 - 000000003bffffff: 983040kB Total RAM: 960MB Scanning fiasco Scanning sigma0 Scanning moe Moving up to 5 modules behind 1100000 moving module 02 { 10ed000-111e4a3 } -> { 11de000-120f4a3 } [201892] moving module 01 { 10db000-10ec337 } -> { 11cc000-11dd337 } [70456] moving module 00 { 1053000-10da0e7 } -> { 1144000-11cb0e7 } [553192] moving module 04 { 1031000-105257b } -> { 1122000-114357b } [136572] moving module 03 { 100f000-1030467 } -> { 1100000-1121467 } [136296] Loading fiasco Loading sigma0 Loading moe find kernel info page... found kernel info page (via ELF) at 2000 Regions of list 'regions' [ 1000, 1a3f] { a40} Kern fiasco [ 2000, 96fff] { 95000} Kern fiasco [ 97000, 970eb] { ec} Root mbi_rt [ e0000, ea9e7] { a9e8} Sigma0 sigma0 [ f0000, f517b] { 517c} Sigma0 sigma0 [ 140000, 17c4eb] { 3c4ec} Root moe [ 1000000, 100e523] { e524} Boot bootstrap [ 1100000, 1143fff] { 44000} Root Module found kernel options (via ELF) at 3000 Sigma0 config ip:000e0100 sp:00000000 Roottask config ip:00140254 sp:00000000 Starting kernel fiasco at 00001200 Non-HYP kernel detected but running in HYP mode, switching back
Sometimes (non-reproducible) additionally I get:
[...] Hello from Startup::stage2
Which means stage2 comes up but hangs afterwards. And even sometimes I am able to completely boot the device:
Seems some initialization thing to me in your case. "Unfortunately" works fine for me so far. Are you using u-boot or are you booting differently?
Adam
[...] FPU: Initialize FPU0: Subarch: 2, Part: 30, Rev: 5, Var: 7, Impl: 41 ARM generic timer: freq=19200000 interval=19200 cnt=36679846728534094 SERIAL ESC: allocated IRQ 57 for serial uart Not using serial hack in slow timer handler. Welcome to L4/Fiasco.OC! L4/Fiasco.OC microkernel on arm Rev: r75 compiled with gcc 5.4.0 for Broadcom 2836 [] Build: #2 Tue Nov 21 15:17:05 CET 2017
Calibrating timer loop... done. MDB: use page size: 20 MDB: use page size: 12 SIGMA0: Hello! KIP @ 2000 allocated 4KB for maintenance structures SIGMA0: Dump of all resource maps RAM:------------------------ [0:0;fff] [4:97000;97fff] [0:98000;dffff] [0:eb000;effff] [0:f6000;13ffff] [4:140000;17cfff] [0:17d000;10fffff] [4:1100000;1143fff] [0:1144000;3affffff] IOMEM:---------------------- [0:3c000000;ffffffff] MOE: Hello world MOE: found 965472 KByte free memory MOE: found RAM from 97000 to 3b000000 MOE: allocated 943 KByte for the page array @0x17d000 MOE: virtual user address space [0-bfffffff] MOE: rom name space cap -> [C:103000] MOE: rwfs name space cap -> [C:105000] BOOTFS: [1100000-1121468] [C:107000] l4re BOOTFS: [1122000-114357c] [C:109000] hello MOE: cmdline: moe --init=rom/hello MOE: Starting: rom/hello MOE: loading 'rom/hello' Hello World!
As one can see I tried to replicate this for vanilla Fiasco/L4Re (r75), just to make sure. The same happens of course with Fiasco/Genode where I'm also only sometimes (non-reproducible) able to completely boot the device.
I also saw the `globalconfig.out` from the thread 'Booting L4Linux on Raspberry Pi 2'. When using the same configuration, where you (Antoine) were able to successfully boot the RPi2 I'm stuck with the same problem.
On the bright side, booting Fiasco/L4Re in Qemu (vers. 2.10.1) seems to always work when using the following command to start it up:
qemu-system-arm -M raspi2 -kernel /home/alex/Projects/foc_upstream/l4/build_rpi2/images/bootstrap.elf -nographic
If one could give me some insight on why this happens and/or how to resolve this, I'd really appreciate it.
Regards, Alexander
l4-hackers mailing list l4-hackers@os.inf.tu-dresden.de http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers
l4-hackers mailing list l4-hackers@os.inf.tu-dresden.de http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers
l4-hackers@os.inf.tu-dresden.de