summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWilliam Cohen <wcohen@redhat.com>2008-06-20 14:42:25 -0400
committerWilliam Cohen <wcohen@redhat.com>2008-06-20 14:42:25 -0400
commite3cbdeffc01c18d5aee8a8d43fbd277316a18f87 (patch)
treeb2c79ae541cc6f670de23716b75cdd8bd1100729
parent133c7b1dabc43a4f17106a9198196310e5ea3a4b (diff)
downloadsystemtap-steved-e3cbdeffc01c18d5aee8a8d43fbd277316a18f87.tar.gz
systemtap-steved-e3cbdeffc01c18d5aee8a8d43fbd277316a18f87.tar.xz
systemtap-steved-e3cbdeffc01c18d5aee8a8d43fbd277316a18f87.zip
Functions for kdev_t information: MAJOR, MINOR, MKDEV, and usrdev2kerndev.
-rw-r--r--ChangeLog4
-rw-r--r--stapfuncs.5.in14
-rw-r--r--tapset/ChangeLog4
-rw-r--r--tapset/dev.stp33
4 files changed, 55 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 8492689a..e80c6465 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2008-06-20 wcohen <wcohen@redhat.com>
+
+ * stapfuncs.5.in: Add documentation for tapset/dev.stp functions.
+
2008-06-18 Josh Stone <joshua.i.stone@intel.com>
PR 6644
diff --git a/stapfuncs.5.in b/stapfuncs.5.in
index d8a1a55c..acfb42f9 100644
--- a/stapfuncs.5.in
+++ b/stapfuncs.5.in
@@ -642,6 +642,20 @@ or SIG_ERR, it will return the address of the handler.
signal_str(num)
Returns the string representation of the given signal number.
+.SS DEVICE
+.TP
+MAJOR:long(dev:long)
+Extracts the major device number from a kernel device number (kdev_t).
+.TP
+MINOR:long(dev:long)
+Extracts the minor device number from a kernel device number (kdev_t).
+.TP
+MKDEV:long(major:long, minor:long)
+Creates a value that can be compared to a kernel device number (kdev_t).
+.TP
+usrdev2kerndev:long(dev:long)
+Converts a user-space device number into the format used in the kernel.
+
.SH FILES
.nh
.IR @prefix@/share/systemtap/tapset
diff --git a/tapset/ChangeLog b/tapset/ChangeLog
index d51e186a..efb660c6 100644
--- a/tapset/ChangeLog
+++ b/tapset/ChangeLog
@@ -1,3 +1,7 @@
+2008-06-20 wcohen <wcohen@redhat.com>
+
+ * dev.stp: New.
+
2008-06-19 Zhaolei <zhaolei@cn.fujitsu.com>
* aux_syscalls.stp: Output unknown bits in _stp_lookup_or_str.
diff --git a/tapset/dev.stp b/tapset/dev.stp
new file mode 100644
index 00000000..80449324
--- /dev/null
+++ b/tapset/dev.stp
@@ -0,0 +1,33 @@
+// Device numbering tapset
+// Copyright (C) 2008 Red Hat Corp.
+//
+// This file is part of systemtap, and is free software. You can
+// redistribute it and/or modify it under the terms of the GNU General
+// Public License (GPL); either version 2, or (at your option) any
+// later version.
+
+%{
+#include <linux/kdev_t.h>
+%}
+
+function MAJOR:long(dev:long)
+%{ /* pure */
+ THIS->__retvalue = MAJOR(THIS->dev);
+%}
+
+
+function MINOR:long(dev:long)
+%{ /* pure */
+ THIS->__retvalue = MINOR(THIS->dev);
+%}
+
+
+function MKDEV:long(major:long, minor:long)
+%{ /* pure */
+ THIS->__retvalue = MKDEV(THIS->major,THIS->minor);
+%}
+
+function usrdev2kerndev:long(dev:long)
+%{ /* pure */
+ THIS->__retvalue = new_decode_dev(THIS->dev);
+%}