Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Acked-by: Alistair Francis <alistair.francis@wdc.com>
---
xen/arch/riscv/setup.c | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/xen/arch/riscv/setup.c b/xen/arch/riscv/setup.c
index a6a29a1508..4f06203b46 100644
--- a/xen/arch/riscv/setup.c
+++ b/xen/arch/riscv/setup.c
@@ -19,6 +19,20 @@ void arch_get_xen_caps(xen_capabilities_info_t *info)
unsigned char __initdata cpu0_boot_stack[STACK_SIZE]
__aligned(STACK_SIZE);
+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");
+}
+
void __init noreturn start_xen(unsigned long bootcpu_id,
paddr_t dtb_addr)
{
@@ -26,6 +40,8 @@ void __init noreturn start_xen(unsigned long bootcpu_id,
trap_init();
+ test_macros_from_bug_h();
+
printk("All set up\n");
for ( ;; )
--
2.45.2
On 02.07.2024 13:23, Oleksii Kurochko wrote:
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> Acked-by: Alistair Francis <alistair.francis@wdc.com>
> ---
> xen/arch/riscv/setup.c | 16 ++++++++++++++++
> 1 file changed, 16 insertions(+)
>
> diff --git a/xen/arch/riscv/setup.c b/xen/arch/riscv/setup.c
> index a6a29a1508..4f06203b46 100644
> --- a/xen/arch/riscv/setup.c
> +++ b/xen/arch/riscv/setup.c
> @@ -19,6 +19,20 @@ void arch_get_xen_caps(xen_capabilities_info_t *info)
> unsigned char __initdata cpu0_boot_stack[STACK_SIZE]
> __aligned(STACK_SIZE);
>
> +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");
> +}
While for the moment this may be okay, in the longer run WARN() will cause
quite a bit of output that you don't want on every boot. The further plans
here will want mentioning in the description.
Additionally as part of re-basing I think you would have wanted to put this
under the (relatively new) SELF_TESTS Kconfig control.
Jan
> @@ -26,6 +40,8 @@ void __init noreturn start_xen(unsigned long bootcpu_id,
>
> trap_init();
>
> + test_macros_from_bug_h();
> +
> printk("All set up\n");
>
> for ( ;; )
On 10.07.2024 12:06, Jan Beulich wrote:
> On 02.07.2024 13:23, Oleksii Kurochko wrote:
>> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
>> Acked-by: Alistair Francis <alistair.francis@wdc.com>
>> ---
>> xen/arch/riscv/setup.c | 16 ++++++++++++++++
>> 1 file changed, 16 insertions(+)
>>
>> diff --git a/xen/arch/riscv/setup.c b/xen/arch/riscv/setup.c
>> index a6a29a1508..4f06203b46 100644
>> --- a/xen/arch/riscv/setup.c
>> +++ b/xen/arch/riscv/setup.c
>> @@ -19,6 +19,20 @@ void arch_get_xen_caps(xen_capabilities_info_t *info)
>> unsigned char __initdata cpu0_boot_stack[STACK_SIZE]
>> __aligned(STACK_SIZE);
>>
>> +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");
>> +}
>
> While for the moment this may be okay, in the longer run WARN() will cause
> quite a bit of output that you don't want on every boot. The further plans
> here will want mentioning in the description.
>
> Additionally as part of re-basing I think you would have wanted to put this
> under the (relatively new) SELF_TESTS Kconfig control.
Oh, and: Is it possible there's a word ("exception"?) missing from the title?
Jan
On Wed, 2024-07-10 at 12:07 +0200, Jan Beulich wrote:
> On 10.07.2024 12:06, Jan Beulich wrote:
> > On 02.07.2024 13:23, Oleksii Kurochko wrote:
> > > Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> > > Acked-by: Alistair Francis <alistair.francis@wdc.com>
> > > ---
> > > xen/arch/riscv/setup.c | 16 ++++++++++++++++
> > > 1 file changed, 16 insertions(+)
> > >
> > > diff --git a/xen/arch/riscv/setup.c b/xen/arch/riscv/setup.c
> > > index a6a29a1508..4f06203b46 100644
> > > --- a/xen/arch/riscv/setup.c
> > > +++ b/xen/arch/riscv/setup.c
> > > @@ -19,6 +19,20 @@ void arch_get_xen_caps(xen_capabilities_info_t
> > > *info)
> > > unsigned char __initdata cpu0_boot_stack[STACK_SIZE]
> > > __aligned(STACK_SIZE);
> > >
> > > +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");
> > > +}
> >
> > While for the moment this may be okay, in the longer run WARN()
> > will cause
> > quite a bit of output that you don't want on every boot. The
> > further plans
> > here will want mentioning in the description.
> >
> > Additionally as part of re-basing I think you would have wanted to
> > put this
> > under the (relatively new) SELF_TESTS Kconfig control.
I will consider SELF_TESTS Kconfig, there is not a lot of sense to
print that every boot.
>
> Oh, and: Is it possible there's a word ("exception"?) missing from
> the title?
Yes, I missed that. I will update the title to: " test basic exception
handling stuff ". Thanks.
~ Oleksii
© 2016 - 2026 Red Hat, Inc.