summaryrefslogtreecommitdiffstats
path: root/target-arm
diff options
context:
space:
mode:
authorEdgar E. Iglesias2014-05-27 18:09:51 +0200
committerPeter Maydell2014-05-27 18:09:51 +0200
commitf79fbf39e266e6fef3d796ef3884aefb9506b73c (patch)
tree65e1663e274e6a59f6274860a294b36445453178 /target-arm
parenttarget-arm: A32: Use get_mem_index for load/stores (diff)
downloadqemu-f79fbf39e266e6fef3d796ef3884aefb9506b73c.tar.gz
qemu-f79fbf39e266e6fef3d796ef3884aefb9506b73c.tar.xz
qemu-f79fbf39e266e6fef3d796ef3884aefb9506b73c.zip
target-arm: Use a 1:1 mapping between EL and MMU index
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>
Diffstat (limited to 'target-arm')
-rw-r--r--target-arm/cpu.h8
-rw-r--r--target-arm/translate.h6
2 files changed, 5 insertions, 9 deletions
diff --git a/target-arm/cpu.h b/target-arm/cpu.h
index c83f2495a8..5aa978d9cd 100644
--- a/target-arm/cpu.h
+++ b/target-arm/cpu.h
@@ -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"
diff --git a/target-arm/translate.h b/target-arm/translate.h
index 8737af00e8..31a0104b58 100644
--- a/target-arm/translate.h
+++ b/target-arm/translate.h
@@ -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 */