: blacklist new AMD CPUID bits for PV domains
PATCH 1/1 : blacklist new AMD CPUID bits for PV domains
Hi,
there are some new CPUID bits (and leaves) which Dom0 and PV domains should not see to avoid trouble, since we don't emulate the features. The most prominent one is a topology leaf, which contains information specific to the physical CPU, not the virtual one. To avoid confusion (and possibly crashes) due to a confused Dom0 scheduler simply disable these bits.
Signature · 2 lines
Andre Przywara AMD-Operating System Research Center (OSRC), Dresden, Germany
xen/arch/x86/traps.c +5 -0
@@ -802,11 +802,16 @@__clear_bit (X86_FEATURE_IBS %32 , &c);__clear_bit (X86_FEATURE_SKINIT %32 , &c);__clear_bit (X86_FEATURE_WDT %32 , &c); +__clear_bit (X86_FEATURE_LWP %32 , &c); +__clear_bit (X86_FEATURE_NODEID_MSR %32 , &c); +__clear_bit (X86_FEATURE_TOPOEXT %32 , &c);break ;case 5 :/* MONITOR/MWAIT */ case 0xa :/* Architectural Performance Monitor Features */ case 0x8000000a :/* SVM revision and features */ case 0x8000001b :/* Instruction Based Sampling */ +case 0x8000001c :/* Light Weight Profiling */ +case 0x8000001e :/* Extended topology reporting */ a = b = c = d =0 ;break ;default :
_______________________________________________
Xen-devel mailing list
[email protected]
http://lists.xensource.com/xen-devel
Quoted 10 lines · Andre Przywara
Hi,
there are some new CPUID bits (and leaves) which Dom0 and PV domains should not see to avoid trouble, since we don't emulate the features. The most prominent one is a topology leaf, which contains information specific to the physical CPU, not the virtual one. To avoid confusion (and possibly crashes) due to a confused Dom0 scheduler simply disable these bits.
Signed-off-by Andre Przywara <[email protected]>
Andre,
You also need to mask these in tools/libxc/xc_cpuid_x86.c, right? The hypervisor code you modify affects only dom0.
-- Keir