[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] kernel-kqemu and linux
From: |
Kevin F. Quinn |
Subject: |
Re: [Qemu-devel] kernel-kqemu and linux |
Date: |
Tue, 21 Mar 2006 08:48:53 +0100 |
Sorry, still fails at the same place. It recognises the APIC:
...
Found and enabled local APIC!
mapped APIC to ffffd000 (fee00000)
...
I noticed that before the 'kernel BUG' message I got a warning that
scrolled off the screen; so I halted qemu and captured it piece by
piece:
...
hda: cache flushes not supported
hda:Badness in blk_remove_plug at block/ll_rw_blk.c:1436
xx blk_remove_plug+0x69/0x70
xx ide_do_request+0x3c2/0x3f0
xx do_ide_request+0x24/0x30
xx generic_unplug_device+0x10/0x20
xx block_sync_page+0x3a/0x50
...
xx kernel_thread_helper+0x5/0xc
hda1 hda2 hda3
------------[ cut here ]------------
kernel BUG at mm/swap.c:215!
... then as before (I can transcribe the whole trace if you want).
The warning is the following code:
int blk_remove_plug(request_queue_t *q)
{
WARN_ON(!irqs_disabled())
"Badness in" comes from the WARN_ON macro. So it appears that linux
expects the irqs to have been disabled, which they are in the normal
emulation but not in the virtualised kernel mode.
Without -kernel-kqemu I don't get the warning (or the BUG):
...
hda: cache flushes not supported
hda1 hda2 hda3
hdc: ATAPI 4X CD-ROM drive, 512kB Cache
and it boots up & works fine.
Kev.
On Tue, 21 Mar 2006 00:39:15 +0100
Fabrice Bellard <address@hidden> wrote:
> Try the following patch:
>
> diff -u -w -r1.39 helper2.c
> --- helper2.c 4 Dec 2005 18:46:06 -0000 1.39
> +++ helper2.c 20 Mar 2006 23:38:51 -0000
> @@ -110,6 +110,7 @@
> env->pat = 0x0007040600070406ULL;
> env->cpuid_ext_features = 0;
> env->cpuid_features |= CPUID_FXSR | CPUID_MMX | CPUID_SSE |
> CPUID_SSE2
> | CPUID_PAE | CPUID_SEP;
> + env->cpuid_features |= CPUID_APIC; /* TEST */
> env->cpuid_xlevel = 0;
> {
> const char *model_id = "QEMU Virtual CPU version "
> QEMU_VERSION;
>
> If it works then APIC usage will become the default on i386...
>
> Fabrice.
>
> Kevin F. Quinn wrote:
> > Hi.
> >
> > I'm successfully running Windows 2000 guest on qemu (linux host)
> > with kernel-kqemu, and the speed is excellent. However I can't get
> > linux to run as a guest (still linux host); no matter what kernel
> > or kernel config I create, it always BUGs at the same point:
> >
> > hda: hda1 hda2 hda3
> > ------------[ cut here ]------------
> > kernel BUG at mm/swap.c:215!
> > invalid operand: 0000 [#1]
> > Modules linked in:
> > CPU: 0
> > EIP: 0060:[<c0141981>] Not tainted VLI
> > EFLAGS: 00010256 (2.6.15-gentoo-r1)
> > EIP is at release_pages+0x131/0x140
> > eax: 00000000 ebx: c12f98e0 ecx: c0458c94 edx: c12f98e0
> > esi: 00000000 edi: 00000000 ebp: 00000001 esp: d7fc1da8
> > ds: 007b es: 007b ss: 0068
> > Process swapper (pid: 1, threadinfo=d7fc0000 task=d7fe4a10)
> > Stack: 00000000 00000000 00000000 c136eca8 d7fc1e30 00000040
> > 0000000e c12fb160
> > c0458bc0 00000001 c04f2ac0 c0141bca c04f2ac8 00000001
> > 00000000 d7fc1e28
> > 00000001 d7fc1e28 00000001 00000001 ffffffff c01419b5
> > d7fc1e30 00000001
> > Call TRace:
> > [<c0141bca>] __pagevec_lru_add_active+0xaa/0xc0
> > [<c01419b5>] __pagevec_release+0x25/0x30
> > [<c0142119>] invalidate_mapping_pages+0xf9/0x100
> > [<c014213e>] invalidate_inode_pages+0x1e/0x30
> > [<c015d658>] kill_bdev+0x19/0x40
> > [<c0232db9>] add_disk+0x49/0x60
> > ... (during ide probe)
> >
> >
> > If kernel-kqemu works with linux 2.6 for anyone, could you email
> > a .config that works?)
> >
> > Thanks,
> >
> >
> > ------------------------------------------------------------------------
> >
> > _______________________________________________
> > Qemu-devel mailing list
> > address@hidden
> > http://lists.nongnu.org/mailman/listinfo/qemu-devel
>
>
>
> _______________________________________________
> Qemu-devel mailing list
> address@hidden
> http://lists.nongnu.org/mailman/listinfo/qemu-devel
--
Kevin F. Quinn
signature.asc
Description: PGP signature