On Tue, May 05, 2020 at 12:27:19PM +0100, Will Deacon wrote: > On Tue, May 05, 2020 at 12:16:07PM +0100, Mark Rutland wrote: > > On Tue, May 05, 2020 at 12:12:41PM +0100, Will Deacon wrote: > > > On Sat, May 02, 2020 at 07:03:53PM +0530, Anshuman Khandual wrote: > > > > This adds basic building blocks required for ID_PFR2 CPU register which > > > > provides information about the AArch32 programmers model which must be > > > > interpreted along with ID_PFR0 and ID_PFR1 CPU registers. This is added > > > > per ARM DDI 0487F.a specification. > > > > > > > > Cc: Catalin Marinas <catalin.marinas@xxxxxxx> > > > > Cc: Will Deacon <will@xxxxxxxxxx> > > > > Cc: Marc Zyngier <maz@xxxxxxxxxx> > > > > Cc: Mark Rutland <mark.rutland@xxxxxxx> > > > > Cc: James Morse <james.morse@xxxxxxx> > > > > Cc: Suzuki K Poulose <suzuki.poulose@xxxxxxx> > > > > Cc: kvmarm@xxxxxxxxxxxxxxxxxxxxx > > > > Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx > > > > Cc: linux-kernel@xxxxxxxxxxxxxxx > > > > > > > > Suggested-by: Mark Rutland <mark.rutland@xxxxxxx> > > > > Reviewed-by: Suzuki K Poulose <suzuki.poulose@xxxxxxx> > > > > Signed-off-by: Anshuman Khandual <anshuman.khandual@xxxxxxx> > > > > --- > > > > arch/arm64/include/asm/cpu.h | 1 + > > > > arch/arm64/include/asm/sysreg.h | 4 ++++ > > > > arch/arm64/kernel/cpufeature.c | 11 +++++++++++ > > > > arch/arm64/kernel/cpuinfo.c | 1 + > > > > arch/arm64/kvm/sys_regs.c | 2 +- > > > > 5 files changed, 18 insertions(+), 1 deletion(-) > > > > > > > > diff --git a/arch/arm64/include/asm/cpu.h b/arch/arm64/include/asm/cpu.h > > > > index b4a40535a3d8..464e828a994d 100644 > > > > --- a/arch/arm64/include/asm/cpu.h > > > > +++ b/arch/arm64/include/asm/cpu.h > > > > @@ -46,6 +46,7 @@ struct cpuinfo_arm64 { > > > > u32 reg_id_mmfr3; > > > > u32 reg_id_pfr0; > > > > u32 reg_id_pfr1; > > > > + u32 reg_id_pfr2; > > > > > > > > u32 reg_mvfr0; > > > > u32 reg_mvfr1; > > > > diff --git a/arch/arm64/include/asm/sysreg.h b/arch/arm64/include/asm/sysreg.h > > > > index e5317a6367b6..c977449e02db 100644 > > > > --- a/arch/arm64/include/asm/sysreg.h > > > > +++ b/arch/arm64/include/asm/sysreg.h > > > > @@ -153,6 +153,7 @@ > > > > #define SYS_MVFR0_EL1 sys_reg(3, 0, 0, 3, 0) > > > > #define SYS_MVFR1_EL1 sys_reg(3, 0, 0, 3, 1) > > > > #define SYS_MVFR2_EL1 sys_reg(3, 0, 0, 3, 2) > > > > +#define SYS_ID_PFR2_EL1 sys_reg(3, 0, 0, 3, 4) > > > > > > nit: but please group these defines by name rather than encoding. > > > > So far we've *always* grouped these by encoding in this file, so can we > > keep things that way for now? Otherwise we're inconsistent with both > > schemes. > > Hmm, but it's really hard to read sorted that way and we'll end up with > duplicate definitions like we had for some of the field offsets already. I appreciate that, and don't disagree that the current scheme is not obvious. I just want to ensure that we don't make things less consistent, and if we're going to change the scheme in order to make that easier, it should be a separate patch. There'll be other changes like MMFR4_EL1, and we should probably add a comment as to what the policy is either way (e.g. if we're just grouping at the top level, or if that should be sorted too). Thanks, Mark. > The only ID register that seems to be out of place atm is MMFR4, which I > can move (see below) > > Will > > --->8 > > diff --git a/arch/arm64/include/asm/sysreg.h b/arch/arm64/include/asm/sysreg.h > index 2dd3f4ca9780..137201ea383b 100644 > --- a/arch/arm64/include/asm/sysreg.h > +++ b/arch/arm64/include/asm/sysreg.h > @@ -140,6 +140,7 @@ > #define SYS_ID_MMFR1_EL1 sys_reg(3, 0, 0, 1, 5) > #define SYS_ID_MMFR2_EL1 sys_reg(3, 0, 0, 1, 6) > #define SYS_ID_MMFR3_EL1 sys_reg(3, 0, 0, 1, 7) > +#define SYS_ID_MMFR4_EL1 sys_reg(3, 0, 0, 2, 6) > > #define SYS_ID_ISAR0_EL1 sys_reg(3, 0, 0, 2, 0) > #define SYS_ID_ISAR1_EL1 sys_reg(3, 0, 0, 2, 1) > @@ -147,7 +148,6 @@ > #define SYS_ID_ISAR3_EL1 sys_reg(3, 0, 0, 2, 3) > #define SYS_ID_ISAR4_EL1 sys_reg(3, 0, 0, 2, 4) > #define SYS_ID_ISAR5_EL1 sys_reg(3, 0, 0, 2, 5) > -#define SYS_ID_MMFR4_EL1 sys_reg(3, 0, 0, 2, 6) > #define SYS_ID_ISAR6_EL1 sys_reg(3, 0, 0, 2, 7) > > #define SYS_MVFR0_EL1 sys_reg(3, 0, 0, 3, 0) _______________________________________________ kvmarm mailing list kvmarm@xxxxxxxxxxxxxxxxxxxxx https://lists.cs.columbia.edu/mailman/listinfo/kvmarm