[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v1 09/14] xen/riscv: introduce do_unexpected_trap()
On Sat, Jan 21, 2023 at 1:00 AM Oleksii Kurochko <oleksii.kurochko@xxxxxxxxx> wrote: > > The patch introduces the function the purpose of which is to print > a cause of an exception and call "wfi" instruction. > > Signed-off-by: Oleksii Kurochko <oleksii.kurochko@xxxxxxxxx> > --- > xen/arch/riscv/traps.c | 14 +++++++++++++- > 1 file changed, 13 insertions(+), 1 deletion(-) > > diff --git a/xen/arch/riscv/traps.c b/xen/arch/riscv/traps.c > index dd64f053a5..fc25138a4b 100644 > --- a/xen/arch/riscv/traps.c > +++ b/xen/arch/riscv/traps.c > @@ -95,7 +95,19 @@ const char *decode_cause(unsigned long cause) > return decode_trap_cause(cause); > } > > -void __handle_exception(struct cpu_user_regs *cpu_regs) > +static void do_unexpected_trap(const struct cpu_user_regs *regs) > { > + unsigned long cause = csr_read(CSR_SCAUSE); > + > + early_printk("Unhandled exception: "); > + early_printk(decode_cause(cause)); > + early_printk("\n"); > + > + // kind of die... > wait_for_interrupt(); We could put this in a loop, to ensure we never progress Alistair > } > + > +void __handle_exception(struct cpu_user_regs *cpu_regs) > +{ > + do_unexpected_trap(cpu_regs); > +} > -- > 2.39.0 > >
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |