Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756392AbXIRNNS (ORCPT ); Tue, 18 Sep 2007 09:13:18 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1754265AbXIRNNE (ORCPT ); Tue, 18 Sep 2007 09:13:04 -0400 Received: from il.qumranet.com ([82.166.9.18]:45929 "EHLO il.qumranet.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754179AbXIRNNC (ORCPT ); Tue, 18 Sep 2007 09:13:02 -0400 Message-ID: <46EFCED0.5050209@qumranet.com> Date: Tue, 18 Sep 2007 15:12:48 +0200 From: Avi Kivity User-Agent: Thunderbird 2.0.0.0 (X11/20070419) MIME-Version: 1.0 To: Anthony Liguori CC: kvm-devel@lists.sourceforge.net, Zachary Amsden , Jeremy Fitzhardinge , linux-kernel@vger.kernel.org Subject: Re: [kvm-devel] [PATCH 2/3] Refactor hypercall infrastructure (v3) References: <1190059071649-git-send-email-aliguori@us.ibm.com> <11900590723438-git-send-email-aliguori@us.ibm.com> <46EFCE2A.1020105@qumranet.com> In-Reply-To: <46EFCE2A.1020105@qumranet.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1488 Lines: 40 Avi Kivity wrote: > Anthony Liguori wrote: > >> This patch refactors the current hypercall infrastructure to better support live >> migration and SMP. It eliminates the hypercall page by trapping the UD >> exception that would occur if you used the wrong hypercall instruction for the >> underlying architecture and replacing it with the right one lazily. >> >> It also introduces the infrastructure to probe for hypercall available via >> CPUID leaves 0x40000000. CPUID leaf 0x40000001 should be filled out by >> userspace. >> >> A fall-out of this patch is that the unhandled hypercalls no longer trap to >> userspace. There is very little reason though to use a hypercall to communicate >> with userspace as PIO or MMIO can be used. There is no code in tree that uses >> userspace hypercalls. >> >> >> > > > Surprisingly, this patch kills Windows XP (ACPI HAL). I'll try to find > out why. > > Not trapping #UD brings things back to normal. So, Windows likes to execute undefined instructions, and we don'd handle these well. I really should start asking for unit tests for these kinds of things (execute undefined instruction, see the #UD, say ok). -- error compiling committee.c: too many arguments to function - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/