git: kernel - Expand the x86_64 KVA to 8G
Matthew Dillon
dillon at crater.dragonflybsd.org
Sat Feb 6 10:13:45 PST 2010
commit 791c65511b52d3ae012467be078e0da2059c4e5b
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Sat Feb 6 09:43:06 2010 -0800
kernel - Expand the x86_64 KVA to 8G
* Our kmem_init() was mapping out the ~6G of KVA below KERNBASE. KERNBASE
is at the -2G mark and unlike i386 it does not mark the beginning of KVA.
Add two more globals, virtual2_start and virtual2_end, adn adjust
kmem_init() to use that space. This fixes kernel_map exhaustion issues
on x86_64. Before the change only ~600M of KVA was available after a
fresh boot.
* Populate the PDPs around both KERNBASE and at virtual2_start for
bootstrapping purposes.
* Adjust kernel_vm_end to start iteration for growkernel purposes at
VM_MIN_KERNEL_ADDRESS and no longer use it to figure out the end
of KVM for the minidump.
In addition, adjust minidump to dump the entire kernel virtual
address space.
* Remove numerous extranious variables.
* Fix a bug in vm_map_insert() where vm_map->first_free was being
incorrect set when the map does not begin with reserved space.
Summary of changes:
sys/platform/pc32/i386/pmap.c | 2 +
sys/platform/pc64/include/pmap.h | 8 ++-
sys/platform/pc64/include/vmparam.h | 13 ++---
sys/platform/pc64/x86_64/machdep.c | 1 -
sys/platform/pc64/x86_64/minidump_machdep.c | 15 ++++--
sys/platform/pc64/x86_64/mp_machdep.c | 3 -
sys/platform/pc64/x86_64/pmap.c | 73 ++++++++++++++++++++-------
sys/platform/vkernel/platform/init.c | 2 +
sys/vm/pmap.h | 2 +
sys/vm/vm_kern.c | 24 +++++++--
sys/vm/vm_map.c | 6 ++-
11 files changed, 105 insertions(+), 44 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/791c65511b52d3ae012467be078e0da2059c4e5b
--
DragonFly BSD source repository
More information about the Commits
mailing list