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