diff options
Diffstat (limited to 'arch/s390/include/asm/compat.h')
-rw-r--r-- | arch/s390/include/asm/compat.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/arch/s390/include/asm/compat.h b/arch/s390/include/asm/compat.h index 5d7e8cf83bd6..d350ed9d0fbb 100644 --- a/arch/s390/include/asm/compat.h +++ b/arch/s390/include/asm/compat.h | |||
@@ -8,7 +8,11 @@ | |||
8 | #include <linux/thread_info.h> | 8 | #include <linux/thread_info.h> |
9 | 9 | ||
10 | #define __TYPE_IS_PTR(t) (!__builtin_types_compatible_p(typeof(0?(t)0:0ULL), u64)) | 10 | #define __TYPE_IS_PTR(t) (!__builtin_types_compatible_p(typeof(0?(t)0:0ULL), u64)) |
11 | #define __SC_DELOUSE(t,v) (t)(__TYPE_IS_PTR(t) ? ((v) & 0x7fffffff) : (v)) | 11 | |
12 | #define __SC_DELOUSE(t,v) ({ \ | ||
13 | BUILD_BUG_ON(sizeof(t) > 4 && !__TYPE_IS_PTR(t)); \ | ||
14 | (t)(__TYPE_IS_PTR(t) ? ((v) & 0x7fffffff) : (v)); \ | ||
15 | }) | ||
12 | 16 | ||
13 | #define PSW32_MASK_PER 0x40000000UL | 17 | #define PSW32_MASK_PER 0x40000000UL |
14 | #define PSW32_MASK_DAT 0x04000000UL | 18 | #define PSW32_MASK_DAT 0x04000000UL |