Re: FreeBSD image hangs during boot

Aurelien Jarno
2007-10-10T20:42:29Z

On Tue, Oct 02, 2007 at 02:38:19PM +0200, Avi Kivity wrote:
> Aurelien Jarno wrote:
> > Avi Kivity a écrit :
> >
> >> Aurelien Jarno wrote:
> >>
> >>> Hi all,
> >>>
> >>> That's not something new, but I never seen the problem mentioned here.
> >>> FreeBSD does not work on KVM, approximately since the lapic merge.
> >>>
> >>> However, that does not seem related to lapic, as using -no-kvm-irqchip
> >>> does not help. With -no-kvm I get a page fault in kernel mode, while the
> >>> normal QEMU (0.9.0 or CVS) does not have this problem.
> >>>
> >>> This can be easily reproduced with the latest installation CD:
> >>> ftp://ftp.freebsd.org/pub/FreeBSD/ISO-IMAGES-i386/6.2/6.2-RELEASE-i386-bootonly.iso
> >>>
> >>>
> >>>
> >> It complains about the RSDT checksum. Running with -no-acpi works
> >> around the problem (it gets to some country selection screen). So it
> >> looks like the ACPI tables are messed up.
> >>
> >
> > The RSDT checksum problem is not new, but it was harmless on previous
> > versions (like kvm-37).
> >
> > Using -no-acpi, I am able to boot the machine with -no-kvm, but the
> > guest still hang with -no-acpi and with -no-kvm-irqchip or lapic
> > enabled. At least on AMD64, I haven't tested yet on an Intel machine.
> >
> >
>
> Hangs on AMD here as well; works on intel (with -no-acpi).

I have finally found time to bisect the problem. The commit that has
broken FreeBSD on AMD is already a bit old:

commit aa38840d3d2e0a804e628077df8d8879b496d741
Author: Rusty Russell <rusty-8n+1lVoiYb80n/F98K4Iww@public.gmane.org>
Date: Sun Sep 9 14:12:54 2007 +0300

KVM: Clean up unloved invlpg emulation

invlpg shouldn't fetch the "src" address, since it may not be valid,
however SVM's "solution" which neuters emulation of all group 7
instruction is horrible and breaks kvm-lite. The simplest fix is to
put a special check in for invlpg.

Signed-off-by: Rusty Russell <rusty-8n+1lVoiYb80n/F98K4Iww@public.gmane.org>
Signed-off-by: Avi Kivity <avi-atKUWr5tajBWk0Htik3J/w@public.gmane.org>

--
.''`. Aurelien Jarno | GPG: 1024D/F1BCDB73
: :' : Debian developer | Electrical Engineer
`. `' aurel32-8fiUuRrzOP0dnm+yROfE0A@public.gmane.org | aurelien-rXXEIb44qovR7s880joybQ@public.gmane.org
`- people.debian.org/~aurel32 | www.aurel32.net