mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-04 08:13:54 -06: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:
parent
6fa103069d
commit
d4a785ba30
1 changed files with 2 additions and 2 deletions
|
@ -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)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue