Thread (53 messages) 53 messages, 3 authors, 2026-02-02

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
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help