diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2013-05-05 08:24:42 +0200 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2013-05-05 08:27:03 +0200 |
commit | f99e44a7f3352d7131c7526207f153f13ec5acd4 (patch) | |
tree | 0f448b21128c478053ee7f7765b865954c4eebe8 /arch/tile/kernel/intvec_64.S | |
parent | Merge branch 'rcu/doc' of git://git.kernel.org/pub/scm/linux/kernel/git/paulm... (diff) | |
parent | ipc: fix GETALL/IPC_RM race for sysv semaphores (diff) | |
download | linux-f99e44a7f3352d7131c7526207f153f13ec5acd4.tar.xz linux-f99e44a7f3352d7131c7526207f153f13ec5acd4.zip |
Merge branch 'linus' into core/urgent
Update with Linus tree so fixes for the same can be applied.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'arch/tile/kernel/intvec_64.S')
-rw-r--r-- | arch/tile/kernel/intvec_64.S | 24 |
1 files changed, 18 insertions, 6 deletions
diff --git a/arch/tile/kernel/intvec_64.S b/arch/tile/kernel/intvec_64.S index 4ea080902654..85d483957027 100644 --- a/arch/tile/kernel/intvec_64.S +++ b/arch/tile/kernel/intvec_64.S @@ -1000,13 +1000,19 @@ handle_syscall: /* Trace syscalls, if requested. */ addi r31, r31, THREAD_INFO_FLAGS_OFFSET - ld r30, r31 - andi r30, r30, _TIF_SYSCALL_TRACE + { + ld r30, r31 + moveli r32, _TIF_SYSCALL_ENTRY_WORK + } + and r30, r30, r32 { addi r30, r31, THREAD_INFO_STATUS_OFFSET - THREAD_INFO_FLAGS_OFFSET beqzt r30, .Lrestore_syscall_regs } - jal do_syscall_trace + { + PTREGS_PTR(r0, PTREGS_OFFSET_BASE) + jal do_syscall_trace_enter + } FEEDBACK_REENTER(handle_syscall) /* @@ -1071,13 +1077,19 @@ handle_syscall: FEEDBACK_REENTER(handle_syscall) /* Do syscall trace again, if requested. */ - ld r30, r31 - andi r0, r30, _TIF_SYSCALL_TRACE + { + ld r30, r31 + moveli r32, _TIF_SYSCALL_EXIT_WORK + } + and r0, r30, r32 { andi r0, r30, _TIF_SINGLESTEP beqzt r0, 1f } - jal do_syscall_trace + { + PTREGS_PTR(r0, PTREGS_OFFSET_BASE) + jal do_syscall_trace_exit + } FEEDBACK_REENTER(handle_syscall) andi r0, r30, _TIF_SINGLESTEP |