diff options
author | James Bottomley <James.Bottomley@HansenPartnership.com> | 2008-10-30 17:13:37 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-10-30 19:19:37 -0400 |
commit | bfcb4c1becf93b1592f4a03a4d6e00a3ab89d5ec (patch) | |
tree | 2074cb6203893e281366c180c2ebbc944bd2b68d /arch | |
parent | b3572e361b6b2ac5e724bc4bb932b7774b720b95 (diff) |
x86/voyager: fix missing cpu_index initialisation
Impact: fix /proc/cpuinfo output on x86/Voyager
Ever since
| commit 92cb7612aee39642d109b8d935ad265e602c0563
| Author: Mike Travis <travis@sgi.com>
| Date: Fri Oct 19 20:35:04 2007 +0200
|
| x86: convert cpuinfo_x86 array to a per_cpu array
We've had an extra field in cpuinfo_x86 which is cpu_index.
Unfortunately, voyager has never initialised this, although the only
noticeable impact seems to be that /proc/cpuinfo shows all zeros for
the processor ids.
Anyway, fix this by initialising the boot CPU properly and setting the
index when the secondaries update.
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/x86/kernel/cpu/common.c | 2 | ||||
-rw-r--r-- | arch/x86/mach-voyager/voyager_smp.c | 1 |
2 files changed, 3 insertions, 0 deletions
diff --git a/arch/x86/kernel/cpu/common.c b/arch/x86/kernel/cpu/common.c index 93e9393ea64a..da8f15ac7a6d 100644 --- a/arch/x86/kernel/cpu/common.c +++ b/arch/x86/kernel/cpu/common.c | |||
@@ -549,6 +549,8 @@ static void __init early_identify_cpu(struct cpuinfo_x86 *c) | |||
549 | this_cpu->c_early_init(c); | 549 | this_cpu->c_early_init(c); |
550 | 550 | ||
551 | validate_pat_support(c); | 551 | validate_pat_support(c); |
552 | |||
553 | c->cpu_index = boot_cpu_id; | ||
552 | } | 554 | } |
553 | 555 | ||
554 | void __init early_cpu_init(void) | 556 | void __init early_cpu_init(void) |
diff --git a/arch/x86/mach-voyager/voyager_smp.c b/arch/x86/mach-voyager/voyager_smp.c index 01285af5782c..7f4c6af14351 100644 --- a/arch/x86/mach-voyager/voyager_smp.c +++ b/arch/x86/mach-voyager/voyager_smp.c | |||
@@ -420,6 +420,7 @@ void __init smp_store_cpu_info(int id) | |||
420 | struct cpuinfo_x86 *c = &cpu_data(id); | 420 | struct cpuinfo_x86 *c = &cpu_data(id); |
421 | 421 | ||
422 | *c = boot_cpu_data; | 422 | *c = boot_cpu_data; |
423 | c->cpu_index = id; | ||
423 | 424 | ||
424 | identify_secondary_cpu(c); | 425 | identify_secondary_cpu(c); |
425 | } | 426 | } |