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