A pagefault at the BSS area when starting l4linux
Valery V. Sedletski
_valerius at mail.ru
Fri Mar 7 13:26:04 CET 2008
hi all!
I compiled myself l4linux and tried to start it, but something goes wrong. When the linux server starts, a page
fault occurs at the beginning of its BSS area. The log is the following:
[===============================================]
L4 Bootstrapper
Scaning (nd)/tftpboot/drops/bin/x86_586/l4v2/fiasco -nowait -nokdb -serial -jdb_never_stop
-tbuf_entries=32768 -jdb_cmd=JH
Scaning (nd)/tftpboot/drops/bin/x86_586/l4v2/sigma0
Scaning (nd)/tftpboot/drops/bin/x86_586/l4v2/roottask 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"
allow_cli boot_priority 0xA3 task modname "rtc" allow_cli task modname "l4con" allow_cli task
modname
"l4exec" boot_priority 0xA0 task modname "loader" allow_cli boot_priority 0xA0 task modname
"vmlinuz26"
task modname "bmodfs" attached 4 modules
Relocated mbi to [0x64000-0x64a22]
Loading (nd)/tftpboot/drops/bin/x86_586/l4v2/fiasco
Loading (nd)/tftpboot/drops/bin/x86_586/l4v2/sigma0
Loading (nd)/tftpboot/drops/bin/x86_586/l4v2/roottask
find kernel info page...
found kernel info page at 0x1000
API Version: (87) experimental
Sigma0 config ip:00090000 sp:00105100 [00090000-00096d44]
Roottask config ip:00120000 sp:00108528 [00120000-002bda14]
[00001000-00002000) (nd)/tftpboot/drops/bin/x86_586/l4v2/fiasco
[00002000-00055980) (nd)/tftpboot/drops/bin/x86_586/l4v2/fiasco
[00055980-0005e290) (nd)/tftpboot/drops/bin/x86_586/l4v2/fiasco
[0005f000-00062230) (nd)/tftpboot/drops/bin/x86_586/l4v2/fiasco
[00062240-00064000) (nd)/tftpboot/drops/bin/x86_586/l4v2/fiasco
[00090000-000948dc) (nd)/tftpboot/drops/bin/x86_586/l4v2/sigma0
[000958e0-00096d44) (nd)/tftpboot/drops/bin/x86_586/l4v2/sigma0
[0009f000-00100000) BIOS area
[00100000-00108764) bootstrap
[00120000-00133190) (nd)/tftpboot/drops/bin/x86_586/l4v2/roottask
[00134000-0013e67e) (nd)/tftpboot/drops/bin/x86_586/l4v2/roottask
[0013f680-002bda14) (nd)/tftpboot/drops/bin/x86_586/l4v2/roottask
[00300000-00301a40) (nd)/tftpboot/drops/bin/x86_586/l4v2/fiasco
[00302000-0038f408) (nd)/tftpboot/drops/bin/x86_586/l4v2/fiasco
[02000000-036b3174) Modules Memory
[10000000-ffffffff) Deep Space
Starting kernel (nd)/tftpboot/drops/bin/x86_586/l4v2/fiasco at 00300878
[1;32mWelcome to Fiasco(ia32)!
[0;32mDD-L4(v2)/x86 microkernel (C) 1998-2006 TU Dresden
Rev: Mon Aug 28 08:34:51 2006 compiled with gcc 3.3.1 for Intel Pentium[0m
[31mPerformance-critical config option(s) detected:
CONFIG_ASSEMBLER_IPC_SHORTCUT is off
CONFIG_NDEBUG is off
[m
Enabling special fully nested mode for PIC
Using the PIT (i8254) on IRQ 0 for scheduling
Absolute KIP Syscalls using: Sysenter
CPU: GenuineIntel (6:3:3:0) Model: Unknown CPU at 735 MHz
8 KB L1 I Cache (4-way associative, 32 bytes per line)
Freeing init code/data: 20480 bytes (5 pages)
[6nSIGMA0: Hello!
Found Fiasco: KIP syscalls: yes.
Allocated 132kB for maintenance structures.
Roottask.
Command line found: "(nd)/tftpboot/drops/bin/x86_586/l4v2/roottask 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" allow_cli boot_priority 0xA3 task modname "rtc" allow_cli task modname "l4con" allow_cli
task modname "l4exec" boot_priority 0xA0 task modname "loader" allow_cli boot_priority 0xA0 task
modname "vmlinuz26" task modname "bmodfs" attached 4 modules"
261759kB ( 255MB) total RAM (reported by bootloader)
215872kB ( 211MB) received RAM from Sigma0
24376kB ( 24MB) reserved RAM for RMGR
Received I/O ports 0000-ffff
Attached irqs = [ <!0> 1 <!2> 3 4 5 6 7 8 9 A B C D E F ]
Roottask: Parsing command line config.
configured task 0x02 ():
vm_offs:0 irq:ffff lmcp:ffff allow_cli:0 mcp:ff prio:a0 small:ff mods:0
configured task 0x04 ():
vm_offs:0 irq:ffff lmcp:ffff allow_cli:0 mcp:ff prio:a0 small:ff mods:0
configured task 0x00 (names):
vm_offs:0 irq:ffff lmcp:ffff allow_cli:0 mcp:ff prio:a0 small:ff mods:0
configured task 0x00 (log):
vm_offs:0 irq:ffff lmcp:ffff allow_cli:0 mcp:ff prio:a1 small:ff mods:0
configured task 0x00 (dm_phys):
vm_offs:0 irq:ffff lmcp:ffff allow_cli:0 mcp:ff prio:a0 small:ff mods:0
configured task 0x00 (simple_ts):
vm_offs:0 irq:ffff lmcp:ffff allow_cli:0 mcp:ff prio:a0 small:ff mods:0
configured task 0x00 (l4io):
vm_offs:0 irq:ffff lmcp:ffff allow_cli:1 mcp:ff prio:a3 small:ff mods:0
configured task 0x00 (rtc):
vm_offs:0 irq:ffff lmcp:ffff allow_cli:1 mcp:ff prio:10 small:ff mods:0
configured task 0x00 (l4con):
vm_offs:0 irq:ffff lmcp:ffff allow_cli:1 mcp:ff prio:10 small:ff mods:0
configured task 0x00 (l4exec):
vm_offs:0 irq:ffff lmcp:ffff allow_cli:0 mcp:ff prio:a0 small:ff mods:0
configured task 0x00 (loader):
vm_offs:0 irq:ffff lmcp:ffff allow_cli:1 mcp:ff prio:a0 small:ff mods:0
configured task 0x00 (vmlinuz26):
configured task 0x00 (bmodfs):
vm_offs:0 irq:ffff lmcp:ffff allow_cli:0 mcp:ff prio:10 small:ff mods:4
Roottask: Loading 14 modules.
[36m#05: loading "(nd)/tftpboot/drops/bin/x86_586/l4v2/names"
[m from [[37m02085000[m-[37m0208e174[m] to [002d0000-002d616a][002d7000-002e3000]
entry at [37m0005f384[m via trampoline page code
[36m#06: loading "(nd)/tftpboot/drops/bin/x86_586/l4v2/log --prio 0xA1"
[m from [[37m0208f000[m-[37m02097354[m] to [00400000-00406c8a][00407000-00439890]
entry at [37m00060390[m via trampoline page code
[36m#07: loading "(nd)/tftpboot/drops/bin/x86_586/l4v2/dm_phys --isa=0x00800000"
[m from [[37m02098000[m-[37m020ac174[m] to [01500000-01511dea][01512000-0151c000]
entry at [37m00061398[m via trampoline page code
[36m#08: loading "(nd)/tftpboot/drops/bin/x86_586/l4v2/simple_ts -t 900"
[m from [[37m020ad000[m-[37m020b7354[m] to [01400000-0140854a][01409000-0141b050]
entry at [37m00062390[m via trampoline page code
[36m#09: loading "(nd)/tftpboot/drops/bin/x86_586/l4v2/rtc"
[m from [[37m020b8000[m-[37m020bf174[m] to [01080000-01084200][01085000-0108a000]
entry at [37m00063384[m via trampoline page code
[36m#0a: loading "(nd)/tftpboot/drops/bin/x86_586/l4v2/l4io --noirq"
[m from [[37m020c0000[m-[37m0210f174[m] to [00b80000-00ba2a32][00ba3000-00bf0000]
entry at [37m0006538c[m via trampoline page code
[36m#0b: loading "(nd)/tftpboot/drops/bin/x86_586/l4v2/bmodfs"
[m from [[37m02110000[m-[37m02128174[m] to [01220000-012354ee][01236000-01256000]
passing module (nd)/tftpboot/cfg/l4linux26.cfg [ 02129000-021290d2 ]
passing module drops/bin/x86_586/l4v2/libloader.s.so [ 0212a000-021c8755 ]
passing module boot/drops/bin/x86_586/l4v2/vmlinuz26 [ 021c9000-03205e3b ]
passing module (nd)/tftpboot/drops/bin/rd/initrd.gz [ 03206000-03606000 ]
entry at [37m00066470[m via trampoline page code
[36m#0c: loading "(nd)/tftpboot/drops/bin/x86_586/l4v2/l4con --l4io"
[m from [[37m03606000[m-[37m0365a174[m] to [00b00000-00b4d35e][00b4e000-00b79000]
entry at [37m0006738c[m via trampoline page code
[36m#0d: loading "(nd)/tftpboot/drops/bin/x86_586/l4v2/l4exec"
[m from [[37m0365b000[m-[37m03689174[m] to [01100000-0112b80a][0112c000-0114e000]
entry at [37m00068384[m via trampoline page code
[36m#0e: loading "(nd)/tftpboot/drops/bin/x86_586/l4v2/loader --fprov=BMODFS l4linux26.cfg"
[m from [[37m0368a000[m-[37m036b3174[m] to [01300000-01326272][01327000-0134f000]
entry at [37m000693a4[m via trampoline page code
rtc | Date:01.03.2008 Time:23:02:14
con | Using fast memcpy.
simplets| parse_args(): Too many tasks (900) -- limiting to 891!
simplets| Configured for 891 tasks.
io | do_args(): Disabling internal IRQ handling.
io | PCI: Using configuration type 1
io | PCI: Probing PCI hardware
io | PCI: Probing PCI hardware (bus 00)
io | PCI: PIIX3: Enabling Passive Release on 00:01.0
io | Limiting direct PCI/PCI transfers.
io | Activating ISA DMA hang workarounds.
io | 00000000-ffffffff : PCI mem
io | f0000000-f1ffffff : Cirrus Logic GD 5446
io | f2000000-f2000fff : Cirrus Logic GD 5446
io | 0000-ffff : PCI IO
io | 0cf8-0cff : PCI conf1
io | c000-c00f : Intel Corp. 82371SB PIIX3 IDE [Natoma/Triton II]
io | c100-c1ff : Realtek Semiconductor Co., Ltd. RTL-8029(AS)
con | Character size is 8x14, font has 256 characters
con | VESA reports 800x600 at 16 1600bpl (00bb) [4096kB]
con | Color mapping: red=11:5 green=5:6 blue=0:5 res=0:0
con | No supported accelerated graphics card detected
io | Remapping I/O memory f0000000-f0400000 cached
con | Mapped I/O video mem f0000000 => 02000000+000000 [4096kB] via l4io
con | Using MMXEXT for colorspace transform
con | L4INPUT: !!! W A R N I N G !!!
con | L4INPUT: Please, do not use Fiasco's "-esc" with L4INPUT.
con | L4INPUT: !!! W A R N I N G !!!
con | L4INPUT: Registered 0xb03c80 for callbacks.
con | serio: i8042 AUX port at 0x60,0x64 irq 12
con | serio: i8042 KBD port at 0x60,0x64 irq 1
con | input: ImExPS/2 Generic Explorer Mouse on isa0060/serio1
con | input: AT Translated Set 2 keyboard on isa0060/serio0
con | input: PC Speaker
con | input: L4 input event injector
con | L4 input event injector: IRQ handler up
con | connect "ImExPS/2 Generic Explorer Mouse", isa0060/serio1/input0
con | connect "AT Translated Set 2 keyboard", isa0060/serio0/input0
con | connect "PC Speaker", isa0061/input0
con | connect "L4 input event injector", l4/sys
con | Running as C.02. Video mode is 800x600 at 16.
bmodfs | Passed the following modules:
bmodfs | module "(nd)/tftpboot/cfg/l4linux26.cfg" (1kB)
bmodfs | module "(nd)/tftpboot/drops/bin/x86_586/l4v2/libloader.s.so" (634kB
bmodfs : )
bmodfs | module "(nd)/tftpboot/drops/bin/x86_586/l4v2/vmlinuz26" (16628kB)
bmodfs | module "(nd)/tftpboot/drops/bin/rd/initrd.gz" (4096kB)
loader | sleeping for 2000 ms
exec | vmlinuz26: Loading
exec | vmlinuz26: Interpreter section found, contains "/usr/lib/libc.so.1"
exec | vmlinuz26: Saved 910939 bytes of symbols
exec | libloader.s.so: Loading
exec | libloader.s.so: Saved 26701 bytes of symbols
exec | libloader.s.so: Relocating to 00010000
exec | libloader.s.so: Linking
exec | libloader.s.so: Symbol mmap_normal is weak and undefined
exec | libloader.s.so: Symbol munmap_normal is weak and undefined
exec | libloader.s.so: Symbol mmap_normal is weak and undefined
exec | libloader.s.so: Symbol munmap_normal is weak and undefined
exec | libloader.s.so: Relocating entry 00005df0 => 00015df0
exec | libloader.s.so: Setting section flag 0800
exec | vmlinuz26: Setting section flag 0800
loader | vmlinuz26: Starting l4env-style application
loader | [36mvmlinuz26,#f: Starting at l4loader_init (00016630)[m
exec | vmlinuz26: Linking
exec | vmlinuz26: Relocating entry 00400000 => 00400000
exec | vmlinuz26: Packed 737417 bytes of symbols
exec | vmlinuz26: Packed 1868352 bytes of lines
loader | vmlinuz26,#f: Continue at l4env_init (00016640, libloader.s.so)
l4lx | [34;1m======> L4Linux 2.6 starting... <========[0m
l4lx | Linux version 2.6.17-l4 (root at umas1) (gcc version 3.3.1 (Mandrake Lin
l4lx : ux 9.2 3.3.1-2mdk)) #1 Thu Feb 7 22:57:26 UTC 2008
l4lx | Binary name: vmlinuz26
l4lx | Kernel command line (5 args): mem=128M load_ramdisk=1 ramdisk_size=40
l4lx : 96 root=/dev/ram l4env_rd=(nd)/tftpboot/drops/bin/rd/initrd.gz
l4lx | Image: 00400000 - 0071c000 [3184 KiB].
l4lx | Areas: Text: 00400000 - 00631000 [2244kB] (a bit longer)
l4lx | Data: 00631000 - 0067b5ac [297kB]
l4lx | Initdata: 0067e000 - 006af000 [196kB]
l4lx | BSS: 006b0000 - 0071aac0 [426kB]
l4lx | L4RM: [PF] read at 0x006b0000, ip 004019e0, src F.02
l4lx | [F.0] l4rm/lib/src/pagefault.c:78:__unknown_pf():
l4lx | unhandled page fault
l4lx |
l4lx | Exiting with -1
simplets| Exit F.00
[===============================================]
What must be mapped to the BSS area and why it may be unsuccessful? These page faults, as I understand,
are handled by l4rm library and dm_phys dataspace manager, but what here can be wrong?
my grub entry is:
[===============================================]
title loader + l4lx26 mit BMODFS
kernel $(ROOT)/bootstrap -serial
modaddr 0x02000000
module $(FIASCO) $(FIASCOARGS)
module $(P)/sigma0
module $(P)/roottask 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" allow_cli boot_priority 0xA3 \
task modname "rtc" allow_cli \
task modname "l4con" allow_cli \
task modname "l4exec" boot_priority 0xA0 \
task modname "loader" allow_cli boot_priority 0xA0 \
task modname "vmlinuz26" \
task modname "bmodfs" attached 4 modules
module $(P)/names
module $(P)/log --prio 0xA1
module $(P)/dm_phys --isa=0x00800000
module $(P)/simple_ts -t 900
module $(P)/rtc
module $(P)/l4io --noirq
module $(P)/bmodfs
module $(CFG)/l4linux26.cfg
module $(P)/libloader.s.so
module $(P)/vmlinuz26
module $(S)/rd/initrd.gz
module $(P)/l4con --l4io
module $(P)/l4exec
module $(P)/loader --fprov=BMODFS l4linux26.cfg
vbeset $(VBEMODE)
[===============================================]
and it uses the following l4linux26.cfg:
[===============================================]
modpath "(nd)/tftpboot/drops/bin/x86_586/l4v2"
sleep 2
task "vmlinuz26" "mem=32M load_ramdisk=1 ramdisk_size=4096 root=/dev/ram
l4env_rd=(nd)/tftpboot/drops/bin/rd/initrd.gz showpfexc=1"
all_sects_writable
[===============================================]
as you can probably see, I use a bit old l4linux and l4env sources (downloaded a year or more ago). I think I
missed something simple, but I can't understand what. Please help.
WBR,
Valery
More information about the l4-hackers
mailing list