diff options
author | Milton Miller <miltonm@bga.com> | 2008-11-14 20:11:49 +0000 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2008-11-19 16:05:06 +1100 |
commit | 25ddd738c2ebffb6c2d3cf29c91b986d1bb39c99 (patch) | |
tree | cc22b3a4b2481954c1bcbfececac2abfcdb7af40 /arch/powerpc/include/asm/smp.h | |
parent | a6326e98a28d8a57f693369c82559543c6950f09 (diff) | |
download | blackbird-op-linux-25ddd738c2ebffb6c2d3cf29c91b986d1bb39c99.tar.gz blackbird-op-linux-25ddd738c2ebffb6c2d3cf29c91b986d1bb39c99.zip |
powerpc: Provide a separate handler for each IPI action
With the new generic smp call function helpers, I noticed the code in
smp_message_recv was a single function call in many cases. While
getting the message number from the ipi data is easy, we can reduce
the path length by a function and data-dependent switch by registering
seperate IPI actions for these simple calls.
Originally I left the ipi action array exposed, but then I realized the
registration code should be common too.
The three users each had their own name array, so I made a fourth
to convert all users to use a common one.
Signed-off-by: Milton Miller <miltonm@bga.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch/powerpc/include/asm/smp.h')
-rw-r--r-- | arch/powerpc/include/asm/smp.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/arch/powerpc/include/asm/smp.h b/arch/powerpc/include/asm/smp.h index 1866cec4f967..c25f73d1d842 100644 --- a/arch/powerpc/include/asm/smp.h +++ b/arch/powerpc/include/asm/smp.h @@ -81,6 +81,13 @@ extern int cpu_to_core_id(int cpu); #define PPC_MSG_CALL_FUNC_SINGLE 2 #define PPC_MSG_DEBUGGER_BREAK 3 +/* + * irq controllers that have dedicated ipis per message and don't + * need additional code in the action handler may use this + */ +extern int smp_request_message_ipi(int virq, int message); +extern const char *smp_ipi_name[]; + void smp_init_iSeries(void); void smp_init_pSeries(void); void smp_init_cell(void); |