* (unsigned long)idle->thread_info the gp
  * assumes a 1:1 mapping of TC => VPE
  */
-void prom_boot_secondary(int cpu, struct task_struct *idle)
+void __cpuinit prom_boot_secondary(int cpu, struct task_struct *idle)
 {
        struct thread_info *gp = task_thread_info(idle);
        dvpe();
        evpe(EVPE_ENABLE);
 }
 
-void prom_init_secondary(void)
+void __cpuinit prom_init_secondary(void)
 {
        /* Enable per-cpu interrupts */
 
                        (STATUSF_IP0 | STATUSF_IP1 | STATUSF_IP6 | STATUSF_IP7));
 }
 
-void prom_smp_finish(void)
+void __cpuinit prom_smp_finish(void)
 {
        write_c0_compare(read_c0_count() + (8* mips_hpt_frequency/HZ));
 
 
  * Platform "CPU" startup hook
  */
 
-void prom_boot_secondary(int cpu, struct task_struct *idle)
+void __cpuinit prom_boot_secondary(int cpu, struct task_struct *idle)
 {
        smtc_boot_secondary(cpu, idle);
 }
  * Post-config but pre-boot cleanup entry point
  */
 
-void prom_init_secondary(void)
+void __cpuinit prom_init_secondary(void)
 {
         void smtc_init_secondary(void);
        int myvpe;
  * SMP initialization finalization entry point
  */
 
-void prom_smp_finish(void)
+void __cpuinit prom_smp_finish(void)
 {
        smtc_smp_finish();
 }
 
  * Platform "CPU" startup hook
  */
 
-void prom_boot_secondary(int cpu, struct task_struct *idle)
+void __cpuinit prom_boot_secondary(int cpu, struct task_struct *idle)
 {
 #ifdef CONFIG_MIPS_MT_SMTC
        smtc_boot_secondary(cpu, idle);
  * Post-config but pre-boot cleanup entry point
  */
 
-void prom_init_secondary(void)
+void __cpuinit prom_init_secondary(void)
 {
 #ifdef CONFIG_MIPS_MT_SMTC
        void smtc_init_secondary(void);
  * SMP initialization finalization entry point
  */
 
-void prom_smp_finish(void)
+void __cpuinit prom_smp_finish(void)
 {
 #ifdef CONFIG_MIPS_MT_SMTC
        smtc_smp_finish();
 
  * stack so the first thing we do is throw away that stuff and load useful
  * values into the registers ...
  */
-void __init prom_boot_secondary(int cpu, struct task_struct *idle)
+void __cpuinit prom_boot_secondary(int cpu, struct task_struct *idle)
 {
        unsigned long gp = (unsigned long) task_thread_info(idle);
        unsigned long sp = __KSTK_TOS(idle);
  *  After we've done initial boot, this function is called to allow the
  *  board code to clean up state, if needed
  */
-void prom_init_secondary(void)
+void __cpuinit prom_init_secondary(void)
 {
        set_c0_status(ST0_CO | ST0_IE | ST0_IM);
 }
 
-void prom_smp_finish(void)
+void __cpuinit prom_smp_finish(void)
 {
 }
 
 
  *  After we've done initial boot, this function is called to allow the
  *  board code to clean up state, if needed
  */
-void prom_init_secondary(void)
+void __cpuinit prom_init_secondary(void)
 {
 }
 
-void prom_smp_finish(void)
+void __cpuinit prom_smp_finish(void)
 {
 }
 
 /*
  * Firmware CPU startup hook
  */
-void prom_boot_secondary(int cpu, struct task_struct *idle)
+void __cpuinit prom_boot_secondary(int cpu, struct task_struct *idle)
 {
 }
 
 
  * set sp to the kernel stack of the newly created idle process, gp to the proc
  * struct so that current_thread_info() will work.
  */
-void __init prom_boot_secondary(int cpu, struct task_struct *idle)
+void __cpuinit prom_boot_secondary(int cpu, struct task_struct *idle)
 {
        unsigned long gp = (unsigned long)task_thread_info(idle);
        unsigned long sp = __KSTK_TOS(idle);
 {
 }
 
-void prom_smp_finish(void)
+void __cpuinit prom_smp_finish(void)
 {
 }
 
 
  * Setup the PC, SP, and GP of a secondary processor and start it
  * running!
  */
-void prom_boot_secondary(int cpu, struct task_struct *idle)
+void __cpuinit prom_boot_secondary(int cpu, struct task_struct *idle)
 {
        int retval;
 
 /*
  * Code to run on secondary just after probing the CPU
  */
-void prom_init_secondary(void)
+void __cpuinit prom_init_secondary(void)
 {
 #if defined(CONFIG_SIBYTE_BCM1x55) || defined(CONFIG_SIBYTE_BCM1x80)
        extern void bcm1480_smp_init(void);
  * Do any tidying up before marking online and running the idle
  * loop
  */
-void prom_smp_finish(void)
+void __cpuinit prom_smp_finish(void)
 {
 #if defined(CONFIG_SIBYTE_BCM1x55) || defined(CONFIG_SIBYTE_BCM1x80)
        extern void bcm1480_smp_finish(void);