]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
dtrace: finish GPL/CDDL splitting work
authorNick Alcock <nick.alcock@oracle.com>
Mon, 3 Oct 2011 16:20:15 +0000 (17:20 +0100)
committerNick Alcock <nick.alcock@oracle.com>
Mon, 29 Jun 2015 21:39:56 +0000 (22:39 +0100)
kernel/dtrace and all that it #includes is now GPLv2, with the aid of a new
systrace_os.h header containing the subset of systrace.h needed by the GPL shim.
Conversely, dtrace/ is entirely CDDL.

dtrace_ioctl.h is now an exported, header in include/linux/, to ease future
sharing by the userspace side. It is probably not copyrightable (as is essential
for interoperability and contains no creative elements), but if it has any license
at all it is GPLv2 like the other headers in that directory (many of which are
include them.)

Signed-off-by: Nick Alcock <nick.alcock@oracle.com>
include/linux/dtrace_ioctl.h [moved from kernel/dtrace/dtrace_ioctl.h with 100% similarity]
kernel/dtrace/dtrace_os.c
kernel/dtrace/systrace_os.h [new file with mode: 0644]

index 7c7b8610e9360c390f42c0644ea9656f2f3bb52a..deac04dcc4a2b9435d3121aad5ea8cf06c3df450 100644 (file)
@@ -11,7 +11,7 @@
 #include <asm/unistd.h>
 
 #include "cyclic.h"
-#include "systrace.h"
+#include "systrace_os.h"
 
 /*
  * Return a high resolution timer value that is guaranteed to always increase.
diff --git a/kernel/dtrace/systrace_os.h b/kernel/dtrace/systrace_os.h
new file mode 100644 (file)
index 0000000..914e3f0
--- /dev/null
@@ -0,0 +1,34 @@
+/* Copyright (C) 2011 Oracle Corporation */
+
+#ifndef _SYSTRACE_OS_H_
+#define _SYSTRACE_OS_H_
+
+typedef uint32_t dtrace_id_t;
+#define DTRACE_IDNONE 0
+
+typedef void (*sys_call_ptr_t)(void);
+typedef long (*dt_sys_call_t)(uintptr_t, uintptr_t, uintptr_t, uintptr_t,
+                             uintptr_t, uintptr_t);
+
+typedef struct dtrace_syscalls {
+       const char      *name;
+       dtrace_id_t     stsy_entry;
+       dtrace_id_t     stsy_return;
+       dt_sys_call_t   stsy_underlying;
+       sys_call_ptr_t  *stsy_tblent;
+} dtrace_syscalls_t;
+
+typedef void (*dtrace_systrace_probe_t)(dtrace_id_t, uintptr_t, uintptr_t,
+                                       uintptr_t, uintptr_t, uintptr_t,
+                                       uintptr_t);
+
+typedef struct systrace_info {
+       dtrace_systrace_probe_t *probep;
+       dtrace_systrace_probe_t stub;
+       dt_sys_call_t           syscall;
+       dtrace_syscalls_t       sysent[NR_syscalls];
+} systrace_info_t;
+
+extern systrace_info_t *dtrace_syscalls_init(void);
+
+#endif /* _SYSTRACE_OS_H_ */