[PATCH 1/8] KVM: arm64: Enforce absence of FEAT_FGT on FGT registers
Marc Zyngier
maz at kernel.org
Thu Sep 18 02:53:06 PDT 2025
On Thu, 18 Sep 2025 07:07:26 +0100,
Oliver Upton <oliver.upton at linux.dev> wrote:
>
> Hey,
>
> On Wed, Sep 17, 2025 at 05:58:33PM +0100, Marc Zyngier wrote:
>
> Did you mean to add changelogs to these patches?
I actually meant to send a *different* series. Pushed out the wrong
branch and sent crap. Apologies for the noise.
>
> > Signed-off-by: Marc Zyngier <maz at kernel.org>
> > ---
> > arch/arm64/kvm/config.c | 201 +++++++++++++++++++++++++++-------------
> > 1 file changed, 137 insertions(+), 64 deletions(-)
> >
> > diff --git a/arch/arm64/kvm/config.c b/arch/arm64/kvm/config.c
> > index da66c4a147752..42b834c82a20d 100644
> > --- a/arch/arm64/kvm/config.c
> > +++ b/arch/arm64/kvm/config.c
> > @@ -8,11 +8,16 @@
> > #include <asm/sysreg.h>
> >
> > struct reg_bits_to_feat_map {
> > - u64 bits;
> > + union {
> > + u64 bits;
> > + u64 *res0p;
> > + };
> >
> > #define NEVER_FGU BIT(0) /* Can trap, but never UNDEF */
> > #define CALL_FUNC BIT(1) /* Needs to evaluate tons of crap */
> > #define FIXED_VALUE BIT(2) /* RAZ/WI or RAO/WI in KVM */
> > +#define RES0_POINTER BIT(3) /* Pointer to RES0 value instead of bits */
> > +
> > unsigned long flags;
> >
> > union {
> > @@ -28,9 +33,16 @@ struct reg_bits_to_feat_map {
> > };
> > };
> >
> > -#define __NEEDS_FEAT_3(m, f, id, fld, lim) \
> > +struct reg_to_feat_map {
> > + const char *name;
> > + const struct reg_bits_to_feat_map feat_map;
>
> Some documentation might help with confusion between this and
> bit_feat_map. IIUC you're using a single NEEDS_FEAT() expression to RES0
> the whole sucker based on whether or not the FEAT_XXX for the EL2
> register is present?
>
> > + const struct reg_bits_to_feat_map *bit_feat_map;
> > + const unsigned int bit_feat_map_sz;
> > +};
>
> Ok, differentiating "reg_to_feat_map" and "reg_bits_to_feat_map" is a
> bit hard on the reader... Could this maybe be called "reg_feat_map_desc"
> or similar?
Sure thing. Things will be a bit noisier, but hey...
> This refactoring could also be done as a separate patch.
Yup, that's what I already have in the series I was suppose to send...
I'll respin this shortly.
Thanks,
M.
--
Without deviation from the norm, progress is not possible.
More information about the linux-arm-kernel
mailing list