powerpc: Remove old compile time disabled syscall tracing code
authorMichael Ellerman <mpe@ellerman.id.au>
Wed, 14 Jan 2015 03:47:56 +0000 (14:47 +1100)
committerMichael Ellerman <mpe@ellerman.id.au>
Mon, 2 Feb 2015 03:51:32 +0000 (14:51 +1100)
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>
arch/powerpc/kernel/entry_32.S
arch/powerpc/kernel/entry_64.S
arch/powerpc/kernel/syscalls.c

index da6379550fd2164402bd9fd0cca627d3ba6ac3b0..46fc0f4d8982c64c18f2046bab96e25ff5c1649c 100644 (file)
@@ -33,9 +33,6 @@
 #include <asm/ftrace.h>
 #include <asm/ptrace.h>
 
-#undef SHOW_SYSCALLS
-#undef SHOW_SYSCALLS_TASK
-
 /*
  * MSR_KERNEL is > 0x10000 on 4xx/Book-E since it include MSR_CE.
  */
@@ -307,9 +304,6 @@ _GLOBAL(DoSyscall)
        lwz     r11,_CCR(r1)    /* Clear SO bit in CR */
        rlwinm  r11,r11,0,4,2
        stw     r11,_CCR(r1)
-#ifdef SHOW_SYSCALLS
-       bl      do_show_syscall
-#endif /* SHOW_SYSCALLS */
 #ifdef CONFIG_TRACE_IRQFLAGS
        /* Return from syscalls can (and generally will) hard enable
         * interrupts. You aren't supposed to call a syscall with
@@ -352,9 +346,6 @@ syscall_dotrace_cont:
        blrl                    /* Call handler */
        .globl  ret_from_syscall
 ret_from_syscall:
-#ifdef SHOW_SYSCALLS
-       bl      do_show_syscall_exit
-#endif
        mr      r6,r3
        CURRENT_THREAD_INFO(r12, r1)
        /* disable interrupts so current_thread_info()->flags can't change */
@@ -523,74 +514,6 @@ syscall_exit_work:
        bl      do_syscall_trace_leave
        b       ret_from_except_full
 
-#ifdef SHOW_SYSCALLS
-do_show_syscall:
-#ifdef SHOW_SYSCALLS_TASK
-       lis     r11,show_syscalls_task@ha
-       lwz     r11,show_syscalls_task@l(r11)
-       cmp     0,r2,r11
-       bnelr
-#endif
-       stw     r31,GPR31(r1)
-       mflr    r31
-       lis     r3,7f@ha
-       addi    r3,r3,7f@l
-       lwz     r4,GPR0(r1)
-       lwz     r5,GPR3(r1)
-       lwz     r6,GPR4(r1)
-       lwz     r7,GPR5(r1)
-       lwz     r8,GPR6(r1)
-       lwz     r9,GPR7(r1)
-       bl      printk
-       lis     r3,77f@ha
-       addi    r3,r3,77f@l
-       lwz     r4,GPR8(r1)
-       mr      r5,r2
-       bl      printk
-       lwz     r0,GPR0(r1)
-       lwz     r3,GPR3(r1)
-       lwz     r4,GPR4(r1)
-       lwz     r5,GPR5(r1)
-       lwz     r6,GPR6(r1)
-       lwz     r7,GPR7(r1)
-       lwz     r8,GPR8(r1)
-       mtlr    r31
-       lwz     r31,GPR31(r1)
-       blr
-
-do_show_syscall_exit:
-#ifdef SHOW_SYSCALLS_TASK
-       lis     r11,show_syscalls_task@ha
-       lwz     r11,show_syscalls_task@l(r11)
-       cmp     0,r2,r11
-       bnelr
-#endif
-       stw     r31,GPR31(r1)
-       mflr    r31
-       stw     r3,RESULT(r1)   /* Save result */
-       mr      r4,r3
-       lis     r3,79f@ha
-       addi    r3,r3,79f@l
-       bl      printk
-       lwz     r3,RESULT(r1)
-       mtlr    r31
-       lwz     r31,GPR31(r1)
-       blr
-
-7:     .string "syscall %d(%x, %x, %x, %x, %x, "
-77:    .string "%x), current=%p\n"
-79:    .string " -> %x\n"
-       .align  2,0
-
-#ifdef SHOW_SYSCALLS_TASK
-       .data
-       .globl  show_syscalls_task
-show_syscalls_task:
-       .long   -1
-       .text
-#endif
-#endif /* SHOW_SYSCALLS */
-
 /*
  * The fork/clone functions need to copy the full register set into
  * the child process. Therefore we need to save all the nonvolatile
index fefaa1485bd31eadff253ea4562e7458a89a7b3b..d180caf2d6de749ecab74fe51bb60146ab044b69 100644 (file)
@@ -49,8 +49,6 @@ exception_marker:
        .section        ".text"
        .align 7
 
-#undef SHOW_SYSCALLS
-
        .globl system_call_common
 system_call_common:
        andi.   r10,r12,MSR_PR
@@ -142,13 +140,6 @@ END_FW_FTR_SECTION_IFSET(FW_FEATURE_SPLPAR)
        li      r10,1
        std     r10,SOFTE(r1)
 
-#ifdef SHOW_SYSCALLS
-       bl      do_show_syscall
-       REST_GPR(0,r1)
-       REST_4GPRS(3,r1)
-       REST_2GPRS(7,r1)
-       addi    r9,r1,STACK_FRAME_OVERHEAD
-#endif
        CURRENT_THREAD_INFO(r11, r1)
        ld      r10,TI_FLAGS(r11)
        andi.   r11,r10,_TIF_SYSCALL_DOTRACE
@@ -180,10 +171,6 @@ system_call:                       /* label this so stack traces look sane */
 
 .Lsyscall_exit:
        std     r3,RESULT(r1)
-#ifdef SHOW_SYSCALLS
-       bl      do_show_syscall_exit
-       ld      r3,RESULT(r1)
-#endif
        CURRENT_THREAD_INFO(r12, r1)
 
        ld      r8,_MSR(r1)
index cd9be9aa016d184da98d24cd5dbb2f04c48dce50..b2702e87db0d44ae28de907ac5517d6ee23879fd 100644 (file)
@@ -121,17 +121,3 @@ long ppc_fadvise64_64(int fd, int advice, u32 offset_high, u32 offset_low,
        return sys_fadvise64(fd, (u64)offset_high << 32 | offset_low,
                             (u64)len_high << 32 | len_low, advice);
 }
-
-void do_show_syscall(unsigned long r3, unsigned long r4, unsigned long r5,
-                    unsigned long r6, unsigned long r7, unsigned long r8,
-                    struct pt_regs *regs)
-{
-       printk("syscall %ld(%lx, %lx, %lx, %lx, %lx, %lx) regs=%p current=%p"
-              " cpu=%d\n", regs->gpr[0], r3, r4, r5, r6, r7, r8, regs,
-              current, smp_processor_id());
-}
-
-void do_show_syscall_exit(unsigned long r3)
-{
-       printk(" -> %lx, current=%p cpu=%d\n", r3, current, smp_processor_id());
-}