xen/25430-x86-AMD-Fam15-reenable-topoext.patch
Charles Arnold 3f55414718 - Update to Xen 4.1.3 c/s 23336
- Upstream or pending upstream patches from Jan
  25587-fix-off-by-one-parsing-error.patch
  25616-x86-MCi_CTL-default.patch
  25617-vtd-qinval-addr.patch
  25688-x86-nr_irqs_gsi.patch
- bnc#773393 - VUL-0: CVE-2012-3433: xen: HVM guest destroy p2m
  teardown host DoS vulnerability
  CVE-2012-3433-xsa11.patch
- bnc#773401 - VUL-1: CVE-2012-3432: xen: HVM guest user mode MMIO
  emulation DoS
  25682-x86-inconsistent-io-state.patch

- bnc#762484 - VUL-1: CVE-2012-2625: xen: pv bootloader doesn't
  check the size of the bzip2 or lzma compressed kernel, leading to
  denial of service
  25589-pygrub-size-limits.patch

- Make it build with latest TeXLive 2012 with new package layout

OBS-URL: https://build.opensuse.org/package/show/Virtualization/xen?expand=0&rev=196
2012-08-10 21:38:41 +00:00

49 lines
1.7 KiB
Diff

# HG changeset patch
# User Andreas Herrmann <andreas.herrmann3@amd.com>
# Date 1338452142 -7200
# Node ID d7ae665b03afb88a813c6f197612215697eaf8f6
# Parent a120d24f90fb5e94244331e530aacf5b0ea86f25
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@amd.com>
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Keir Fraser <keir@xen.org>
Committed-by: Jan Beulich <jbeulich@suse.com>
--- a/xen/arch/x86/cpu/amd.c
+++ b/xen/arch/x86/cpu/amd.c
@@ -612,6 +612,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. */