File tree Expand file tree Collapse file tree 1 file changed +17
-0
lines changed Expand file tree Collapse file tree 1 file changed +17
-0
lines changed Original file line number Diff line number Diff line change 28
28
#define _BITUL (x ) (_UL(1) << (x))
29
29
#define _BITULL (x ) (_ULL(1) << (x))
30
30
31
+ #if !defined(__ASSEMBLY__ )
32
+ /*
33
+ * Missing asm support
34
+ *
35
+ * __BIT128() would not work in the asm code, as it shifts an
36
+ * 'unsigned __init128' data type as direct representation of
37
+ * 128 bit constants is not supported in the gcc compiler, as
38
+ * they get silently truncated.
39
+ *
40
+ * TODO: Please revisit this implementation when gcc compiler
41
+ * starts representing 128 bit constants directly like long
42
+ * and unsigned long etc. Subsequently drop the comment for
43
+ * GENMASK_U128() which would then start supporting asm code.
44
+ */
45
+ #define _BIT128 (x ) ((unsigned __int128)(1) << (x))
46
+ #endif
47
+
31
48
#define __ALIGN_KERNEL (x , a ) __ALIGN_KERNEL_MASK(x, (__typeof__(x))(a) - 1)
32
49
#define __ALIGN_KERNEL_MASK (x , mask ) (((x) + (mask)) & ~(mask))
33
50
You can’t perform that action at this time.
0 commit comments