target/nios2: Handle EXCP_UNALIGN and EXCP_UNALIGND

While some of the plumbing for misaligned data is present, in the form
of nios2_cpu_do_unaligned_access, the hook will not be called because
TARGET_ALIGNED_ONLY is not set in configs/targets/nios2-softmmu.mak.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Message-Id: <20220421151735.31996-35-richard.henderson@linaro.org>
This commit is contained in:
Richard Henderson 2022-04-21 08:17:05 -07:00
parent 0e0824a1a9
commit af95a70a06

View File

@ -99,6 +99,12 @@ void nios2_cpu_do_interrupt(CPUState *cs)
case EXCP_ILLEGAL:
name = "ILLEGAL insn";
break;
case EXCP_UNALIGN:
name = "Misaligned (data)";
break;
case EXCP_UNALIGND:
name = "Misaligned (destination)";
break;
case EXCP_TRAP:
name = "TRAP insn";
break;
@ -147,6 +153,8 @@ void nios2_cpu_do_interrupt(CPUState *cs)
case EXCP_SUPERD:
case EXCP_ILLEGAL:
case EXCP_TRAP:
case EXCP_UNALIGN:
case EXCP_UNALIGND:
do_exception(cpu, cpu->exception_addr, false);
break;