summaryrefslogtreecommitdiff
path: root/arch/s390/include/asm/asm-extable.h
diff options
context:
space:
mode:
authorHeiko Carstens <hca@linux.ibm.com>2022-11-02 17:18:45 +0300
committerHeiko Carstens <hca@linux.ibm.com>2022-11-21 15:36:15 +0300
commitf39a8c4a22ea104c368361b9ae0f550da161db2d (patch)
tree371973e6f3980432d3a12488aa3e09bc7b543a21 /arch/s390/include/asm/asm-extable.h
parente388d66f032166c8e8c4efd9e6c6f43610378903 (diff)
downloadlinux-f39a8c4a22ea104c368361b9ae0f550da161db2d.tar.xz
s390/extable: add EX_TABLE_UA_LOAD_REGPAIR() macro
Add new exception table type which is able to handle register pairs. If an exception is recognized on such an instruction the specified register pair will be zeroed, and the specified error register will be modified so it contains -EFAULT, similar to the existing EX_TABLE_UA_LOAD_REG() macro. Link: https://lore.kernel.org/r/Y2J8RSW2khWLgpPo@osiris Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Diffstat (limited to 'arch/s390/include/asm/asm-extable.h')
-rw-r--r--arch/s390/include/asm/asm-extable.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/s390/include/asm/asm-extable.h b/arch/s390/include/asm/asm-extable.h
index b74f1070ddb2..55a02a153dfc 100644
--- a/arch/s390/include/asm/asm-extable.h
+++ b/arch/s390/include/asm/asm-extable.h
@@ -12,6 +12,7 @@
#define EX_TYPE_UA_STORE 3
#define EX_TYPE_UA_LOAD_MEM 4
#define EX_TYPE_UA_LOAD_REG 5
+#define EX_TYPE_UA_LOAD_REGPAIR 6
#define EX_DATA_REG_ERR_SHIFT 0
#define EX_DATA_REG_ERR GENMASK(3, 0)
@@ -85,4 +86,7 @@
#define EX_TABLE_UA_LOAD_REG(_fault, _target, _regerr, _regzero) \
__EX_TABLE_UA(__ex_table, _fault, _target, EX_TYPE_UA_LOAD_REG, _regerr, _regzero, 0)
+#define EX_TABLE_UA_LOAD_REGPAIR(_fault, _target, _regerr, _regzero) \
+ __EX_TABLE_UA(__ex_table, _fault, _target, EX_TYPE_UA_LOAD_REGPAIR, _regerr, _regzero, 0)
+
#endif /* __ASM_EXTABLE_H */