diff options
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: | |||
1000 | 1000 | ||
1001 | /* Trace syscalls, if requested. */ | 1001 | /* Trace syscalls, if requested. */ |
1002 | addi r31, r31, THREAD_INFO_FLAGS_OFFSET | 1002 | addi r31, r31, THREAD_INFO_FLAGS_OFFSET |
1003 | ld r30, r31 | 1003 | { |
1004 | andi r30, r30, _TIF_SYSCALL_TRACE | 1004 | ld r30, r31 |
1005 | moveli r32, _TIF_SYSCALL_ENTRY_WORK | ||
1006 | } | ||
1007 | and r30, r30, r32 | ||
1005 | { | 1008 | { |
1006 | addi r30, r31, THREAD_INFO_STATUS_OFFSET - THREAD_INFO_FLAGS_OFFSET | 1009 | addi r30, r31, THREAD_INFO_STATUS_OFFSET - THREAD_INFO_FLAGS_OFFSET |
1007 | beqzt r30, .Lrestore_syscall_regs | 1010 | beqzt r30, .Lrestore_syscall_regs |
1008 | } | 1011 | } |
1009 | jal do_syscall_trace | 1012 | { |
1013 | PTREGS_PTR(r0, PTREGS_OFFSET_BASE) | ||
1014 | jal do_syscall_trace_enter | ||
1015 | } | ||
1010 | FEEDBACK_REENTER(handle_syscall) | 1016 | FEEDBACK_REENTER(handle_syscall) |
1011 | 1017 | ||
1012 | /* | 1018 | /* |
@@ -1071,13 +1077,19 @@ handle_syscall: | |||
1071 | FEEDBACK_REENTER(handle_syscall) | 1077 | FEEDBACK_REENTER(handle_syscall) |
1072 | 1078 | ||
1073 | /* Do syscall trace again, if requested. */ | 1079 | /* Do syscall trace again, if requested. */ |
1074 | ld r30, r31 | 1080 | { |
1075 | andi r0, r30, _TIF_SYSCALL_TRACE | 1081 | ld r30, r31 |
1082 | moveli r32, _TIF_SYSCALL_EXIT_WORK | ||
1083 | } | ||
1084 | and r0, r30, r32 | ||
1076 | { | 1085 | { |
1077 | andi r0, r30, _TIF_SINGLESTEP | 1086 | andi r0, r30, _TIF_SINGLESTEP |
1078 | beqzt r0, 1f | 1087 | beqzt r0, 1f |
1079 | } | 1088 | } |
1080 | jal do_syscall_trace | 1089 | { |
1090 | PTREGS_PTR(r0, PTREGS_OFFSET_BASE) | ||
1091 | jal do_syscall_trace_exit | ||
1092 | } | ||
1081 | FEEDBACK_REENTER(handle_syscall) | 1093 | FEEDBACK_REENTER(handle_syscall) |
1082 | andi r0, r30, _TIF_SINGLESTEP | 1094 | andi r0, r30, _TIF_SINGLESTEP |
1083 | 1095 | ||