aboutsummaryrefslogtreecommitdiff
path: root/tcg/tcg.c
diff options
context:
space:
mode:
authorRichard Henderson <richard.henderson@linaro.org>2023-04-07 18:18:03 -0500
committerRichard Henderson <richard.henderson@linaro.org>2023-05-05 17:21:03 +0100
commit2528f771f8250b8414482c5b0a1c7a2f5577ff9e (patch)
tree9f31aced79196d654e8611de0ecb3fb1cd77de34 /tcg/tcg.c
parente2adae3f6f7ebffff1b2f7ddacb376361f46a969 (diff)
downloadqemu-2528f771f8250b8414482c5b0a1c7a2f5577ff9e.zip
qemu-2528f771f8250b8414482c5b0a1c7a2f5577ff9e.tar.gz
qemu-2528f771f8250b8414482c5b0a1c7a2f5577ff9e.tar.bz2
tcg: Move TCGLabelQemuLdst to tcg.c
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Diffstat (limited to 'tcg/tcg.c')
-rw-r--r--tcg/tcg.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/tcg/tcg.c b/tcg/tcg.c
index cfd3262..6f5daae 100644
--- a/tcg/tcg.c
+++ b/tcg/tcg.c
@@ -94,6 +94,19 @@ typedef struct QEMU_PACKED {
DebugFrameFDEHeader fde;
} DebugFrameHeader;
+typedef struct TCGLabelQemuLdst {
+ bool is_ld; /* qemu_ld: true, qemu_st: false */
+ MemOpIdx oi;
+ TCGType type; /* result type of a load */
+ TCGReg addrlo_reg; /* reg index for low word of guest virtual addr */
+ TCGReg addrhi_reg; /* reg index for high word of guest virtual addr */
+ TCGReg datalo_reg; /* reg index for low word to be loaded or stored */
+ TCGReg datahi_reg; /* reg index for high word to be loaded or stored */
+ const tcg_insn_unit *raddr; /* addr of the next IR of qemu_ld/st IR */
+ tcg_insn_unit *label_ptr[2]; /* label pointers to be updated */
+ QSIMPLEQ_ENTRY(TCGLabelQemuLdst) next;
+} TCGLabelQemuLdst;
+
static void tcg_register_jit_int(const void *buf, size_t size,
const void *debug_frame,
size_t debug_frame_size)