aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Ellerman <mpe@ellerman.id.au>2015-01-13 22:47:56 -0500
committerMichael Ellerman <mpe@ellerman.id.au>2015-02-01 22:51:32 -0500
commita4bcbe6a41adcaa5e7f1830a7c1da8691d9d2b1d (patch)
tree6f1d9902db4dd2641f9a4848432e5380bd57f07d
parent4c3b21686111e0ac6018469dacbc5549f9915cf8 (diff)
powerpc: Remove old compile time disabled syscall tracing code
We have code to do syscall tracing which is disabled at compile time by default. It's not been touched since the dawn of time (ie. v2.6.12). There are now better ways to do syscall tracing, ie. using the raw_syscall, or syscall tracepoints. For the specific case of tracing syscalls at boot on a system that doesn't get to userspace, you can boot with: trace_event=syscalls tp_printk=on Which will trace syscalls from boot, and echo all output to the console. Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
-rw-r--r--arch/powerpc/kernel/entry_32.S77
-rw-r--r--arch/powerpc/kernel/entry_64.S13
-rw-r--r--arch/powerpc/kernel/syscalls.c14
3 files changed, 0 insertions, 104 deletions
diff --git a/arch/powerpc/kernel/entry_32.S b/arch/powerpc/kernel/entry_32.S
index da6379550fd2..46fc0f4d8982 100644
--- a/arch/powerpc/kernel/entry_32.S
+++ b/arch/powerpc/kernel/entry_32.S
@@ -33,9 +33,6 @@
33#include <asm/ftrace.h> 33#include <asm/ftrace.h>
34#include <asm/ptrace.h> 34#include <asm/ptrace.h>
35 35
36#undef SHOW_SYSCALLS
37#undef SHOW_SYSCALLS_TASK
38
39/* 36/*
40 * MSR_KERNEL is > 0x10000 on 4xx/Book-E since it include MSR_CE. 37 * MSR_KERNEL is > 0x10000 on 4xx/Book-E since it include MSR_CE.
41 */ 38 */
@@ -307,9 +304,6 @@ _GLOBAL(DoSyscall)
307 lwz r11,_CCR(r1) /* Clear SO bit in CR */ 304 lwz r11,_CCR(r1) /* Clear SO bit in CR */
308 rlwinm r11,r11,0,4,2 305 rlwinm r11,r11,0,4,2
309 stw r11,_CCR(r1) 306 stw r11,_CCR(r1)
310#ifdef SHOW_SYSCALLS
311 bl do_show_syscall
312#endif /* SHOW_SYSCALLS */
313#ifdef CONFIG_TRACE_IRQFLAGS 307#ifdef CONFIG_TRACE_IRQFLAGS
314 /* Return from syscalls can (and generally will) hard enable 308 /* Return from syscalls can (and generally will) hard enable
315 * interrupts. You aren't supposed to call a syscall with 309 * interrupts. You aren't supposed to call a syscall with
@@ -352,9 +346,6 @@ syscall_dotrace_cont:
352 blrl /* Call handler */ 346 blrl /* Call handler */
353 .globl ret_from_syscall 347 .globl ret_from_syscall
354ret_from_syscall: 348ret_from_syscall:
355#ifdef SHOW_SYSCALLS
356 bl do_show_syscall_exit
357#endif
358 mr r6,r3 349 mr r6,r3
359 CURRENT_THREAD_INFO(r12, r1) 350 CURRENT_THREAD_INFO(r12, r1)
360 /* disable interrupts so current_thread_info()->flags can't change */ 351 /* disable interrupts so current_thread_info()->flags can't change */
@@ -523,74 +514,6 @@ syscall_exit_work:
523 bl do_syscall_trace_leave 514 bl do_syscall_trace_leave
524 b ret_from_except_full 515 b ret_from_except_full
525 516
526#ifdef SHOW_SYSCALLS
527do_show_syscall:
528#ifdef SHOW_SYSCALLS_TASK
529 lis r11,show_syscalls_task@ha
530 lwz r11,show_syscalls_task@l(r11)
531 cmp 0,r2,r11
532 bnelr
533#endif
534 stw r31,GPR31(r1)
535 mflr r31
536 lis r3,7f@ha
537 addi r3,r3,7f@l
538 lwz r4,GPR0(r1)
539 lwz r5,GPR3(r1)
540 lwz r6,GPR4(r1)
541 lwz r7,GPR5(r1)
542 lwz r8,GPR6(r1)
543 lwz r9,GPR7(r1)
544 bl printk
545 lis r3,77f@ha
546 addi r3,r3,77f@l
547 lwz r4,GPR8(r1)
548 mr r5,r2
549 bl printk
550 lwz r0,GPR0(r1)
551 lwz r3,GPR3(r1)
552 lwz r4,GPR4(r1)
553 lwz r5,GPR5(r1)
554 lwz r6,GPR6(r1)
555 lwz r7,GPR7(r1)
556 lwz r8,GPR8(r1)
557 mtlr r31
558 lwz r31,GPR31(r1)
559 blr
560
561do_show_syscall_exit:
562#ifdef SHOW_SYSCALLS_TASK
563 lis r11,show_syscalls_task@ha
564 lwz r11,show_syscalls_task@l(r11)
565 cmp 0,r2,r11
566 bnelr
567#endif
568 stw r31,GPR31(r1)
569 mflr r31
570 stw r3,RESULT(r1) /* Save result */
571 mr r4,r3
572 lis r3,79f@ha
573 addi r3,r3,79f@l
574 bl printk
575 lwz r3,RESULT(r1)
576 mtlr r31
577 lwz r31,GPR31(r1)
578 blr
579
5807: .string "syscall %d(%x, %x, %x, %x, %x, "
58177: .string "%x), current=%p\n"
58279: .string " -> %x\n"
583 .align 2,0
584
585#ifdef SHOW_SYSCALLS_TASK
586 .data
587 .globl show_syscalls_task
588show_syscalls_task:
589 .long -1
590 .text
591#endif
592#endif /* SHOW_SYSCALLS */
593
594/* 517/*
595 * The fork/clone functions need to copy the full register set into 518 * The fork/clone functions need to copy the full register set into
596 * the child process. Therefore we need to save all the nonvolatile 519 * the child process. Therefore we need to save all the nonvolatile
diff --git a/arch/powerpc/kernel/entry_64.S b/arch/powerpc/kernel/entry_64.S
index fefaa1485bd3..d180caf2d6de 100644
--- a/arch/powerpc/kernel/entry_64.S
+++ b/arch/powerpc/kernel/entry_64.S
@@ -49,8 +49,6 @@ exception_marker:
49 .section ".text" 49 .section ".text"
50 .align 7 50 .align 7
51 51
52#undef SHOW_SYSCALLS
53
54 .globl system_call_common 52 .globl system_call_common
55system_call_common: 53system_call_common:
56 andi. r10,r12,MSR_PR 54 andi. r10,r12,MSR_PR
@@ -142,13 +140,6 @@ END_FW_FTR_SECTION_IFSET(FW_FEATURE_SPLPAR)
142 li r10,1 140 li r10,1
143 std r10,SOFTE(r1) 141 std r10,SOFTE(r1)
144 142
145#ifdef SHOW_SYSCALLS
146 bl do_show_syscall
147 REST_GPR(0,r1)
148 REST_4GPRS(3,r1)
149 REST_2GPRS(7,r1)
150 addi r9,r1,STACK_FRAME_OVERHEAD
151#endif
152 CURRENT_THREAD_INFO(r11, r1) 143 CURRENT_THREAD_INFO(r11, r1)
153 ld r10,TI_FLAGS(r11) 144 ld r10,TI_FLAGS(r11)
154 andi. r11,r10,_TIF_SYSCALL_DOTRACE 145 andi. r11,r10,_TIF_SYSCALL_DOTRACE
@@ -180,10 +171,6 @@ system_call: /* label this so stack traces look sane */
180 171
181.Lsyscall_exit: 172.Lsyscall_exit:
182 std r3,RESULT(r1) 173 std r3,RESULT(r1)
183#ifdef SHOW_SYSCALLS
184 bl do_show_syscall_exit
185 ld r3,RESULT(r1)
186#endif
187 CURRENT_THREAD_INFO(r12, r1) 174 CURRENT_THREAD_INFO(r12, r1)
188 175
189 ld r8,_MSR(r1) 176 ld r8,_MSR(r1)
diff --git a/arch/powerpc/kernel/syscalls.c b/arch/powerpc/kernel/syscalls.c
index cd9be9aa016d..b2702e87db0d 100644
--- a/arch/powerpc/kernel/syscalls.c
+++ b/arch/powerpc/kernel/syscalls.c
@@ -121,17 +121,3 @@ long ppc_fadvise64_64(int fd, int advice, u32 offset_high, u32 offset_low,
121 return sys_fadvise64(fd, (u64)offset_high << 32 | offset_low, 121 return sys_fadvise64(fd, (u64)offset_high << 32 | offset_low,
122 (u64)len_high << 32 | len_low, advice); 122 (u64)len_high << 32 | len_low, advice);
123} 123}
124
125void do_show_syscall(unsigned long r3, unsigned long r4, unsigned long r5,
126 unsigned long r6, unsigned long r7, unsigned long r8,
127 struct pt_regs *regs)
128{
129 printk("syscall %ld(%lx, %lx, %lx, %lx, %lx, %lx) regs=%p current=%p"
130 " cpu=%d\n", regs->gpr[0], r3, r4, r5, r6, r7, r8, regs,
131 current, smp_processor_id());
132}
133
134void do_show_syscall_exit(unsigned long r3)
135{
136 printk(" -> %lx, current=%p cpu=%d\n", r3, current, smp_processor_id());
137}