summaryrefslogtreecommitdiffstats
path: root/tapset/i686
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/i686
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/i686')
-rw-r--r--tapset/i686/syscalls.stp66
1 files changed, 34 insertions, 32 deletions
diff --git a/tapset/i686/syscalls.stp b/tapset/i686/syscalls.stp
index ad984075..1106ea3d 100644
--- a/tapset/i686/syscalls.stp
+++ b/tapset/i686/syscalls.stp
@@ -1,3 +1,7 @@
+# 32-bit x86-specific system calls
+# These are typically defined in arch/i386
+#
+
# get_thread_area ____________________________________________
/*
* asmlinkage int
@@ -28,16 +32,9 @@ probe syscall.iopl.return = kernel.function("sys_iopl").return {
}
# ipc ________________________________________________________
-/*
- * asmlinkage int
- * sys_ipc(uint call,
- * int first,
- * int second,
- * int third,
- * void __user *ptr,
- * long fifth)
- */
-probe syscall.ipc = kernel.function("sys_ipc") {
+# int sys_ipc (uint call, int first, int second, int third, void __user *ptr, long fifth)
+#
+probe syscall.ipc = kernel.function("sys_ipc") ? {
name = "ipc"
call = $call
first = $first
@@ -46,13 +43,38 @@ probe syscall.ipc = kernel.function("sys_ipc") {
ptr_uaddr = $ptr
fifth = $fifth
argstr = sprintf("%d, %d, %d, %d, %p, %d", $call, $first,
- $second, $third, ptr_uaddr, $fifth)
+ $second, $third, $ptr, $fifth)
}
-probe syscall.ipc.return = kernel.function("sys_ipc").return {
+probe syscall.ipc.return = kernel.function("sys_ipc").return ? {
name = "ipc"
retstr = returnstr(1)
}
+
+# mmap2 ____________________________________________
+# sys_mmap2(unsigned long addr, unsigned long len,
+# unsigned long prot, unsigned long flags,
+# unsigned long fd, unsigned long pgoff)
+#
+probe syscall.mmap2 = kernel.function("sys_mmap2") ?
+{
+ name = "mmap2"
+ start = $addr
+ length = $len
+ prot = $prot
+ flags = $flags
+ fd = $fd
+ pgoffset = $pgoff
+ argstr = sprintf("%p, %d, %s, %s, %d, %d", $addr,
+ $len, _mprotect_prot_str($prot), _mmap_flags($flags),
+ $fd, $pgoff)
+}
+probe syscall.mmap2.return = kernel.function("sys_mmap2").return ?
+{
+ name = "mmap2"
+ retstr = returnstr(2)
+}
+
# set_thread_area ____________________________________________
/*
* asmlinkage int
@@ -91,26 +113,6 @@ probe syscall.set_zone_reclaim.return =
retstr = returnstr(1)
}
%)
-# shmat ______________________________________________________
-/*
- * asmlinkage long
- * sys_shmat(int shmid,
- * char __user *shmaddr,
- * int shmflg)
- */
-probe syscall.shmat =
- kernel.function("sys_shmat") {
- name = "shmat"
- shmid = $shmid
- shmaddr_uaddr = $shmaddr
- shmflg = $shmflg
- argstr = sprintf("%d, %p, %d", $shmid, shmaddr_uaddr, $shmflg)
-}
-probe syscall.shmat.return =
- kernel.function("sys_shmat").return {
- name = "shmat"
- retstr = returnstr(1)
-}
# sigaltstack ________________________________________________
# int sys_sigaltstack(unsigned long ebx)