From f4608ebdd3ec2f10a483543d612a99998dfbfb0e Mon Sep 17 00:00:00 2001 From: Peter Maydell Date: Thu, 15 Feb 2018 09:08:23 -0500 Subject: [PATCH] target-arm: there is no TTBR1 for 32-bit EL2 stage 1 translations For EL2 stage 1 translations, there is no TTBR1. We were already handling this for 64-bit EL2; add the code to take the 'no TTBR1' code path for 64-bit EL2 as well. Backports commit d0a2cbceb2aa20d64d53e1c20c7d26a78ade8382 from qemu --- qemu/target-arm/helper.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/qemu/target-arm/helper.c b/qemu/target-arm/helper.c index 4305de58..bc840500 100644 --- a/qemu/target-arm/helper.c +++ b/qemu/target-arm/helper.c @@ -5379,6 +5379,11 @@ static bool get_phys_addr_lpae(CPUARMState *env, target_ulong address, if (el > 1) { ttbr1_valid = false; } + } else { + /* There is no TTBR1 for EL2 */ + if (el == 2) { + ttbr1_valid = false; + } } /* Determine whether this address is in the region controlled by