Problem with Fiasco under QEMU

Alexander Valitov valitov79 at mail.ru
Tue Mar 17 14:00:20 CET 2009


Hi,

I've encountered problems under QEMU.

Problems occur in many different configs but this is the simplest way to
reproduce:

Build Fiasco with default config, only "Handle and preserve segments" shall
be turned on.
Configure ORe for RTL-8139 NIC only and build L4Env.
Build L4Linux with x86-ux_defconfig, only "ORe stub driver" shall be turned
on.

Boot with following QEMU command:
qemu /dev/sdb -no-kqemu -serial telnet:localhost:5555,server

NOTES:
1. I use USB flash stick but image file could be used as well with the same
result.
2. You may pass option -net nic,model=rtl8139 but result will be the same

Error log (in second case uKernel crashes):
If you don't load ORe module you should see:

l4lx    | setup_l4env_memory: Forcing superpages for main memory
DMphys  | [9.0] dm_phys/server/src/open.c:98:__create_ds():
DMphys  |  DMphys: memory allocation size 65536KB pool 0 failed!
l4lx    | [F.4] dm_mem/lib/clientlib/src/open.c:80:l4dm_mem_open():
l4lx    |  libdm_mem: open dataspace at 9.00 failed (ret -2, exc 0)
l4lx    | setup_l4env_memory: Can't get main memory of 64MB: out of
memory(-2)!
l4lx    | Main thread running, waiting...
DMphys  | DMphys memory pools:
...
<CUT: Here is long output from DMphys>
...
DMphys  | total size 00486000 (4632kB, 5MB)
l4lx    | Terminating L4Linux.

If you do load ORe module you should see:

l4lx    | Using tamed mode.
ROOT: Task #0f is not allowed to execute cli/sti
loader  | vmlinuz,#10: WARNING: Can't map I/O space, ROOT denies page
(result=0
loader  : 0004000)
loader  | vmlinuz,#10: Not allowed to perform any I/O
l4lx    | Got 0 out of 65536 I/O ports

DOUBLE FAULT!
EAX=c02c07d0  ESI=c02c0000  DS=0023
EBX=c0401000  EDI=00000000  ES=0023
ECX=07e77000  EBP=c02c06c8  GS=0043
EDX=00000000  ESP=c04017cc  SS=0010   ESP0=c02c0800
EFL=00200083  EIP=f002f4c6  CS=0008
Return reboots, "k" tries to enter the L4 kernel debugger...

GRUB script:

title TEST L4LinuxUX + ORE
kernel /boot/test/bootstrap
modaddr 0x02000000
module /boot/test/main -nokdb -serial_esc -comspeed 115200 -comport 1
module /boot/test/sigma0
module /boot/test/roottask task modname "loader" allow_cli task modname
"bmodfs" attached 5 modules
module /boot/test/names
module /boot/test/log
module /boot/test/l4io
module /boot/test/events
module /boot/test/dm_phys --isa=0x00800000 -v --events
module /boot/test/simple_ts -t 300
module /boot/test/rtc
module /boot/test/ore
module /boot/test/l4con
module /boot/test/bmodfs
module /boot/test/l4linux.cfg
module /boot/test/libloader.s.so
module /boot/test/libld-l4.s.so
module /boot/test/vmlinuz
module /boot/L4Linux/drops.rd
module /boot/test/loader --fprov=BMODFS l4linux.cfg
vbeset 0x117

l4linux.cfg:
task "vmlinuz" "earlyprintk=yes mem=64M load_ramdisk=1 ramdisk_size=16384
root=/dev/ram l4env_rd=drops.rd"
 allow_vga
 all_sects_writable

My toolchain:
 GCC (Debian 4.3.2-1.1) 4.3.2
 GNU Binutils for Debian 2.18.0.20080103
 QEMU version 0.9.1

Best Regards,
  Alexander Valitov
-- 
View this message in context: http://www.nabble.com/Problem-with-Fiasco-under-QEMU-tp22558464p22558464.html
Sent from the L4 mailing list archive at Nabble.com.





More information about the l4-hackers mailing list