|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH] xen/riscv: read hart_id and dtb_base passed by bootloader
Signed-off-by: Oleksii Kurochko <oleksii.kurochko@xxxxxxxxx>
---
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
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |