datapath: Add __aligned_u64 compat support for user and kernel headers.
authorBen Pfaff <blp@nicira.com>
Wed, 1 Dec 2010 00:49:10 +0000 (16:49 -0800)
committerBen Pfaff <blp@nicira.com>
Fri, 3 Dec 2010 17:32:31 +0000 (09:32 -0800)
__aligned_u64 is a 64-bit integer type that is guaranteed to be aligned on
a 64-bit boundary.  It is used in ABI structures to allow them to be shared
between 32- and 64-bit userspace without the need for kernel compat code.
The first use in OVS is coming up in this series of patches.

Signed-off-by: Ben Pfaff <blp@nicira.com>
Acked-by: Jesse Gross <jesse@nicira.com>
include/linux/types.h [new file with mode: 0644]

diff --git a/include/linux/types.h b/include/linux/types.h
new file mode 100644 (file)
index 0000000..8b9227e
--- /dev/null
@@ -0,0 +1,13 @@
+#ifndef __LINUX_TYPES_USER_WRAPPER_H
+#define __LINUX_TYPES_USER_WRAPPER_H 1
+
+#include_next <linux/types.h>
+
+/* These were only introduced in v2.6.36. */
+#ifndef __aligned_u64
+#define __aligned_u64 __u64 __attribute__((aligned(8)))
+#define __aligned_be64 __be64 __attribute__((aligned(8)))
+#define __aligned_le64 __le64 __attribute__((aligned(8)))
+#endif
+
+#endif