summaryrefslogtreecommitdiffstats
path: root/tcg/arm
diff options
context:
space:
mode:
authorRichard Henderson2017-07-30 21:30:41 +0200
committerRichard Henderson2017-09-07 20:57:35 +0200
commit659ef5cbb893872d25e9d95191cc23b16546c8a1 (patch)
treea86cecc0404c2e682d7582ab3e5ceda0f0cc6ee9 /tcg/arm
parenttcg: Move USE_DIRECT_JUMP discriminator to tcg/cpu/tcg-target.h (diff)
downloadqemu-659ef5cbb893872d25e9d95191cc23b16546c8a1.tar.gz
qemu-659ef5cbb893872d25e9d95191cc23b16546c8a1.tar.xz
qemu-659ef5cbb893872d25e9d95191cc23b16546c8a1.zip
tcg: Rearrange ldst label tracking
Dispense with TCGBackendData, as it has never been used for more than holding a single pointer. Use a define in the cpu/tcg-target.h to signal requirement for TCGLabelQemuLdst, so that we can drop the no-op tcg-be-null.h stubs. Rename tcg-be-ldst.h to tcg-ldst.inc.c. Reviewed-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Richard Henderson <rth@twiddle.net>
Diffstat (limited to 'tcg/arm')
-rw-r--r--tcg/arm/tcg-target.h4
-rw-r--r--tcg/arm/tcg-target.inc.c3
2 files changed, 6 insertions, 1 deletions
diff --git a/tcg/arm/tcg-target.h b/tcg/arm/tcg-target.h
index 7117ebf4fc..2e92cb3283 100644
--- a/tcg/arm/tcg-target.h
+++ b/tcg/arm/tcg-target.h
@@ -140,4 +140,8 @@ static inline void flush_icache_range(uintptr_t start, uintptr_t stop)
/* not defined -- call should be eliminated at compile time */
void tb_target_set_jmp_target(uintptr_t, uintptr_t, uintptr_t);
+#ifdef CONFIG_SOFTMMU
+#define TCG_TARGET_NEED_LDST_LABELS
+#endif
+
#endif
diff --git a/tcg/arm/tcg-target.inc.c b/tcg/arm/tcg-target.inc.c
index 37efcf06af..81ea900852 100644
--- a/tcg/arm/tcg-target.inc.c
+++ b/tcg/arm/tcg-target.inc.c
@@ -23,7 +23,6 @@
*/
#include "elf.h"
-#include "tcg-be-ldst.h"
int arm_arch = __ARM_ARCH;
@@ -1060,6 +1059,8 @@ static inline void tcg_out_mb(TCGContext *s, TCGArg a0)
}
#ifdef CONFIG_SOFTMMU
+#include "tcg-ldst.inc.c"
+
/* helper signature: helper_ret_ld_mmu(CPUState *env, target_ulong addr,
* int mmu_idx, uintptr_t ra)
*/