From 6f8e5772d17d277842be3f6162ddd665a17e5be9 Mon Sep 17 00:00:00 2001 From: Kimplul Date: Mon, 20 Dec 2021 14:53:44 +0200 Subject: More sensible init + Who knew some reservations were a good thing? (at least relativelyy speaking) --- common/initrd.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'common') diff --git a/common/initrd.c b/common/initrd.c index 6dd698d..61aaaff 100644 --- a/common/initrd.c +++ b/common/initrd.c @@ -1,4 +1,5 @@ #include +#include #include #include #include @@ -60,7 +61,8 @@ pm_t get_initrdtop(void *fdt) void *initrd_end_ptr = (void *)fdt_getprop(fdt, chosen_offset, "linux,initrd-end", NULL); - return (pm_t)fdt_load_int_ptr(ci.addr_cells, initrd_end_ptr); + /* fdt is only aware of physical memory pointers */ + return (pm_t)__va(fdt_load_int_ptr(ci.addr_cells, initrd_end_ptr)); } pm_t get_initrdbase(void *fdt) @@ -71,7 +73,7 @@ pm_t get_initrdbase(void *fdt) void *initrd_base_ptr = (void *)fdt_getprop(fdt, chosen_offset, "linux,initrd-start", NULL); - return (pm_t)fdt_load_int_ptr(ci.addr_cells, initrd_base_ptr); + return (pm_t)__va(fdt_load_int_ptr(ci.addr_cells, initrd_base_ptr)); } static char init_n[] = "init"; -- cgit v1.3