aboutsummaryrefslogtreecommitdiffstats
path: root/src/include/linux/compiler.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/include/linux/compiler.h')
-rw-r--r--src/include/linux/compiler.h38
1 files changed, 38 insertions, 0 deletions
diff --git a/src/include/linux/compiler.h b/src/include/linux/compiler.h
new file mode 100644
index 000000000..8efd28e5f
--- /dev/null
+++ b/src/include/linux/compiler.h
@@ -0,0 +1,38 @@
+#ifndef __LINUX_COMPILER_H
+#define __LINUX_COMPILER_H
+
+#ifndef __ASSEMBLY__
+
+#ifdef __CHECKER__
+# define __user __attribute__((noderef, address_space(1)))
+# define __kernel /* default address space */
+# define __safe __attribute__((safe))
+# define __force __attribute__((force))
+# define __nocast __attribute__((nocast))
+# define __iomem __attribute__((noderef, address_space(2)))
+# define __acquires(x) __attribute__((context(0,1)))
+# define __releases(x) __attribute__((context(1,0)))
+# define __acquire(x) __context__(1)
+# define __release(x) __context__(-1)
+# define __cond_lock(x) ((x) ? ({ __context__(1); 1; }) : 0)
+extern void __chk_user_ptr(void __user *);
+extern void __chk_io_ptr(void __iomem *);
+#else
+# define __user
+# define __kernel
+# define __safe
+# define __force
+# define __nocast
+# define __iomem
+# define __chk_user_ptr(x) (void)0
+# define __chk_io_ptr(x) (void)0
+# define __acquires(x)
+# define __releases(x)
+# define __acquire(x) (void)0
+# define __release(x) (void)0
+# define __cond_lock(x) (x)
+#endif
+
+#endif /* __ASSEMBLY__ */
+
+#endif /* __LINUX_COMPILER_H */