Home Home > GIT Browse
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJiri Kosina <jkosina@suse.cz>2010-04-26 21:07:51 +0200
committerJiri Kosina <jkosina@suse.cz>2010-04-26 21:07:51 +0200
commit3f52976a06f93fb3eff92a53fe1a63ddd85e092f (patch)
treece2a884fcae03d874c4a309074beeb1ae375b030
parentb74123fc540afce6d99cfc0db20f64e5b8b25cfe (diff)
Revert "- patches.fixes/revert-x86-get-multinode-cpu-info-from-msr.patch:"rpm-2.6.32.12-0.2
This reverts commit dbd141c2ae9b365fef472bdda03b5bd6ac12fd22. Conflicts: kernel-source.changes This turned out to be caused by BIOS issue, which is solved on non-engineering samples of Magny Cours CPUs.
-rw-r--r--kernel-source.changes6
-rw-r--r--patches.fixes/revert-x86-get-multinode-cpu-info-from-msr.patch114
-rw-r--r--series.conf2
3 files changed, 0 insertions, 122 deletions
diff --git a/kernel-source.changes b/kernel-source.changes
index 61ac582210..7b667b431f 100644
--- a/kernel-source.changes
+++ b/kernel-source.changes
@@ -1,10 +1,4 @@
-------------------------------------------------------------------
-Mon Apr 26 18:24:18 CEST 2010 - jkosina@suse.cz
-
-- patches.fixes/revert-x86-get-multinode-cpu-info-from-msr.patch:
- Revert "x86-get-multinode-cpu-info-from-msr" from -stable update
- (bnc#599682).
--------------------------------------------------------------------
Mon Apr 26 18:19:00 CEST 2010 - mmarek@suse.cz
- Update kabi files to allow a change in struct xfs_mount.
diff --git a/patches.fixes/revert-x86-get-multinode-cpu-info-from-msr.patch b/patches.fixes/revert-x86-get-multinode-cpu-info-from-msr.patch
deleted file mode 100644
index 1b9dcd3f0b..0000000000
--- a/patches.fixes/revert-x86-get-multinode-cpu-info-from-msr.patch
+++ /dev/null
@@ -1,114 +0,0 @@
-From: Jiri Kosina <jkosina@suse.cz>
-Subject: Revert "x86-get-multinode-cpu-info-from-msr" from -stable update
-References: bnc#599682
-
-This reverts "x86, amd: Get multi-node CPU info from NodeId MSR" patch
-from -stable update, upstream commit id 9d260ebc09a0ad6b5c73e17676df42c7bc75ff64.
-
-It causes kernel panic during boot on AMD Magny Cours.
-
-Signed-off-by: Jiri Kosina <jkosina@suse.cz>
-
-Index: linux-2.6.32-SLE11-SP1/arch/x86/include/asm/cpufeature.h
-===================================================================
---- linux-2.6.32-SLE11-SP1.orig/arch/x86/include/asm/cpufeature.h
-+++ linux-2.6.32-SLE11-SP1/arch/x86/include/asm/cpufeature.h
-@@ -153,7 +153,6 @@
- #define X86_FEATURE_SSE5 (6*32+11) /* SSE-5 */
- #define X86_FEATURE_SKINIT (6*32+12) /* SKINIT/STGI instructions */
- #define X86_FEATURE_WDT (6*32+13) /* Watchdog timer */
--#define X86_FEATURE_NODEID_MSR (6*32+19) /* NodeId MSR */
-
- /*
- * Auxiliary flags: Linux defined - For features scattered in various
-Index: linux-2.6.32-SLE11-SP1/arch/x86/include/asm/msr-index.h
-===================================================================
---- linux-2.6.32-SLE11-SP1.orig/arch/x86/include/asm/msr-index.h
-+++ linux-2.6.32-SLE11-SP1/arch/x86/include/asm/msr-index.h
-@@ -125,7 +125,6 @@
- #define FAM10H_MMIO_CONF_BUSRANGE_SHIFT 2
- #define FAM10H_MMIO_CONF_BASE_MASK 0xfffffff
- #define FAM10H_MMIO_CONF_BASE_SHIFT 20
--#define MSR_FAM10H_NODE_ID 0xc001100c
-
- /* K8 MSRs */
- #define MSR_K8_TOP_MEM1 0xc001001a
-Index: linux-2.6.32-SLE11-SP1/arch/x86/kernel/cpu/amd.c
-===================================================================
---- linux-2.6.32-SLE11-SP1.orig/arch/x86/kernel/cpu/amd.c
-+++ linux-2.6.32-SLE11-SP1/arch/x86/kernel/cpu/amd.c
-@@ -254,36 +254,59 @@ static int __cpuinit nearby_node(int api
-
- /*
- * Fixup core topology information for AMD multi-node processors.
-- * Assumption: Number of cores in each internal node is the same.
-+ * Assumption 1: Number of cores in each internal node is the same.
-+ * Assumption 2: Mixed systems with both single-node and dual-node
-+ * processors are not supported.
- */
- #ifdef CONFIG_X86_HT
- static void __cpuinit amd_fixup_dcm(struct cpuinfo_x86 *c)
- {
-- unsigned long long value;
-- u32 nodes, cores_per_node;
-+#ifdef CONFIG_PCI
-+ u32 t, cpn;
-+ u8 n, n_id;
- int cpu = smp_processor_id();
-
-- if (!cpu_has(c, X86_FEATURE_NODEID_MSR))
-- return;
--
- /* fixup topology information only once for a core */
- if (cpu_has(c, X86_FEATURE_AMD_DCM))
- return;
-
-- rdmsrl(MSR_FAM10H_NODE_ID, value);
--
-- nodes = ((value >> 3) & 7) + 1;
-- if (nodes == 1)
-+ /* check for multi-node processor on boot cpu */
-+ t = read_pci_config(0, 24, 3, 0xe8);
-+ if (!(t & (1 << 29)))
- return;
-
- set_cpu_cap(c, X86_FEATURE_AMD_DCM);
-- cores_per_node = c->x86_max_cores / nodes;
-
-- /* store NodeID, use llc_shared_map to store sibling info */
-- per_cpu(cpu_llc_id, cpu) = value & 7;
-+ /* cores per node: each internal node has half the number of cores */
-+ cpn = c->x86_max_cores >> 1;
-+
-+ /* even-numbered NB_id of this dual-node processor */
-+ n = c->phys_proc_id << 1;
-
-- /* fixup core id to be in range from 0 to (cores_per_node - 1) */
-- c->cpu_core_id = c->cpu_core_id % cores_per_node;
-+ /*
-+ * determine internal node id and assign cores fifty-fifty to
-+ * each node of the dual-node processor
-+ */
-+ t = read_pci_config(0, 24 + n, 3, 0xe8);
-+ n = (t>>30) & 0x3;
-+ if (n == 0) {
-+ if (c->cpu_core_id < cpn)
-+ n_id = 0;
-+ else
-+ n_id = 1;
-+ } else {
-+ if (c->cpu_core_id < cpn)
-+ n_id = 1;
-+ else
-+ n_id = 0;
-+ }
-+
-+ /* compute entire NodeID, use llc_shared_map to store sibling info */
-+ per_cpu(cpu_llc_id, cpu) = (c->phys_proc_id << 1) + n_id;
-+
-+ /* fixup core id to be in range from 0 to cpn */
-+ c->cpu_core_id = c->cpu_core_id % cpn;
-+#endif
- }
- #endif
-
diff --git a/series.conf b/series.conf
index 5270e09240..955dc11eb7 100644
--- a/series.conf
+++ b/series.conf
@@ -254,8 +254,6 @@
# bug 579639
patches.arch/intel-iommu-Dont-complain-that-ACPI_DMAR_SCOPE_TYPE_IOAPIC-is-not-supported.patch
- patches.fixes/revert-x86-get-multinode-cpu-info-from-msr.patch
-
########################################################
# x86 MCE/MCA (Machine Check Error/Architecture) extensions
########################################################