From 2fe0860ba7e088b9f5da3889cad82f6e6cd84c1d Mon Sep 17 00:00:00 2001 From: Adrian-Ken Rueegsegger Date: Wed, 8 Jul 2015 00:42:08 +0200 Subject: [PATCH] hw_x86_64: Extend inital page tables up to 1 GiB To avoid future issues with regards to non-existent mappings in the initial pagetables, extend them to cover the memory range of 2 MiB up to 1 GiB. --- .../spec/x86_64/kernel/crt0_translation_table.s | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/repos/base-hw/src/core/spec/x86_64/kernel/crt0_translation_table.s b/repos/base-hw/src/core/spec/x86_64/kernel/crt0_translation_table.s index 10c0a179a..2cf503e77 100644 --- a/repos/base-hw/src/core/spec/x86_64/kernel/crt0_translation_table.s +++ b/repos/base-hw/src/core/spec/x86_64/kernel/crt0_translation_table.s @@ -17,7 +17,7 @@ .data /******************************************** - ** Identity mapping from 2MiB to 16MiB ** + ** Identity mapping from 2MiB to 1GiB ** ** plus mappings for LAPIC, I/O APIC MMIO ** ** Page 0 containing the Bios Data Area ** ** gets mapped to 2MB - 4K readonly. ** @@ -42,14 +42,11 @@ .p2align MIN_PAGE_SIZE_LOG2 _kernel_pd: .quad _kernel_pt_bda + 0xf - .quad 0x20018f - .quad 0x40018f - .quad 0x60018f - .quad 0x80018f - .quad 0xa0018f - .quad 0xc0018f - .quad 0xe0018f - .fill 504, 8, 0x0 + .set entry, 0x20018f + .rept 511 + .quad entry + .set entry, entry + 0x200000 + .endr .p2align MIN_PAGE_SIZE_LOG2 _kernel_pd_503: