[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [RFC 1/8] x86/timing: Command line parameter to disable ARAT
--- xen/arch/x86/cpu/amd.c | 2 +- xen/arch/x86/cpu/common.c | 3 +++ xen/arch/x86/cpu/cpu.h | 2 ++ xen/arch/x86/cpu/intel.c | 5 +++-- 4 files changed, 9 insertions(+), 3 deletions(-) diff --git a/xen/arch/x86/cpu/amd.c b/xen/arch/x86/cpu/amd.c index 27b7f71..8d86d98 100644 --- a/xen/arch/x86/cpu/amd.c +++ b/xen/arch/x86/cpu/amd.c @@ -502,7 +502,7 @@ static void __devinit init_amd(struct cpuinfo_x86 *c) * Family 0x12 and above processors have APIC timer * running in deep C states. */ - if (c->x86 > 0x11) + if ( opt_arat && c->x86 > 0x11) set_bit(X86_FEATURE_ARAT, c->x86_capability); /* diff --git a/xen/arch/x86/cpu/common.c b/xen/arch/x86/cpu/common.c index e1220e6..7e829b2 100644 --- a/xen/arch/x86/cpu/common.c +++ b/xen/arch/x86/cpu/common.c @@ -18,6 +18,9 @@ static bool_t __cpuinitdata use_xsave = 1; boolean_param("xsave", use_xsave); +bool_t __cpuinitdata opt_arat = 1; +boolean_param("arat", opt_arat); + unsigned int __devinitdata opt_cpuid_mask_ecx = ~0u; integer_param("cpuid_mask_ecx", opt_cpuid_mask_ecx); unsigned int __devinitdata opt_cpuid_mask_edx = ~0u; diff --git a/xen/arch/x86/cpu/cpu.h b/xen/arch/x86/cpu/cpu.h index 72c41ca..dde4d3a 100644 --- a/xen/arch/x86/cpu/cpu.h +++ b/xen/arch/x86/cpu/cpu.h @@ -15,6 +15,8 @@ extern unsigned int opt_cpuid_mask_ecx, opt_cpuid_mask_edx; extern unsigned int opt_cpuid_mask_xsave_eax; extern unsigned int opt_cpuid_mask_ext_ecx, opt_cpuid_mask_ext_edx; +extern bool_t opt_arat; + extern int get_model_name(struct cpuinfo_x86 *c); extern void display_cacheinfo(struct cpuinfo_x86 *c); diff --git a/xen/arch/x86/cpu/intel.c b/xen/arch/x86/cpu/intel.c index 31b69c9..fa0851b 100644 --- a/xen/arch/x86/cpu/intel.c +++ b/xen/arch/x86/cpu/intel.c @@ -226,8 +226,9 @@ static void __devinit init_intel(struct cpuinfo_x86 *c) set_bit(X86_FEATURE_NONSTOP_TSC, c->x86_capability); set_bit(X86_FEATURE_TSC_RELIABLE, c->x86_capability); } - if ((c->cpuid_level >= 0x00000006) && - (cpuid_eax(0x00000006) & (1u<<2))) + if ( opt_arat && + (c->cpuid_level >= 0x00000006) && + (cpuid_eax(0x00000006) & (1u<<2))) set_bit(X86_FEATURE_ARAT, c->x86_capability); } -- 1.7.10.4 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |