summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHeiko Carstens <hca@linux.ibm.com>2021-06-09 22:59:13 +0200
committerVasily Gorbik <gor@linux.ibm.com>2021-06-18 16:41:21 +0200
commitc4655a2098236d36c5b0678e56c9ea04308b45ed (patch)
tree7063f8e578b87fb69fe76651c9a0a26922008d11
parent6b8ed170956388725ac1ef0ea3eff34df323ee03 (diff)
downloadlinux-stable-c4655a2098236d36c5b0678e56c9ea04308b45ed.tar.gz
linux-stable-c4655a2098236d36c5b0678e56c9ea04308b45ed.tar.bz2
linux-stable-c4655a2098236d36c5b0678e56c9ea04308b45ed.zip
s390: introduce register pair union
Introduce a register pair union, which is supposed to be used for inline assemblies where instructions require parameters in even/odd numbered register pairs. This is more or less the same register pair construct which was available for 31 bit builds which was removed with commit 5a79859ae0f3 ("s390: remove 31 bit support"). Signed-off-by: Heiko Carstens <hca@linux.ibm.com> Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
-rw-r--r--arch/s390/include/asm/types.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/arch/s390/include/asm/types.h b/arch/s390/include/asm/types.h
new file mode 100644
index 000000000000..0b5d550a0478
--- /dev/null
+++ b/arch/s390/include/asm/types.h
@@ -0,0 +1,19 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#ifndef _ASM_S390_TYPES_H
+#define _ASM_S390_TYPES_H
+
+#include <uapi/asm/types.h>
+
+#ifndef __ASSEMBLY__
+
+union register_pair {
+ unsigned __int128 pair;
+ struct {
+ unsigned long even;
+ unsigned long odd;
+ };
+};
+
+#endif /* __ASSEMBLY__ */
+#endif /* _ASM_S390_TYPES_H */