aboutsummaryrefslogtreecommitdiff
path: root/sys/amd64/include/vmparam.h
diff options
context:
space:
mode:
authorAlan Cox <alc@FreeBSD.org>2008-07-08 22:59:17 +0000
committerAlan Cox <alc@FreeBSD.org>2008-07-08 22:59:17 +0000
commit8136b7265fc27a97f1ca56a099bffb14b6424e50 (patch)
tree8cc32967fcd7e837ef624231eb9b31b48a9b8385 /sys/amd64/include/vmparam.h
parent1566e059bf4ee608cb316c305400cb64333b004d (diff)
downloadsrc-8136b7265fc27a97f1ca56a099bffb14b6424e50.tar.gz
src-8136b7265fc27a97f1ca56a099bffb14b6424e50.zip
Eliminate pmap_growkernel()'s dependence on create_pagetables() preallocating
page directory pages from VM_MIN_KERNEL_ADDRESS through the end of the kernel's bss. Specifically, the dependence was in pmap_growkernel()'s one- time initialization of kernel_vm_end, not in its main body. (I could not, however, resist the urge to optimize the main body.) Reduce the number of preallocated page directory pages to just those needed to support NKPT page table pages. (In fact, this allows me to revert a couple of my earlier changes to create_pagetables().)
Notes
Notes: svn path=/head/; revision=180373
Diffstat (limited to 'sys/amd64/include/vmparam.h')
-rw-r--r--sys/amd64/include/vmparam.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/amd64/include/vmparam.h b/sys/amd64/include/vmparam.h
index e45f436b6ef0..38370de60c2c 100644
--- a/sys/amd64/include/vmparam.h
+++ b/sys/amd64/include/vmparam.h
@@ -163,12 +163,12 @@
*/
#define VM_MAX_KERNEL_ADDRESS KVADDR(KPML4I, NPDPEPG-1, NPDEPG-1, NPTEPG-1)
-#define VM_MIN_KERNEL_ADDRESS KVADDR(KPML4I, KPDPI, 0, 0)
+#define VM_MIN_KERNEL_ADDRESS KVADDR(KPML4I, NPDPEPG-7, 0, 0)
#define DMAP_MIN_ADDRESS KVADDR(DMPML4I, 0, 0, 0)
#define DMAP_MAX_ADDRESS KVADDR(DMPML4I+1, 0, 0, 0)
-#define KERNBASE MAX(0xffffffff80000000ul, VM_MIN_KERNEL_ADDRESS)
+#define KERNBASE KVADDR(KPML4I, KPDPI, 0, 0)
#define UPT_MAX_ADDRESS KVADDR(PML4PML4I, PML4PML4I, PML4PML4I, PML4PML4I)
#define UPT_MIN_ADDRESS KVADDR(PML4PML4I, 0, 0, 0)