/kernel/linux/linux-5.10/arch/loongarch/include/asm/ |
H A D | alternative.h | 67 #define ALTINSTR_REPLACEMENT(newinstr, feature, num) /* replacement */ \ 68 b_replacement(num)":\n\t" newinstr "\n" e_replacement(num) ":\n\t" 71 #define ALTERNATIVE(oldinstr, newinstr, feature) \ 77 ALTINSTR_REPLACEMENT(newinstr, feature, 1) \ 97 * length of oldinstr must be longer or equal the length of newinstr 103 #define alternative(oldinstr, newinstr, feature) \ 104 (asm volatile (ALTERNATIVE(oldinstr, newinstr, feature) : : : "memory"))
|
H A D | alternative-asm.h | 26 * @newinstr. ".fill" directive takes care of proper instruction padding 27 * in case @newinstr is longer than @oldinstr. 29 .macro ALTERNATIVE oldinstr, newinstr, feature variable 42 \newinstr
|
/kernel/linux/linux-6.6/arch/loongarch/include/asm/ |
H A D | alternative.h | 67 #define ALTINSTR_REPLACEMENT(newinstr, feature, num) /* replacement */ \ 68 b_replacement(num)":\n\t" newinstr "\n" e_replacement(num) ":\n\t" 71 #define ALTERNATIVE(oldinstr, newinstr, feature) \ 77 ALTINSTR_REPLACEMENT(newinstr, feature, 1) \ 97 * length of oldinstr must be longer or equal the length of newinstr 103 #define alternative(oldinstr, newinstr, feature) \ 104 (asm volatile (ALTERNATIVE(oldinstr, newinstr, feature) : : : "memory"))
|
H A D | alternative-asm.h | 26 * @newinstr. ".fill" directive takes care of proper instruction padding 27 * in case @newinstr is longer than @oldinstr. 29 .macro ALTERNATIVE oldinstr, newinstr, feature variable 42 \newinstr
|
/kernel/linux/linux-5.10/arch/x86/include/asm/ |
H A D | alternative.h | 156 #define ALTINSTR_REPLACEMENT(newinstr, feature, num) /* replacement */ \ 158 b_replacement(num)":\n\t" newinstr "\n" e_replacement(num) ":\n" 161 #define ALTERNATIVE(oldinstr, newinstr, feature) \ 167 ALTINSTR_REPLACEMENT(newinstr, feature, 1) \ 205 * length of oldinstr must be longer or equal the length of newinstr 211 #define alternative(oldinstr, newinstr, feature) \ 212 asm_inline volatile (ALTERNATIVE(oldinstr, newinstr, feature) : : : "memory") 228 #define alternative_input(oldinstr, newinstr, feature, input...) \ 229 asm_inline volatile (ALTERNATIVE(oldinstr, newinstr, feature) \ 247 #define alternative_io(oldinstr, newinstr, featur 328 .macro ALTERNATIVE oldinstr, newinstr, feature global() variable [all...] |
/kernel/linux/linux-6.6/arch/x86/include/asm/ |
H A D | alternative.h | 206 #define ALTINSTR_REPLACEMENT(newinstr, num) /* replacement */ \ 208 b_replacement(num)":\n\t" newinstr "\n" e_replacement(num) ":\n" 211 #define ALTERNATIVE(oldinstr, newinstr, ft_flags) \ 217 ALTINSTR_REPLACEMENT(newinstr, 1) \ 256 * length of oldinstr must be longer or equal the length of newinstr 262 #define alternative(oldinstr, newinstr, ft_flags) \ 263 asm_inline volatile (ALTERNATIVE(oldinstr, newinstr, ft_flags) : : : "memory") 279 #define alternative_input(oldinstr, newinstr, ft_flags, input...) \ 280 asm_inline volatile (ALTERNATIVE(oldinstr, newinstr, ft_flags) \ 298 #define alternative_io(oldinstr, newinstr, ft_flag 379 .macro ALTERNATIVE oldinstr, newinstr, ft_flags global() variable [all...] |
/kernel/linux/linux-6.6/arch/arm64/include/asm/ |
H A D | alternative-macros.h | 56 #define __ALTERNATIVE_CFG(oldinstr, newinstr, cpucap, cfg_enabled) \ 66 newinstr "\n" \ 85 #define _ALTERNATIVE_CFG(oldinstr, newinstr, cpucap, cfg, ...) \ 86 __ALTERNATIVE_CFG(oldinstr, newinstr, cpucap, IS_ENABLED(cfg)) 213 * Usage: asm(ALTERNATIVE(oldinstr, newinstr, cpucap)); 215 * Usage: asm(ALTERNATIVE(oldinstr, newinstr, cpucap, CONFIG_FOO)); 219 #define ALTERNATIVE(oldinstr, newinstr, ...) \ 220 _ALTERNATIVE_CFG(oldinstr, newinstr, __VA_ARGS__, 1)
|
/kernel/linux/linux-5.10/arch/arm64/include/asm/ |
H A D | alternative-macros.h | 46 #define __ALTERNATIVE_CFG(oldinstr, newinstr, feature, cfg_enabled) \ 56 newinstr "\n" \ 75 #define _ALTERNATIVE_CFG(oldinstr, newinstr, feature, cfg, ...) \ 76 __ALTERNATIVE_CFG(oldinstr, newinstr, feature, IS_ENABLED(cfg)) 200 .macro user_alt, label, oldinstr, newinstr, cond variable 201 9999: alternative_insn "\oldinstr", "\newinstr", \cond 267 * Usage: asm(ALTERNATIVE(oldinstr, newinstr, feature)); 269 * Usage: asm(ALTERNATIVE(oldinstr, newinstr, feature, CONFIG_FOO)); 273 #define ALTERNATIVE(oldinstr, newinstr, ...) \ 274 _ALTERNATIVE_CFG(oldinstr, newinstr, __VA_ARGS_ [all...] |
/kernel/linux/linux-6.6/arch/s390/include/asm/ |
H A D | alternative-asm.h | 25 * @newinstr. 27 .macro ALTERNATIVE oldinstr, newinstr, feature variable 29 770: \newinstr 40 * @newinstr.
|
H A D | alternative.h | 103 #define alternative_input(oldinstr, newinstr, feature, input...) \ 104 asm_inline volatile (ALTERNATIVE(oldinstr, newinstr, feature) \
|
/kernel/linux/linux-5.10/arch/s390/include/asm/ |
H A D | alternative-asm.h | 64 * @newinstr. ".skip" directive takes care of proper instruction padding 65 * in case @newinstr is longer than @oldinstr. 67 .macro ALTERNATIVE oldinstr, newinstr, feature variable 69 770: \newinstr 83 * @newinstr. ".skip" directive takes care of proper instruction padding 84 * in case @newinstr is longer than @oldinstr.
|