From mboxrd@z Thu Jan 1 00:00:00 1970 From: Aurelien Jarno Subject: Re: KVM 29: Page fault in kernel mode while booting GNU/kFreeBSD Date: Sun, 15 Jul 2007 15:11:09 +0200 Message-ID: <20070715131109.GA6861@hall.aurel32.net> References: <20070714170618.GB6527@hall.aurel32.net> <4699BD63.8010904@qumranet.com> <20070715121159.GO3941@hall.aurel32.net> <469A1373.5090904@qumranet.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Cc: kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org To: Avi Kivity Return-path: Content-Disposition: inline In-Reply-To: <469A1373.5090904-atKUWr5tajBWk0Htik3J/w@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: kvm-devel-bounces-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org Errors-To: kvm-devel-bounces-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org List-Id: kvm.vger.kernel.org On Sun, Jul 15, 2007 at 03:30:43PM +0300, Avi Kivity wrote: > Aurelien Jarno wrote: > >On Sun, Jul 15, 2007 at 09:23:31AM +0300, Avi Kivity wrote: > > > >>Can you bisect kvm to find the offending commit? Basically, you do a > >> > >> git clone git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm.git > >> cd kvm > >> git bisect start drivers/kvm/ > >> bit bisect bad kvm-29 > >> git bisect good kvm-28 > >> > >>git will check out a test candidate; go to your kvm userspace directory > >>and do > >> > >> make -C kernel sync LINUX=/path/to/the/kvm/git/directory > >> make -C kernel > >> sudo make -C kernel install > >> > >>reload the module, test, and issue 'git bisect good' or 'git bisect bad' > >>according to the result. As there are only 25 commits you should be > >>done in 5 cycles. > >> > >> > > > >And the result is: > > > >commit ba9c20c048726037664d303362b688759fdf6e9d > >Author: Luca Tettamanti > >Date: Tue Jun 19 22:41:20 2007 +0200 > > > > KVM: Fix x86 emulator writeback > > > > When the old value and new one are the same the emulator skips the > > write; this is undesirable when the destination is a MMIO area and the > > write shall be performed regardless of the previous value. This > > optimization breaks e.g. a Linux guest APIC compiled without > > X86_GOOD_APIC. > > > > Remove the check and perform the writeback stage in the emulation > > unless > > it's explicitly disabled (currently push and some 2 bytes instructions > > may disable the writeback). > > > > Signed-Off-By: Luca Tettamanti > > Signed-off-by: Avi Kivity > > > > > >I have tried to revert this patch directly into kvm-29, and it also > >fixes the problem. > > > > > > From a cursory inspection, looks like the cmov instructions were broken > by the patch. Can you try the attached patch on top of kvm-29? > Unfortunately this does not fix the problem. -- .''`. 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 ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/