diff options
author | Ulf Carlsson <md1ulfc@mdstud.chalmers.se> | 2000-06-06 01:47:01 +0000 |
---|---|---|
committer | Ulf Carlsson <md1ulfc@mdstud.chalmers.se> | 2000-06-06 01:47:01 +0000 |
commit | 448ade02e6a7fb60bc6e7f1756e6c45bff6bb038 (patch) | |
tree | 603170a29b7aac5e61f9ba75779876ba8bf923b1 /arch | |
parent | f7a4da20159c1fd00aaabc9a2ce00f2ac640a306 (diff) |
Launch the CPUs one by one until we can make sure that we
add PCI devices from different PCI buses to the list of PCI
devices in the same order every time we boot the system.
Diffstat (limited to 'arch')
-rw-r--r-- | arch/mips64/sgi-ip27/ip27-init.c | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/arch/mips64/sgi-ip27/ip27-init.c b/arch/mips64/sgi-ip27/ip27-init.c index 7163c1bb7..e2e373de0 100644 --- a/arch/mips64/sgi-ip27/ip27-init.c +++ b/arch/mips64/sgi-ip27/ip27-init.c @@ -341,9 +341,9 @@ void per_cpu_init(void) sti(); load_mmu(); atomic_inc(&numstarted); - } - if (is_slave == 0) + } else { is_slave = 1; + } } cnodeid_t get_compact_nodeid(void) @@ -459,14 +459,18 @@ void allowboot(void) __cpu_number_map[cpu] = num_cpus; __cpu_logical_map[num_cpus] = cpu; num_cpus++; + /* + * Wait this cpu to start up and initialize its hub, + * and discover the io devices it will control. + * + * XXX: We really want to fire up launch all the CPUs + * at once. We have to preserve the order of the + * devices on the bridges first though. + */ + while(atomic_read(&numstarted) != num_cpus); } } - /* - * Wait for all cpus to start up and initialize their hubs, - * and discover the io devices they will control. - */ - while(atomic_read(&numstarted) != num_cpus); #ifdef LATER Wait logic goes here. |