[ovs-dev] [tun_id64 3/4] datapath: Add __aligned_u64 compat support for user and kernel headers.

Ben Pfaff blp at nicira.com
Wed Dec 1 01:16:09 UTC 2010


__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 at nicira.com>
---
 include/linux/types.h |   13 +++++++++++++
 1 files changed, 13 insertions(+), 0 deletions(-)
 create mode 100644 include/linux/types.h

diff --git a/include/linux/types.h b/include/linux/types.h
new file mode 100644
index 0000000..8b9227e
--- /dev/null
+++ b/include/linux/types.h
@@ -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
-- 
1.7.1





More information about the dev mailing list