On 20.01.2023 15:59, Oleksii Kurochko wrote: > --- /dev/null > +++ b/xen/arch/riscv/entry.S > @@ -0,0 +1,97 @@ > +#include <asm/asm.h> > +#include <asm/processor.h> > +#include <asm/riscv_encoding.h> > +#include <asm/traps.h> > + > + .global handle_exception > + .align 4 > + > +handle_exception: > + > + /* Exceptions from xen */ > +save_to_stack: > + /* Save context to stack */ > + REG_S sp, (RISCV_CPU_USER_REGS_OFFSET(sp) - > RISCV_CPU_USER_REGS_SIZE) (sp) > + addi sp, sp, -RISCV_CPU_USER_REGS_SIZE > + REG_S t0, RISCV_CPU_USER_REGS_OFFSET(t0)(sp) > + j save_context > + > +save_context:
Just curious: Why not simply fall through here, i.e. why the J which really is a NOP in this case? Jan