Hi Waldo,
see my reply inline at the bottom
On 09/04/2015 03:12 PM, Waldo Paz Rodriguez wrote:
Hello Genode comunity, I'm trying port the yse5250 board to base-foc. I follow the guide proposed by Norman Feske and test the printf scenario, as shown in the serial output Fiasco.OC and servers run correctly, but when I try to run Genode throws an error.
L4 Bootstrapper
Build: #3 vie sep 4 09:10:02 CDT 2015, 4.9.2
Scanning up to 2047 MB RAM
Memory size is 2047MB (40000000 - bfefffff)
RAM: 0000000040000000 - 00000000bfefffff: 2096128kB
Total RAM: 2047MB
mod05: 41144000-41174530: genode/test-printf
mod04: 410ff000-41143c70: genode/init
mod03: 410fe000-410fe110: genode/config
mod02: 41094000-410fddec: genode/core
mod01: 41082000-41093368: sigma0
mod00: 41015000-4108195c: /home/waldo/genode-15-08/build/foc_yse5250/kernel/fiasco.oc/fiasco
Moving up to 6 modules behind 41100000
moving module 00 { 41015000-4108195b } -> { 41260000-412cc95b } [444764]
moving module 01 { 41082000-41093367 } -> { 412cd000-412de367 } [70504]
moving module 02 { 41094000-410fddeb } -> { 412df000-41348deb } [433644]
moving module 03 { 410fe000-410fe10f } -> { 41175000-4117510f } [272]
moving module 04 { 410ff000-41143c6f } -> { 41176000-411bac6f } [281712]
moving module 05 { 41144000-4117452f } -> { 41100000-4113052f } [197936]
moving module 03 { 41175000-4117510f } -> { 41131000-4113110f } [272]
moving module 04 { 41176000-411bac6f } -> { 41132000-41176c6f } [281712]
Scanning /home/waldo/genode-15-08/build/foc_yse5250/kernel/fiasco.oc/fiasco -serial_esc
Scanning sigma0
Scanning genode/core
Relocated mbi to [0x4100e000-0x4100e148]
Loading o/genode-15-08/build/foc_yse5250/kernel/fiasco.oc/fiasco
Loading sigma0
Loading genode/core
find kernel info page...
found kernel info page at 0x40002000
Regions of list 'regions'
[ 40001000, 40001a3f] { a40} Kern o/genode-15-08/build/foc_yse5250/kernel/fiasco.oc/fiasco
[ 40002000, 4007afff] { 79000} Kern o/genode-15-08/build/foc_yse5250/kernel/fiasco.oc/fiasco
[ 400a0000, 400a5fdf] { 5fe0} Sigma0 sigma0
[ 400b0000, 400b617b] { 617c} Sigma0 sigma0
[ 41000000, 410143f7] { 143f8} Boot bootstrap
[ 4100e000, 4100e245] { 246} Root Multiboot info
[ 41100000, 41176c6f] { 76c70} Root Module
[ 80100000, 8024b63b] { 14b63c} Root genode/core
API Version: (87) experimental
Sigma0 config ip:400a0100 sp:41013de4
Roottask config ip:80100000 sp:00000000
Starting kernel o/genode-15-08/build/foc_yse5250/kernel/fiasco.oc/fiasco at 4000121c
Hello from Startup::stage2
Number of IRQs available at this GIC: 160
Cache config: ON
ID_PFR[01]: 00001031 00011011 ID_[DA]FR0: 02010555 00000000
ID_MMFR[04]: 10201105 20000000 01240000 02102211
Watchdog initialized
SERIAL ESC: allocated IRQ 84 for serial uart
Not using serial hack in slow timer handler.
\0x1b[1;32mWelcome to Fiasco.OC (arm)!
\0x1b[0;32mL4/Fiasco.OC arm microkernel (C) 1998-2013 TU Dresden
Rev: 7870838 compiled with gcc 4.9.2 for Samsung Exynos []
Build: #3 vie sep 4 09:09:57 CDT 2015
\0x1b[0m
Timer for CPU0 is at IRQ 152
Calibrating timer loop... done.
SIGMA0: Hello!
KIP @ 40002000
allocated 4KB for maintenance structures
SIGMA0: Dump of all resource maps
RAM:------------------------
[0:40000000;40000fff]
[0:4007b000;4009ffff]
[0:400a6000;400affff]
[0:400b7000;4100dfff]
[4:4100e000;4100efff]
[0:4100f000;410fffff]
[4:41100000;41176fff]
[0:41177000;800fffff]
[4:80100000;8024bfff]
[0:8024c000;beefffff]
IOMEM:----------------------
[0:0;3fffffff]
[0:bff00000;ffffffff]
KIP @ 40002000
magic: 4be6344c
version: 87024444
sigma0 esp: 41013de4 eip: 400a0100
sigma1 esp: 00000000 eip: 00000000
root esp: 00000000 eip: 80100000
MBI @ 4100e000
mod[3] [41131000,41131110) config
mod[4] [41132000,41176c70) init
mod[5] [41100000,41130530) test-printf
:ram_alloc: Allocator 8023aec0 dump:
Block: [40000000,40001000) size=00001000 avail=00001000 max_avail=00001000
Block: [4007b000,400a0000) size=00025000 avail=00025000 max_avail=00025000
Block: [400a6000,400a601c) size=0000001c avail=00000000 max_avail=00025000
Block: [400a601c,400a6038) size=0000001c avail=00000000 max_avail=00000000
Block: [400a6038,400a6054) size=0000001c avail=00000000 max_avail=00009fac
Block: [400a6054,400b0000) size=00009fac avail=00009fac max_avail=00009fac
Block: [400b7000,400b701c) size=0000001c avail=00000000 max_avail=3ef89000
Block: [400b701c,4100e000) size=00f56fe4 avail=00f56fe4 max_avail=00f56fe4
Block: [4100f000,41100000) size=000f1000 avail=000f1000 max_avail=3ef89000
Block: [41177000,80100000) size=3ef89000 avail=3ef89000 max_avail=3ef89000
Block: [8024c000,bef00000) size=3ecb4000 avail=3ecb4000 max_avail=3ecb4000
=> mem_size=2127253504 (2028 MB) / mem_avail=2127253392 (2028 MB)
:region_alloc: Allocator 8023c030 dump:
Block: [00001000,20000000) size=1ffff000 avail=1ffff000 max_avail=1ffff000
Block: [30000000,40000000) size=10000000 avail=10000000 max_avail=1ffff000
Block: [40001000,40002000) size=00001000 avail=00001000 max_avail=1ffff000
Block: [40003000,4007b000) size=00078000 avail=00078000 max_avail=00078000
Block: [400a0000,400a6000) size=00006000 avail=00006000 max_avail=1ffff000
Block: [400b0000,400b7000) size=00007000 avail=00007000 max_avail=010f0000
Block: [bef00000,bfff0000) size=010f0000 avail=010f0000 max_avail=010f0000
=> mem_size=823611392 (785 MB) / mem_avail=823611392 (785 MB)
:io_mem: Allocator 8023b31c dump:
Block: [00000000,40000000) size=40000000 avail=40000000 max_avail=40000000
Block: [40001000,40002000) size=00001000 avail=00001000 max_avail=40000000
Block: [40003000,4007b000) size=00078000 avail=00078000 max_avail=00078000
Block: [400a0000,400a6000) size=00006000 avail=00006000 max_avail=00078000
Block: [400b0000,400b7000) size=00007000 avail=00007000 max_avail=410fffff
Block: [bef00000,ffffffff) size=410fffff avail=410fffff max_avail=410fffff
=> mem_size=2165858303 (2065 MB) / mem_avail=2165858303 (2065 MB)
:io_port: Allocator 8023b778 dump:
:irq: Allocator 8023bbd4 dump:
Block: [00000000,00000298) size=00000298 avail=00000298 max_avail=00000298
=> mem_size=664 (0 MB) / mem_avail=664 (0 MB)
:rom_fs: Rom_fs 8023c8e4 dump:
Rom: [41132000,41176c70) init
Rom: [41131000,41131110) config
Rom: [40002000,40003000) l4v2_kip
Rom: [40002000,40003000) kip
Rom: [41100000,41130530) test-printf
:core ranges: Allocator 8023f240 dump:
Block: [40000000,40001000) size=00001000 avail=00001000 max_avail=00001000
Block: [4007b000,400a0000) size=00025000 avail=00025000 max_avail=00025000
Block: [400a6000,400b0000) size=0000a000 avail=0000a000 max_avail=7def1000
Block: [400b7000,4100e000) size=00f57000 avail=00f57000 max_avail=7def1000
Block: [4100f000,bef00000) size=7def1000 avail=7def1000 max_avail=7def1000
=> mem_size=2129100800 (2030 MB) / mem_avail=2129100800 (2030 MB)
\0x1b[32mGenode 15.08 <local changes>\0x1b[0m
int main(): \0x1b[33m--- create local services ---\0x1b[0m
int main(): \0x1b[33m--- start init ---\0x1b[0m
\0x1b[34mReceived something different than a pagefault, ignoring ...\0x1b[0m
That means core's pagefault handler, which is an extra thread, received an extraordinary exception from one of core's threads, which should never happen. This might be e.g.: an undefined opcode etc.. To identify the faulting thread, please enter the Fiasco.OC kernel debugger via the escape key, and have a look at the process list (type: lp). One of the few threads you'll see will wait for the core.pager thread, you'll have to combine the IDs. You can scroll to the corresponding faulter thread and inspect it's state (e.g. fault state, instruction pointer, etc.).
Good luck!
Regards Stefan
Best Regards, waldo
genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main