summaryrefslogtreecommitdiffstats
path: root/arch/mips64/sgi-ip27/ip27-init.c
diff options
context:
space:
mode:
authorKanoj Sarcar <kanoj@engr.sgi.com>2000-05-20 06:00:42 +0000
committerKanoj Sarcar <kanoj@engr.sgi.com>2000-05-20 06:00:42 +0000
commit4942f296c2725341badefa8539caa2ed4108f459 (patch)
tree2d42602322bb7c7a46c3f8ba02126ff25fc407f8 /arch/mips64/sgi-ip27/ip27-init.c
parentc5b18c9e58136780e51d4cdfe881e23d9f8cb5ec (diff)
Parallel initialization: each hub now tries to discover the xbow
connected to it, and sees whether it should become the master of the attached bridges. Also, maintain information per bridge as to which nasid/cpu to deliver interrupts to.
Diffstat (limited to 'arch/mips64/sgi-ip27/ip27-init.c')
-rw-r--r--arch/mips64/sgi-ip27/ip27-init.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/arch/mips64/sgi-ip27/ip27-init.c b/arch/mips64/sgi-ip27/ip27-init.c
index 6d3e70298..ed7d05c6b 100644
--- a/arch/mips64/sgi-ip27/ip27-init.c
+++ b/arch/mips64/sgi-ip27/ip27-init.c
@@ -283,6 +283,7 @@ void sn_mp_setup(void)
void per_hub_init(cnodeid_t cnode)
{
+ extern void pcibr_setup(cnodeid_t);
cnodemask_t done;
spin_lock(&hub_mask_lock);
@@ -299,6 +300,7 @@ void per_hub_init(cnodeid_t cnode)
*/
if (!done) {
hub_rtc_init(cnode);
+ pcibr_setup(cnode);
}
}
@@ -343,6 +345,7 @@ void per_cpu_init(void)
set_cp0_status(ST0_KX|ST0_SX|ST0_UX, ST0_KX|ST0_SX|ST0_UX);
sti();
load_mmu();
+ atomic_inc(&numstarted);
}
if (is_slave == 0)
is_slave = 1;
@@ -391,7 +394,6 @@ void cboot(void)
#endif
_flush_tlb_all();
flush_cache_all();
- atomic_inc(&numstarted);
start_secondary();
}