From: Richard Henderson Date: Wed, 8 Oct 2025 21:56:07 +0000 (-0700) Subject: target/arm: Enable GCSPR_EL0 for read in user-mode X-Git-Tag: v10.2.0-rc1~67^2~9 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5149287e10c903f2c629f127ec90415b2d1703d5;p=thirdparty%2Fqemu.git target/arm: Enable GCSPR_EL0 for read in user-mode Reviewed-by: Pierrick Bouvier Signed-off-by: Richard Henderson Message-id: 20251008215613.300150-68-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- diff --git a/target/arm/cpu.c b/target/arm/cpu.c index cbb00c3db3..11e7c10cef 100644 --- a/target/arm/cpu.c +++ b/target/arm/cpu.c @@ -311,6 +311,10 @@ static void arm_cpu_reset_hold(Object *obj, ResetType type) env->cp15.mdscr_el1 |= 1 << 12; /* Enable FEAT_MOPS */ env->cp15.sctlr_el[1] |= SCTLR_MSCEN; + /* For Linux, GCSPR_EL0 is always readable. */ + if (cpu_isar_feature(aa64_gcs, cpu)) { + env->cp15.gcscr_el[0] = GCSCRE0_NTR; + } #else /* Reset into the highest available EL */ if (arm_feature(env, ARM_FEATURE_EL3)) {