@@ -1,6 +1,7 @@
#include <xen/compile.h>
#include <xen/init.h>
+#include <asm/bug.h>
#include <asm/csr.h>
#include <asm/early_printk.h>
#include <asm/traps.h>
@@ -15,12 +16,27 @@ static void setup_trap_handler(void)
csr_write(CSR_STVEC, addr);
}
+static void test_run_in_exception(struct cpu_user_regs *regs)
+{
+ early_printk("If you see this message, ");
+ early_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();
+ early_printk("If you see this message, ");
+ early_printk("WARN is most likely working\n");
+}
+
void __init noreturn start_xen(void)
{
early_printk("Hello from C env\n");
setup_trap_handler();
- early_printk("exception handler has been setup\n");
+
+ test_macros_from_bug_h();
for ( ;; )
asm volatile ("wfi");
Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com> --- xen/arch/riscv/setup.c | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-)