STI
.set at
#endif
- ld t1, PT_EPC(sp) # skip syscall on return
subu t0, v0, __NR_N32_Linux # check syscall number
sltiu t0, t0, __NR_N32_Linux_syscalls + 1
+
+#ifndef CONFIG_MIPS32_O32
+ ld t1, PT_EPC(sp) # skip syscall on return
daddiu t1, 4 # skip to next instruction
- beqz t0, not_n32_scall
sd t1, PT_EPC(sp)
+#endif
+ beqz t0, not_n32_scall
dsll t0, v0, 3 # offset into table
ld t2, (sysn32_call_table - (__NR_N32_Linux * 8))(t0)
sd a3, PT_R26(sp) # save a3 for syscall restarting
+ li t1, _TIF_SYSCALL_TRACE | _TIF_SYSCALL_AUDIT
LONG_L t0, TI_FLAGS($28) # syscall tracing enabled?
- bltz t0, n32_syscall_trace_entry
+ and t0, t1, t0
+ bnez t0, n32_syscall_trace_entry
jalr t2 # Do The Real Thing (TM)
n32_syscall_trace_entry:
SAVE_STATIC
sd t2,PT_R1(sp)
+ move a0, sp
+ li a1, 0
jal do_syscall_trace
ld t2,PT_R1(sp)
PTR compat_sys_ioctl /* 6015 */
PTR sys_pread64
PTR sys_pwrite64
- PTR sys32_readv
- PTR sys32_writev
+ PTR compat_sys_readv
+ PTR compat_sys_writev
PTR sys_access /* 6020 */
PTR sys_pipe
- PTR sys32_select
+ PTR compat_sys_select
PTR sys_sched_yield
PTR sys_mremap
PTR sys_msync /* 6025 */
PTR sys_clock_nanosleep
PTR sys_tgkill
PTR compat_sys_utimes /* 6230 */
+ PTR sys_ni_syscall /* sys_mbind */
+ PTR sys_ni_syscall /* sys_get_mempolicy */
+ PTR sys_ni_syscall /* sys_set_mempolicy */
+ PTR compat_sys_mq_open
+ PTR sys_mq_unlink /* 6235 */
+ PTR compat_sys_mq_timedsend
+ PTR compat_sys_mq_timedreceive
+ PTR compat_sys_mq_notify
+ PTR compat_sys_mq_getsetattr /* 6239 */