From d031df638ed1b3cedfe516cfddb13e1211070a43 Mon Sep 17 00:00:00 2001 Message-Id: In-Reply-To: References: From: Blue Swirl Date: Sun, 8 Apr 2012 12:21:48 +0000 Subject: [PATCH 3/4] softmmu: move TCG memory access helpers to TCG targets Signed-off-by: Blue Swirl --- target-alpha/mem_helper.c | 14 -------------- target-sparc/ldst_helper.c | 13 ------------- tcg/arm/tcg-target.c | 14 ++++++++++++++ tcg/hppa/tcg-target.c | 14 ++++++++++++++ tcg/i386/tcg-target.c | 14 ++++++++++++++ tcg/ia64/tcg-target.c | 14 ++++++++++++++ tcg/mips/tcg-target.c | 14 ++++++++++++++ tcg/ppc/tcg-target.c | 14 ++++++++++++++ tcg/ppc64/tcg-target.c | 14 ++++++++++++++ tcg/s390/tcg-target.c | 14 ++++++++++++++ tcg/sparc/tcg-target.c | 14 ++++++++++++++ tci.c | 21 +++++++++++++++++++++ 12 files changed, 147 insertions(+), 27 deletions(-) diff --git a/target-alpha/mem_helper.c b/target-alpha/mem_helper.c index a32ee75..489fc19 100644 --- a/target-alpha/mem_helper.c +++ b/target-alpha/mem_helper.c @@ -117,20 +117,6 @@ void cpu_unassigned_access(CPUAlphaState *env, target_phys_addr_t addr, #include "softmmu_exec.h" -#define MMUSUFFIX _mmu - -#define SHIFT 0 -#include "softmmu_template.h" - -#define SHIFT 1 -#include "softmmu_template.h" - -#define SHIFT 2 -#include "softmmu_template.h" - -#define SHIFT 3 -#include "softmmu_template.h" - /* try to fill the TLB and return an exception if error. If retaddr is NULL, it means that the function was called in C code (i.e. not from generated code or from helper.c) */ diff --git a/target-sparc/ldst_helper.c b/target-sparc/ldst_helper.c index d288318..f6e1f45 100644 --- a/target-sparc/ldst_helper.c +++ b/target-sparc/ldst_helper.c @@ -66,19 +66,6 @@ #if !defined(CONFIG_USER_ONLY) #include "softmmu_exec.h" -#define MMUSUFFIX _mmu - -#define SHIFT 0 -#include "softmmu_template.h" - -#define SHIFT 1 -#include "softmmu_template.h" - -#define SHIFT 2 -#include "softmmu_template.h" - -#define SHIFT 3 -#include "softmmu_template.h" #endif #if defined(TARGET_SPARC64) && !defined(CONFIG_USER_ONLY) diff --git a/tcg/arm/tcg-target.c b/tcg/arm/tcg-target.c index 4d59a63..99853dd 100644 --- a/tcg/arm/tcg-target.c +++ b/tcg/arm/tcg-target.c @@ -930,6 +930,20 @@ static inline void tcg_out_goto_label(TCGContext *s, int cond, int label_index) #include "../../softmmu_defs.h" #ifdef CONFIG_TCG_PASS_AREG0 +#define MMUSUFFIX _mmu + +#define SHIFT 0 +#include "softmmu_template.h" + +#define SHIFT 1 +#include "softmmu_template.h" + +#define SHIFT 2 +#include "softmmu_template.h" + +#define SHIFT 3 +#include "softmmu_template.h" + /* helper signature: helper_ld_mmu(CPUState *env, target_ulong addr, int mmu_idx) */ static const void * const qemu_ld_helpers[4] = { diff --git a/tcg/hppa/tcg-target.c b/tcg/hppa/tcg-target.c index 2885212..abb7312 100644 --- a/tcg/hppa/tcg-target.c +++ b/tcg/hppa/tcg-target.c @@ -883,6 +883,20 @@ static void tcg_out_setcond2(TCGContext *s, int cond, TCGArg ret, #include "../../softmmu_defs.h" #ifdef CONFIG_TCG_PASS_AREG0 +#define MMUSUFFIX _mmu + +#define SHIFT 0 +#include "softmmu_template.h" + +#define SHIFT 1 +#include "softmmu_template.h" + +#define SHIFT 2 +#include "softmmu_template.h" + +#define SHIFT 3 +#include "softmmu_template.h" + /* helper signature: helper_ld_mmu(CPUState *env, target_ulong addr, int mmu_idx) */ static const void * const qemu_ld_helpers[4] = { diff --git a/tcg/i386/tcg-target.c b/tcg/i386/tcg-target.c index 871a7e7..ce6cfe6 100644 --- a/tcg/i386/tcg-target.c +++ b/tcg/i386/tcg-target.c @@ -961,6 +961,20 @@ static void tcg_out_jmp(TCGContext *s, tcg_target_long dest) #include "../../softmmu_defs.h" #ifdef CONFIG_TCG_PASS_AREG0 +#define MMUSUFFIX _mmu + +#define SHIFT 0 +#include "softmmu_template.h" + +#define SHIFT 1 +#include "softmmu_template.h" + +#define SHIFT 2 +#include "softmmu_template.h" + +#define SHIFT 3 +#include "softmmu_template.h" + /* helper signature: helper_ld_mmu(CPUState *env, target_ulong addr, int mmu_idx) */ static const void *qemu_ld_helpers[4] = { diff --git a/tcg/ia64/tcg-target.c b/tcg/ia64/tcg-target.c index e02dacc..7484395 100644 --- a/tcg/ia64/tcg-target.c +++ b/tcg/ia64/tcg-target.c @@ -1453,6 +1453,20 @@ static inline void tcg_out_qemu_tlb(TCGContext *s, TCGArg addr_reg, } #ifdef CONFIG_TCG_PASS_AREG0 +#define MMUSUFFIX _mmu + +#define SHIFT 0 +#include "softmmu_template.h" + +#define SHIFT 1 +#include "softmmu_template.h" + +#define SHIFT 2 +#include "softmmu_template.h" + +#define SHIFT 3 +#include "softmmu_template.h" + /* helper signature: helper_ld_mmu(CPUState *env, target_ulong addr, int mmu_idx) */ static const void * const qemu_ld_helpers[4] = { diff --git a/tcg/mips/tcg-target.c b/tcg/mips/tcg-target.c index 393ba07..af97e03 100644 --- a/tcg/mips/tcg-target.c +++ b/tcg/mips/tcg-target.c @@ -751,6 +751,20 @@ static void tcg_out_setcond2(TCGContext *s, TCGCond cond, int ret, #include "../../softmmu_defs.h" #ifdef CONFIG_TCG_PASS_AREG0 +#define MMUSUFFIX _mmu + +#define SHIFT 0 +#include "softmmu_template.h" + +#define SHIFT 1 +#include "softmmu_template.h" + +#define SHIFT 2 +#include "softmmu_template.h" + +#define SHIFT 3 +#include "softmmu_template.h" + /* helper signature: helper_ld_mmu(CPUState *env, target_ulong addr, int mmu_idx) */ static const void * const qemu_ld_helpers[4] = { diff --git a/tcg/ppc/tcg-target.c b/tcg/ppc/tcg-target.c index b0aa914..32347f2 100644 --- a/tcg/ppc/tcg-target.c +++ b/tcg/ppc/tcg-target.c @@ -509,6 +509,20 @@ static void tcg_out_call (TCGContext *s, tcg_target_long arg, int const_arg) #include "../../softmmu_defs.h" #ifdef CONFIG_TCG_PASS_AREG0 +#define MMUSUFFIX _mmu + +#define SHIFT 0 +#include "softmmu_template.h" + +#define SHIFT 1 +#include "softmmu_template.h" + +#define SHIFT 2 +#include "softmmu_template.h" + +#define SHIFT 3 +#include "softmmu_template.h" + /* helper signature: helper_ld_mmu(CPUState *env, target_ulong addr, int mmu_idx) */ static const void * const qemu_ld_helpers[4] = { diff --git a/tcg/ppc64/tcg-target.c b/tcg/ppc64/tcg-target.c index f2ad9e3..3610d88 100644 --- a/tcg/ppc64/tcg-target.c +++ b/tcg/ppc64/tcg-target.c @@ -553,6 +553,20 @@ static void tcg_out_ldsta (TCGContext *s, int ret, int addr, #include "../../softmmu_defs.h" #ifdef CONFIG_TCG_PASS_AREG0 +#define MMUSUFFIX _mmu + +#define SHIFT 0 +#include "softmmu_template.h" + +#define SHIFT 1 +#include "softmmu_template.h" + +#define SHIFT 2 +#include "softmmu_template.h" + +#define SHIFT 3 +#include "softmmu_template.h" + /* helper signature: helper_ld_mmu(CPUState *env, target_ulong addr, int mmu_idx) */ static const void * const qemu_ld_helpers[4] = { diff --git a/tcg/s390/tcg-target.c b/tcg/s390/tcg-target.c index 04662c1..90dd6fa 100644 --- a/tcg/s390/tcg-target.c +++ b/tcg/s390/tcg-target.c @@ -302,6 +302,20 @@ static const uint8_t tcg_cond_to_ltr_cond[10] = { #include "../../softmmu_defs.h" #ifdef CONFIG_TCG_PASS_AREG0 +#define MMUSUFFIX _mmu + +#define SHIFT 0 +#include "softmmu_template.h" + +#define SHIFT 1 +#include "softmmu_template.h" + +#define SHIFT 2 +#include "softmmu_template.h" + +#define SHIFT 3 +#include "softmmu_template.h" + /* helper signature: helper_ld_mmu(CPUState *env, target_ulong addr, int mmu_idx) */ static const void * const qemu_ld_helpers[4] = { diff --git a/tcg/sparc/tcg-target.c b/tcg/sparc/tcg-target.c index 247a278..1227a15 100644 --- a/tcg/sparc/tcg-target.c +++ b/tcg/sparc/tcg-target.c @@ -716,6 +716,20 @@ static void tcg_target_qemu_prologue(TCGContext *s) #include "../../softmmu_defs.h" #ifdef CONFIG_TCG_PASS_AREG0 +#define MMUSUFFIX _mmu + +#define SHIFT 0 +#include "softmmu_template.h" + +#define SHIFT 1 +#include "softmmu_template.h" + +#define SHIFT 2 +#include "softmmu_template.h" + +#define SHIFT 3 +#include "softmmu_template.h" + /* helper signature: helper_ld_mmu(CPUState *env, target_ulong addr, int mmu_idx) */ static const void * const qemu_ld_helpers[4] = { diff --git a/tci.c b/tci.c index c43fe7d..565ae85 100644 --- a/tci.c +++ b/tci.c @@ -439,6 +439,27 @@ static bool tci_compare64(uint64_t u0, uint64_t u1, TCGCond condition) return result; } +#if defined(CONFIG_SOFTMMU) + +#include "softmmu_defs.h" + +#ifdef CONFIG_TCG_PASS_AREG0 +#define MMUSUFFIX _mmu + +#define SHIFT 0 +#include "softmmu_template.h" + +#define SHIFT 1 +#include "softmmu_template.h" + +#define SHIFT 2 +#include "softmmu_template.h" + +#define SHIFT 3 +#include "softmmu_template.h" +#endif +#endif + /* Interpret pseudo code in tb. */ tcg_target_ulong tcg_qemu_tb_exec(CPUArchState *cpustate, uint8_t *tb_ptr) { -- 1.7.2.5