target-arm: Use a 1:1 mapping between EL and MMU index
authorEdgar E. Iglesias <edgar.iglesias@gmail.com>
Tue, 27 May 2014 16:09:51 +0000 (17:09 +0100)
committerPeter Maydell <peter.maydell@linaro.org>
Tue, 27 May 2014 16:09:51 +0000 (17:09 +0100)
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
Message-id: 1400980132-25949-6-git-send-email-edgar.iglesias@gmail.com
Message-id: 1400805738-11889-7-git-send-email-edgar.iglesias@gmail.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
target-arm/cpu.h
target-arm/translate.h

index c83f2495a861c36ead953afeefbe6e1718e67888..5aa978d9cd873e7c1ac591af2ea35efdf97cb5e8 100644 (file)
@@ -1080,12 +1080,12 @@ static inline CPUARMState *cpu_init(const char *cpu_model)
 #define cpu_list arm_cpu_list
 
 /* MMU modes definitions */
-#define MMU_MODE0_SUFFIX _kernel
-#define MMU_MODE1_SUFFIX _user
-#define MMU_USER_IDX 1
+#define MMU_MODE0_SUFFIX _user
+#define MMU_MODE1_SUFFIX _kernel
+#define MMU_USER_IDX 0
 static inline int cpu_mmu_index (CPUARMState *env)
 {
-    return arm_current_pl(env) ? 0 : 1;
+    return arm_current_pl(env);
 }
 
 #include "exec/cpu-all.h"
index 8737af00e8cda0edf7dc19986674a67f299e12c1..31a0104b58ccda8a8011e2b6b16bda089584546f 100644 (file)
@@ -54,11 +54,7 @@ static inline int arm_dc_feature(DisasContext *dc, int feature)
 
 static inline int get_mem_index(DisasContext *s)
 {
-#ifdef CONFIG_USER_ONLY
-    return 1;
-#else
-    return s->user;
-#endif
+    return s->current_pl;
 }
 
 /* target-specific extra values for is_jmp */