Loading arch/sh/include/asm/smp.h +1 −0 Original line number Diff line number Diff line Loading @@ -26,6 +26,7 @@ extern int __cpu_logical_map[NR_CPUS]; #define SMP_MSG_FUNCTION_SINGLE 2 #define SMP_MSG_NR 3 void smp_message_recv(unsigned int msg); void plat_smp_setup(void); void plat_prepare_cpus(unsigned int max_cpus); int plat_smp_processor_id(void); Loading arch/sh/kernel/smp.c +19 −1 Original line number Diff line number Diff line Loading @@ -3,7 +3,7 @@ * * SMP support for the SuperH processors. * * Copyright (C) 2002 - 2007 Paul Mundt * Copyright (C) 2002 - 2008 Paul Mundt * Copyright (C) 2006 - 2007 Akio Idehara * * This file is subject to the terms and conditions of the GNU General Public Loading Loading @@ -184,6 +184,24 @@ void arch_send_call_function_single_ipi(int cpu) plat_send_ipi(cpu, SMP_MSG_FUNCTION_SINGLE); } void smp_message_recv(unsigned int msg) { switch (msg) { case SMP_MSG_FUNCTION: generic_smp_call_function_interrupt(); break; case SMP_MSG_RESCHEDULE: break; case SMP_MSG_FUNCTION_SINGLE: generic_smp_call_function_single_interrupt(); break; default: printk(KERN_WARNING "SMP %d: %s(): unknown IPI %d\n", smp_processor_id(), __func__, msg); break; } } /* Not really SMP stuff ... */ int setup_profiling_timer(unsigned int multiplier) { Loading Loading
arch/sh/include/asm/smp.h +1 −0 Original line number Diff line number Diff line Loading @@ -26,6 +26,7 @@ extern int __cpu_logical_map[NR_CPUS]; #define SMP_MSG_FUNCTION_SINGLE 2 #define SMP_MSG_NR 3 void smp_message_recv(unsigned int msg); void plat_smp_setup(void); void plat_prepare_cpus(unsigned int max_cpus); int plat_smp_processor_id(void); Loading
arch/sh/kernel/smp.c +19 −1 Original line number Diff line number Diff line Loading @@ -3,7 +3,7 @@ * * SMP support for the SuperH processors. * * Copyright (C) 2002 - 2007 Paul Mundt * Copyright (C) 2002 - 2008 Paul Mundt * Copyright (C) 2006 - 2007 Akio Idehara * * This file is subject to the terms and conditions of the GNU General Public Loading Loading @@ -184,6 +184,24 @@ void arch_send_call_function_single_ipi(int cpu) plat_send_ipi(cpu, SMP_MSG_FUNCTION_SINGLE); } void smp_message_recv(unsigned int msg) { switch (msg) { case SMP_MSG_FUNCTION: generic_smp_call_function_interrupt(); break; case SMP_MSG_RESCHEDULE: break; case SMP_MSG_FUNCTION_SINGLE: generic_smp_call_function_single_interrupt(); break; default: printk(KERN_WARNING "SMP %d: %s(): unknown IPI %d\n", smp_processor_id(), __func__, msg); break; } } /* Not really SMP stuff ... */ int setup_profiling_timer(unsigned int multiplier) { Loading