]> xenbits.xensource.com Git - qemu-xen.git/commitdiff
target-arm/translate.c: Use get_mem_index() for SRS memory accesses
authorPeter Maydell <peter.maydell@linaro.org>
Tue, 27 May 2014 16:09:50 +0000 (17:09 +0100)
committerPeter Maydell <peter.maydell@linaro.org>
Tue, 27 May 2014 16:09:50 +0000 (17:09 +0100)
The SRS instruction was using a hardcoded 0 for the memory
accesses. This happens to be OK since the SRS instruction is
UNPREDICTABLE in User and System modes, but is awkward if we
want to rearrange the MMU index uses. Switch to using
get_mem_index() like all the other accesses.

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

target-arm/translate.c

index e708f4ab1a679ae2481aa8a844b9d73858fa0962..e40b0a76becc3fa998d875ebd4fe3f7ec63dadc9 100644 (file)
@@ -7338,11 +7338,11 @@ static void gen_srs(DisasContext *s,
     }
     tcg_gen_addi_i32(addr, addr, offset);
     tmp = load_reg(s, 14);
-    gen_aa32_st32(tmp, addr, 0);
+    gen_aa32_st32(tmp, addr, get_mem_index(s));
     tcg_temp_free_i32(tmp);
     tmp = load_cpu_field(spsr);
     tcg_gen_addi_i32(addr, addr, 4);
-    gen_aa32_st32(tmp, addr, 0);
+    gen_aa32_st32(tmp, addr, get_mem_index(s));
     tcg_temp_free_i32(tmp);
     if (writeback) {
         switch (amode) {