summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNeal H. Walfield <neal@gnu.org>2009-03-04 23:34:23 +0100
committerNeal H. Walfield <neal@gnu.org>2009-03-04 23:34:23 +0100
commit3a31ee11ba3ee140b6cc3444c5fd9b93ea5d614b (patch)
tree1686fe58253b5a8b301540b60f5552639f1ed19d
parent14657e92d47d6b68ff20f42dcee7d992dddde00a (diff)
Make sure the kernel is loaded above the first superpage.
-rw-r--r--viengoos/sysdeps/x86_64/kernel.lds10
1 files changed, 5 insertions, 5 deletions
diff --git a/viengoos/sysdeps/x86_64/kernel.lds b/viengoos/sysdeps/x86_64/kernel.lds
index 7451b04..809180f 100644
--- a/viengoos/sysdeps/x86_64/kernel.lds
+++ b/viengoos/sysdeps/x86_64/kernel.lds
@@ -20,15 +20,15 @@
OUTPUT_FORMAT("elf64-x86-64")
-/* The load address of the boot part of the kernel image. */
-boot_load_addr = 1M;
+/* The load address of the boot part of the kernel image. We map the
+kernel code using a superpage. As such, this should not cover the
+first superpage, which includes very low memory with non-default
+memory attributes, which interferes with tlb management. */
+boot_load_addr = 2M;
/* The alignment of the main part of the kernel image. */
kernel_align = 4M;
-/* The minimum stack size, we pick 2 KB. */
-min_stack_size = 2K;
-
/* The kernel is compiled with -mcmodel=kernel. This requires that
the kernel run in the negative 2 GB of the address space. */
base = 0xffffffff80000000;