From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Yang, Sheng" Subject: Re: x2APIC emulation for HVM guest Date: Thu, 2 Dec 2010 14:49:46 +0800 Message-ID: <201012021449.47110.sheng.yang@intel.com> References: <201012021009.36497.sheng.yang@intel.com> <201012021423.16866.sheng.yang@intel.com> <4CF74035.5020909@redhat.com> Mime-Version: 1.0 Content-Type: Text/Plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <4CF74035.5020909@redhat.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Paolo Bonzini Cc: "xen-devel@lists.xensource.com" , Keir Fraser List-Id: xen-devel@lists.xenproject.org On Thursday 02 December 2010 14:44:05 Paolo Bonzini wrote: > On 12/02/2010 07:23 AM, Yang, Sheng wrote: > > On Thursday 02 December 2010 13:48:15 Paolo Bonzini wrote: > >> On 12/02/2010 06:43 AM, Yang, Sheng wrote: > >>> I think we can do it step by step. This patch is big enough. > >> > >> Yes, I agree it can go in as a separate patch. > >> > >>> I'd like to work the direct EOI patch out, but I am thinking about how > >>> to test it... > >> > >> Maybe you can run Xen inside an HVM guest, forcing x2apic mode to be > >> enabled? You do not need nested VMX if you only run PV guests in the > >> guest hypervisor. > > > > I don't know how much work need to be done for this, and if it's worth to > > do for something was not be used in practice(if it would be used in > > practice, then it would be easy for us to test)... > > Maybe it's as easy as this: > > diff --git a/xen/arch/x86/genapic/x2apic.c b/xen/arch/x86/genapic/x2apic.c > --- a/xen/arch/x86/genapic/x2apic.c > +++ b/xen/arch/x86/genapic/x2apic.c > @@ -41,13 +41,13 @@ int x2apic_cmdline_disable(void) > static int probe_x2apic_phys(void) > { > return x2apic && x2apic_phys && x2apic_is_available() && > - iommu_supports_eim(); > + 1; > } > > static int probe_x2apic_cluster(void) > { > return x2apic && !x2apic_phys && x2apic_is_available() && > - iommu_supports_eim(); > + 1; > } > > const struct genapic apic_x2apic_phys = { > > The original Xen x2apic code was not conditional on iommu_supports_eim(). I didn't mean this part. I am just not sure if xen can run as HVM guest smoothly... Would check that later. -- regards Yang, Sheng