From: Richard Henderson <[email protected]> This bit allows all spaces to access memory above PPS.
Signed-off-by: Richard Henderson <[email protected]> Reviewed-by: Pierrick Bouvier <[email protected]> Message-id: [email protected] Signed-off-by: Peter Maydell <[email protected]> --- target/arm/ptw.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/target/arm/ptw.c b/target/arm/ptw.c index 236c3a9569b..e03657f309e 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; -- 2.43.0
