target/hppa: Fix IOR and ISR on unaligned access trap
Put correct values (depending on CPU arch) into IOR and ISR on fault. Signed-off-by: Helge Deller <deller@gmx.de> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> (cherry picked from commit 910ada0225d17530188aa45afcb9412c17267f46) Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
This commit is contained in:
parent
4b3064ec90
commit
abf489be5a
@ -110,11 +110,7 @@ void hppa_cpu_do_unaligned_access(CPUState *cs, vaddr addr,
|
|||||||
CPUHPPAState *env = &cpu->env;
|
CPUHPPAState *env = &cpu->env;
|
||||||
|
|
||||||
cs->exception_index = EXCP_UNALIGN;
|
cs->exception_index = EXCP_UNALIGN;
|
||||||
if (env->psw & PSW_Q) {
|
hppa_set_ior_and_isr(env, addr, MMU_IDX_MMU_DISABLED(mmu_idx));
|
||||||
/* ??? Needs tweaking for hppa64. */
|
|
||||||
env->cr[CR_IOR] = addr;
|
|
||||||
env->cr[CR_ISR] = addr >> 32;
|
|
||||||
}
|
|
||||||
|
|
||||||
cpu_loop_exit_restore(cs, retaddr);
|
cpu_loop_exit_restore(cs, retaddr);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user