summaryrefslogtreecommitdiff
path: root/tcg/tci/tcg-target.h
diff options
context:
space:
mode:
authorRichard Henderson <rth@twiddle.net>2013-03-28 05:37:55 +0000
committerStefan Weil <sw@weilnetz.de>2013-04-11 19:58:21 +0200
commitee79c356ffe18eea90ea4bbde2057cebe6bb654f (patch)
treea7666d3485225c6a5bd9378b464bbf91fff2a983 /tcg/tci/tcg-target.h
parent4699ca6dbf335b0c38e291a530c6ad85e599253d (diff)
downloadqemu-ee79c356ffe18eea90ea4bbde2057cebe6bb654f.tar.gz
tci: Make tcg temporaries local to tcg_qemu_tb_exec
We're moving away from the temporaries stored in env. Make sure we can differentiate between temp stores and possibly bogus stores for extra call arguments. Move TCG_AREG0 and TCG_REG_CALL_STACK out of the way of the parameter passing registers. Signed-off-by: Richard Henderson <rth@twiddle.net> Signed-off by: Stefan Weil <sw@weilnetz.de>
Diffstat (limited to 'tcg/tci/tcg-target.h')
-rw-r--r--tcg/tci/tcg-target.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/tcg/tci/tcg-target.h b/tcg/tci/tcg-target.h
index 1f17576f54..0395bbb8e4 100644
--- a/tcg/tci/tcg-target.h
+++ b/tcg/tci/tcg-target.h
@@ -127,7 +127,6 @@ typedef enum {
TCG_REG_R5,
TCG_REG_R6,
TCG_REG_R7,
- TCG_AREG0 = TCG_REG_R7,
#if TCG_TARGET_NB_REGS >= 16
TCG_REG_R8,
TCG_REG_R9,
@@ -160,6 +159,13 @@ typedef enum {
TCG_CONST = UINT8_MAX
} TCGReg;
+#define TCG_AREG0 (TCG_TARGET_NB_REGS - 2)
+
+/* Used for function call generation. */
+#define TCG_REG_CALL_STACK (TCG_TARGET_NB_REGS - 1)
+#define TCG_TARGET_CALL_STACK_OFFSET 0
+#define TCG_TARGET_STACK_ALIGN 16
+
void tci_disas(uint8_t opc);
tcg_target_ulong tcg_qemu_tb_exec(CPUArchState *env, uint8_t *tb_ptr);