summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2008-08-05 01:16:20 +0200
committerDavid S. Miller <davem@davemloft.net>2008-08-05 01:16:20 +0200
commitdeb16999e452b74011dac5b2fe0d6258df81a2a1 (patch)
tree59782fbc1bf82d4ae0cabeceaa4e0116ab589b2b
parentsparc64: Always allocate the send mondo blocks, even on non-sun4v. (diff)
downloadlinux-deb16999e452b74011dac5b2fe0d6258df81a2a1.tar.xz
linux-deb16999e452b74011dac5b2fe0d6258df81a2a1.zip
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>
-rw-r--r--arch/sparc64/kernel/smp.c13
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:
printk("]\n");
}
-static void (*xcall_deliver)(u64, u64, u64, const cpumask_t *);
+static void (*xcall_deliver_impl)(u64, u64, u64, const cpumask_t *);
+
+static void xcall_deliver(u64 data0, u64 data1, u64 data2, const cpumask_t *mask)
+{
+ xcall_deliver_impl(data0, data1, data2, mask);
+}
/* Send cross call to all processors mentioned in MASK_P
* except self. Really, there are only two cases currently,
@@ -1182,11 +1187,11 @@ void __devinit smp_prepare_boot_cpu(void)
void __init smp_setup_processor_id(void)
{
if (tlb_type == spitfire)
- xcall_deliver = spitfire_xcall_deliver;
+ xcall_deliver_impl = spitfire_xcall_deliver;
else if (tlb_type == cheetah || tlb_type == cheetah_plus)
- xcall_deliver = cheetah_xcall_deliver;
+ xcall_deliver_impl = cheetah_xcall_deliver;
else
- xcall_deliver = hypervisor_xcall_deliver;
+ xcall_deliver_impl = hypervisor_xcall_deliver;
}
void __devinit smp_fill_in_sib_core_maps(void)