git: kernel - Expand the x86_64 KVA to 8G

看板DFBSD_commit作者時間16年前 (2010/02/07 02:32), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
commit 791c65511b52d3ae012467be078e0da2059c4e5b Author: Matthew Dillon <dillon@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
文章代碼(AID): #1BRRMe4G (DFBSD_commit)