From mboxrd@z Thu Jan 1 00:00:00 1970 From: Anthony Liguori Subject: Re: [kvm-devel] [PATCH 2/3] Refactor hypercall infrastructure (v3) Date: Tue, 18 Sep 2007 08:31:04 -0500 Message-ID: <46EFD318.3070401@codemonkey.ws> References: <1190059071649-git-send-email-aliguori@us.ibm.com> <11900590723438-git-send-email-aliguori@us.ibm.com> <46EFCE2A.1020105@qumranet.com> <46EFCED0.5050209@qumranet.com> <46EFD24C.2050701@qumranet.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: Anthony Liguori , kvm-devel@lists.sourceforge.net, Zachary Amsden , Jeremy Fitzhardinge , linux-kernel@vger.kernel.org To: Avi Kivity Return-path: In-Reply-To: <46EFD24C.2050701@qumranet.com> Sender: linux-kernel-owner@vger.kernel.org List-Id: kvm.vger.kernel.org Avi Kivity wrote: > Avi Kivity wrote: > >> 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. >> >> > Okay, vmx_inject_ud() was broken. Fixed now. > Yeah, I was just about to send the patch for that. Sorry about that, I didn't even think to test Windows... Regards, Anthony Liguori