diff options
Diffstat (limited to 'arch/ia64/kernel/setup.c')
-rw-r--r-- | arch/ia64/kernel/setup.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/arch/ia64/kernel/setup.c b/arch/ia64/kernel/setup.c index 9e392a30d197..777c8d8bd5e7 100644 --- a/arch/ia64/kernel/setup.c +++ b/arch/ia64/kernel/setup.c | |||
@@ -528,10 +528,6 @@ setup_arch (char **cmdline_p) | |||
528 | 528 | ||
529 | #ifdef CONFIG_SMP | 529 | #ifdef CONFIG_SMP |
530 | cpu_physical_id(0) = hard_smp_processor_id(); | 530 | cpu_physical_id(0) = hard_smp_processor_id(); |
531 | |||
532 | cpu_set(0, cpu_sibling_map[0]); | ||
533 | cpu_set(0, cpu_core_map[0]); | ||
534 | |||
535 | check_for_logical_procs(); | 531 | check_for_logical_procs(); |
536 | if (smp_num_cpucores > 1) | 532 | if (smp_num_cpucores > 1) |
537 | printk(KERN_INFO | 533 | printk(KERN_INFO |
@@ -873,6 +869,14 @@ cpu_init (void) | |||
873 | void *cpu_data; | 869 | void *cpu_data; |
874 | 870 | ||
875 | cpu_data = per_cpu_init(); | 871 | cpu_data = per_cpu_init(); |
872 | /* | ||
873 | * insert boot cpu into sibling and core mapes | ||
874 | * (must be done after per_cpu area is setup) | ||
875 | */ | ||
876 | if (smp_processor_id() == 0) { | ||
877 | cpu_set(0, per_cpu(cpu_sibling_map, 0)); | ||
878 | cpu_set(0, cpu_core_map[0]); | ||
879 | } | ||
876 | 880 | ||
877 | /* | 881 | /* |
878 | * We set ar.k3 so that assembly code in MCA handler can compute | 882 | * We set ar.k3 so that assembly code in MCA handler can compute |