Use stack instead of temp_buf array in CPUState for TCG temps. Signed-off-by: Blue Swirl <blauwir...@gmail.com> --- tcg/s390/tcg-target.c | 7 ++++--- 1 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/tcg/s390/tcg-target.c b/tcg/s390/tcg-target.c index e112052..c063509 100644 --- a/tcg/s390/tcg-target.c +++ b/tcg/s390/tcg-target.c @@ -2291,8 +2291,6 @@ static void tcg_target_init(TCGContext *s) tcg_regset_set_reg(s->reserved_regs, TCG_REG_CALL_STACK); tcg_add_target_add_op_defs(s390_op_defs); - tcg_set_frame(s, TCG_AREG0, offsetof(CPUState, temp_buf), - CPU_TEMP_BUF_NLONGS * sizeof(long)); } static void tcg_target_qemu_prologue(TCGContext *s) @@ -2302,8 +2300,11 @@ static void tcg_target_qemu_prologue(TCGContext *s) TCG_REG_CALL_STACK, 48); /* aghi %r15,-160 (stack frame) */ - tcg_out_insn(s, RI, AGHI, TCG_REG_CALL_STACK, -160); + tcg_out_insn(s, RI, AGHI, TCG_REG_CALL_STACK, + -(160 + CPU_TEMP_BUF_NLONGS * sizeof(long))); + tcg_set_frame(s, TCG_REG_CALL_STACK, 160, + CPU_TEMP_BUF_NLONGS * sizeof(long)); if (GUEST_BASE >= 0x80000) { tcg_out_movi(s, TCG_TYPE_PTR, TCG_GUEST_BASE_REG, GUEST_BASE); tcg_regset_set_reg(s->reserved_regs, TCG_GUEST_BASE_REG); -- 1.6.2.4