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). -- Catalin