Merge "Change requested in launchpad bug #1288352" into 5.0
[packages/centos6/qemu.git] / 0087-tcg-sparc-Change-AREG0-in-generated-code-to-i0.patch
1 From d526285d4339f02e3be64a7287d1e009dd5bff3d Mon Sep 17 00:00:00 2001
2 From: Richard Henderson <rth@twiddle.net>
3 Date: Sun, 25 Mar 2012 19:52:11 +0200
4 Subject: [PATCH] tcg-sparc: Change AREG0 in generated code to %i0.
5
6 We can now move the TCG variable from %g[56] to a call-preserved
7 windowed register.
8
9 Signed-off-by: Richard Henderson <rth@twiddle.net>
10 Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
11 ---
12  tcg/sparc/tcg-target.c | 3 ++-
13  tcg/sparc/tcg-target.h | 8 +-------
14  2 files changed, 3 insertions(+), 8 deletions(-)
15
16 diff --git a/tcg/sparc/tcg-target.c b/tcg/sparc/tcg-target.c
17 index 5acfeba..9ab5746 100644
18 --- a/tcg/sparc/tcg-target.c
19 +++ b/tcg/sparc/tcg-target.c
20 @@ -696,7 +696,8 @@ static void tcg_target_qemu_prologue(TCGContext *s)
21  
22      tcg_out32(s, JMPL | INSN_RD(TCG_REG_G0) | INSN_RS1(TCG_REG_I1) |
23                INSN_RS2(TCG_REG_G0));
24 -    tcg_out_mov(s, TCG_TYPE_PTR, TCG_AREG0, TCG_REG_I0);
25 +    /* delay slot */
26 +    tcg_out_nop(s);
27  }
28  
29  #if defined(CONFIG_SOFTMMU)
30 diff --git a/tcg/sparc/tcg-target.h b/tcg/sparc/tcg-target.h
31 index 99e9f57..ee154d0 100644
32 --- a/tcg/sparc/tcg-target.h
33 +++ b/tcg/sparc/tcg-target.h
34 @@ -130,13 +130,7 @@ typedef enum {
35  
36  #define TCG_TARGET_HAS_GUEST_BASE
37  
38 -#ifdef CONFIG_SOLARIS
39 -#define TCG_AREG0 TCG_REG_G2
40 -#elif HOST_LONG_BITS == 64
41 -#define TCG_AREG0 TCG_REG_G5
42 -#else
43 -#define TCG_AREG0 TCG_REG_G6
44 -#endif
45 +#define TCG_AREG0 TCG_REG_I0
46  
47  static inline void flush_icache_range(tcg_target_ulong start,
48                                        tcg_target_ulong stop)
49 -- 
50 1.7.12.1
51