On Wed, Oct 28, 2020 at 11:18:10AM +0000, Catalin Marinas wrote: > On Tue, Oct 27, 2020 at 09:51:14PM +0000, Will Deacon wrote: > > +bool system_has_mismatched_32bit_el0(void) > > +{ > > + u64 reg; > > + unsigned int fld; > > + > > + if (!__allow_mismatched_32bit_el0) > > + return false; > > + > > + reg = read_sanitised_ftr_reg(SYS_ID_AA64PFR0_EL1); > > + fld = cpuid_feature_extract_unsigned_field(reg, ID_AA64PFR0_EL0_SHIFT); > > + return fld == ID_AA64PFR0_EL0_64BIT_ONLY; > > +} > > Same here, this reports true even if no 32-bit is available (I have yet > to go through the other patches to see how this function is used). Same deal, really. We need to report true to deal with late-onlining. Will