From: Richard Henderson Date: Fri, 26 Sep 2025 00:11:33 +0000 (-0700) Subject: target/arm: Implement APPSAA X-Git-Tag: v10.2.0-rc1~74^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=663f9c253eb31d4deacacf5b9de70bfa4674371f;p=thirdparty%2Fqemu.git target/arm: Implement APPSAA This bit allows all spaces to access memory above PPS. Signed-off-by: Richard Henderson Reviewed-by: Pierrick Bouvier Message-id: 20250926001134.295547-10-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- diff --git a/target/arm/ptw.c b/target/arm/ptw.c index 236c3a9569..e03657f309 100644 --- a/target/arm/ptw.c +++ b/target/arm/ptw.c @@ -408,9 +408,10 @@ static bool granule_protection_check(CPUARMState *env, uint64_t paddress, * GPC Priority 3: Secure, Realm or Root address exceeds PPS. * R_CPDSB: A NonSecure physical address input exceeding PPS * does not experience any fault. + * R_PBPSH: Other address spaces have fault suppressed by APPSAA. */ if (paddress & ~pps_mask) { - if (pspace == ARMSS_NonSecure) { + if (pspace == ARMSS_NonSecure || FIELD_EX64(gpccr, GPCCR, APPSAA)) { return true; } goto fault_fail;