diff options
-rw-r--r-- | arch/mips/netlogic/xlr/setup.c | 4 | ||||
-rw-r--r-- | arch/mips/netlogic/xlr/smp.c | 2 | ||||
-rw-r--r-- | arch/mips/netlogic/xlr/smpboot.S | 16 |
3 files changed, 14 insertions, 8 deletions
diff --git a/arch/mips/netlogic/xlr/setup.c b/arch/mips/netlogic/xlr/setup.c index 482802569e74..cee25ddd0887 100644 --- a/arch/mips/netlogic/xlr/setup.c +++ b/arch/mips/netlogic/xlr/setup.c | |||
@@ -53,7 +53,7 @@ unsigned long netlogic_io_base = (unsigned long)(DEFAULT_NETLOGIC_IO_BASE); | |||
53 | unsigned long nlm_common_ebase = 0x0; | 53 | unsigned long nlm_common_ebase = 0x0; |
54 | struct psb_info nlm_prom_info; | 54 | struct psb_info nlm_prom_info; |
55 | 55 | ||
56 | static void nlm_early_serial_setup(void) | 56 | static void __init nlm_early_serial_setup(void) |
57 | { | 57 | { |
58 | struct uart_port s; | 58 | struct uart_port s; |
59 | nlm_reg_t *uart_base; | 59 | nlm_reg_t *uart_base; |
@@ -101,7 +101,7 @@ void __init prom_free_prom_memory(void) | |||
101 | /* Nothing yet */ | 101 | /* Nothing yet */ |
102 | } | 102 | } |
103 | 103 | ||
104 | static void build_arcs_cmdline(int *argv) | 104 | static void __init build_arcs_cmdline(int *argv) |
105 | { | 105 | { |
106 | int i, remain, len; | 106 | int i, remain, len; |
107 | char *arg; | 107 | char *arg; |
diff --git a/arch/mips/netlogic/xlr/smp.c b/arch/mips/netlogic/xlr/smp.c index d842bce5c940..e2372121307c 100644 --- a/arch/mips/netlogic/xlr/smp.c +++ b/arch/mips/netlogic/xlr/smp.c | |||
@@ -191,7 +191,7 @@ struct plat_smp_ops nlm_smp_ops = { | |||
191 | 191 | ||
192 | unsigned long secondary_entry_point; | 192 | unsigned long secondary_entry_point; |
193 | 193 | ||
194 | int nlm_wakeup_secondary_cpus(u32 wakeup_mask) | 194 | int __cpuinit nlm_wakeup_secondary_cpus(u32 wakeup_mask) |
195 | { | 195 | { |
196 | unsigned int tid, pid, ipi, i, boot_cpu; | 196 | unsigned int tid, pid, ipi, i, boot_cpu; |
197 | void *reset_vec; | 197 | void *reset_vec; |
diff --git a/arch/mips/netlogic/xlr/smpboot.S b/arch/mips/netlogic/xlr/smpboot.S index b8e074402c99..8cb7889ce0cc 100644 --- a/arch/mips/netlogic/xlr/smpboot.S +++ b/arch/mips/netlogic/xlr/smpboot.S | |||
@@ -32,17 +32,19 @@ | |||
32 | * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 32 | * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
33 | */ | 33 | */ |
34 | 34 | ||
35 | #include <linux/init.h> | ||
36 | |||
35 | #include <asm/asm.h> | 37 | #include <asm/asm.h> |
36 | #include <asm/asm-offsets.h> | 38 | #include <asm/asm-offsets.h> |
37 | #include <asm/regdef.h> | 39 | #include <asm/regdef.h> |
38 | #include <asm/mipsregs.h> | 40 | #include <asm/mipsregs.h> |
39 | 41 | ||
40 | 42 | /* | |
41 | /* Don't jump to linux function from Bootloader stack. Change it | 43 | * Early code for secondary CPUs. This will get them out of the bootloader |
42 | * here. Kernel might allocate bootloader memory before all the CPUs are | 44 | * code and into linux. Needed because the bootloader area will be taken |
43 | * brought up (eg: Inode cache region) and we better don't overwrite this | 45 | * and initialized by linux. |
44 | * memory | ||
45 | */ | 46 | */ |
47 | __CPUINIT | ||
46 | NESTED(prom_pre_boot_secondary_cpus, 16, sp) | 48 | NESTED(prom_pre_boot_secondary_cpus, 16, sp) |
47 | .set mips64 | 49 | .set mips64 |
48 | mfc0 t0, $15, 1 # read ebase | 50 | mfc0 t0, $15, 1 # read ebase |
@@ -73,7 +75,11 @@ NESTED(prom_pre_boot_secondary_cpus, 16, sp) | |||
73 | jr t0 | 75 | jr t0 |
74 | nop | 76 | nop |
75 | END(prom_pre_boot_secondary_cpus) | 77 | END(prom_pre_boot_secondary_cpus) |
78 | __FINIT | ||
76 | 79 | ||
80 | /* | ||
81 | * NMI code, used for CPU wakeup, copied to reset entry | ||
82 | */ | ||
77 | NESTED(nlm_boot_smp_nmi, 0, sp) | 83 | NESTED(nlm_boot_smp_nmi, 0, sp) |
78 | .set push | 84 | .set push |
79 | .set noat | 85 | .set noat |