Patchwork [3/4] softmmu: move TCG memory access helpers to TCG targets

login
register
mail settings
Submitter Blue Swirl
Date April 9, 2012, 7:47 p.m.
Message ID <CAAu8pHsHqfoD3n3ErLhFchNLE6cN6tiZ+J05qUJKtzV9vbPMfQ@mail.gmail.com>
Download mbox | patch
Permalink /patch/151464/
State New
Headers show

Comments

Blue Swirl - April 9, 2012, 7:47 p.m.
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
---
 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(-)

 {

Patch

From d031df638ed1b3cedfe516cfddb13e1211070a43 Mon Sep 17 00:00:00 2001
Message-Id: <d031df638ed1b3cedfe516cfddb13e1211070a43.1333999313.git.blauwirbel@gmail.com>
In-Reply-To: <524db9d8331b9f4a43459081909e8816f77b3952.1333999313.git.blauwirbel@gmail.com>
References: <524db9d8331b9f4a43459081909e8816f77b3952.1333999313.git.blauwirbel@gmail.com>
From: Blue Swirl <blauwirbel@gmail.com>
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 <blauwirbel@gmail.com>
---
 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