Hi,
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@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 [/daten/fiasco/l4/bin/x86_586/l4v2/sigma0-ux] Loading Module 0x00100000-0x001c72c0 [/daten/fiasco/l4/bin/x86_586/l4v2/rmgr-ux] Copying Module 0x0ea66000-0x0ea8419f [/daten/fiasco/l4/kernel/fiasco/build/Symbols] Copying Module 0x0ea39000-0x0ea65d46 [/daten/fiasco/l4/kernel/fiasco/build/Lines] 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 [/daten/fiasco/l4/bin/x86_586/l4v2/dm_phys] Copying Module 0x0ea02000-0x0ea0d174 [/daten/fiasco/l4/bin/x86_586/l4v2/simple_ts] Copying Module 0x0e9dd000-0x0ea01174 [/daten/fiasco/l4/bin/x86_586/l4v2/fuxfprov] Copying Module 0x0e9d5000-0x0e9dc174 [/daten/fiasco/l4/bin/x86_586/l4v2/rtc-ux] Copying Module 0x0e9a8000-0x0e9d4174 [/daten/fiasco/l4/bin/x86_586/l4v2/l4exec] Copying Module 0x0e97f000-0x0e9a7174 [/daten/fiasco/l4/bin/x86_586/l4v2/con-ux] Copying Module 0x0e954000-0x0e97e174 [/daten/fiasco/l4/bin/x86_586/l4v2/loader]
Bootstrapping...
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@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@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@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 | libloader.s.so: Loading fuxfprov| open "/daten/fiasco/l4/bin/x86_586/l4v2//libloader.s.so" by B.02 exec | libloader.s.so: Saved 21713 bytes of symbols exec | libloader.s.so: Relocating to 0000e000 exec | libloader.s.so: Linking exec | libloader.s.so: Relocating entry 000058d0 => 000138d0 exec | libloader.s.so: 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, libloader.s.so) 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@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 | libloader.s.so: Relocating to 0000e000 exec | libloader.s.so: Linking exec | libloader.s.so: Relocating entry 000058d0 => 000138d0 exec | libloader.s.so: 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, libloader.s.so) 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 video=l4f l4lx : b:refreshsleep:2000 root=1:0 load_ramdisk=1 ramdisk_size=16384 l4env_ 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 /daten/fiasco/l4/include/x86/l4/sys/utcb.h:97 0065b31d mov %gs:0x0,%eax /daten/fiasco/l4linux-2.6/arch/l4/kernel/main.c:491 0065b323 movl $0x1,(%eax) /daten/fiasco/l4linux-2.6/arch/l4/kernel/main.c:495 0065b329 call 0x65b200 <setup_stack> /daten/fiasco/l4linux-2.6/arch/l4/kernel/main.c:496 0065b32e call 0x6547e0 <start_kernel> /daten/fiasco/l4linux-2.6/arch/l4/kernel/main.c:497 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 <l4x_l4io_init>: /daten/fiasco/l4linux-2.6/arch/l4/kernel/main.c:501 0065b340 push %ebp /daten/fiasco/l4linux-2.6/arch/l4/kernel/main.c:505 0065b341 xor %eax,%eax /daten/fiasco/l4linux-2.6/arch/l4/kernel/main.c:501 0065b343 mov %esp,%ebp 0065b345 sub $0xc,%esp /daten/fiasco/l4linux-2.6/arch/l4/kernel/main.c:505 0065b348 mov %eax,4(%esp,1) 0065b34c lea -4(%ebp),%eax /daten/fiasco/l4linux-2.6/arch/l4/kernel/main.c:502 0065b34f movl $0xffffffff,-4(%ebp) /daten/fiasco/l4linux-2.6/arch/l4/kernel/main.c:505 0065b356 mov %eax,(%esp,1) 0065b359 call 0x4d5890 <l4io_init> 0065b35e test %eax,%eax 0065b360 je 0x65b37d /daten/fiasco/l4linux-2.6/arch/l4/kernel/main.c:506 0065b362 <enter_kdebug ("Error calling l4io_init!") /daten/fiasco/l4linux-2.6/arch/l4/kernel/main.c:507 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 mode
but that doesn't help me. For any advice i would be very thankful
greetings Stefan Kalkowski
On Wednesday 23 February 2005 12:24, Stefan Kalkowski wrote:
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.
[...]
when i diassembe the adress i get the following:
--Interception--------------------------------------ESP:200007a0 EIP:000444aa (0.00) jdb: u task=10 addr=65b31d /daten/fiasco/l4/include/x86/l4/sys/utcb.h:97 0065b31d mov %gs:0x0,%eax
In the Fiasco-UX config, enable
"Prompt for experimental features"
and
"Kernel Options" / "ABI Extensions" / "Exception IPC" "Inter-task ex-regs syscall" "Handle and preserve segments"
Frank
l4-hackers@os.inf.tu-dresden.de