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>
This commit is contained in:
Milton Miller
2008-11-14 20:11:49 +00:00
committed by Paul Mackerras
parent a6326e98a2
commit 25ddd738c2
2 changed files with 66 additions and 0 deletions

View File

@ -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);