smp.c (c1f3ee120bb61045b1c0a3ead620d1d65af47130) | smp.c (98a79d6a50181ca1ecf7400eda01d5dc1bc0dbf0) |
---|---|
1/* 2 * Copyright (C) 2001, 2002, 2003 Broadcom Corporation 3 * 4 * This program is free software; you can redistribute it and/or 5 * modify it under the terms of the GNU General Public License 6 * as published by the Free Software Foundation; either version 2 7 * of the License, or (at your option) any later version. 8 * --- 110 unchanged lines hidden (view full) --- 119 __KSTK_TOS(idle), 120 (unsigned long)task_thread_info(idle), 0); 121 if (retval != 0) 122 printk("cfe_start_cpu(%i) returned %i\n" , cpu, retval); 123} 124 125/* 126 * Use CFE to find out how many CPUs are available, setting up | 1/* 2 * Copyright (C) 2001, 2002, 2003 Broadcom Corporation 3 * 4 * This program is free software; you can redistribute it and/or 5 * modify it under the terms of the GNU General Public License 6 * as published by the Free Software Foundation; either version 2 7 * of the License, or (at your option) any later version. 8 * --- 110 unchanged lines hidden (view full) --- 119 __KSTK_TOS(idle), 120 (unsigned long)task_thread_info(idle), 0); 121 if (retval != 0) 122 printk("cfe_start_cpu(%i) returned %i\n" , cpu, retval); 123} 124 125/* 126 * Use CFE to find out how many CPUs are available, setting up |
127 * phys_cpu_present_map and the logical/physical mappings. | 127 * cpu_possible_map and the logical/physical mappings. |
128 * XXXKW will the boot CPU ever not be physical 0? 129 * 130 * Common setup before any secondaries are started 131 */ 132static void __init sb1250_smp_setup(void) 133{ 134 int i, num; 135 | 128 * XXXKW will the boot CPU ever not be physical 0? 129 * 130 * Common setup before any secondaries are started 131 */ 132static void __init sb1250_smp_setup(void) 133{ 134 int i, num; 135 |
136 cpus_clear(phys_cpu_present_map); 137 cpu_set(0, phys_cpu_present_map); | 136 cpus_clear(cpu_possible_map); 137 cpu_set(0, cpu_possible_map); |
138 __cpu_number_map[0] = 0; 139 __cpu_logical_map[0] = 0; 140 141 for (i = 1, num = 0; i < NR_CPUS; i++) { 142 if (cfe_cpu_stop(i) == 0) { | 138 __cpu_number_map[0] = 0; 139 __cpu_logical_map[0] = 0; 140 141 for (i = 1, num = 0; i < NR_CPUS; i++) { 142 if (cfe_cpu_stop(i) == 0) { |
143 cpu_set(i, phys_cpu_present_map); | 143 cpu_set(i, cpu_possible_map); |
144 __cpu_number_map[i] = ++num; 145 __cpu_logical_map[num] = i; 146 } 147 } 148 printk(KERN_INFO "Detected %i available secondary CPU(s)\n", num); 149} 150 151static void __init sb1250_prepare_cpus(unsigned int max_cpus) --- 34 unchanged lines hidden --- | 144 __cpu_number_map[i] = ++num; 145 __cpu_logical_map[num] = i; 146 } 147 } 148 printk(KERN_INFO "Detected %i available secondary CPU(s)\n", num); 149} 150 151static void __init sb1250_prepare_cpus(unsigned int max_cpus) --- 34 unchanged lines hidden --- |