trap (GPF) when starting l4linux
valerius
_valerius at mail.ru
Tue Sep 23 16:58:04 CEST 2008
Hi all!
I compiled l4linux and trying to start it in qemu under Linux (Mandriva
2008.0). But when starting, linux is trapped
my menu.lst is like this:
[------------------------------cut------------------------------]
title L4Linux 2.6 [console]
kernel $(A)/bootstrap -serial
modaddr 0x03000000
module $(B)/fiasco $(FIASCOARGS)
module $(B)/sigma0
module $(B)/roottask -symbols -lines task sigma0 boot_priority 0xA0 task
roottask boot_priority 0xA0 task modname "names" boot_priority 0xA0 task
modname "log" boot_priority 0xA1 task modname "dm_phys" boot_priority 0xA0
task modname "simple_ts" boot_priority 0xA0 task modname "l4io" boot_priority
0xA3 task modname "loader" boot_priority 0xA0 allow_cli task modname "bmodfs"
attached 7 modules
module $(B)/fiasco_symbols
module $(B)/fiasco_lines
module $(B)/names
module $(B)/log --prio 0xA1 --buffer 0
module $(B)/dm_phys
module $(B)/simple_ts -t 380
module $(B)/rtc
module $(B)/l4io
module $(B)/bmodfs
module $(B)/libloader.s.so
module $(B)/libld-l4.s.so
module $(B)/run
module $(B)/con_demo2
module $(B)/vmlinuz26
module $(D)/cfg/l4linux26.cfg
module $(RD_DENV)
module $(B)/l4con
module $(B)/loader --fprov=BMODFS con_demo2 run l4linux26.cfg
vbeset $(VBE_MODE)
[------------------------------cut------------------------------]
where l4linux26.cfg is the following:
[------------------------------cut------------------------------]
sleep 1
task "vmlinuz26" "mem=120M load_ramdisk=1 ramdisk_size=16384 root=/dev/ram
l4env_rd=drops-fp.rd"
all_sects_writable
allow_cli
allow_vga
[------------------------------cut------------------------------]
Serial output is the following:
[------------------------------cut------------------------------]
qemu: /usr/lib/libpulse.so.0: no version information available (required by
qemu)
qemu: /usr/lib/libpulse-simple.so.0: no version information available
(required by qemu)
Could not open '/dev/kqemu' - QEMU acceleration layer not activated: No such
file or directory
^M^M
L4 Bootstrapper^M^M
Scanning (nd)/tftpboot/drops/bin/x86_586/l4v2/fiasco -nokdb -nowait
#"-serial_esc^M^M
Scanning (nd)/tftpboot/drops/bin/x86_586/l4v2/sigma0^M^M
Scanning (nd)/tftpboot/drops/bin/x86_586/l4v2/roottask -symbols -lines task
sigma0 boot_priority 0xA0 task roottask boot_priority 0xA0 task
modname "names" boot_priority 0xA0 task modname "log" boot_priority 0xA1 task
modname "dm_phys" boot_priority 0xA0 task modname "simple_ts" boot_priority
0xA0 task modname "l4io" boot_priority 0xA3 task modname "loader"
boot_priority 0xA0 allow_cli task modname "bmodfs" attached 7 modules^M^M
Bootloader MMAP:^M^M
[ 0, 9fc00) RAM (1)^M^M
[ 9fc00, a0000) reserved (2)^M^M
[ e8000, 100000) reserved (2)^M^M
[ 100000, 1fff0000) RAM (1)^M^M
[ 1fff0000, 20000000) ACPI (3)^M^M
[ fffc0000, 100000000) reserved (2)^M^M
Relocated mbi to [0x62000-0x62a33]^M^M
Loading (nd)/tftpboot/drops/bin/x86_586/l4v2/fiasco^M^M
Loading (nd)/tftpboot/drops/bin/x86_586/l4v2/sigma0^M^M
Loading (nd)/tftpboot/drops/bin/x86_586/l4v2/roottask^M^M
find kernel info page...^M^M
found kernel info page at 0x1000^M^M
[ 1000, 61fff] Kern
(nd)/tftpboot/drops/bin/x86_586/l4v2/fiasco^M^M
[ 62000, 62b30] Root Multiboot info^M^M
[ 9fc00, 9ffff] Arch BIOS^M^M
[ e8000, fffff] Arch BIOS^M^M
[ 100000, 10937f] Sigma0
(nd)/tftpboot/drops/bin/x86_586/l4v2/sigma0^M^M
[ 110000, 2adfff] Root
(nd)/tftpboot/drops/bin/x86_586/l4v2/roottask^M^M
[ 2d0000, 2dae5f] Boot bootstrap^M^M
[ 300000, 38fd2f] Kern
(nd)/tftpboot/drops/bin/x86_586/l4v2/fiasco^M^M
[ 3132000, 662dbe7] Root Modules Memory^M^M
[ 1fff0000, 1fffffff] Arch BIOS^M^M
[ fffc0000, ffffffff] Arch BIOS^M^M
API Version: (87) experimental^M^M
Sigma0 config ip:001048b8 sp:002daa20^M^M
Roottask config ip:00110000 sp:00000000^M^M
Starting kernel (nd)/tftpboot/drops/bin/x86_586/l4v2/fiasco at 003008b8^M^M
^M^[[1;32mWelcome to Fiasco(ia32)!
^M^[[0;32mDD-L4(v2)/ia32 microkernel (C) 1998-2008 TU Dresden
^MRev: r394 compiled with gcc 4.2.2 for Intel Pentium [] ^[[0m
^M^[[31mPerformance-critical config option(s) detected:
^M CONFIG_ASSEMBLER_IPC_SHORTCUT is off
^M CONFIG_NDEBUG is off
^M CONFIG_FINE_GRAINED_CPUTIME is on
^M^[[m
^MEnabling special fully nested mode for PIC
^MUsing the PIT (i8254) on IRQ 0 for scheduling
^MAbsolute KIP Syscalls using: Sysenter
^MCPU: GenuineIntel (6:3:3:0) Model: Pentium II (Klamath) at 1729 MHz
^M
^M 32 KB L1 I Cache (8-way associative, 64 bytes per line)
^M 32 KB L1 D Cache (8-way associative, 64 bytes per line)
^M2048 KB L2 U Cache (8-way associative, 64 bytes per line)
^M
^MFreeing init code/data: 20480 bytes (5 pages)
^M
^MCalibrating timer loop... done.
^MSIGMA0: Hello!
^M KIP @ 1000
^M Found Fiasco: KIP syscalls: yes
^M allocated 4KB for maintenance structures
^M
^M
^MRoottask.
^M Command line
found: "(nd)/tftpboot/drops/bin/x86_586/l4v2/roottask -symbols -lines task
sigma0 boot_priority 0xA0 task roottask boot_priority 0xA0 task
modname "names" boot_priority 0xA0 task modname "log" boot_priority 0xA1 task
modname "dm_phys" boot_priority 0xA0 task modname "simple_ts" boot_priority
0xA0 task modname "l4io" boot_priority 0xA3 task modname "loader"
boot_priority 0xA0 allow_cli task modname "bmodfs" attached 7 modules"
^M
^M 523839kB ( 511MB) total RAM (reported by bootloader)
^M 474720kB ( 464MB) received RAM from Sigma0
^M 56220kB ( 55MB) reserved RAM for RMGR
^M Received I/O ports 0000-ffff
^M Attached irqs = [ <!0> 1 <!2> 3 4 5 6 7 8 9 A B C D E F 10 11 ]
^M
^MRoottask: Parsing command line config.
^M configured task 0x02 ():
^M vm_offs:0 irq:3ffff lmcp:ffff allow_cli:0 mcp:ff prio:a0 small:ff mods:0
^M configured task 0x04 ():
^M vm_offs:0 irq:3ffff lmcp:ffff allow_cli:0 mcp:ff prio:a0 small:ff mods:0
^M configured task 0x00 (names):
^M vm_offs:0 irq:3ffff lmcp:ffff allow_cli:0 mcp:ff prio:a0 small:ff mods:0
^M configured task 0x00 (log):
^M vm_offs:0 irq:3ffff lmcp:ffff allow_cli:0 mcp:ff prio:a1 small:ff mods:0
^M configured task 0x00 (dm_phys):
^M vm_offs:0 irq:3ffff lmcp:ffff allow_cli:0 mcp:ff prio:a0 small:ff mods:0
^M configured task 0x00 (simple_ts):
^M vm_offs:0 irq:3ffff lmcp:ffff allow_cli:0 mcp:ff prio:a0 small:ff mods:0
^M configured task 0x00 (l4io):
^M vm_offs:0 irq:3ffff lmcp:ffff allow_cli:0 mcp:ff prio:a3 small:ff mods:0
^M configured task 0x00 (loader):
^M vm_offs:0 irq:3ffff lmcp:ffff allow_cli:1 mcp:ff prio:a0 small:ff mods:0
^M configured task 0x00 (bmodfs):
^M vm_offs:0 irq:3ffff lmcp:ffff allow_cli:0 mcp:ff prio:10 small:ff mods:7
^M
MRoottask: Loading 16 modules.
^M^[[36m#05: loading "(nd)/tftpboot/drops/bin/x86_586/l4v2/names"
^M^[[m from [^[[37m03180000^[[m-^[[37m031c41e8^[[m] to [002d0000-002d6897]
[002d7000-002e2000]
^M entry at ^[[37m0005d384^[[m via trampoline page code
^M symbols at [1d6ab000-1d6ad000] (8kB), lines at [1d6a5000-1d6ab000]
(24kB)
^M^[[36m#06: loading "(nd)/tftpboot/drops/bin/x86_586/l4v2/log --prio
0xA1 --buffer 0"
^M^[[m from [^[[37m031c5000^[[m-^[[37m03205f67^[[m] to [00400000-00406f2a]
[00407000-00439808]
^M entry at ^[[37m0005e398^[[m via trampoline page code
^M symbols at [1d6a3000-1d6a5000] (8kB), lines at [1d69d000-1d6a3000]
(24kB)
^M^[[36m#07: loading "(nd)/tftpboot/drops/bin/x86_586/l4v2/dm_phys"
^M^[[m from [^[[37m03206000^[[m-^[[37m032a412c^[[m] to [01500000-015139d7]
[01514000-0151e000]
^M entry at ^[[37m0005f388^[[m via trampoline page code
^M symbols at [1d698000-1d69d000] (20kB), lines at [1d68a000-1d698000]
(56kB)
^M^[[36m#08: loading "(nd)/tftpboot/drops/bin/x86_586/l4v2/simple_ts -t 380"
^M^[[m from [^[[37m032a5000^[[m-^[[37m032f57dc^[[m] to [01400000-01408b8a]
[01409000-014185e8]
^M entry at ^[[37m00060390^[[m via trampoline page code
^M symbols at [1d688000-1d68a000] (8kB), lines at [1d680000-1d688000]
(32kB)
^M^[[36m#09: loading "(nd)/tftpboot/drops/bin/x86_586/l4v2/rtc"
^M^[[m from [^[[37m032f6000^[[m-^[[37m03329272^[[m] to [01080000-010845c0]
[01085000-0108a000]
^M entry at ^[[37m00061384^[[m via trampoline page code
^M symbols at [1d67e000-1d680000] (8kB), lines at [1d679000-1d67e000]
(20kB)
^M^[[36m#0a: loading "(nd)/tftpboot/drops/bin/x86_586/l4v2/l4io"
^M^[[m from [^[[37m0332a000^[[m-^[[37m0359b604^[[m] to [00c20000-00c44455]
[00c45000-00cb3000]
^M entry at ^[[37m00063384^[[m via trampoline page code
^M symbols at [1d623000-1d679000] (344kB), lines at [1d609000-1d623000]
(104kB)
^M^[[36m#0b: loading "(nd)/tftpboot/drops/bin/x86_586/l4v2/bmodfs"
^M^[[m from [^[[37m0359c000^[[m-^[[37m036441ca^[[m] to [01220000-01237f29]
[01238000-0124f000]
^M passing module drops/bin/x86_586/l4v2/libloader.s.so [
03645000-036e50ea ]
^M passing module /drops/bin/x86_586/l4v2/libld-l4.s.so [
036e6000-03761ae9 ]
^M passing module )/tftpboot/drops/bin/x86_586/l4v2/run [
03762000-037b0c54 ]
^M passing module boot/drops/bin/x86_586/l4v2/con_demo2 [
037b1000-038447a6 ]
^M passing module boot/drops/bin/x86_586/l4v2/vmlinuz26 [
03845000-03bc1b5e ]
^M passing module (nd)/tftpboot/drops/cfg/l4linux26.cfg [
03bc2000-03bc209d ]
^M passing module d)/tftpboot/drops/ramdisk/drops-fp.rd [
03bc3000-063c3000 ]
^M entry at ^[[37m00064538^[[m via trampoline page code
^M symbols at [1d604000-1d609000] (20kB), lines at [1d5f1000-1d604000]
(76kB)
^M^[[36m#0c: loading "(nd)/tftpboot/drops/bin/x86_586/l4v2/l4con"
^M^[[m from [^[[37m063c3000^[[m-^[[37m0654df0d^[[m] to [00b00000-00b50bf1]
[00b51000-00b71000]
^M entry at ^[[37m00065384^[[m via trampoline page code
^M symbols at [1d5e4000-1d5f1000] (52kB), lines at [1d5b0000-1d5e4000]
(208kB)
^M^[[36m#0d:
loading "(nd)/tftpboot/drops/bin/x86_586/l4v2/loader --fprov=BMODFS con_demo2
run l4linux26.cfg"
^M^[[m from [^[[37m0654e000^[[m-^[[37m0662dbe8^[[m] to [01300000-01327b09]
[01328000-01348000]
^M entry at ^[[37m000663b0^[[m via trampoline page code
^M symbols at [1d5a9000-1d5b0000] (28kB), lines at [1d58f000-1d5a9000]
(104kB)
^M
^MROOT: Sending ports 0070-0070 to task #09
^MROOT: Sending ports 0080-0080 to task #09
^MROOT: Sending ports 0071-0071 to task #09
^Mio | Using platform configuration 'x86'
^MROOT: Sending ports 0cfb-0cfb to task #0a
^MROOT: Sending ports 0cf8-0cfb to task #0a
^MROOT: Sending ports 0cfe-0cff to task #0a
^Mio | PCI: Using configuration type 1
^Mio | PCI: Probing PCI hardware
^Mio | PCI: Probing PCI hardware (bus 00)
^MROOT: Sending ports 0cfc-0cff to task #0a
^Mio | PCI: PIIX3: Enabling Passive Release on 00:01.0
^Mio | Limiting direct PCI/PCI transfers.
^Mio | Activating ISA DMA hang workarounds.
^Mio | 00000000-ffffffff : PCI mem
^Mio | f0000000-f1ffffff : Cirrus Logic GD 5446
^Mio | f2000000-f2000fff : Cirrus Logic GD 5446
^Mio | 0000-ffff : PCI IO
^Mio | 0cf8-0cff : PCI conf1
^Mio | b000-b03f : Intel Corporation 82371AB/EB/MB PIIX4 ACPI
^Mio | b100-b11f : Intel Corporation 82371AB/EB/MB PIIX4 ACPI
^Mio | c000-c00f : Intel Corporation 82371SB PIIX3 IDE [Natoma/Triton
II]
^Mio | c100-c1ff : Realtek Semiconductor Co., Ltd. RTL-8029(AS)
^Mio | Available IRQs=[ <!0> 1 <!2> 3 4 5 6 7 8 9 a b c d e f 10 11 ]
^Msimplets| Configured for 380 tasks.
^Mloader | Can't map tbuf status page
^Mcon | Using fast memcpy.
^Mcon | Character size is 8x14, font has 256 characters
^Mcon | VESA reports 800x600 at 16 1600bpl (00bb) [4096kB]
^Mcon | Color mapping: red=11:5 green=5:6 blue=0:5 res=0:0
^Mcon | No supported accelerated graphics card detected
^Mcon | Mapped I/O video mem f0000000 => 00400000 [4096kB] via l4io
^Mcon | Using MMXEXT for colorspace transform
^Mcon | L4INPUT native mode activated
^Mcon | L4INPUT: !!! W A R N I N G !!!
^Mcon | L4INPUT: Please, do not use Fiasco's "-esc" with L4INPUT.
^Mcon | L4INPUT: !!! W A R N I N G !!!
^Mcon | L4INPUT: Registered 0xb03c30 for callbacks.
^MROOT: Sending ports 0060-006f to task #0a
^Mcon | serio: i8042 AUX port at 0x60,0x64 irq 12
^Mcon | serio: i8042 KBD port at 0x60,0x64 irq 1
^Mcon | input: ImExPS/2 Generic Explorer Mouse on isa0060/serio1
^Mcon | input: AT Translated Set 2 keyboard on isa0060/serio0
^Mcon | input: PC Speaker
^Mcon | input: L4 input event injector
^Mcon | L4 input event injector: IRQ handler up
^Mcon | connect "ImExPS/2 Generic Explorer Mouse", isa0060/serio1/input0
^Mcon | connect "AT Translated Set 2 keyboard", isa0060/serio0/input0
^Mcon | connect "PC Speaker", isa0061/input0
^Mcon | connect "L4 input event injector", l4/sys
^Mcon | Running as C.02. Video mode is 800x600 at 16.
^Mrtc | Date:23.09.2008 Time:13:35:51
^Mbmodfs | Passed the following modules:
^Mbmodfs | module "(nd)/tftpboot/drops/bin/x86_586/l4v2/libloader.s.so"
(641kB
^Mbmodfs : )
^Mbmodfs | module "(nd)/tftpboot/drops/bin/x86_586/l4v2/libld-l4.s.so"
(495kB)
^Mbmodfs | module "(nd)/tftpboot/drops/bin/x86_586/l4v2/run" (316kB)
^Mbmodfs | module "(nd)/tftpboot/drops/bin/x86_586/l4v2/con_demo2" (590kB)
^Mbmodfs | module "(nd)/tftpboot/drops/bin/x86_586/l4v2/vmlinuz26" (3571kB)
^Mbmodfs | module "(nd)/tftpboot/drops/cfg/l4linux26.cfg" (1kB)
^Mbmodfs | module "(nd)/tftpboot/drops/ramdisk/drops-fp.rd" (40960kB)
^Mloader | "con_demo2" is a valid binary image
^Mloader | con_demo2: Starting sigma0-style application
^Mloader | con_demo2: Loading binary
^Mloader | ^[[36mcon_demo2,#e: Entry at 00009c88 => 00800000^[[m
^Mloader | con_demo2,#e: Started
^Mloader | "run" needs libld-l4.s.so
^Mloader | run: Starting application using libld-l4.s.so
^Mloader | ^[[36mrun,#f: Loading binary^[[m
^Mloader | run,#f: Loading ldso
^Mloader | run,#f: Starting libld-l4.s.so at 000138e0 via 0000cc8c
^Mloader | sleeping for 1000 ms
^Mcon_demo| Hello there, I am E.02.
^Mcon | vc_loop(): vc[1] running as C.07
^Mcon | vc[1] 800x600 at 16, bpl:1600, gmode:0x25, evprt:0.00 save:1
^Mloader | vmlinuz26: Starting application using libld-l4.s.so
^Mloader | ^[[36mvmlinuz26,#10: Loading binary^[[m
^Mloader | vmlinuz26,#10: Loading ldso
^Mloader | vmlinuz26,#10: Starting libld-l4.s.so at 000138e0 via 0000cc3c
^Mcon | vc_loop(): vc[2] running as C.08
^Mcon | vc[2] 800x600 at 16, bpl:1600, gmode:0x25, evprt:F.03 save:0
^Mrun | contxt_init(): 800x582, cols:100, lines:41, sb_lines:1041
^Ml4lx | ^[[34;1m======> L4Linux 2.6 starting... <========^[[0m
^Ml4lx | Linux version 2.6.26-l4-svn118-dirty1 (root at localhost) (gcc
version 4
^Ml4lx : .2.2 20071128 (prerelease) (4.2.2-3mdv2008.0)) #6 Wed Sep 24
02:32:30
^Ml4lx : PETST 2008
^Ml4lx | Binary name: vmlinuz26
^Ml4lx | Linux kernel command line (5 args): mem=120M load_ramdisk=1
ramdisk_s
^Ml4lx : ize=16384 root=/dev/ram l4env_rd=drops-fp.rd
^Ml4lx | Image: 00400000 - 007b9000 [3812 KiB].
^Ml4lx | Areas: Text: 00400000 - 006c3000 [2828kB] (a bit longer)
^Ml4lx | Data: 006c3000 - 006e46d8 [133kB]
^Ml4lx | Initdata: 006e8000 - 00726000 [248kB]
^Ml4lx | BSS: 00728000 - 007b8b50 [578kB]
^Ml4lx | l4lx_thread_create: Created thread 10.03 (tamer0)
^Ml4lx | Tamer0 is 10.03
^Ml4lx | Using tamed mode.
^MROOT: Sending all ports (for cli/sti) to task #0d
^Ml4lx | Got 65536 out of 65536 I/O ports
^Ml4lx | Connecting to l4io server.
^Ml4lx | l4env_linux_startup thread 4.
^Ml4lx | l4lx_thread_create: Created thread 10.04 (cpu0)
^Ml4lx | main thread will be 10.04
^Ml4lx | l4env_register_pointer_section: addr = 006e6000 size = 266240
^Ml4lx | sec-w-init: virt: 0x006e6000 to 0x00726fff [260 KiB]
^Ml4lx | Noncontiguous region for sec-w-init
^Ml4lx | sec-w-init: Number of physical regions: 2, 266240 Bytes
^Ml4lx | sec-w-init: 1: Phys: 0x014f4000 to 0x01500000, Size: 49152
^Ml4lx | sec-w-init: 2: Phys: 0x004ff000 to 0x00534000, Size: 217088
^Ml4lx | main thread: received startup message.
^Ml4lx | setup_l4env_memory: Forcing superpages for main memory
^Ml4lx | Main memory size: 120MB
^Ml4lx | Main memory: virt: 0x00800000 to 0x07ffffff [122880 KiB]
^Ml4lx | Main memory: Number of physical regions: 1, 125829120 Bytes
^Ml4lx | Main memory: 1: Phys: 0x06400000 to 0x0dc00000, Size:
125829120
^Ml4lx | Filling lower ptabs...
^Ml4lx | mainmem = 800000
^Ml4lx | Main thread running, waiting...
^Ml4lx | Done (1028 entries).
^Ml4lx | l4env_register_pointer_section: addr = 00728000 size = 593920
^Ml4lx | end: virt: 0x00728000 to 0x007b8fff [580 KiB]
^Ml4lx | end: Number of physical regions: 1, 593920 Bytes
^Ml4lx | end: 1: Phys: 0x0151e000 to 0x015af000, Size: 593920
^Ml4lx | l4env_rd_path: drops-fp.rd
^Ml4lx | Loading: drops-fp.rd
^Ml4lx | INITRD: Size of RAMdisk is 40960KiB
^Ml4lx | RAMdisk from 10000000 to 12800000 [40960KiB]
^Ml4lx | l4lx_thread_create: Created thread 10.05 (timer.i0)
^M^[[1;25r^[[25;1H
^M^[[32m ---------------------------------------------------------IP:
f0035e9b^[[m ^M ^[[32m--^[[mGeneral Protection
^M^[[25;1H^[[32m[l4lx.main] (10.02) jdb: ^[[m^[[K
[------------------------------cut------------------------------]
-- General protection fault at f0035e9b in l4lx.main
when i press 'u' in kernel debugger, the following unassembly around
the faulting instruction appears:
[------------------------------cut------------------------------]
<in_syscall>:
f0035e94 pop %ecx
f0035e95 pop %edx
f0035e96 pop %esi
f0035e97 pop %edi
f0035e98 pop %ebx
f0035e99 pop %ebp
f0035e9a pop %eax
f0035e9b iret
f0035e9c lea 0x0(%esi),%esi
<entry_sys_id_nearest>:
f0035ea0 push %eax
f0035ea1 mov $0xf0052f64,%eax
f0035ea6 jmp 0xf0035e70 <all_syscalls>
<entry_sys_fpage_unmap>:
f0035ea8 push %eax
f0035ea9 mov $0xf0052f68,%eax
f0035eae jmp 0xf0035e70 <all_syscalls>
<entry_sys_thread_switch>:
f0035eb0 push %eax
f0035eb1 mov $0xf0052f6c,%eax
f0035eb6 jmp 0xf0035e70 <all_syscalls>
<entry_sys_thread_schedule>:
f0035eb8 push %eax
[------------------------------cut------------------------------]
So, the trap occurs when returning from an interrupt handler.
And also the address 0xf0035e9b is seems to be somewhere in
L4 kernel, not in linux itself.
What it can be and how can I resolve this?
Thanks in advance,
Valery.
More information about the l4-hackers
mailing list