1 /* 2 * This file is subject to the terms and conditions of the GNU General Public 3 * License. See the file "COPYING" in the main directory of this archive 4 * for more details. 5 * 6 * Copyright (C) 2006, 07 by Ralf Baechle (ralf@linux-mips.org) 7 * 8 * Symmetric Uniprocessor (TM) Support 9 */ 10 #include <linux/kernel.h> 11 #include <linux/sched.h> 12 13 /* 14 * Send inter-processor interrupt 15 */ 16 void up_send_ipi_single(int cpu, unsigned int action) 17 { 18 panic(KERN_ERR "%s called", __func__); 19 } 20 21 static inline void up_send_ipi_mask(cpumask_t mask, unsigned int action) 22 { 23 panic(KERN_ERR "%s called", __func__); 24 } 25 26 /* 27 * After we've done initial boot, this function is called to allow the 28 * board code to clean up state, if needed 29 */ 30 void __cpuinit up_init_secondary(void) 31 { 32 } 33 34 void __cpuinit up_smp_finish(void) 35 { 36 } 37 38 /* Hook for after all CPUs are online */ 39 void up_cpus_done(void) 40 { 41 } 42 43 /* 44 * Firmware CPU startup hook 45 */ 46 void __cpuinit up_boot_secondary(int cpu, struct task_struct *idle) 47 { 48 } 49 50 void __init up_smp_setup(void) 51 { 52 } 53 54 void __init up_prepare_cpus(unsigned int max_cpus) 55 { 56 } 57 58 struct plat_smp_ops up_smp_ops = { 59 .send_ipi_single = up_send_ipi_single, 60 .send_ipi_mask = up_send_ipi_mask, 61 .init_secondary = up_init_secondary, 62 .smp_finish = up_smp_finish, 63 .cpus_done = up_cpus_done, 64 .boot_secondary = up_boot_secondary, 65 .smp_setup = up_smp_setup, 66 .prepare_cpus = up_prepare_cpus, 67 }; 68