aboutsummaryrefslogtreecommitdiff
path: root/tcg/s390
diff options
context:
space:
mode:
authorRichard Henderson <rth@twiddle.net>2017-07-30 12:30:41 -0700
committerRichard Henderson <rth@twiddle.net>2017-09-07 11:57:35 -0700
commit659ef5cbb893872d25e9d95191cc23b16546c8a1 (patch)
treea86cecc0404c2e682d7582ab3e5ceda0f0cc6ee9 /tcg/s390
parenta85833933628384d74ec412024d55cf012640287 (diff)
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/s390')
-rw-r--r--tcg/s390/tcg-target.h4
-rw-r--r--tcg/s390/tcg-target.inc.c4
2 files changed, 6 insertions, 2 deletions
diff --git a/tcg/s390/tcg-target.h b/tcg/s390/tcg-target.h
index 31a9eb4ac7..52010c30cb 100644
--- a/tcg/s390/tcg-target.h
+++ b/tcg/s390/tcg-target.h
@@ -155,4 +155,8 @@ static inline void tb_target_set_jmp_target(uintptr_t tc_ptr,
/* no need to flush icache explicitly */
}
+#ifdef CONFIG_SOFTMMU
+#define TCG_TARGET_NEED_LDST_LABELS
+#endif
+
#endif
diff --git a/tcg/s390/tcg-target.inc.c b/tcg/s390/tcg-target.inc.c
index 38b9e791ee..ee0dff995a 100644
--- a/tcg/s390/tcg-target.inc.c
+++ b/tcg/s390/tcg-target.inc.c
@@ -24,8 +24,6 @@
* THE SOFTWARE.
*/
-#include "tcg-be-ldst.h"
-
/* We only support generating code for 64-bit mode. */
#if TCG_TARGET_REG_BITS != 64
#error "unsupported code generation mode"
@@ -1458,6 +1456,8 @@ static void tcg_out_qemu_st_direct(TCGContext *s, TCGMemOp opc, TCGReg data,
}
#if defined(CONFIG_SOFTMMU)
+#include "tcg-ldst.inc.c"
+
/* We're expecting to use a 20-bit signed offset on the tlb memory ops.
Using the offset of the second entry in the last tlb table ensures
that we can index all of the elements of the first entry. */