[PATCH v2 2/3] arm64: add ID_AA64ISAR2_EL1 sys register

Joey Gouly joey.gouly at arm.com
Tue Dec 7 06:31:21 PST 2021


Hi Marc,

On Tue, Dec 07, 2021 at 12:54:32PM +0000, Marc Zyngier wrote:
> Hi Joey,
> 
> On Tue, 07 Dec 2021 12:42:25 +0000,

[...]

> > diff --git a/arch/arm64/include/asm/sysreg.h b/arch/arm64/include/asm/sysreg.h
> > index adcab9009f9d..5393a00340f5 100644
> > --- a/arch/arm64/include/asm/sysreg.h
> > +++ b/arch/arm64/include/asm/sysreg.h
> > @@ -182,6 +182,7 @@
> >  
> >  #define SYS_ID_AA64ISAR0_EL1		sys_reg(3, 0, 0, 6, 0)
> >  #define SYS_ID_AA64ISAR1_EL1		sys_reg(3, 0, 0, 6, 1)
> > +#define SYS_ID_AA64ISAR2_EL1		sys_reg(3, 0, 0, 6, 2)
> >  
> >  #define SYS_ID_AA64MMFR0_EL1		sys_reg(3, 0, 0, 7, 0)
> >  #define SYS_ID_AA64MMFR1_EL1		sys_reg(3, 0, 0, 7, 1)
> > @@ -771,6 +772,15 @@
> >  #define ID_AA64ISAR1_GPI_NI			0x0
> >  #define ID_AA64ISAR1_GPI_IMP_DEF		0x1
> >  
> > +/* id_aa64isar2 */
> > +#define ID_AA64ISAR2_RPRES_SHIFT	4
> > +#define ID_AA64ISAR2_WFXT_SHIFT		0
> > +
> > +#define ID_AA64ISAR2_RPRES_8BIT		0x0
> > +#define ID_AA64ISAR2_RPRES_12BIT	0x1
> > +#define ID_AA64ISAR2_WFXT_NI		0x0
> > +#define ID_AA64ISAR2_WFXT_SUPPORTED	0x2
> 
> Maybe I wasn't clear in my earlier comment: you need to enumerate all
> the architecturally valid values:
> 
> #define ID_AA64ISAR2_WFXT_NI		0x0
> #define ID_AA64ISAR2_WFXT_V1		0x1
> #define ID_AA64ISAR2_WFXT_V2		0x2
> 
> where WFXT_V1 represent the original FEAT_WFxT, and WFXT_V2 the new,
> more usable FEAT_WFxT2. Even if the original FEAT_WFxT is deprecated,
> it still exists, and is still the only mandatory option for v8.7.

The 0b001 behaviour has been removed from the architecture and is now listed as
reserved, but this has not made it's way into an ARM ARM. The only permitted
values are 0b000 and 0b0001 (mandatory in v8.7)

This can be seen from the documentation here:
  https://developer.arm.com/documentation/ddi0601/2021-09/AArch64-Registers/ID-AA64ISAR2-EL1--AArch64-Instruction-Set-Attribute-Register-2?lang=en

Thanks,
Joey

> 
> Thanks,
> 
> 	M.
> 
> -- 
> Without deviation from the norm, progress is not possible.



More information about the linux-arm-kernel mailing list