From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jeremy Fitzhardinge Subject: Re: [PATCH] Refactor hypercall infrastructure Date: Fri, 14 Sep 2007 13:53:26 -0700 Message-ID: <46EAF4C6.8090903@goop.org> References: <11897991353793-git-send-email-aliguori@us.ibm.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: 7bit Cc: kvm-devel@lists.sourceforge.net, Avi Kivity , Ingo Molnar , Dor Laor , Rusty Russell , linux-kernel@vger.kernel.org To: Anthony Liguori Return-path: In-Reply-To: <11897991353793-git-send-email-aliguori@us.ibm.com> Sender: linux-kernel-owner@vger.kernel.org List-Id: kvm.vger.kernel.org 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. > I guess it would be pretty rude/unlikely for these opcodes to get reused in other implementations... But couldn't you make the page trap instead, rather than relying on an instruction fault? > It also introduces the infrastructure to probe for hypercall available via > CPUID leaves 0x40000002. CPUID leaf 0x40000003 should be filled out by > userspace. > Is this compatible with Xen's (and other's) use of cpuid? That is, 0x40000000 returns a hypervisor-specific signature in e[bcd]x, and eax has the max hypervisor leaf. J