summaryrefslogtreecommitdiffstats
path: root/tapset/s390x
diff options
context:
space:
mode:
authorhunt <hunt>2007-07-31 16:20:30 +0000
committerhunt <hunt>2007-07-31 16:20:30 +0000
commita968ea63067cb079cbd1608804ec80c36026f0ab (patch)
tree3f39852ec51e7e39ce69a0ec1d39449ef56b1067 /tapset/s390x
parent291f7a3a00b127c0128434c7af7923331ef34bd7 (diff)
downloadsystemtap-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.stp65
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,