From ff44f5fa39bcd109fd814afb9a8700402b320376 Mon Sep 17 00:00:00 2001 From: Stefan Lankes Date: Sat, 27 May 2017 21:21:57 +0200 Subject: [PATCH] map kernel parameter into the virtual address space --- arch/x86/mm/page.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/arch/x86/mm/page.c b/arch/x86/mm/page.c index af4b7c791..6b6d7ce65 100644 --- a/arch/x86/mm/page.c +++ b/arch/x86/mm/page.c @@ -325,11 +325,11 @@ int page_init(void) LOG_INFO("Detect Go runtime! Consequently, HermitCore zeroed heap.\n"); } - if (mb_info && ((mb_info->cmdline & PAGE_MASK) != ((size_t) mb_info & PAGE_MASK))) { - LOG_INFO("Map multiboot cmdline 0x%x into the virtual address space\n", mb_info->cmdline); - // reserve 2 pages for long cmdline strings - page_map(((size_t) mb_info->cmdline) & PAGE_MASK, ((size_t) mb_info->cmdline) & PAGE_MASK, 2, PG_GLOBAL|PG_RW|PG_PRESENT); - } + // reserve 2 pages for long cmdline strings + if (mb_info && (((size_t)mb_info->cmdline & PAGE_MASK) != ((size_t) mb_info & PAGE_MASK))) + page_map(((size_t) mb_info->cmdline) & PAGE_MASK, ((size_t) mb_info->cmdline) & PAGE_MASK, 1, PG_GLOBAL|PG_RW|PG_PRESENT); + if (mb_info && ((((size_t)mb_info->cmdline + PAGE_SIZE) & PAGE_MASK) != ((size_t) mb_info & PAGE_MASK))) + page_map(((size_t) mb_info->cmdline + PAGE_SIZE) & PAGE_MASK, ((size_t) mb_info->cmdline + PAGE_SIZE) & PAGE_MASK, 1, PG_GLOBAL|PG_RW|PG_PRESENT); /* Replace default pagefault handler */ irq_uninstall_handler(14);