Problems with the demo CD and qemu
Cedric Roux
Cedric.Roux at eurecom.fr
Thu Feb 10 10:25:27 CET 2005
Hello L4 Hackers,
here follows a description of what I did. My questions come to the end
of the message. Sorry for the length, but I wanted to be clear.
perignan:/home/roux/qemu_try2>wget http://fabrice.bellard.free.fr/qemu/qemu-0.6.1.tar.gz
perignan:/home/roux/qemu_try2>tar -xvzf qemu-0.6.1.tar.gz
perignan:/home/roux/qemu_try2>cd qemu-0.6.1
perignan:/home/roux/qemu_try2/qemu-0.6.1>./configure --target-list=i386-softmmu --prefix=/home/roux/qemu_try2
Install prefix /home/roux/qemu_try2
BIOS directory /home/roux/qemu_try2/share/qemu
binary directory /home/roux/qemu_try2/bin
Manual directory /home/roux/qemu_try2/share/man
ELF interp prefix /usr/gnemul/qemu-%M
Source path /home/roux/qemu_try2/qemu-0.6.1
C compiler gcc
make make
host CPU i386
host big endian no
target list i386-softmmu
gprof enabled no
static build no
SDL support yes
SDL static link yes
mingw32 support no
Adlib support no
FMOD support no
perignan:/home/roux/qemu_try2/qemu-0.6.1>make
... bulding output data ... everything was fine ...
perignan:/home/roux/qemu_try2/qemu-0.6.1>make install
... install output data ... everything was fine ...
perignan:/home/roux/qemu_try2/qemu-0.6.1>cd ..
perignan:/home/roux/qemu_try2>wget http://os.inf.tu-dresden.de/L4/LinuxOnL4/demo-cd/demo-cd-0.1.iso.bz2
... donwload ok ...
perignan:/home/roux/qemu_try2>bunzip2 demo-cd-0.1.iso.bz2
perignan:/home/roux/qemu_try2>bin/qemu -cdrom demo-cd-0.1.iso -boot d -serial stdio
Could not configure '/dev/rtc' to have a 1024 Hz timer. This is not a fatal
error, but for better emulation accuracy either use a 2.6 host Linux kernel or
type 'echo 1024 > /proc/sys/dev/rtc/max-user-freq' as root.
... a lot of output from l4 ...
Now, we are inside qemu, we just choose "L4Linux 2.6 from this cd [dope]".
When linux is there, we try a: telnet 10.0.2.2 (10.0.2.2 is the address
of the localhost, as set by qemu) inside the l4linux window,
and we've got this:
<3>bad: scheduling while atomic!
[<00407efe>] dump_stack+0x1e/0x20
[<0061c3f0>] schedule+0x450/0x490
[<00401b16>] l4x_idle+0x196/0x1a0
[<004049c8>] cpu_idle+0x8/0x10
[<006d0719>] start_kernel+0x1f9/0x260
[<006d4571>] l4env_linux_startup+0x111/0x120
[<00015205>] 0x15205
[<00018198>] 0x18198
<3>bad: scheduling while atomic!
[<00407efe>] dump_stack+0x1e/0x20
[<0061c3f0>] schedule+0x450/0x490
[<004022bf>] l4x_dispatch_message+0x79f/0x11b0
[<00000000>] 0x0
<3>bad: scheduling while atomic!
[<00407efe>] dump_stack+0x1e/0x20
[<0061c3f0>] schedule+0x450/0x490
[<0040bb99>] sys_sched_yield+0x39/0x50
[<0044858a>] do_coredump+0xca/0x2b5
[<0041744a>] get_signal_to_deliver+0x29a/0x310
[<00406811>] do_signal+0x51/0x720
[<00401fbe>] l4x_dispatch_message+0x49e/0x11b0
[<00000000>] 0x0
<3>bad: scheduling while atomic!
[<00407efe>] dump_stack+0x1e/0x20
[<0061c3f0>] schedule+0x450/0x490
[<0061c7b8>] schedule_timeout+0xa8/0xb0
[<0044f253>] do_select+0x363/0x370
[<0044f4d1>] sys_select+0x271/0x410
[<004024c7>] l4x_dispatch_message+0x9a7/0x11b0
[<00000000>] 0x0
<3>bad: scheduling while atomic!
[<00407efe>] dump_stack+0x1e/0x20
[<0061c3f0>] schedule+0x450/0x490
[<0061c7b8>] schedule_timeout+0xa8/0xb0
[<0044f253>] do_select+0x363/0x370
[<0044f4d1>] sys_select+0x271/0x410
[<004024c7>] l4x_dispatch_message+0x9a7/0x11b0
[<00000000>] 0x0
<0>Kernel panic: Aiee, killing interrupt handler!
<0>In interrupt handler - not syncing
This error message is not always the same, I once had:
<3>bad: scheduling while atomic!
[<00407efe>] dump_stack+0x1e/0x20
[<0061c3f0>] schedule+0x450/0x490
[<00401b16>] l4x_idle+0x196/0x1a0
[<004049c8>] cpu_idle+0x8/0x10
[<006d0719>] start_kernel+0x1f9/0x260
[<006d4571>] l4env_linux_startup+0x111/0x120
[<00015205>] 0x15205
[<00018198>] 0x18198
KERNEL: c.3 (tcb=c0301800) killed:
Unhandled trap
EAX 030ded40 EBX 00003293 ECX 00682f00 EDX 030ded48
ESI 00000000 EDI 00682f04 EBP 007d1f04 ESP 007d1f04
EIP 0040e27f EFLAGS 00003206
CS 001b SS 0023 DS 0023 ES 0023 FS 0023 GS 0043
trapno 6, error 00000000, from user mode
We have here:
perignan:/home/roux/qemu_try2>uname -a
Linux perignan 2.4.20-8smp #1 SMP Thu Mar 13 17:45:54 EST 2003 i686 i686 i386 GNU/Linux
perignan:/home/roux/qemu_try2>gcc --version
gcc (GCC) 3.2.2 20030222 (Red Hat Linux 3.2.2-5)
My CPU is a Pentium 4 running at 3GHz, I've got 1GB of RAM.
My X Window has a depth of 24, it's a TrueColor visual class.
If you need more informations to solve this, just tell me.
I would like to know:
1 - what's going on? I suspected some kind of weird IRQ firing because
of the use of qemu, but as far as my investigations have told me,
it doesn't seem to be that. I believed that one IRQ went to fast
after a first one, so the linux was not yet out of the driver
code, but the interrupts were enabled, thus crashing everything.
I think I was wrong, no?
2 - how to solve this. What code/doc should I read to debug it, where
to dig. I am a bit confused for now.
Thank you by advance for your help.
Best regards,
Cedric.
More information about the l4-hackers
mailing list