diff options
author | Tony Luck <tony.luck@intel.com> | 2005-05-17 09:10:20 -0700 |
---|---|---|
committer | Tony Luck <tony.luck@intel.com> | 2005-05-17 09:10:20 -0700 |
commit | d0dac8082cbc2b234917ec53eb591b1ddbec80bb (patch) | |
tree | 105651af2db033de4803b91cc029381a1b9b39d2 /arch/i386/kernel | |
parent | bfd68594082d8384781c242aa72a7950b5cf51aa (diff) | |
parent | ff96b3d4b840e8aa126e0a60fd743417ffdee178 (diff) | |
download | op-kernel-dev-d0dac8082cbc2b234917ec53eb591b1ddbec80bb.zip op-kernel-dev-d0dac8082cbc2b234917ec53eb591b1ddbec80bb.tar.gz |
Merge with linus
Diffstat (limited to 'arch/i386/kernel')
-rw-r--r-- | arch/i386/kernel/cpu/amd.c | 7 | ||||
-rw-r--r-- | arch/i386/kernel/cpu/common.c | 7 |
2 files changed, 10 insertions, 4 deletions
diff --git a/arch/i386/kernel/cpu/amd.c b/arch/i386/kernel/cpu/amd.c index 16dbc41..fa34a06 100644 --- a/arch/i386/kernel/cpu/amd.c +++ b/arch/i386/kernel/cpu/amd.c @@ -24,9 +24,6 @@ __asm__(".align 4\nvide: ret"); static void __init init_amd(struct cpuinfo_x86 *c) { -#ifdef CONFIG_X86_SMP - int cpu = c == &boot_cpu_data ? 0 : c - cpu_data; -#endif u32 l, h; int mbytes = num_physpages >> (20-PAGE_SHIFT); int r; @@ -205,7 +202,9 @@ static void __init init_amd(struct cpuinfo_x86 *c) * of two. */ if (c->x86_num_cores > 1) { - cpu_core_id[cpu] = cpu >> hweight32(c->x86_num_cores - 1); + int cpu = smp_processor_id(); + /* Fix up the APIC ID following AMD specifications. */ + cpu_core_id[cpu] >>= hweight32(c->x86_num_cores - 1); printk(KERN_INFO "CPU %d(%d) -> Core %d\n", cpu, c->x86_num_cores, cpu_core_id[cpu]); } diff --git a/arch/i386/kernel/cpu/common.c b/arch/i386/kernel/cpu/common.c index 6be0310..11e6e6f 100644 --- a/arch/i386/kernel/cpu/common.c +++ b/arch/i386/kernel/cpu/common.c @@ -243,6 +243,13 @@ static void __init early_cpu_detect(void) } early_intel_workaround(c); + +#ifdef CONFIG_SMP +#ifdef CONFIG_X86_HT + phys_proc_id[smp_processor_id()] = +#endif + cpu_core_id[smp_processor_id()] = (cpuid_ebx(1) >> 24) & 0xff; +#endif } void __init generic_identify(struct cpuinfo_x86 * c) |