From 0d2eeef77a33315187df8519491a900bde4a3d83 Mon Sep 17 00:00:00 2001 From: Bibo Mao Date: Mon, 28 Oct 2024 10:38:09 +0800 Subject: linux-headers: Update to Linux v6.12-rc5 update linux-headers to v6.12-rc5. Pass to compile on aarch64, arm, loongarch64, x86_64, i386, riscv64,riscv32 softmmu and linux-user. Signed-off-by: Bibo Mao Acked-by: Song Gao Message-Id: <20241028023809.1554405-4-maobibo@loongson.cn> Signed-off-by: Song Gao --- linux-headers/linux/const.h | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'linux-headers/linux/const.h') diff --git a/linux-headers/linux/const.h b/linux-headers/linux/const.h index 1eb84b5..2122610 100644 --- a/linux-headers/linux/const.h +++ b/linux-headers/linux/const.h @@ -28,6 +28,23 @@ #define _BITUL(x) (_UL(1) << (x)) #define _BITULL(x) (_ULL(1) << (x)) +#if !defined(__ASSEMBLY__) +/* + * Missing __asm__ support + * + * __BIT128() would not work in the __asm__ code, as it shifts an + * 'unsigned __init128' data type as direct representation of + * 128 bit constants is not supported in the gcc compiler, as + * they get silently truncated. + * + * TODO: Please revisit this implementation when gcc compiler + * starts representing 128 bit constants directly like long + * and unsigned long etc. Subsequently drop the comment for + * GENMASK_U128() which would then start supporting __asm__ code. + */ +#define _BIT128(x) ((unsigned __int128)(1) << (x)) +#endif + #define __ALIGN_KERNEL(x, a) __ALIGN_KERNEL_MASK(x, (__typeof__(x))(a) - 1) #define __ALIGN_KERNEL_MASK(x, mask) (((x) + (mask)) & ~(mask)) -- cgit v1.1