@@ -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 ( ;; )