s390/extable: reduce number of extable macros
authorHeiko Carstens <hca@linux.ibm.com>
Fri, 6 Oct 2023 13:42:40 +0000 (15:42 +0200)
committerVasily Gorbik <gor@linux.ibm.com>
Mon, 16 Oct 2023 11:04:09 +0000 (13:04 +0200)
Get rid of __EX_TABLE() macro, rename __EX_TABLE_UA() to __EX_TABLE()
and convert users of old __EX_TABLE() macro so they pass more parameters
to the changed __EX_TABLE() semantics.

Reviewed-by: Sven Schnelle <svens@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
arch/s390/include/asm/asm-extable.h

index e6532477f126d785bd683e682e2f8a56ef460b36..d1ecc2b6e5d38c56cada24ee0575f8c53c369a01 100644 (file)
 #define EX_DATA_LEN_SHIFT      8
 #define EX_DATA_LEN            GENMASK(11, 8)
 
-#define __EX_TABLE(_section, _fault, _target, _type)                   \
-       stringify_in_c(.section _section,"a";)                          \
-       stringify_in_c(.balign  4;)                                     \
-       stringify_in_c(.long    (_fault) - .;)                          \
-       stringify_in_c(.long    (_target) - .;)                         \
-       stringify_in_c(.short   (_type);)                               \
-       stringify_in_c(.short   0;)                                     \
-       stringify_in_c(.previous)
-
-#define __EX_TABLE_UA(_section, _fault, _target, _type, _regerr, _regaddr, _len)\
+#define __EX_TABLE(_section, _fault, _target, _type, _regerr, _regaddr, _len)  \
        stringify_in_c(.section _section,"a";)                                  \
        stringify_in_c(.balign  4;)                                             \
        stringify_in_c(.long    (_fault) - .;)                                  \
        stringify_in_c(.previous)
 
 #define EX_TABLE(_fault, _target)                                      \
-       __EX_TABLE(__ex_table, _fault, _target, EX_TYPE_FIXUP)
+       __EX_TABLE(__ex_table, _fault, _target, EX_TYPE_FIXUP, __stringify(%%r0), __stringify(%%r0), 0)
 
 #define EX_TABLE_AMODE31(_fault, _target)                              \
-       __EX_TABLE(.amode31.ex_table, _fault, _target, EX_TYPE_FIXUP)
+       __EX_TABLE(.amode31.ex_table, _fault, _target, EX_TYPE_FIXUP, __stringify(%%r0), __stringify(%%r0), 0)
 
 #define EX_TABLE_UA_STORE(_fault, _target, _regerr)                    \
-       __EX_TABLE_UA(__ex_table, _fault, _target, EX_TYPE_UA_STORE, _regerr, _regerr, 0)
+       __EX_TABLE(__ex_table, _fault, _target, EX_TYPE_UA_STORE, _regerr, _regerr, 0)
 
 #define EX_TABLE_UA_LOAD_MEM(_fault, _target, _regerr, _regmem, _len)  \
-       __EX_TABLE_UA(__ex_table, _fault, _target, EX_TYPE_UA_LOAD_MEM, _regerr, _regmem, _len)
+       __EX_TABLE(__ex_table, _fault, _target, EX_TYPE_UA_LOAD_MEM, _regerr, _regmem, _len)
 
 #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)
+       __EX_TABLE(__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)
+       __EX_TABLE(__ex_table, _fault, _target, EX_TYPE_UA_LOAD_REGPAIR, _regerr, _regzero, 0)
 
 #endif /* __ASM_EXTABLE_H */