Signed-off-by: Oleksii Kurochko <oleksii.kuroc...@gmail.com> --- xen/arch/riscv/setup.c | 12 ++++++++++++ 1 file changed, 12 insertions(+)
diff --git a/xen/arch/riscv/setup.c b/xen/arch/riscv/setup.c index b3f8b10f71..154bf3a0bc 100644 --- a/xen/arch/riscv/setup.c +++ b/xen/arch/riscv/setup.c @@ -26,6 +26,18 @@ static void test_macros_from_bug_h(void) void __init noreturn start_xen(void) { + /* + * The following things are passed by bootloader: + * a0 -> hart_id + * a1 -> dtb_base + */ + register unsigned long hart_id asm("a0"); + register unsigned long dtb_base asm("a1"); + + asm volatile( "mv %0, a0" : "=r" (hart_id) ); + + asm volatile( "mv %0, a1" : "=r" (dtb_base) ); + early_printk("Hello from C env\n"); trap_init(); -- 2.39.0