Message ID | 17ee34d97af4bebc87facf8576cee519ca26bf12.1720799487.git.oleksii.kurochko@gmail.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | RISCV basic exception handling implementation | expand |
On 12.07.2024 18:18, Oleksii Kurochko wrote: > Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com> > Acked-by: Alistair Francis <alistair.francis@wdc.com> As to the once again empty description and as to earlier comments of mine: > --- a/xen/arch/riscv/setup.c > +++ b/xen/arch/riscv/setup.c > @@ -19,6 +19,22 @@ void arch_get_xen_caps(xen_capabilities_info_t *info) > unsigned char __initdata cpu0_boot_stack[STACK_SIZE] > __aligned(STACK_SIZE); > > +#ifdef CONFIG_SELF_TESTS > +static void test_run_in_exception(const struct cpu_user_regs *regs) > +{ > + printk("If you see this message, "); > + printk("run_in_exception_handler is most likely working\n"); > +} > + > +static void test_macros_from_bug_h(void) > +{ > + run_in_exception_handler(test_run_in_exception); > + WARN(); > + printk("If you see this message, "); > + printk("WARN is most likely working\n"); > +} > +#endif > + > void __init noreturn start_xen(unsigned long bootcpu_id, > paddr_t dtb_addr) > { > @@ -26,6 +42,10 @@ void __init noreturn start_xen(unsigned long bootcpu_id, > > trap_init(); > > +#ifdef CONFIG_SELF_TESTS > + test_macros_from_bug_h(); > +#endif > + > printk("All set up\n"); > > for ( ;; ) While for the moment having this may be okay, I'd like the commit itself to clarify what the future plans here are. The latest once Xen comes up properly on RISC-V, this is likely going to get in the way because of the noise it causes in the log. Jan
diff --git a/xen/arch/riscv/setup.c b/xen/arch/riscv/setup.c index a6a29a1508..4defad68f4 100644 --- a/xen/arch/riscv/setup.c +++ b/xen/arch/riscv/setup.c @@ -19,6 +19,22 @@ void arch_get_xen_caps(xen_capabilities_info_t *info) unsigned char __initdata cpu0_boot_stack[STACK_SIZE] __aligned(STACK_SIZE); +#ifdef CONFIG_SELF_TESTS +static void test_run_in_exception(const struct cpu_user_regs *regs) +{ + printk("If you see this message, "); + printk("run_in_exception_handler is most likely working\n"); +} + +static void test_macros_from_bug_h(void) +{ + run_in_exception_handler(test_run_in_exception); + WARN(); + printk("If you see this message, "); + printk("WARN is most likely working\n"); +} +#endif + void __init noreturn start_xen(unsigned long bootcpu_id, paddr_t dtb_addr) { @@ -26,6 +42,10 @@ void __init noreturn start_xen(unsigned long bootcpu_id, trap_init(); +#ifdef CONFIG_SELF_TESTS + test_macros_from_bug_h(); +#endif + printk("All set up\n"); for ( ;; )