Problem: Running L4Linux under Fiasco-UX

Stefan Kalkowski sk852421 at
Wed Feb 23 12:24:36 CET 2005


i try to test L4Linux using Fiasco-UX. I'm using the script lx in 
l4/tool/runux and everything runs fine except when the kerneltask gets 
started. I get an unhanled trap with trapnumber 13. I don't know what that 
number means.

here is my output:

./lx con
/daten/fiasco/l4/kernel/fiasco/build/fiasco -m 256 
-symbols /daten/fiasco/l4/kernel/fiasco/build/Symbols 
-lines /daten/fiasco/l4/kernel/fiasco/build/Lines 
-rmgr /daten/fiasco/l4/bin/x86_586/l4v2/rmgr-ux -symbols -lines task modname 
"L4Linux task" -sigma0 /daten/fiasco/l4/bin/x86_586/l4v2/sigma0-ux 
-fb_program /daten/fiasco/l4/kernel/fiasco/build/ux_con 
-irq0 /daten/fiasco/l4/kernel/fiasco/build/irq0 -t 32768 -G 640x480 at 16 
-l /daten/fiasco/l4/bin/x86_586/l4v2/names  
-l /daten/fiasco/l4/bin/x86_586/l4v2/log 
-l /daten/fiasco/l4/bin/x86_586/l4v2/dm_phys  
-l /daten/fiasco/l4/bin/x86_586/l4v2/simple_ts  
-l /daten/fiasco/l4/bin/x86_586/l4v2/fuxfprov -n9 
-l /daten/fiasco/l4/bin/x86_586/l4v2/rtc-ux -n10 
-l /daten/fiasco/l4/bin/x86_586/l4v2/l4exec 
-l /daten/fiasco/l4/bin/x86_586/l4v2/con-ux  -n12 
-l /daten/fiasco/l4/bin/x86_586/l4v2/loader  /daten/fiasco/l4/bin/x86_586/l4v2/run /daten/fiasco/l4/cfg/l4linux26.ux

Fiasco-UX on Linux 2.6.8 (i686)
Native Syscall Map: 0x1600
Mapped 256 MB Memory + 4096 KB Framebuffer + 4 MB Input Area on FD 3

Loading Module 0x00090000-0x00094e00 
Loading Module 0x00100000-0x001c72c0 
Copying Module 0x0ea66000-0x0ea8419f 
Copying Module 0x0ea39000-0x0ea65d46 
Copying Module 0x0ea2f000-0x0ea38174 [/daten/fiasco/l4/bin/x86_586/l4v2/names]
Copying Module 0x0ea24000-0x0ea2e174 [/daten/fiasco/l4/bin/x86_586/l4v2/log]
Copying Module 0x0ea0e000-0x0ea23174 
Copying Module 0x0ea02000-0x0ea0d174 
Copying Module 0x0e9dd000-0x0ea01174 
Copying Module 0x0e9d5000-0x0e9dc174 
Copying Module 0x0e9a8000-0x0e9d4174 
Copying Module 0x0e97f000-0x0e9a7174 
Copying Module 0x0e954000-0x0e97e174 


Welcome to Fiasco(ux)!
DD-L4(v2)/x86 microkernel (C) 1998-2005 TU Dresden
Rev: Thu Jan 27 21:21:35 2005 compiled with gcc 3.3.5 for Intel Pentium

Starting Framebuffer: 640x480 at 16

CPU: AuthenticAMD (6:8:1:0) Model: Athlon (Thoroughbred) at 1243 MHz

  16/256 Entry I TLB (4K pages)      8 Entry I TLB (4M pages)
  32/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: yes.
  Allocated 68kB for maintenance structures.

RMGR: Hello!
  running on Fiasco
  bootloader loaded 9 modules at 0e954000-0ea841a0
  L4 symbols at 0e935000-0e9531a1 (120kB), lines at 0e908000-0e934d46 (179kB)
  total RAM size = 261120 KB (reported by bootloader)
          received 239296 KB RAM from sigma0
                     1108 KB reserved for RMGR
  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.
WARNING: couldn't find modname L4Linux task, only storing it's quota
  configured task 0x0e: [ 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 "/daten/fiasco/l4/bin/x86_586/l4v2/names "
     from 0ea2f000-0ea38174 to [ 00200000-00206d80 00207000-00210000 ]
     starting at entry 00200000 via trampoline page code 0000c470
#06: loading "/daten/fiasco/l4/bin/x86_586/l4v2/log"
     from 0ea24000-0ea2e174 to [ 00400000-00407040 00408000-0043d000 ]
     starting at entry 00400000 via trampoline page code 0000d46c
#07: loading "/daten/fiasco/l4/bin/x86_586/l4v2/dm_phys "
     from 0ea0e000-0ea23174 to [ 01500000-01512860 01513000-0151d000 ]
     starting at entry 01500000 via trampoline page code 0000e470
#08: loading "/daten/fiasco/l4/bin/x86_586/l4v2/simple_ts "
     from 0ea02000-0ea0d174 to [ 01400000-01408660 01409000-01417000 ]
     starting at entry 01400000 via trampoline page code 0000f474
#09: loading "/daten/fiasco/l4/bin/x86_586/l4v2/fuxfprov"
     from 0e9dd000-0ea01174 to [ 00500000-00521d4b 00522000-0053e000 ]
     starting at entry 00500000 via trampoline page code 00010470
#0a: loading "/daten/fiasco/l4/bin/x86_586/l4v2/rtc-ux"
     from 0e9d5000-0e9dc174 to [ 01080000-010849a0 01085000-0108a000 ]
     starting at entry 01080000 via trampoline page code 00011470
#0b: loading "/daten/fiasco/l4/bin/x86_586/l4v2/l4exec"
     from 0e9a8000-0e9d4174 to [ 01100000-01129a6b 0112a000-01134000 ]
     starting at entry 01100000 via trampoline page code 00012470
#0c: loading "/daten/fiasco/l4/bin/x86_586/l4v2/con-ux "
     from 0e97f000-0e9a7174 to [ 00b00000-00b24a6b 00b25000-00b30000 ]
     starting at entry 00b00000 via trampoline page code 00013470
#0d: loading 
"/daten/fiasco/l4/bin/x86_586/l4v2/loader  /daten/fiasco/l4/bin/x86_586/l4v2/run /daten/fiasco/l4/cfg/l4linux26.ux"
     from 0e954000-0e97e174 to [ 01300000-0132606b 01327000-01339000 ]
     starting at entry 01300000 via trampoline page code 000144b8

names   | Fiasco detected, registering thread names at kernel
fuxfprov| OSKit support: using 128KB at 0x00100000 as heap (growing)
fuxfprov| File provider started, registered as 9.02
exec    | OSKit support: using 4096KB at 0x00400000 as heap (growing)
con     | OSKit support: using 128KB at 0x00100000 as heap
con     | Character size is 8x14, font has 256 characters
con     | VESA reports 640x480 at 16 (0000) [4096kB]
con     | Color mapping: red=11:5 green=5:6 blue=0:5 res=0:0
con     | No supported accelerated graphics card detected
con     | Mapping I/O video mem c0000000 => 00400000+000000 [4096kB]
con     | Using MMXEXT for colorspace transform
con     | l4input_init: start
con     | map_inputmemory: paddr = 0xc0400000
con     | Input memory page mapped to 0x00c00000
loader  | OSKit support: using 128KB at 0x00100000 as heap
loader  | Can't map tbuf status page (map=00004000, error=00 result=00004000)
con     | Started input interrupt thread C.03!
con     | Running as C.02. Video mode is 640x480 at 16.
fuxfprov| open "/daten/fiasco/l4/bin/x86_586/l4v2/run" by D.02
loader  | "/daten/fiasco/l4/bin/x86_586/l4v2/run" is a valid binary image
loader  | Setting libpath to /daten/fiasco/l4/bin/x86_586/l4v2/
exec    | run: Loading
exec    | run: Merging psec 01310000-01312000 with psec 0130c000-01311000
exec    | run: Has no symbols
exec    | run: Has no lines
exec    | Loading
fuxfprov| open "/daten/fiasco/l4/bin/x86_586/l4v2//" by B.02
exec    | Saved 21713 bytes of symbols
exec    | Relocating to 0000e000
exec    | Linking
exec    | Relocating entry 000058d0 => 000138d0
exec    | Setting section flag 0800
exec    | run: Setting section flag 0800
loader  | run: Starting l4env-style application
loader  | run,#f: Starting at l4loader_init (00014080)
exec    | run: Linking
exec    | run: Relocating entry 01300000 => 01300000
exec    | run: Packed 17777 bytes of symbols
exec    | run: Packed 68105 bytes of lines
loader  | run,#f: Continue at l4env_init (00014090,
fuxfprov| open "/daten/fiasco/l4/cfg/l4linux26.ux" by D.02
loader  | sleeping for 2000 ms
run     | OSKit support: using 256KB at 0x00040000 as heap (growing)
con     | vc_loop(): vc[1] running as C.04
con     | vc_open_out(): vc[1] 640x480 at 16, gmode:0x15
run     | contxt_init(): 640x462, cols:80, lines:33, sb_lines:1033
exec    | vmlinuz26.ux: Loading
fuxfprov| open "/daten/fiasco/l4linux-2.6/vmlinuz26.ux" by B.02
exec    | vmlinuz26.ux: Saved 768423 bytes of symbols
exec    | Relocating to 0000e000
exec    | Linking
exec    | Relocating entry 000058d0 => 000138d0
exec    | Setting section flag 0800
exec    | vmlinuz26.ux: Setting section flag 0800
loader  | vmlinuz26.ux: Starting l4env-style application
loader  | vmlinuz26.ux,#10: Starting at l4loader_init (00014080)
exec    | vmlinuz26.ux: Linking
exec    | vmlinuz26.ux: Relocating entry 003ff000 => 003ff000
exec    | vmlinuz26.ux: Packed 616018 bytes of symbols
exec    | vmlinuz26.ux: Packed 1629285 bytes of lines
loader  | vmlinuz26.ux,#10: Continue at l4env_init (00014090,
l4lx    | crt0_construction called.
l4lx    | ======> L4Linux 2.6 starting... <========
l4lx    | Binary name: vmlinuz26.ux
l4lx    | Kernel command line (9 args): mem=128M noreplacement no-hlt 
l4lx    : b:refreshsleep:2000 root=1:0 load_ramdisk=1 ramdisk_size=16384 
l4lx    : rd=/daten/fiasco/drops-rd.rd panicblink=0
l4lx    | My DMphys is at 07.00
l4lx    | My region mapper is at 10.00
l4lx    | My code starts at 0x003ff000 and ends at 0x006e2190 [2956 KiB].
l4lx    | Semaphore thread ID: 10.01
l4lx    | Areas:
l4lx    | Text:     003ff000 - 0060c000 [2100kB] (a bit longer)
l4lx    | Data:     0060c000 - 00651300 [276kB]
l4lx    | Initdata: 00654000 - 00684000 [192kB]
l4lx    | BSS:      00684008 - 006e2190 [376kB]
l4lx    | l4env_linux_startup thread 3.
l4lx_thread_create: Created thread 10.03 (Linux server)
l4lx    | main thread will be 10.03
l4lx    | l4env_register_pointer_section: addr = 3ff000 size = 2646016
l4lx    | with-init: virt: 0x003ff000 to 0x00684fff [2584 KiB]
l4lx    | with-init: Number of physical regions: 1, 2646016 Bytes
l4lx    | with-init: 1: Phys: 0x00633000 to 0x008b9000, Size:  6089048
l4lx    | main thread: received startup message.

KERNEL: 10.3 (tcb=20401800) killed:
Unhandled trap

EAX 00000010 EBX 0060d0a0 ECX 00653f3c EDX 00080000
ESI 00200c01 EDI 00080000 EBP 00653fc4 ESP 00653f8c
EIP 0065b31d EFLAGS 00210202
CS 0002 SS 007b DS 007b ES 007b FS 0000 GS 0000
trapno 13, error 00000000, from user mode
(internal event regarding GDT entry no. 0x00)
l4lx    | Main thread running, waiting...

when i diassembe the adress i get the following:

--Interception--------------------------------------ESP:200007a0 EIP:000444aa
(0.00) jdb: u task=10 addr=65b31d
0065b31d        mov    %gs:0x0,%eax
0065b323        movl   $0x1,(%eax)
0065b329        call   0x65b200 <setup_stack>
0065b32e        call   0x6547e0 <start_kernel>
0065b333        add    $0x2c,%esp
0065b336        pop    %ebx
0065b337        pop    %esi
0065b338        pop    %edi
0065b339        pop    %ebp
0065b33a        ret
0065b33b        nop
0065b33c        lea    0(%esi,1),%esi
0065b340        push   %ebp
0065b341        xor    %eax,%eax
0065b343        mov    %esp,%ebp
0065b345        sub    $0xc,%esp
0065b348        mov    %eax,4(%esp,1)
0065b34c        lea    -4(%ebp),%eax
0065b34f        movl   $0xffffffff,-4(%ebp)
0065b356        mov    %eax,(%esp,1)
0065b359        call   0x4d5890 <l4io_init>
0065b35e        test   %eax,%eax
0065b360        je     0x65b37d
0065b362        <enter_kdebug ("Error calling l4io_init!")
0065b37d        mov    %ebp,%esp
0065b37f        pop    %ebp
0065b380        ret
0065b381        jmp    0x65b390 <fprov_load_initrd>
0065b383        nop
dis: <0065b31d> task 10   [Headers]  [AT&T]                  <Space>=lines 

but that doesn't help me. 
For any advice i would be very thankful

Stefan Kalkowski 

PGP-Schlüssel zu finden unter:

More information about the l4-hackers mailing list