From 7f805fae1adeec32916a906a42a7a65ee1da6ca9 Mon Sep 17 00:00:00 2001 From: "Justin C. Miller" Date: Wed, 11 Apr 2018 10:14:13 -0700 Subject: [PATCH] Fix only allocating one page for log --- src/boot/loader.c | 2 +- src/boot/loader.h | 2 ++ src/boot/main.c | 2 ++ src/boot/memory.c | 2 -- 4 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/boot/loader.c b/src/boot/loader.c index 25402a8..c5b0886 100644 --- a/src/boot/loader.c +++ b/src/boot/loader.c @@ -144,7 +144,7 @@ loader_load_kernel( CHECK_EFI_STATUS_OR_RETURN(status, L"loader_alloc_pages: kernel data"); data->log = next; - data->log_length = KERNEL_LOG_PAGES; + data->log_length = KERNEL_LOG_PAGES * PAGE_SIZE; status = loader_alloc_pages( bootsvc, KERNEL_LOG_MEMTYPE, diff --git a/src/boot/loader.h b/src/boot/loader.h index 000ca4e..7fb0db3 100644 --- a/src/boot/loader.h +++ b/src/boot/loader.h @@ -2,6 +2,8 @@ #include #include +#define PAGE_SIZE 0x1000 + #ifndef KERNEL_PHYS_ADDRESS #define KERNEL_PHYS_ADDRESS 0x100000 #endif diff --git a/src/boot/main.c b/src/boot/main.c index 6d592a1..413ddf1 100644 --- a/src/boot/main.c +++ b/src/boot/main.c @@ -149,6 +149,8 @@ efi_main(EFI_HANDLE image_handle, EFI_SYSTEM_TABLE *system_table) status = memory_get_map(bootsvc, &map); CHECK_EFI_STATUS_OR_FAIL(status); + // bootsvc->Stall(5000000); + status = bootsvc->ExitBootServices(image_handle, map.key); CHECK_EFI_STATUS_OR_ASSERT(status, 0); diff --git a/src/boot/memory.c b/src/boot/memory.c index 4fd1863..11e62b7 100644 --- a/src/boot/memory.c +++ b/src/boot/memory.c @@ -8,8 +8,6 @@ #define INCREMENT_DESC(p, b) (EFI_MEMORY_DESCRIPTOR*)(((uint8_t*)(p))+(b)) -const size_t PAGE_SIZE = 4096; - const CHAR16 *memory_type_names[] = { L"EfiReservedMemoryType", L"EfiLoaderCode",