summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--api/kernel/entry.h4
-rw-r--r--loader/loader_efi.c5
2 files changed, 4 insertions, 5 deletions
diff --git a/api/kernel/entry.h b/api/kernel/entry.h
index 791d8b6..7229954 100644
--- a/api/kernel/entry.h
+++ b/api/kernel/entry.h
@@ -1,3 +1,7 @@
#pragma once
+#define KERNEL_ENTRY_STACK_SIZE 0x8000
+#define KERNEL_ENTRY_STACK_HEAD 0xffffffffff000000
+#define KERNEL_ENTRY_STACK_BASE (KERNEL_ENTRY_STACK_HEAD - KERNEL_ENTRY_STACK_SIZE)
+
typedef void (*kernel_entry_func)(void *data);
diff --git a/loader/loader_efi.c b/loader/loader_efi.c
index aa9da1d..552dc06 100644
--- a/loader/loader_efi.c
+++ b/loader/loader_efi.c
@@ -213,17 +213,12 @@ static struct system_buffer get_system_buffer(UINTN size)
return buffer;
}
-#define KERNEL_ENTRY_STACK_SIZE 0x10000
-#define KERNEL_ENTRY_STACK_HEAD 0xffffffffffc00000
-#define KERNEL_ENTRY_STACK_BASE (KERNEL_ENTRY_STACK_HEAD - KERNEL_ENTRY_STACK_SIZE)
-
static void enter_kernel(struct system_image *kernel_image)
{
struct efi_boot_data data;
kernel_entry_func kernel_entry;
kernel_entry = (kernel_entry_func)(kernel_image->ehdr.e_entry);
-
struct system_buffer kernel_entry_stack =
get_system_buffer(KERNEL_ENTRY_STACK_SIZE);