aboutsummaryrefslogtreecommitdiff
path: root/arch/riscv/kernel
diff options
context:
space:
mode:
authorKimplul <kimi.h.kuparinen@gmail.com>2021-12-20 14:53:44 +0200
committerKimplul <kimi.h.kuparinen@gmail.com>2021-12-20 14:53:44 +0200
commit6f8e5772d17d277842be3f6162ddd665a17e5be9 (patch)
tree45f5a2b9df6b6c2f3c369cf5b7e5b46c9acbccdd /arch/riscv/kernel
parent6b2465318b2dc922de282deea96c1621f7f41039 (diff)
downloadkmi-6f8e5772d17d277842be3f6162ddd665a17e5be9.tar.gz
kmi-6f8e5772d17d277842be3f6162ddd665a17e5be9.zip
More sensible init
+ Who knew some reservations were a good thing? (at least relativelyy speaking)
Diffstat (limited to 'arch/riscv/kernel')
-rw-r--r--arch/riscv/kernel/main.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/arch/riscv/kernel/main.c b/arch/riscv/kernel/main.c
index 6c504f8..5576d68 100644
--- a/arch/riscv/kernel/main.c
+++ b/arch/riscv/kernel/main.c
@@ -54,7 +54,7 @@ static struct pm_layout_t get_memlayout(void *fdt)
/* -1 because base is a legitimate memory address */
pm_t top = (pm_t)fdt_load_int_ptr(ci.size_cells, mem_reg) + base - 1;
- return (struct pm_layout_t){base, top};
+ return (struct pm_layout_t){__va(base), __va(top)};
}
static pm_t get_kerneltop()
@@ -276,6 +276,8 @@ static void init_proc(void *fdt, struct vm_branch_t *b)
void __main main(void *fdt)
{
+ /* correct fdt pointer */
+ fdt = (void *)__va(fdt);
init_dbg(fdt);
dbg_fdt(fdt);