From: Peter Maydell Date: Fri, 15 May 2026 14:25:38 +0000 (+0100) Subject: target/arm/ptw: Flip sense of get_phys_addr_gpc return value X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1567e559ff7cfe024f2bfbf62b1a08d5d54412fe;p=thirdparty%2Fqemu.git target/arm/ptw: Flip sense of get_phys_addr_gpc return value Signed-off-by: Peter Maydell Reviewed-by: Philippe Mathieu-Daudé Reviewed-by: Richard Henderson Message-id: 20260515142541.571911-12-peter.maydell@linaro.org --- diff --git a/target/arm/ptw.c b/target/arm/ptw.c index 4538ffeb10..6146367e23 100644 --- a/target/arm/ptw.c +++ b/target/arm/ptw.c @@ -667,7 +667,7 @@ static bool S1_ptw_translate(CPUARMState *env, S1Translate *ptw, }; GetPhysAddrResult s2 = { }; - if (get_phys_addr_gpc(env, &s2ptw, addr, MMU_DATA_LOAD, 0, &s2, fi)) { + if (!get_phys_addr_gpc(env, &s2ptw, addr, MMU_DATA_LOAD, 0, &s2, fi)) { goto fail; } @@ -3806,7 +3806,7 @@ static bool get_phys_addr_gpc(CPUARMState *env, S1Translate *ptw, { if (!get_phys_addr_nogpc(env, ptw, address, access_type, memop, result, fi)) { - return true; + return false; } if (FIELD_EX64(env->cp15.gpccr_el3, GPCCR, GPC)) { @@ -3826,11 +3826,11 @@ static bool get_phys_addr_gpc(CPUARMState *env, S1Translate *ptw, result->f.attrs.space, ptw->in_space, fi)) { fi->type = ARMFault_GPCFOnOutput; - return true; + return false; } } - return false; + return true; } bool get_phys_addr_for_at(CPUARMState *env, vaddr address, @@ -3939,7 +3939,7 @@ bool get_phys_addr(CPUARMState *env, vaddr address, .in_prot_check = 1 << access_type, }; - return get_phys_addr_gpc(env, &ptw, address, access_type, + return !get_phys_addr_gpc(env, &ptw, address, access_type, memop, result, fi); } @@ -3956,16 +3956,16 @@ static bool arm_cpu_get_phys_addr(CPUARMState *env, vaddr addr, }; GetPhysAddrResult res = {}; ARMMMUFaultInfo fi = {}; - bool fault = get_phys_addr_gpc(env, &ptw, addr, MMU_DATA_LOAD, 0, &res, &fi); + bool ok = get_phys_addr_gpc(env, &ptw, addr, MMU_DATA_LOAD, 0, &res, &fi); - if (!fault) { + if (ok) { /* translation succeeded */ result->physaddr = res.f.phys_addr; result->attrs = res.f.attrs; result->attrs.debug = 1; result->lg_page_size = res.f.lg_page_size; } - return fault; + return !ok; } bool arm_cpu_translate_for_debug(CPUState *cs, vaddr addr,