@samitouri / QOSamiQemu / commits / 2ed7af8213

target/arm/ptw: Restrict PMSAv8 code to TCG

Armv8-M Protected Memory System Architecture can only be emulated, therefore restrict it to TCG to avoid compiling it on hardware accelerators. Signed-off-by: Philippe Mathieu-Daudé <philmd@oss.qualcomm.com> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Message-Id: <20260616153432.92939-3-philmd@oss.qualcomm.com>

Philippe Mathieu-Daudé committed Jun 16, 2026 at 12:22 UTC 2ed7af82137176b81798ecd62799e9534e26b108
1 file changed +19 -1
target/arm/ptw.c
+19 -1
@@ -13,11 +13,13 @@
13 #include "exec/page-protection.h"
14 #include "exec/target_page.h"
15 #include "exec/tlb-flags.h"
16 +#ifdef CONFIG_TCG
17 #include "accel/tcg/probe.h"
18 +#include "target/arm/tcg/idau.h"
19 +#endif
20 #include "cpu.h"
21 #include "internals.h"
22 #include "cpu-features.h"
20 -#include "target/arm/tcg/idau.h"
23
24 typedef struct S1Translate {
25 /*
@@ -2818,6 +2820,8 @@ static bool get_phys_addr_pmsav7(CPUARMState *env,
2820 return (ptw->in_prot_check & ~result->f.prot) == 0;
2821 }
2822
2823 +#ifdef CONFIG_TCG
2824 +
2825 static uint32_t *regime_rbar(CPUARMState *env, ARMMMUIdx mmu_idx,
2826 uint32_t secure)
2827 {
@@ -3247,6 +3251,20 @@ static bool get_phys_addr_pmsav8(CPUARMState *env,
3251 return ret;
3252 }
3253
3254 +#else /* !CONFIG_TCG */
3255 +
3256 +static bool get_phys_addr_pmsav8(CPUARMState *env,
3257 + S1Translate *ptw,
3258 + uint32_t address,
3259 + MMUAccessType access_type,
3260 + GetPhysAddrResult *result,
3261 + ARMMMUFaultInfo *fi)
3262 +{
3263 + g_assert_not_reached();
3264 +}
3265 +
3266 +#endif /* !CONFIG_TCG */
3267 +
3268 /*
3269 * Translate from the 4-bit stage 2 representation of
3270 * memory attributes (without cache-allocation hints) to