Hi Philippe, On Sun, May 16, 2021 at 10:05 PM Philippe Mathieu-Daudé <phili...@mathieu-daude.net> wrote: > > Hi Max, > > On Mon, Jan 14, 2019 at 8:52 AM Max Filippov <jcmvb...@gmail.com> wrote: > > > > Move remaining non-HELPER functions from op_helper.c to helper.c. > > No functional changes. > > > > Signed-off-by: Max Filippov <jcmvb...@gmail.com> > > --- > > target/xtensa/helper.c | 61 > > ++++++++++++++++++++++++++++++++++++++++++++--- > > target/xtensa/op_helper.c | 56 ------------------------------------------- > > 2 files changed, 58 insertions(+), 59 deletions(-) > > > +void xtensa_cpu_do_unaligned_access(CPUState *cs, > > + vaddr addr, MMUAccessType access_type, > > + int mmu_idx, uintptr_t retaddr) > > +{ > > + XtensaCPU *cpu = XTENSA_CPU(cs); > > + CPUXtensaState *env = &cpu->env; > > + > > + if (xtensa_option_enabled(env->config, > > XTENSA_OPTION_UNALIGNED_EXCEPTION) && > > + !xtensa_option_enabled(env->config, XTENSA_OPTION_HW_ALIGNMENT)) { > > I know this is a simple code movement, but I wonder, what should > happen when there is > an unaligned fault and the options are disabled? Is this an impossible > case (unreachable)?
It should be unreachable when XTENSA_OPTION_UNALIGNED_EXCEPTION is disabled. In that case the translation code generates access on aligned addresses according to the xtensa ISA, see the function gen_load_store_alignment in target/xtensa/translate.c -- Thanks. -- Max