diff options
author | Heiko Carstens <heiko.carstens@de.ibm.com> | 2006-02-11 20:56:00 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-02-12 00:41:12 -0500 |
commit | 9733e2407ad2237867cb13c04e7d619397fa3090 (patch) | |
tree | 87324f48ee24b8e61acd3671312639c8003af7cb /arch/s390/kernel | |
parent | 25fab9ebac445d57b656f5faabac5a195bed2f82 (diff) |
[PATCH] s390: earlier initialization of cpu_possible_map
Initiliazing of cpu_possible_map was done in smp_prepare_cpus which is way too
late. Therefore assign a static value to cpu_possible_map, since we don't
have access to max_cpus in setup_arch.
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch/s390/kernel')
-rw-r--r-- | arch/s390/kernel/smp.c | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/arch/s390/kernel/smp.c b/arch/s390/kernel/smp.c index cbfcfd02a43a..0d1ad5dbe2b1 100644 --- a/arch/s390/kernel/smp.c +++ b/arch/s390/kernel/smp.c | |||
@@ -52,7 +52,7 @@ extern volatile int __cpu_logical_map[]; | |||
52 | struct _lowcore *lowcore_ptr[NR_CPUS]; | 52 | struct _lowcore *lowcore_ptr[NR_CPUS]; |
53 | 53 | ||
54 | cpumask_t cpu_online_map; | 54 | cpumask_t cpu_online_map; |
55 | cpumask_t cpu_possible_map; | 55 | cpumask_t cpu_possible_map = CPU_MASK_ALL; |
56 | 56 | ||
57 | static struct task_struct *current_set[NR_CPUS]; | 57 | static struct task_struct *current_set[NR_CPUS]; |
58 | 58 | ||
@@ -514,9 +514,6 @@ __init smp_check_cpus(unsigned int max_cpus) | |||
514 | num_cpus++; | 514 | num_cpus++; |
515 | } | 515 | } |
516 | 516 | ||
517 | for (cpu = 1; cpu < max_cpus; cpu++) | ||
518 | cpu_set(cpu, cpu_possible_map); | ||
519 | |||
520 | printk("Detected %d CPU's\n",(int) num_cpus); | 517 | printk("Detected %d CPU's\n",(int) num_cpus); |
521 | printk("Boot cpu address %2X\n", boot_cpu_addr); | 518 | printk("Boot cpu address %2X\n", boot_cpu_addr); |
522 | } | 519 | } |
@@ -810,7 +807,6 @@ void __devinit smp_prepare_boot_cpu(void) | |||
810 | 807 | ||
811 | cpu_set(0, cpu_online_map); | 808 | cpu_set(0, cpu_online_map); |
812 | cpu_set(0, cpu_present_map); | 809 | cpu_set(0, cpu_present_map); |
813 | cpu_set(0, cpu_possible_map); | ||
814 | S390_lowcore.percpu_offset = __per_cpu_offset[0]; | 810 | S390_lowcore.percpu_offset = __per_cpu_offset[0]; |
815 | current_set[0] = current; | 811 | current_set[0] = current; |
816 | } | 812 | } |