From: Aurelien J. <aur...@au...> - 2007-10-10 20:42:35
|
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 <ru...@ru...> 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 <ru...@ru...> Signed-off-by: Avi Kivity <av...@qu...> -- .''`. Aurelien Jarno | GPG: 1024D/F1BCDB73 : :' : Debian developer | Electrical Engineer `. `' au...@de... | aur...@au... `- people.debian.org/~aurel32 | www.aurel32.net |