[PATCH v5 11/12] KVM: selftests: arm64: Determine max ipa size per-page size
Ryan Roberts
ryan.roberts at arm.com
Wed Nov 22 05:47:49 PST 2023
On 21/11/2023 23:34, Oliver Upton wrote:
> On Thu, Nov 16, 2023 at 02:29:30PM +0000, Ryan Roberts wrote:
>
> [...]
>
>> @@ -518,9 +530,14 @@ void aarch64_get_supported_page_sizes(uint32_t ipa,
>> err = ioctl(vcpu_fd, KVM_GET_ONE_REG, ®);
>> TEST_ASSERT(err == 0, KVM_IOCTL_ERROR(KVM_GET_ONE_REG, vcpu_fd));
>>
>> - *ps4k = FIELD_GET(ARM64_FEATURE_MASK(ID_AA64MMFR0_EL1_TGRAN4), val) != 0xf;
>> - *ps64k = FIELD_GET(ARM64_FEATURE_MASK(ID_AA64MMFR0_EL1_TGRAN64), val) == 0;
>> - *ps16k = FIELD_GET(ARM64_FEATURE_MASK(ID_AA64MMFR0_EL1_TGRAN16), val) != 0;
>> + gran = FIELD_GET(ARM64_FEATURE_MASK(ID_AA64MMFR0_EL1_TGRAN4), val);
>> + *ipa4k = max_ipa_for_page_size(ipa, gran, 0xf, 1);
>> +
>> + gran = FIELD_GET(ARM64_FEATURE_MASK(ID_AA64MMFR0_EL1_TGRAN64), val);
>> + *ipa64k = max_ipa_for_page_size(ipa, gran, 0xf, 0);
>> +
>> + gran = FIELD_GET(ARM64_FEATURE_MASK(ID_AA64MMFR0_EL1_TGRAN16), val);
>> + *ipa16k = max_ipa_for_page_size(ipa, gran, 0, 2);
>
> Oh, also: we have the generated system register definitions available in
> KVM selftests at this point. It'd be a good idea to move away from
> 'magic' values and use the enumerations instead.
>
OK will do!
More information about the linux-arm-kernel
mailing list