diff options
Diffstat (limited to 'arch/mips/netlogic/xlp/setup.c')
-rw-r--r-- | arch/mips/netlogic/xlp/setup.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/mips/netlogic/xlp/setup.c b/arch/mips/netlogic/xlp/setup.c index 7b6694998cdc..5bdd354fef48 100644 --- a/arch/mips/netlogic/xlp/setup.c +++ b/arch/mips/netlogic/xlp/setup.c | |||
@@ -98,11 +98,19 @@ void nlm_percpu_init(int hwcpuid) | |||
98 | 98 | ||
99 | void __init prom_init(void) | 99 | void __init prom_init(void) |
100 | { | 100 | { |
101 | void *reset_vec; | ||
102 | |||
101 | nlm_io_base = CKSEG1ADDR(XLP_DEFAULT_IO_BASE); | 103 | nlm_io_base = CKSEG1ADDR(XLP_DEFAULT_IO_BASE); |
104 | nlm_init_boot_cpu(); | ||
102 | xlp_mmu_init(); | 105 | xlp_mmu_init(); |
103 | nlm_node_init(0); | 106 | nlm_node_init(0); |
104 | xlp_dt_init((void *)(long)fw_arg0); | 107 | xlp_dt_init((void *)(long)fw_arg0); |
105 | 108 | ||
109 | /* Update reset entry point with CPU init code */ | ||
110 | reset_vec = (void *)CKSEG1ADDR(RESET_VEC_PHYS); | ||
111 | memcpy(reset_vec, (void *)nlm_reset_entry, | ||
112 | (nlm_reset_entry_end - nlm_reset_entry)); | ||
113 | |||
106 | #ifdef CONFIG_SMP | 114 | #ifdef CONFIG_SMP |
107 | cpumask_setall(&nlm_cpumask); | 115 | cpumask_setall(&nlm_cpumask); |
108 | nlm_wakeup_secondary_cpus(); | 116 | nlm_wakeup_secondary_cpus(); |