sparc32: Kill smp_message_pass() and related code.
Completely unused, and it just makes the SMP message passing code on 32-bit sparc look more complex than it is. Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
@@ -34,8 +34,6 @@
|
||||
|
||||
#include "irq.h"
|
||||
|
||||
#define IRQ_RESCHEDULE 13
|
||||
#define IRQ_STOP_CPU 14
|
||||
#define IRQ_CROSS_CALL 15
|
||||
|
||||
extern ctxd_t *srmmu_ctx_table_phys;
|
||||
@@ -232,48 +230,6 @@ void smp4m_irq_rotate(int cpu)
|
||||
set_irq_udt(next);
|
||||
}
|
||||
|
||||
/* Cross calls, in order to work efficiently and atomically do all
|
||||
* the message passing work themselves, only stopcpu and reschedule
|
||||
* messages come through here.
|
||||
*/
|
||||
void smp4m_message_pass(int target, int msg, unsigned long data, int wait)
|
||||
{
|
||||
static unsigned long smp_cpu_in_msg[NR_CPUS];
|
||||
cpumask_t mask;
|
||||
int me = smp_processor_id();
|
||||
int irq, i;
|
||||
|
||||
if(msg == MSG_RESCHEDULE) {
|
||||
irq = IRQ_RESCHEDULE;
|
||||
|
||||
if(smp_cpu_in_msg[me])
|
||||
return;
|
||||
} else if(msg == MSG_STOP_CPU) {
|
||||
irq = IRQ_STOP_CPU;
|
||||
} else {
|
||||
goto barf;
|
||||
}
|
||||
|
||||
smp_cpu_in_msg[me]++;
|
||||
if(target == MSG_ALL_BUT_SELF || target == MSG_ALL) {
|
||||
mask = cpu_online_map;
|
||||
if(target == MSG_ALL_BUT_SELF)
|
||||
cpu_clear(me, mask);
|
||||
for(i = 0; i < 4; i++) {
|
||||
if (cpu_isset(i, mask))
|
||||
set_cpu_int(i, irq);
|
||||
}
|
||||
} else {
|
||||
set_cpu_int(target, irq);
|
||||
}
|
||||
smp_cpu_in_msg[me]--;
|
||||
|
||||
return;
|
||||
barf:
|
||||
printk("Yeeee, trying to send SMP msg(%d) on cpu %d\n", msg, me);
|
||||
panic("Bogon SMP message pass.");
|
||||
}
|
||||
|
||||
static struct smp_funcall {
|
||||
smpfunc_t func;
|
||||
unsigned long arg1;
|
||||
@@ -413,6 +369,5 @@ void __init sun4m_init_smp(void)
|
||||
BTFIXUPSET_BLACKBOX(hard_smp_processor_id, smp4m_blackbox_id);
|
||||
BTFIXUPSET_BLACKBOX(load_current, smp4m_blackbox_current);
|
||||
BTFIXUPSET_CALL(smp_cross_call, smp4m_cross_call, BTFIXUPCALL_NORM);
|
||||
BTFIXUPSET_CALL(smp_message_pass, smp4m_message_pass, BTFIXUPCALL_NORM);
|
||||
BTFIXUPSET_CALL(__hard_smp_processor_id, __smp4m_processor_id, BTFIXUPCALL_NORM);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user