diff options
author | David S. Miller <davem@davemloft.net> | 2010-04-07 07:41:33 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-04-13 01:37:26 -0400 |
commit | 9960e9e8944f9b1ca6af5f7d26400ca45b429600 (patch) | |
tree | 2483b4c55f54663a8cc358fae5837e7d8232c554 /arch/sparc/kernel/smp_64.c | |
parent | a71d1d6bb1b26e566e5c06c37857f4cdc1664780 (diff) |
sparc64: Add function graph tracer support.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/sparc/kernel/smp_64.c')
-rw-r--r-- | arch/sparc/kernel/smp_64.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/arch/sparc/kernel/smp_64.c b/arch/sparc/kernel/smp_64.c index eb14844a0021..1011fbf451bb 100644 --- a/arch/sparc/kernel/smp_64.c +++ b/arch/sparc/kernel/smp_64.c | |||
@@ -22,6 +22,7 @@ | |||
22 | #include <linux/profile.h> | 22 | #include <linux/profile.h> |
23 | #include <linux/bootmem.h> | 23 | #include <linux/bootmem.h> |
24 | #include <linux/vmalloc.h> | 24 | #include <linux/vmalloc.h> |
25 | #include <linux/ftrace.h> | ||
25 | #include <linux/cpu.h> | 26 | #include <linux/cpu.h> |
26 | 27 | ||
27 | #include <asm/head.h> | 28 | #include <asm/head.h> |
@@ -822,13 +823,13 @@ void arch_send_call_function_single_ipi(int cpu) | |||
822 | &cpumask_of_cpu(cpu)); | 823 | &cpumask_of_cpu(cpu)); |
823 | } | 824 | } |
824 | 825 | ||
825 | void smp_call_function_client(int irq, struct pt_regs *regs) | 826 | void __irq_entry smp_call_function_client(int irq, struct pt_regs *regs) |
826 | { | 827 | { |
827 | clear_softint(1 << irq); | 828 | clear_softint(1 << irq); |
828 | generic_smp_call_function_interrupt(); | 829 | generic_smp_call_function_interrupt(); |
829 | } | 830 | } |
830 | 831 | ||
831 | void smp_call_function_single_client(int irq, struct pt_regs *regs) | 832 | void __irq_entry smp_call_function_single_client(int irq, struct pt_regs *regs) |
832 | { | 833 | { |
833 | clear_softint(1 << irq); | 834 | clear_softint(1 << irq); |
834 | generic_smp_call_function_single_interrupt(); | 835 | generic_smp_call_function_single_interrupt(); |
@@ -964,7 +965,7 @@ void flush_dcache_page_all(struct mm_struct *mm, struct page *page) | |||
964 | put_cpu(); | 965 | put_cpu(); |
965 | } | 966 | } |
966 | 967 | ||
967 | void smp_new_mmu_context_version_client(int irq, struct pt_regs *regs) | 968 | void __irq_entry smp_new_mmu_context_version_client(int irq, struct pt_regs *regs) |
968 | { | 969 | { |
969 | struct mm_struct *mm; | 970 | struct mm_struct *mm; |
970 | unsigned long flags; | 971 | unsigned long flags; |
@@ -1148,7 +1149,7 @@ void smp_release(void) | |||
1148 | */ | 1149 | */ |
1149 | extern void prom_world(int); | 1150 | extern void prom_world(int); |
1150 | 1151 | ||
1151 | void smp_penguin_jailcell(int irq, struct pt_regs *regs) | 1152 | void __irq_entry smp_penguin_jailcell(int irq, struct pt_regs *regs) |
1152 | { | 1153 | { |
1153 | clear_softint(1 << irq); | 1154 | clear_softint(1 << irq); |
1154 | 1155 | ||
@@ -1364,7 +1365,7 @@ void smp_send_reschedule(int cpu) | |||
1364 | &cpumask_of_cpu(cpu)); | 1365 | &cpumask_of_cpu(cpu)); |
1365 | } | 1366 | } |
1366 | 1367 | ||
1367 | void smp_receive_signal_client(int irq, struct pt_regs *regs) | 1368 | void __irq_entry smp_receive_signal_client(int irq, struct pt_regs *regs) |
1368 | { | 1369 | { |
1369 | clear_softint(1 << irq); | 1370 | clear_softint(1 << irq); |
1370 | } | 1371 | } |