target/arm: Enable SCTLR_EL1.EnFPM for user-only
We advertised linux-user support for FPMR without actually enabling access to the register as the kernel must do. Fixes: 2430d49a17c9 ("target/arm: Enable FEAT_FPMR for -cpu max") Reported-by: Dillon Sharlet <dsharlet@google.com> Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Message-id: 20260618040718.572950-2-richard.henderson@linaro.org Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Richard Henderson committed
Jun 17, 2026 at 21:07 UTC
2c346e6136d087e16f1d77811ce066615b77a358
1 file changed
+4
target/arm/cpu.c
+4
@@ -421,6 +421,10 @@ static void arm_cpu_reset_hold(Object *obj, ResetType type)
421
env->cp15.mdscr_el1 |= 1 << 12;
422
/* Enable FEAT_MOPS */
423
env->cp15.sctlr_el[1] |= SCTLR_MSCEN;
424
+ /* Enable FEAT_FPMR */
425
+ if (cpu_isar_feature(aa64_fpmr, cpu)) {
426
+ env->cp15.sctlr_el[1] |= SCTLR_EnFPM;
427
+ }
428
/* For Linux, GCSPR_EL0 is always readable. */
429
if (cpu_isar_feature(aa64_gcs, cpu)) {
430
env->cp15.gcscr_el[0] = GCSCRE0_NTR;