Nitin A Kamble
2009-Apr-16 22:32 UTC
[Xen-devel] [Patch] [HVM] Limit MTRR virtualization for VMX guests to 8 registers
Hi Keir, Bellow is the patch for xen-unstable tree which limits MTRR virtualization for VMX guests to 8 registers. Please comment/Apply. Thanks & Regards, Nitin # HG changeset patch # User Nitin A Kamble <nitin.a.kamble@intel.com> # Date 1239916751 25200 # Branch mtrrcap_fix_for_guest # Node ID 276c1008200895845f47fe61dd9e42e47dbbc772 # Parent 120d3c67951bac0f4c31b0b828500ee6ac23b0b4 Limit MTRR virtualization to 8 registers for VMX guests. Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com> diff -r 120d3c67951b -r 276c10082008 xen/arch/x86/cpu/mtrr/generic.c --- a/xen/arch/x86/cpu/mtrr/generic.c Fri Apr 10 06:58:04 2009 +0100 +++ b/xen/arch/x86/cpu/mtrr/generic.c Thu Apr 16 14:19:11 2009 -0700 @@ -55,6 +55,7 @@ void mtrr_save_fixed_ranges(void *info) } /* Grab all of the MTRR state for this CPU into *state */ +/* This function is called only for Intel processors */ void __init get_mtrr_state(void) { unsigned int i; @@ -83,6 +84,10 @@ void __init get_mtrr_state(void) /* Store mtrr_cap for HVM MTRR virtualisation. */ rdmsrl(MTRRcap_MSR, mtrr_state.mtrr_cap); + + /* Virtualization of max 8 MTRRs is supported */ + if ((mtrr_state.mtrr_cap & 0xff) > 8) + mtrr_state.mtrr_cap = (mtrr_state.mtrr_cap & ~0xff) | 0x8; } _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Keir Fraser
2009-Apr-17 08:04 UTC
[Xen-devel] Re: [Patch] [HVM] Limit MTRR virtualization for VMX guests to 8 registers
On 16/04/2009 23:32, "Nitin A Kamble" <nitin.a.kamble@intel.com> wrote:> Hi Keir, > Bellow is the patch for xen-unstable tree which limits MTRR virtualization > for VMX guests to 8 registers. Please comment/Apply.mtrr_state.mtrr_cap isn''t directly plumbed to guests. Guests get their own hardcoded virtualised value for mtrr_cap, set up in arch/x86/hvm/mtrr.c. The physical mtrr_state.mtrr_cap is only used for interpreting physical MTRR info as part of PAT/MTRR virtualisation. So all looks correct to me as is. -- Keir _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Kamble, Nitin A
2009-Apr-17 20:57 UTC
[Xen-devel] RE: [Patch] [HVM] Limit MTRR virtualization for VMX guests to 8 registers
Keir, You are right. The problem I was trying to fix was observed on RHEL5.3 Xen, and I don''t see that issue with the xen-unstable tree. Thanks & Regards, Nitin Linux Open Source Technology Center, Intel Corporation ---------------------------------------------------------------------------- The Mind is like a parachute; it works much better when it''s open.>-----Original Message----- >From: Keir Fraser [mailto:keir.fraser@eu.citrix.com] >Sent: Friday, April 17, 2009 1:05 AM >To: Kamble, Nitin A; xen-devel@lists.xensource.com >Subject: Re: [Patch] [HVM] Limit MTRR virtualization for VMX guests to 8 >registers > >On 16/04/2009 23:32, "Nitin A Kamble" <nitin.a.kamble@intel.com> wrote: > >> Hi Keir, >> Bellow is the patch for xen-unstable tree which limits MTRR >virtualization >> for VMX guests to 8 registers. Please comment/Apply. > >mtrr_state.mtrr_cap isn''t directly plumbed to guests. Guests get their own >hardcoded virtualised value for mtrr_cap, set up in arch/x86/hvm/mtrr.c. >The >physical mtrr_state.mtrr_cap is only used for interpreting physical MTRR >info as part of PAT/MTRR virtualisation. So all looks correct to me as is. > > -- Keir >_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel