summaryrefslogtreecommitdiff
path: root/include/uapi/linux/types.h
diff options
context:
space:
mode:
authorPeter Zijlstra <peterz@infradead.org>2023-05-31 15:08:35 +0200
committerPeter Zijlstra <peterz@infradead.org>2023-06-05 09:36:35 +0200
commit224d80c584d3016cb8d83d1c33914fdd3508aa8c (patch)
tree09619ad80961c82b1cd752e1c3e56a1c9ffca100 /include/uapi/linux/types.h
parentf413e724818c6482146218b3bcaf3d75b1317fc4 (diff)
types: Introduce [us]128
Introduce [us]128 (when available). Unlike [us]64, ensure they are always naturally aligned. This also enables 128bit wide atomics (which require natural alignment) such as cmpxchg128(). Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Reviewed-by: Arnd Bergmann <arnd@arndb.de> Reviewed-by: Mark Rutland <mark.rutland@arm.com> Acked-by: Herbert Xu <herbert@gondor.apana.org.au> Tested-by: Mark Rutland <mark.rutland@arm.com> Link: https://lore.kernel.org/r/20230531132323.385005581@infradead.org
Diffstat (limited to 'include/uapi/linux/types.h')
-rw-r--r--include/uapi/linux/types.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/include/uapi/linux/types.h b/include/uapi/linux/types.h
index 308433be33c2..6375a0684052 100644
--- a/include/uapi/linux/types.h
+++ b/include/uapi/linux/types.h
@@ -13,6 +13,10 @@
#include <linux/posix_types.h>
+#ifdef __SIZEOF_INT128__
+typedef __signed__ __int128 __s128 __attribute__((aligned(16)));
+typedef unsigned __int128 __u128 __attribute__((aligned(16)));
+#endif
/*
* Below are truly Linux-specific types that should never collide with