mirror of
https://github.com/xemu-project/xemu.git
synced 2025-01-19 10:24:37 +00:00
target/nios2: Enable unaligned traps for system mode
Unaligned traps are optional, but required with an mmu. Turn them on always, because the fallback behaviour undefined. Enable alignment checks in the config file. Unwind the guest pc properly from do_unaligned_access. Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20220421151735.31996-48-richard.henderson@linaro.org>
This commit is contained in:
parent
d2293ebb04
commit
0706ac0f86
@ -1 +1,2 @@
|
||||
TARGET_ARCH=nios2
|
||||
TARGET_ALIGNED_ONLY=y
|
||||
|
@ -241,8 +241,8 @@ void nios2_cpu_do_unaligned_access(CPUState *cs, vaddr addr,
|
||||
CPUNios2State *env = &cpu->env;
|
||||
|
||||
env->ctrl[CR_BADADDR] = addr;
|
||||
env->ctrl[CR_EXCEPTION] = FIELD_DP32(0, CR_EXCEPTION, CAUSE, EXCP_UNALIGN);
|
||||
helper_raise_exception(env, EXCP_UNALIGN);
|
||||
cs->exception_index = EXCP_UNALIGN;
|
||||
cpu_loop_exit_restore(cs, retaddr);
|
||||
}
|
||||
|
||||
bool nios2_cpu_tlb_fill(CPUState *cs, vaddr address, int size,
|
||||
|
Loading…
x
Reference in New Issue
Block a user