diff options
author | hunt <hunt> | 2007-07-31 16:20:30 +0000 |
---|---|---|
committer | hunt <hunt> | 2007-07-31 16:20:30 +0000 |
commit | a968ea63067cb079cbd1608804ec80c36026f0ab (patch) | |
tree | 3f39852ec51e7e39ce69a0ec1d39449ef56b1067 /tapset/s390x | |
parent | 291f7a3a00b127c0128434c7af7923331ef34bd7 (diff) | |
download | systemtap-steved-a968ea63067cb079cbd1608804ec80c36026f0ab.tar.gz systemtap-steved-a968ea63067cb079cbd1608804ec80c36026f0ab.tar.xz systemtap-steved-a968ea63067cb079cbd1608804ec80c36026f0ab.zip |
2007-07-31 Martin Hunt <hunt@redhat.com>
* */syscalls.stp: Added mmap functions.
Continued moving common compatibility functions to
the main tapset.
* aux_syscalls.stp (_shmat_flags_str): New.
(__get_compat_argv): New.
* syscalls.stp (adjtimex): Just print hex argument.
(compat_adjtimex): New.
(clock_getres): Also probe compat_clock_getres.
(clock_gettime): Also probe compat funcs.
(compat_clock_nanosleep): New.
(compat_execve): New.
(fstatat): New.
(get[e][gu]id): Also probe sys32.
(getsockopt): Make optional. Also probe compat.
(mmap, mmap2): These are arch-specific, so move to individual
architecture subdirs.
(compat_sys_msgctl): New.
(compat_sys_msgrcv): New.
(compat_sys_msgsnd): New.
* syscalls.stp (pread32): Remove. It calls pread64 .
(quotactl): Make optional.
(recv): Probe correct function.
(recvfrom): Fix args.
(compat_sys_recvmsg): New.
(semctl): Make optional.
(compat_sys_semctl): New.
(semget): Make optional.
(semop): Make optional.
(semtimedop): Make optional.
(compat_sys_semtimedop): New.
(send): Make optional.
(sendmsg): Make optional.
(compat_sys_sendmsg): New.
(sendto): Make optional.
(setsockopt): Make optional. Add compat.
(shmat): New.
(compat_sys_shmat): New.
(shmctl): New.
(compat_sys_shmctl): New.
(shmdt): New.
(shmget): New.
(shutdown): Make optional.
(socket): Make optional.
(socketpair): Make optional.
(swapoff): Make optional.
(swapon): Make optional.
(sysctl): Add probe on sys32.
Diffstat (limited to 'tapset/s390x')
-rw-r--r-- | tapset/s390x/syscalls.stp | 65 |
1 files changed, 50 insertions, 15 deletions
diff --git a/tapset/s390x/syscalls.stp b/tapset/s390x/syscalls.stp index b1804388..40a73fd5 100644 --- a/tapset/s390x/syscalls.stp +++ b/tapset/s390x/syscalls.stp @@ -1,22 +1,59 @@ +# S390-specific system calls + %(arch == "s390x" %? -# mmap - s390x version of the syscall.mmap probes +# getresgid __________________________________________________ +# long sys32_getresgid16(u16 __user *rgid, u16 __user *egid, u16 __user *sgid) +# +probe syscall.getresgid16 = kernel.function("sys32_getresgid16") ? +{ + name = "getresgid" + argstr = sprintf("%p, %p, %p", $rgid, $egid, $sgid) +} +probe syscall.getresgid16.return = kernel.function("sys32_getresgid16").return ? +{ + name = "getresgid" + retstr = returnstr(1) +} +# getresuid __________________________________________________ +# long sys32_getresuid16(u16 __user *ruid, u16 __user *euid, u16 __user *suid) +# +probe syscall.getresuid16 = kernel.function("sys32_getresuid16") ? +{ + name = "getresuid" + argstr = sprintf("%p, %p, %p", $ruid, $euid, $suid) +} +probe syscall.getresuid16.return = kernel.function("sys32_getresuid16").return ? +{ + name = "getresuid" + retstr = returnstr(1) +} + +# ipc _________________________________________________ +# long sys32_ipc(u32 call, int first, int second, int third, u32 ptr) # +probe syscall.ipc = kernel.function("sys32_ipc") ? { + name = "ipc" + argstr = sprintf("%d, %d, %d, %d, %p", $call, $first, $second, $third, $ptr) +} +probe syscall.ipc.return = kernel.function("sys_ipc").return ? { + name = "ipc" + retstr = returnstr(1) +} + +# mmap _________________________________________________ # long old_mmap(struct mmap_arg_struct __user *arg) # long old32_mmap(struct mmap_arg_struct_emu31 __user *arg) # - probe syscall.mmap = kernel.function("old_mmap"), kernel.function("old32_mmap") { name = "mmap" - if ( probefunc() == "old_mmap" ){ - argstr = get_mmap_args($arg); - }else{ - argstr = get_32mmap_args($arg); - } - + if (probefunc() == "old_mmap") + argstr = get_mmap_args($arg) + else + argstr = get_32mmap_args($arg) } probe syscall.mmap.return = kernel.function("old_mmap").return, @@ -27,7 +64,7 @@ probe syscall.mmap.return = kernel.function("old_mmap").return, } -# mmap2 - s390x version of the syscall.mmap2 probes +# mmap2 _________________________________________________ # # long sys_mmap2(struct mmap_arg_struct __user *arg) # long sys32_mmap2(struct mmap_arg_struct_emu31 __user *arg) @@ -37,12 +74,10 @@ probe syscall.mmap2 = kernel.function("sys_mmap2"), { name = "mmap2" - if ( probefunc() == "sys_mmap2" ){ - argstr = get_mmap_args($arg); - }else{ - argstr = get_32mmap_args($arg); - } - + if (probefunc() == "sys_mmap2") + argstr = get_mmap_args($arg) + else + argstr = get_32mmap_args($arg) } probe syscall.mmap2.return = kernel.function("sys_mmap2").return, |