diff options
author | Luca Dariz <luca@orpolo.org> | 2023-02-12 18:28:18 +0100 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2023-02-12 19:20:31 +0100 |
commit | 6a46db9fe035c26ab549bc0b681469fc650141d6 (patch) | |
tree | 18168863abbfbb4e1850c995269a20b86e748d31 /x86_64 | |
parent | eef53f7a1309e52012babc62da81a2ac750a7e9f (diff) | |
download | gnumach-6a46db9fe035c26ab549bc0b681469fc650141d6.tar.gz gnumach-6a46db9fe035c26ab549bc0b681469fc650141d6.tar.bz2 gnumach-6a46db9fe035c26ab549bc0b681469fc650141d6.zip |
move kernel virtual address space to upper addresses
* i386/i386/vm_param.h: adjust constants to the new kernel map
- the boothdr.S code already sets up a temporary map to higher
addresses, so we can use INIT_VM_MIN_KERNEL_ADDRESS as in xen
- increase the kernel map size to accomodate for bigger structures
and more memory
- adjust kernel max address and directmap limit
* i386/i386at/biosmem.c: enable directmap check also on x86_64
* i386/include/mach/i386/vm_param.h: increase user virtual memory
limit as it's not conflicting with the kernel's anymore
* i386/intel/pmap.h: adjust lin2pdenum_cont() and INTEL_PTE_PFN to the
new kernel map
* x86_64/Makefrag.am: change KERNEL_MAP_BASE to be above 4G, and
according to mcmodel=kernel. This will allow to use the full memory
address space.
Message-Id: <20230212172818.1511405-10-luca@orpolo.org>
Diffstat (limited to 'x86_64')
-rw-r--r-- | x86_64/Makefrag.am | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/x86_64/Makefrag.am b/x86_64/Makefrag.am index 03b1eca7..d3735890 100644 --- a/x86_64/Makefrag.am +++ b/x86_64/Makefrag.am @@ -186,12 +186,12 @@ include_mach_x86_64_HEADERS = \ # if PLATFORM_at -# This should probably be 0xffffffff80000000 for mcmodel=kernel, but let's try -# to stay in the first 8G first, otherwise we have to fix the pmap module to -# actually use the l4 page level -#KERNEL_MAP_BASE=0x100000000 -# but for nor try with < 4G, otherwise we have linker errors -KERNEL_MAP_BASE=0x40000000 +# For now simply keep all the kernel virtual space in the last 2G. +# We could use a more elaborate schema if needed (e.g. reserving a +# larger area for directmap or the kernel heap)), I think only the +# test/bss/data sections need to be placed here kere because of +# -mcmodel=kernel +KERNEL_MAP_BASE=0xffffffff80000000 gnumach_LINKFLAGS += \ --defsym _START_MAP=$(_START_MAP) \ --defsym _START=$(_START_MAP) \ |