Lines Matching defs:cpucap
26 #define ALTINSTR_ENTRY(cpucap) \
29 " .hword " __stringify(cpucap) "\n" /* cpucap */ \
33 #define ALTINSTR_ENTRY_CB(cpucap, cb) \
36 " .hword " __stringify(cpucap) "\n" /* cpucap */ \
56 #define __ALTERNATIVE_CFG(oldinstr, newinstr, cpucap, cfg_enabled) \
62 ALTINSTR_ENTRY(cpucap) \
73 #define __ALTERNATIVE_CFG_CB(oldinstr, cpucap, cfg_enabled, cb) \
79 ALTINSTR_ENTRY_CB(cpucap, cb) \
85 #define _ALTERNATIVE_CFG(oldinstr, newinstr, cpucap, cfg, ...) \
86 __ALTERNATIVE_CFG(oldinstr, newinstr, cpucap, IS_ENABLED(cfg))
88 #define ALTERNATIVE_CB(oldinstr, cpucap, cb) \
89 __ALTERNATIVE_CFG_CB(oldinstr, (1 << ARM64_CB_SHIFT) | (cpucap), 1, cb)
94 .macro altinstruction_entry orig_offset alt_offset cpucap orig_len alt_len
97 .hword (\cpucap)
213 * Usage: asm(ALTERNATIVE(oldinstr, newinstr, cpucap));
215 * Usage: asm(ALTERNATIVE(oldinstr, newinstr, cpucap, CONFIG_FOO));
227 alternative_has_cap_likely(const unsigned long cpucap)
229 compiletime_assert(cpucap < ARM64_NCAPS,
230 "cpucap must be < ARM64_NCAPS");
233 ALTERNATIVE_CB("b %l[l_no]", %[cpucap], alt_cb_patch_nops)
235 : [cpucap] "i" (cpucap)
245 alternative_has_cap_unlikely(const unsigned long cpucap)
247 compiletime_assert(cpucap < ARM64_NCAPS,
248 "cpucap must be < ARM64_NCAPS");
251 ALTERNATIVE("nop", "b %l[l_yes]", %[cpucap])
253 : [cpucap] "i" (cpucap)