From: Idan Horowitz Date: Fri, 1 Apr 2022 14:35:49 +0000 (+0100) Subject: target/arm: Check VSTCR.SW when assigning the stage 2 output PA space X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=d3b2d191119ee3e6364e470b9579e6353d202e54;p=qemu.git target/arm: Check VSTCR.SW when assigning the stage 2 output PA space As per the AArch64.SS2OutputPASpace() psuedo-code in the ARMv8 ARM when the PA space of the IPA is non secure, the output PA space is secure if and only if all of the bits VTCR., VSTCR. are not set. Signed-off-by: Idan Horowitz Reviewed-by: Richard Henderson Message-id: 20220327093427.1548629-2-idan.horowitz@gmail.com Signed-off-by: Peter Maydell --- diff --git a/target/arm/helper.c b/target/arm/helper.c index 3aeaea4068..a65b39625d 100644 --- a/target/arm/helper.c +++ b/target/arm/helper.c @@ -12697,7 +12697,7 @@ bool get_phys_addr(CPUARMState *env, target_ulong address, } else { attrs->secure = !((env->cp15.vtcr_el2.raw_tcr & (VTCR_NSA | VTCR_NSW)) - || (env->cp15.vstcr_el2.raw_tcr & VSTCR_SA)); + || (env->cp15.vstcr_el2.raw_tcr & (VSTCR_SA | VSTCR_SW))); } } return 0;