[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH] x86/amd: re-enable CPU topology extensions in case BIOS has disabled it



BIOS will switch off the corresponding feature flag on family
15h models 10h-1fh non-desktop CPUs.

The topology extension CPUID leafs are required to detect which
cores belong to the same compute unit. (thread siblings mask is
set accordingly and also correct information about L1i and L2
cache sharing depends on this).

W/o this patch we wouldn't see which cores belong to the same
compute unit and also cache sharing information for L1i and L2
would be incorrect on such systems.

Signed-off-by: Andreas Herrmann <andreas.herrmann3@xxxxxxx>
Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>

--- a/xen/arch/x86/cpu/amd.c
+++ b/xen/arch/x86/cpu/amd.c
@@ -471,6 +471,21 @@ static void __devinit init_amd(struct cp
                }
        }
 
+       /* re-enable TopologyExtensions if switched off by BIOS */
+       if ((c->x86 == 0x15) &&
+           (c->x86_model >= 0x10) && (c->x86_model <= 0x1f) &&
+           !cpu_has(c, X86_FEATURE_TOPOEXT) &&
+           !rdmsr_safe(MSR_K8_EXT_FEATURE_MASK, value)) {
+               value |= 1ULL << 54;
+               wrmsr_safe(MSR_K8_EXT_FEATURE_MASK, value);
+               rdmsrl(MSR_K8_EXT_FEATURE_MASK, value);
+               if (value & (1ULL << 54)) {
+                       set_bit(X86_FEATURE_TOPOEXT, c->x86_capability);
+                       printk(KERN_INFO "CPU: Re-enabling disabled "
+                              "Topology Extensions Support\n");
+               }
+       }
+
         amd_get_topology(c);
 
        /* Pointless to use MWAIT on Family10 as it does not deep sleep. */



Attachment: x86-AMD-Fam15-reenable-topoext.patch
Description: Text document

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.