[PATCH v2 05/36] arm64/sysreg: Add GICR CDNMIA encoding
Sascha Bischoff
Sascha.Bischoff at arm.com
Wed Jan 7 00:39:34 PST 2026
On Tue, 2026-01-06 at 18:08 +0000, Jonathan Cameron wrote:
> On Fri, 19 Dec 2025 15:52:37 +0000
> Sascha Bischoff <Sascha.Bischoff at arm.com> wrote:
>
> > The encoding for the GICR CDNMIA system instruction is thus far
> > unused
> > (and shall remain unused for the time being). However, in order to
> > plumb the FGTs into KVM correctly, KVM needs to be made aware of
> > the
> > encoding of this system instruction.
> >
> > Signed-off-by: Sascha Bischoff <sascha.bischoff at arm.com>
> > ---
> > arch/arm64/include/asm/sysreg.h | 7 +++++++
> > 1 file changed, 7 insertions(+)
> >
> > diff --git a/arch/arm64/include/asm/sysreg.h
> > b/arch/arm64/include/asm/sysreg.h
> > index b3b8b8cd7bf1e..e99acb6dbd5d8 100644
> > --- a/arch/arm64/include/asm/sysreg.h
> > +++ b/arch/arm64/include/asm/sysreg.h
> > @@ -1059,6 +1059,7 @@
> > #define GICV5_OP_GIC_CDPRI sys_insn(1, 0, 12, 1, 2)
> > #define GICV5_OP_GIC_CDRCFG sys_insn(1, 0, 12, 1, 5)
> > #define GICV5_OP_GICR_CDIA sys_insn(1, 0, 12, 3, 0)
> > +#define GICV5_OP_GICR_CDNMIA sys_insn(1, 0, 12, 3, 1)
> >
> > /* Definitions for GIC CDAFF */
> > #define GICV5_GIC_CDAFF_IAFFID_MASK GENMASK_ULL(47, 32)
> > @@ -1105,6 +1106,12 @@
> > #define GICV5_GIC_CDIA_TYPE_MASK GENMASK_ULL(31, 29)
> > #define GICV5_GIC_CDIA_ID_MASK GENMASK_ULL(23, 0)
> >
> > +/* Definitions for GICR CDNMIA */
> > +#define GICV5_GIC_CDNMIA_VALID_MASK BIT_ULL(32)
> > +#define
> > GICV5_GICR_CDNMIA_VALID(r) FIELD_GET(GICV5_GIC_CDNMIA_VALID_MASK, r)
>
> Why the R for just this one?
>
> There is precedence with GICV5_GICR_CDIA_VALID() but I've no idea
> why that one got the R (and not the field definitions next to it)
> either!
>
> Lorenzo, guessing that was in your main gicv5 series?
>
> Given it's GICR CDIA (and here GICR CDNMIA) in the spec, I think
> all the definitions should have the R but maybe I'm missing
> something.
>
> Jonathan
Hi Jonathan,
Happy new year!
Thanks for spotting this. I'm inclined to agree with you - all of the
GICR CD(NM)IA definitions should really have the R present. I'll add it
to the CDNMIA defs.
Lorenzo, assuming that you agree, how would you like to handle CDIA? I
can add the R to the CDIA definitions as part of this change (only
GICV5_GICR_CDIA_VALID() is used so there are no changes to other
files), or one of us can post a separate clean up for that. Let me know
your preference.
Thanks,
Sascha
>
>
> > +#define GICV5_GIC_CDNMIA_TYPE_MASK GENMASK_ULL(31, 29)
> > +#define GICV5_GIC_CDNMIA_ID_MASK GENMASK_ULL(23, 0)
> > +
> > #define
> > gicr_insn(insn) read_sysreg_s(GICV5_OP_GICR_##insn)
> > #define gic_insn(v, insn) write_sysreg_s(v,
> > GICV5_OP_GIC_##insn)
> >
>
More information about the linux-arm-kernel
mailing list