mirror of
https://github.com/izzy2lost/xemu.git
synced 2026-07-06 00:20:22 -07:00
target/mips: Fix MIPS16e translation
Fix a wrong conversion to gen_op_addr_addi(). The framesize should be
added like it was done before.
This bug broke booting OpenWrt MIPS32 BE malta Linux system images
generated by OpenWrt.
Cc: qemu-stable@nongnu.org
Fixes: d0b24b7f50 ("target/mips: Use gen_op_addr_addi() when possible")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20250412194003.181411-1-hauke@hauke-m.de>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
This commit is contained in:
committed by
Philippe Mathieu-Daudé
parent
6fa103069d
commit
d4a785ba30
@@ -306,7 +306,7 @@ static void gen_mips16_restore(DisasContext *ctx,
|
||||
int astatic;
|
||||
TCGv t0 = tcg_temp_new();
|
||||
|
||||
gen_op_addr_addi(ctx, t0, cpu_gpr[29], -framesize);
|
||||
gen_op_addr_addi(ctx, t0, cpu_gpr[29], framesize);
|
||||
|
||||
if (do_ra) {
|
||||
decr_and_load(ctx, 31, t0);
|
||||
@@ -386,7 +386,7 @@ static void gen_mips16_restore(DisasContext *ctx,
|
||||
}
|
||||
}
|
||||
|
||||
gen_op_addr_addi(ctx, cpu_gpr[29], cpu_gpr[29], -framesize);
|
||||
gen_op_addr_addi(ctx, cpu_gpr[29], cpu_gpr[29], framesize);
|
||||
}
|
||||
|
||||
#if defined(TARGET_MIPS64)
|
||||
|
||||
Reference in New Issue
Block a user