Loading arch/powerpc/sysdev/mpic.c +21 −0 Original line number Diff line number Diff line Loading @@ -904,4 +904,25 @@ void mpic_request_ipis(void) printk("IPIs requested... \n"); } void smp_mpic_message_pass(int target, int msg) { /* make sure we're sending something that translates to an IPI */ if ((unsigned int)msg > 3) { printk("SMP %d: smp_message_pass: unknown msg %d\n", smp_processor_id(), msg); return; } switch (target) { case MSG_ALL: mpic_send_ipi(msg, 0xffffffff); break; case MSG_ALL_BUT_SELF: mpic_send_ipi(msg, 0xffffffff & ~(1 << smp_processor_id())); break; default: mpic_send_ipi(msg, 1 << target); break; } } #endif /* CONFIG_SMP */ arch/ppc64/kernel/smp.c +0 −22 Original line number Diff line number Diff line Loading @@ -69,28 +69,6 @@ void smp_call_function_interrupt(void); int smt_enabled_at_boot = 1; #ifdef CONFIG_MPIC void smp_mpic_message_pass(int target, int msg) { /* make sure we're sending something that translates to an IPI */ if ( msg > 0x3 ){ printk("SMP %d: smp_message_pass: unknown msg %d\n", smp_processor_id(), msg); return; } switch ( target ) { case MSG_ALL: mpic_send_ipi(msg, 0xffffffff); break; case MSG_ALL_BUT_SELF: mpic_send_ipi(msg, 0xffffffff & ~(1 << smp_processor_id())); break; default: mpic_send_ipi(msg, 1 << target); break; } } int __init smp_mpic_probe(void) { int nr_cpus; Loading include/asm-powerpc/mpic.h +3 −0 Original line number Diff line number Diff line Loading @@ -273,6 +273,9 @@ extern void mpic_request_ipis(void); /* Send an IPI (non offseted number 0..3) */ extern void mpic_send_ipi(unsigned int ipi_no, unsigned int cpu_mask); /* Send a message (IPI) to a given target (cpu number or MSG_*) */ void smp_mpic_message_pass(int target, int msg); /* Fetch interrupt from a given mpic */ extern int mpic_get_one_irq(struct mpic *mpic, struct pt_regs *regs); /* This one gets to the primary mpic */ Loading include/asm-ppc64/smp.h +0 −1 Original line number Diff line number Diff line Loading @@ -77,7 +77,6 @@ extern int smt_enabled_at_boot; extern int smp_mpic_probe(void); extern void smp_mpic_setup_cpu(int cpu); extern void smp_mpic_message_pass(int target, int msg); extern void smp_generic_kick_cpu(int nr); extern void smp_generic_give_timebase(void); Loading Loading
arch/powerpc/sysdev/mpic.c +21 −0 Original line number Diff line number Diff line Loading @@ -904,4 +904,25 @@ void mpic_request_ipis(void) printk("IPIs requested... \n"); } void smp_mpic_message_pass(int target, int msg) { /* make sure we're sending something that translates to an IPI */ if ((unsigned int)msg > 3) { printk("SMP %d: smp_message_pass: unknown msg %d\n", smp_processor_id(), msg); return; } switch (target) { case MSG_ALL: mpic_send_ipi(msg, 0xffffffff); break; case MSG_ALL_BUT_SELF: mpic_send_ipi(msg, 0xffffffff & ~(1 << smp_processor_id())); break; default: mpic_send_ipi(msg, 1 << target); break; } } #endif /* CONFIG_SMP */
arch/ppc64/kernel/smp.c +0 −22 Original line number Diff line number Diff line Loading @@ -69,28 +69,6 @@ void smp_call_function_interrupt(void); int smt_enabled_at_boot = 1; #ifdef CONFIG_MPIC void smp_mpic_message_pass(int target, int msg) { /* make sure we're sending something that translates to an IPI */ if ( msg > 0x3 ){ printk("SMP %d: smp_message_pass: unknown msg %d\n", smp_processor_id(), msg); return; } switch ( target ) { case MSG_ALL: mpic_send_ipi(msg, 0xffffffff); break; case MSG_ALL_BUT_SELF: mpic_send_ipi(msg, 0xffffffff & ~(1 << smp_processor_id())); break; default: mpic_send_ipi(msg, 1 << target); break; } } int __init smp_mpic_probe(void) { int nr_cpus; Loading
include/asm-powerpc/mpic.h +3 −0 Original line number Diff line number Diff line Loading @@ -273,6 +273,9 @@ extern void mpic_request_ipis(void); /* Send an IPI (non offseted number 0..3) */ extern void mpic_send_ipi(unsigned int ipi_no, unsigned int cpu_mask); /* Send a message (IPI) to a given target (cpu number or MSG_*) */ void smp_mpic_message_pass(int target, int msg); /* Fetch interrupt from a given mpic */ extern int mpic_get_one_irq(struct mpic *mpic, struct pt_regs *regs); /* This one gets to the primary mpic */ Loading
include/asm-ppc64/smp.h +0 −1 Original line number Diff line number Diff line Loading @@ -77,7 +77,6 @@ extern int smt_enabled_at_boot; extern int smp_mpic_probe(void); extern void smp_mpic_setup_cpu(int cpu); extern void smp_mpic_message_pass(int target, int msg); extern void smp_generic_kick_cpu(int nr); extern void smp_generic_give_timebase(void); Loading