Lines Matching refs:fld
1442 #define __expand_field_sign_unsigned(id, fld, val) \ argument
1443 ((u64)SYS_FIELD_VALUE(id, fld, val))
1445 #define __expand_field_sign_signed(id, fld, val) \ argument
1447 u64 __val = SYS_FIELD_VALUE(id, fld, val); \
1448 sign_extend64(__val, id##_##fld##_WIDTH - 1); \
1451 #define get_idreg_field_unsigned(kvm, id, fld) \ argument
1454 FIELD_GET(id##_##fld##_MASK, __val); \
1457 #define get_idreg_field_signed(kvm, id, fld) \ argument
1459 u64 __val = get_idreg_field_unsigned(kvm, id, fld); \
1460 sign_extend64(__val, id##_##fld##_WIDTH - 1); \
1463 #define get_idreg_field_enum(kvm, id, fld) \ argument
1464 get_idreg_field_unsigned(kvm, id, fld)
1466 #define kvm_cmp_feat_signed(kvm, id, fld, op, limit) \ argument
1467 (get_idreg_field_signed((kvm), id, fld) op __expand_field_sign_signed(id, fld, limit))
1469 #define kvm_cmp_feat_unsigned(kvm, id, fld, op, limit) \ argument
1470 (get_idreg_field_unsigned((kvm), id, fld) op __expand_field_sign_unsigned(id, fld, limit))
1472 #define kvm_cmp_feat(kvm, id, fld, op, limit) \ argument
1473 (id##_##fld##_SIGNED ? \
1474 kvm_cmp_feat_signed(kvm, id, fld, op, limit) : \
1475 kvm_cmp_feat_unsigned(kvm, id, fld, op, limit))
1477 #define kvm_has_feat(kvm, id, fld, limit) \ argument
1478 kvm_cmp_feat(kvm, id, fld, >=, limit)
1480 #define kvm_has_feat_enum(kvm, id, fld, val) \ argument
1481 kvm_cmp_feat_unsigned(kvm, id, fld, ==, val)
1483 #define kvm_has_feat_range(kvm, id, fld, min, max) \ argument
1484 (kvm_cmp_feat(kvm, id, fld, >=, min) && \
1485 kvm_cmp_feat(kvm, id, fld, <=, max))