I compiled l4env with the stripping option so i had to rebuild it. I did it and i relaunched the system.
I got this listing :
Welcome to Fiasco(ia32)! DD-L4(v2)/x86 microkernel (C) 1998-2005 TU Dresden Rev: Sun Jun 5 18:10:52 2005 compiled with gcc 3.4.2 for AMD Athlon Performance-critical config option(s) detected: CONFIG_NDEBUG is off CONFIG_NO_FRAME_PTR is off
Enabling special fully nested mode for PIC Using the PIT (i8254) on IRQ 0 for scheduling CPU: AuthenticAMD (6:4:2:0) Model: Athlon (Thunderbird) at 1000 MHz
16/256 Entry I TLB (4K pages) 8 Entry I TLB (4M pages) 24/256 Entry D TLB (4K pages) 8 Entry D TLB (4M pages) 64 KB L1 I Cache (2-way associative, 64 bytes per line) 64 KB L1 D Cache (2-way associative, 64 bytes per line) 256 KB L2 U Cache (8-way associative, 64 bytes per line)
Freeing init code/data: 20480 bytes (5 pages)
SIGMA0: Hello! Found Fiasco: KIP syscalls: no. Allocated 324kB for maintenance structures.
RMGR: Stage2 running on Fiasco bootloader loaded 11 modules at 02064000-0333c98b total RAM size = 1048191 KB (reported by bootloader) received 985260 KB RAM from sigma0 808 KB reserved for RMGR My symbols at 3c3ac000-3c3af000 (12kB), lines at 3c39f000-3c3ac000 (52kB) received no I/O ports attached irqs = [ <!0> 1 <!2> 3 <!4> 5 6 7 8 9 a b c d e f ]
RMGR: Parsing config. configured task 0x0d: [ m:0,ffffffff,ffffffff hm:0,ffffffff,ffffffff t:0,ffff,ffff i:ffff lmcp:ffff s:0,ff,ff mcp:ff prio:10 small:ff ] configured task 0x0a: [ m:0,ffffffff,ffffffff hm:0,ffffffff,ffffffff t:0,ffff,ffff i:ffff lmcp:ffff s:0,ff,ff mcp:ff prio:10 small:ff ] log_mask: 00000000, log_types: 00000000
RMGR: Starting tasks. #05: loading "/l4linux/names" from 02064000-02092ae2 to [ 00240000-002472c0 00248000-00251000 ] starting at entry 00240000 via trampoline page code 00056154 symbols at 3c39d000-3c39f000 (8kB), lines at 3c397000-3c39d000 (24kB) #06: loading "/l4linux/log" from 02093000-020be9e1 to [ 00400000-00407520 00408000-0043d000 ] starting at entry 00400000 via trampoline page code 00057154 symbols at 3c395000-3c397000 (8kB), lines at 3c38f000-3c395000 (24kB) #07: loading "/l4linux/dm_phys" from 020bf000-02125322 to [ 01500000-01513b40 01514000-0151e000 ] starting at entry 01500000 via trampoline page code 00058158 symbols at 3c38a000-3c38f000 (20kB), lines at 3c37d000-3c38a000 (52kB) #08: loading "/l4linux/simple_ts -t 300" from 02126000-0215abb8 to [ 01400000-01408c40 01409000-01417000 ] starting at entry 01400000 via trampoline page code 00059160 symbols at 3c37b000-3c37d000 (8kB), lines at 3c374000-3c37b000 (28kB) #09: loading "/l4linux/l4io --noirq" from 0215b000-02327a5d to [ 00b70000-00b93fc2 00b94000-00bc7000 ] starting at entry 00b70000 via trampoline page code 0005a15c symbols at 3c33c000-3c374000 (224kB), lines at 3c325000-3c33c000 (92kB) #0a: loading "/l4linux/bmodfs" from 02328000-023b7fc3 to [ 01220000-01238750 01239000-01241000 ] passing module /l4linux/libloader.s.so [ 023b8000-02443acb ] passing module /l4linux/run-l4 [ 02444000-0245e829 ] passing module /l4linux/vmlinuz26 [ 0245f000-0317801a ] starting at entry 01220000 via trampoline page code 0005b154 symbols at 3c320000-3c325000 (20kB), lines at 3c310000-3c320000 (64kB) #0e: loading "/l4linux/l4exec" from 03179000-0327108d to [ 01100000-01129f8a 0112a000-01134000 ] starting at entry 01100000 via trampoline page code 0005c154 symbols at 3c308000-3c310000 (32kB), lines at 3c2ef000-3c308000 (100kB) #0f: loading "/l4linux/loader --fprov=BMODFS run-l4" from 03272000-0333c98a to [ 01300000-01328662 01329000-01339000 ] starting at entry 01300000 via trampoline page code 0005d16c symbols at 3c2e8000-3c2ef000 (28kB), lines at 3c2d1000-3c2e8000 (92kB)
simplets| Configured for 300 tasks. loader | L4RM: [PF] read at 0x00000000, eip 01316df5, src F.01 loader | [F.0] l4rm/lib/src/pagefault.c:78:__unknown_pf(): loader | unhandled page fault
--PANIC-------------------------------------------------EIP: 01311aca
so i did disassembled the task to find the problem and here is the result:
/home/fab/ws/l4-linux-env/l4/pkg/thread/lib/src/l4.c:113 01316df4 in (%dx),%eax /home/fab/ws/l4-linux-env/l4/pkg/thread/lib/include/__asm.h:40 01316df1 mov %esp,%ebp <l4th_thread_entry>: 01316de9 lea 0x0(%edi,1),%edi <l4th_thread_entry>: /home/fab/ws/l4-linux-env/l4/pkg/thread/lib/src/l4.c:108 01316df0 push %ebp 01316df1 mov %esp,%ebp /home/fab/ws/l4-linux-env/l4/pkg/thread/lib/include/__asm.h:40 01316df3 xor %ebp,%ebp /home/fab/ws/l4-linux-env/l4/pkg/thread/lib/src/l4.c:113 01316df5 leave 01316df6 jmp 0x1314980 <l4th_thread_start>
so the leave instruction lead to a page fault :
i took a look to the source and here is the fonction concerned :
void l4th_thread_entry(void) { /* clear base pointer to make stack backtrace work */ l4th_clear_base_pointer();
/* nothing special to do in native L4 version, just start the thread */ l4th_thread_start(); }
thanx again for the help.
Fabien