summaryrefslogtreecommitdiffstats
path: root/kernel/tools/include/linux/compiler.h
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/tools/include/linux/compiler.h')
-rw-r--r--kernel/tools/include/linux/compiler.h40
1 files changed, 40 insertions, 0 deletions
diff --git a/kernel/tools/include/linux/compiler.h b/kernel/tools/include/linux/compiler.h
new file mode 100644
index 000000000..88461f09c
--- /dev/null
+++ b/kernel/tools/include/linux/compiler.h
@@ -0,0 +1,40 @@
+#ifndef _TOOLS_LINUX_COMPILER_H_
+#define _TOOLS_LINUX_COMPILER_H_
+
+#ifndef __always_inline
+# define __always_inline inline __attribute__((always_inline))
+#endif
+
+#define __user
+
+#ifndef __attribute_const__
+# define __attribute_const__
+#endif
+
+#ifndef __maybe_unused
+# define __maybe_unused __attribute__((unused))
+#endif
+
+#ifndef __packed
+# define __packed __attribute__((__packed__))
+#endif
+
+#ifndef __force
+# define __force
+#endif
+
+#ifndef __weak
+# define __weak __attribute__((weak))
+#endif
+
+#ifndef likely
+# define likely(x) __builtin_expect(!!(x), 1)
+#endif
+
+#ifndef unlikely
+# define unlikely(x) __builtin_expect(!!(x), 0)
+#endif
+
+#define ACCESS_ONCE(x) (*(volatile typeof(x) *)&(x))
+
+#endif /* _TOOLS_LINUX_COMPILER_H */