|
@@ -208,6 +208,9 @@ static void __init xen_banner(void)
|
|
|
xen_feature(XENFEAT_mmu_pt_update_preserve_ad) ? " (preserve-AD)" : "");
|
|
|
}
|
|
|
|
|
|
+#define CPUID_THERM_POWER_LEAF 6
|
|
|
+#define APERFMPERF_PRESENT 0
|
|
|
+
|
|
|
static __read_mostly unsigned int cpuid_leaf1_edx_mask = ~0;
|
|
|
static __read_mostly unsigned int cpuid_leaf1_ecx_mask = ~0;
|
|
|
|
|
@@ -241,6 +244,11 @@ static void xen_cpuid(unsigned int *ax, unsigned int *bx,
|
|
|
*dx = cpuid_leaf5_edx_val;
|
|
|
return;
|
|
|
|
|
|
+ case CPUID_THERM_POWER_LEAF:
|
|
|
+ /* Disabling APERFMPERF for kernel usage */
|
|
|
+ maskecx = ~(1 << APERFMPERF_PRESENT);
|
|
|
+ break;
|
|
|
+
|
|
|
case 0xb:
|
|
|
/* Suppress extended topology stuff */
|
|
|
maskebx = 0;
|