Problem booting l4linux

fabs0028 at fabs0028 at
Fri Jun 10 17:28:49 CEST 2005

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:

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/               [ 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:

01316df4        in     (%dx),%eax
01316df1        mov    %esp,%ebp
01316de9        lea    0x0(%edi,1),%edi
01316df0        push   %ebp
01316df1        mov    %esp,%ebp
01316df3        xor    %ebp,%ebp
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 :

  /* clear base pointer to make stack backtrace work */

  /* nothing special to do in native L4 version, just start the thread */

thanx again for the help.


More information about the l4-hackers mailing list