Lines Matching refs:fld
1290 #define __expand_field_sign_unsigned(id, fld, val) \
1291 ((u64)SYS_FIELD_VALUE(id, fld, val))
1293 #define __expand_field_sign_signed(id, fld, val) \
1295 u64 __val = SYS_FIELD_VALUE(id, fld, val); \
1296 sign_extend64(__val, id##_##fld##_WIDTH - 1); \
1299 #define expand_field_sign(id, fld, val) \
1300 (id##_##fld##_SIGNED ? \
1301 __expand_field_sign_signed(id, fld, val) : \
1302 __expand_field_sign_unsigned(id, fld, val))
1304 #define get_idreg_field_unsigned(kvm, id, fld) \
1307 FIELD_GET(id##_##fld##_MASK, __val); \
1310 #define get_idreg_field_signed(kvm, id, fld) \
1312 u64 __val = get_idreg_field_unsigned(kvm, id, fld); \
1313 sign_extend64(__val, id##_##fld##_WIDTH - 1); \
1316 #define get_idreg_field_enum(kvm, id, fld) \
1317 get_idreg_field_unsigned(kvm, id, fld)
1319 #define get_idreg_field(kvm, id, fld) \
1320 (id##_##fld##_SIGNED ? \
1321 get_idreg_field_signed(kvm, id, fld) : \
1322 get_idreg_field_unsigned(kvm, id, fld))
1324 #define kvm_has_feat(kvm, id, fld, limit) \
1325 (get_idreg_field((kvm), id, fld) >= expand_field_sign(id, fld, limit))
1327 #define kvm_has_feat_enum(kvm, id, fld, val) \
1328 (get_idreg_field_unsigned((kvm), id, fld) == __expand_field_sign_unsigned(id, fld, val))
1330 #define kvm_has_feat_range(kvm, id, fld, min, max) \
1331 (get_idreg_field((kvm), id, fld) >= expand_field_sign(id, fld, min) && \
1332 get_idreg_field((kvm), id, fld) <= expand_field_sign(id, fld, max))