Richard Henderson <richard.hender...@linaro.org> writes:
> Include definitions for all of the bits in ID_MMFR3. > We already have a definition for ID_AA64MMFR1.PAN. > > Reviewed-by: Peter Maydell <peter.mayd...@linaro.org> > Signed-off-by: Richard Henderson <richard.hender...@linaro.org> Reviewed-by: Alex Bennée <alex.ben...@linaro.org> > --- > target/arm/cpu.h | 29 +++++++++++++++++++++++++++++ > 1 file changed, 29 insertions(+) > > diff --git a/target/arm/cpu.h b/target/arm/cpu.h > index c63bceaaa5..08b2f5d73e 100644 > --- a/target/arm/cpu.h > +++ b/target/arm/cpu.h > @@ -1727,6 +1727,15 @@ FIELD(ID_ISAR6, FHM, 8, 4) > FIELD(ID_ISAR6, SB, 12, 4) > FIELD(ID_ISAR6, SPECRES, 16, 4) > > +FIELD(ID_MMFR3, CMAINTVA, 0, 4) > +FIELD(ID_MMFR3, CMAINTSW, 4, 4) > +FIELD(ID_MMFR3, BPMAINT, 8, 4) > +FIELD(ID_MMFR3, MAINTBCST, 12, 4) > +FIELD(ID_MMFR3, PAN, 16, 4) > +FIELD(ID_MMFR3, COHWALK, 20, 4) > +FIELD(ID_MMFR3, CMEMSZ, 24, 4) > +FIELD(ID_MMFR3, SUPERSEC, 28, 4) > + > FIELD(ID_MMFR4, SPECSEI, 0, 4) > FIELD(ID_MMFR4, AC2, 4, 4) > FIELD(ID_MMFR4, XNX, 8, 4) > @@ -3443,6 +3452,16 @@ static inline bool isar_feature_aa32_vminmaxnm(const > ARMISARegisters *id) > return FIELD_EX64(id->mvfr2, MVFR2, FPMISC) >= 4; > } > > +static inline bool isar_feature_aa32_pan(const ARMISARegisters *id) > +{ > + return FIELD_EX64(id->mvfr0, ID_MMFR3, PAN) != 0; > +} > + > +static inline bool isar_feature_aa32_ats1e1(const ARMISARegisters *id) > +{ > + return FIELD_EX64(id->mvfr0, ID_MMFR3, PAN) >= 2; > +} > + > /* > * 64-bit feature tests via id registers. > */ > @@ -3602,6 +3621,16 @@ static inline bool isar_feature_aa64_lor(const > ARMISARegisters *id) > return FIELD_EX64(id->id_aa64mmfr1, ID_AA64MMFR1, LO) != 0; > } > > +static inline bool isar_feature_aa64_pan(const ARMISARegisters *id) > +{ > + return FIELD_EX64(id->id_aa64mmfr1, ID_AA64MMFR1, PAN) != 0; > +} > + > +static inline bool isar_feature_aa64_ats1e1(const ARMISARegisters *id) > +{ > + return FIELD_EX64(id->id_aa64mmfr1, ID_AA64MMFR1, PAN) >= 2; > +} > + > static inline bool isar_feature_aa64_bti(const ARMISARegisters *id) > { > return FIELD_EX64(id->id_aa64pfr1, ID_AA64PFR1, BT) != 0; -- Alex Bennée