target-arm: there is no TTBR1 for 32-bit EL2 stage 1 translations
authorPeter Maydell <peter.maydell@linaro.org>
Tue, 25 Aug 2015 14:45:08 +0000 (15:45 +0100)
committerPeter Maydell <peter.maydell@linaro.org>
Tue, 25 Aug 2015 14:45:08 +0000 (15:45 +0100)
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.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Message-id: 1437751263-21913-2-git-send-email-peter.maydell@linaro.org

target-arm/helper.c

index 97ca86a..86d0baf 100644 (file)
@@ -5999,6 +5999,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