|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH v1 2/3] xen/riscv: setup initial pagetables
Calculate load and linker linker image addresses and
setup initial pagetables.
Signed-off-by: Oleksii Kurochko <oleksii.kurochko@xxxxxxxxx>
---
xen/arch/riscv/setup.c | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/xen/arch/riscv/setup.c b/xen/arch/riscv/setup.c
index b7cd438a1d..f69bc278bb 100644
--- a/xen/arch/riscv/setup.c
+++ b/xen/arch/riscv/setup.c
@@ -1,9 +1,11 @@
#include <xen/bug.h>
#include <xen/compile.h>
#include <xen/init.h>
+#include <xen/kernel.h>
#include <asm/csr.h>
#include <asm/early_printk.h>
+#include <asm/mm.h>
#include <asm/traps.h>
/* Xen stack for bringing up the first CPU. */
@@ -43,6 +45,11 @@ static void __init disable_fpu(void)
void __init noreturn start_xen(void)
{
+ unsigned long load_start = (unsigned long)start;
+ unsigned long load_end = load_start + (unsigned long)(_end - _start);
+ unsigned long linker_start = (unsigned long)_start;
+ unsigned long linker_end = (unsigned long)_end;
+
/*
* The following things are passed by bootloader:
* a0 -> hart_id
@@ -65,6 +72,10 @@ void __init noreturn start_xen(void)
test_macros_from_bug_h();
+ setup_initial_pagetables(load_start, load_end, linker_start, linker_end);
+
+ early_printk("MMU has been enabled\n");
+
for ( ;; )
asm volatile ("wfi");
--
2.39.0
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |