mirror of
https://github.com/yuzu-emu/unicorn.git
synced 2025-01-09 23:35:29 +00:00
target/arm: Fix PC test for LDM (exception return)
Found by inspection: Rn is the base register against which the load began; I is the register within the mask being processed. The exception return should of course be processed from the loaded PC. Backports commit 9d090d17234058f55c3c439d285db78c94d7d4de from qemu
This commit is contained in:
parent
7a6f61057b
commit
fa70a2bc69
|
@ -10800,7 +10800,7 @@ static void disas_arm_insn(DisasContext *s, unsigned int insn)
|
||||||
} else if (i == rn) {
|
} else if (i == rn) {
|
||||||
loaded_var = tmp;
|
loaded_var = tmp;
|
||||||
loaded_base = 1;
|
loaded_base = 1;
|
||||||
} else if (rn == 15 && exc_return) {
|
} else if (i == 15 && exc_return) {
|
||||||
store_pc_exc_ret(s, tmp);
|
store_pc_exc_ret(s, tmp);
|
||||||
} else {
|
} else {
|
||||||
store_reg_from_load(s, i, tmp);
|
store_reg_from_load(s, i, tmp);
|
||||||
|
|
Loading…
Reference in a new issue