Re: [PATCH 07/20] KVM: arm64: Allow RES1 bits to be inferred from configuration
From: Fuad Tabba <tabba@google.com>
Date: 2026-01-27 17:59:38
Also in:
kvm, kvmarm
On Mon, 26 Jan 2026 at 12:17, Marc Zyngier [off-list ref] wrote:
So far, when a bit field is tied to an unsupported feature, we set it as RES0. This is almost forrect, but there are a few exceptions where the bits become RES1.
You need to correct forrect :)
quoted hunk ↗ jump to hunk
Add a AS_RES1 qualifier that instruct the RESx computing code to simply do that. Signed-off-by: Marc Zyngier <maz@kernel.org> --- arch/arm64/kvm/config.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-)diff --git a/arch/arm64/kvm/config.c b/arch/arm64/kvm/config.c index 8d152605999ba..6a4674fabf865 100644 --- a/arch/arm64/kvm/config.c +++ b/arch/arm64/kvm/config.c@@ -24,6 +24,7 @@ struct reg_bits_to_feat_map { #define CALL_FUNC BIT(1) /* Needs to evaluate tons of crap */ #define FIXED_VALUE BIT(2) /* RAZ/WI or RAO/WI in KVM */ #define MASKS_POINTER BIT(3) /* Pointer to fgt_masks struct instead of bits */ +#define AS_RES1 BIT(4) /* RES1 when not supported */ unsigned long flags;@@ -1316,8 +1317,12 @@ struct resx __compute_fixed_bits(struct kvm *kvm, else match = idreg_feat_match(kvm, &map[i]); - if (!match || (map[i].flags & FIXED_VALUE)) - resx.res0 |= reg_feat_map_bits(&map[i]); + if (!match || (map[i].flags & FIXED_VALUE)) { + if (map[i].flags & AS_RES1) + resx.res1 |= reg_feat_map_bits(&map[i]); + else + resx.res0 |= reg_feat_map_bits(&map[i]); + }
checkpatch is complaining about whitespaces here. I can't blame it. With those fixed, looks good to me. Reviewed-by: Fuad Tabba <tabba@google.com> Cheers, /fuad
}
return resx;-- 2.47.3