From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andre Przywara Subject: [PATCH]: blacklist new AMD CPUID bits for PV domains Date: Tue, 25 Jan 2011 15:14:21 +0100 Message-ID: <4D3EDABD.50202@amd.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------030209030603000506010609" Return-path: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Keir Fraser Cc: xen-devel List-Id: xen-devel@lists.xenproject.org --------------030209030603000506010609 Content-Type: text/plain; charset="ISO-8859-1"; format=flowed Content-Transfer-Encoding: 7bit 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 -- Andre Przywara AMD-Operating System Research Center (OSRC), Dresden, Germany --------------030209030603000506010609 Content-Type: text/x-patch; name="pv_mask_new_cpuid.patch" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="pv_mask_new_cpuid.patch" Content-Description: pv_mask_new_cpuid.patch diff -r 003acf02d416 xen/arch/x86/traps.c --- a/xen/arch/x86/traps.c Thu Jan 20 17:04:06 2011 +0000 +++ b/xen/arch/x86/traps.c Fri Jan 21 13:51:38 2011 +0100 @@ -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: --------------030209030603000506010609 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel --------------030209030603000506010609--