diff options
author | David S. Miller <davem@davemloft.net> | 2008-08-04 19:16:20 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-08-04 19:16:20 -0400 |
commit | deb16999e452b74011dac5b2fe0d6258df81a2a1 (patch) | |
tree | 59782fbc1bf82d4ae0cabeceaa4e0116ab589b2b /arch/sparc64/kernel/smp.c | |
parent | 43f589235e223418d5807ebcddca73ec8a45f52c (diff) |
sparc64: Make all xcall_deliver's go through common helper function.
This just facilitates the next changeset where we'll be building
the cpu list and mondo block in this helper function.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/sparc64/kernel/smp.c')
-rw-r--r-- | arch/sparc64/kernel/smp.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/arch/sparc64/kernel/smp.c b/arch/sparc64/kernel/smp.c index 740259d89552..20f4e291c74a 100644 --- a/arch/sparc64/kernel/smp.c +++ b/arch/sparc64/kernel/smp.c | |||
@@ -759,7 +759,12 @@ dump_cpu_list_and_out: | |||
759 | printk("]\n"); | 759 | printk("]\n"); |
760 | } | 760 | } |
761 | 761 | ||
762 | static void (*xcall_deliver)(u64, u64, u64, const cpumask_t *); | 762 | static void (*xcall_deliver_impl)(u64, u64, u64, const cpumask_t *); |
763 | |||
764 | static void xcall_deliver(u64 data0, u64 data1, u64 data2, const cpumask_t *mask) | ||
765 | { | ||
766 | xcall_deliver_impl(data0, data1, data2, mask); | ||
767 | } | ||
763 | 768 | ||
764 | /* Send cross call to all processors mentioned in MASK_P | 769 | /* Send cross call to all processors mentioned in MASK_P |
765 | * except self. Really, there are only two cases currently, | 770 | * except self. Really, there are only two cases currently, |
@@ -1182,11 +1187,11 @@ void __devinit smp_prepare_boot_cpu(void) | |||
1182 | void __init smp_setup_processor_id(void) | 1187 | void __init smp_setup_processor_id(void) |
1183 | { | 1188 | { |
1184 | if (tlb_type == spitfire) | 1189 | if (tlb_type == spitfire) |
1185 | xcall_deliver = spitfire_xcall_deliver; | 1190 | xcall_deliver_impl = spitfire_xcall_deliver; |
1186 | else if (tlb_type == cheetah || tlb_type == cheetah_plus) | 1191 | else if (tlb_type == cheetah || tlb_type == cheetah_plus) |
1187 | xcall_deliver = cheetah_xcall_deliver; | 1192 | xcall_deliver_impl = cheetah_xcall_deliver; |
1188 | else | 1193 | else |
1189 | xcall_deliver = hypervisor_xcall_deliver; | 1194 | xcall_deliver_impl = hypervisor_xcall_deliver; |
1190 | } | 1195 | } |
1191 | 1196 | ||
1192 | void __devinit smp_fill_in_sib_core_maps(void) | 1197 | void __devinit smp_fill_in_sib_core_maps(void) |