]> git.ipfire.org Git - thirdparty/qemu.git/commitdiff
target/arm: Honor param.aie in get_phys_addr_lpae
authorRichard Henderson <richard.henderson@linaro.org>
Thu, 23 Oct 2025 12:12:50 +0000 (13:12 +0100)
committerPeter Maydell <peter.maydell@linaro.org>
Thu, 23 Oct 2025 12:12:50 +0000 (13:12 +0100)
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20251014195017.421681-7-richard.henderson@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
target/arm/ptw.c

index 5fcf10427267310fcc938d32cd3f879a38127e20..23f6616811aaedccf831c5e1ef4bc8f7e163b452 100644 (file)
@@ -2319,7 +2319,9 @@ static bool get_phys_addr_lpae(CPUARMState *env, S1Translate *ptw,
 
         /* Index into MAIR registers for cache attributes */
         attrindx = extract32(attrs, 2, 3);
-        mair = env->cp15.mair_el[el];
+        mair = (param.aie && extract64(attrs, 59, 1)
+                ? env->cp15.mair2_el[el]
+                : env->cp15.mair_el[el]);
         result->cacheattrs.is_s2_format = false;
         result->cacheattrs.attrs = extract64(mair, attrindx * 8, 8);