summaryrefslogtreecommitdiffstats
path: root/sys/amd64/include/vmparam.h
diff options
context:
space:
mode:
authoralc <alc@FreeBSD.org>2008-07-08 22:59:17 +0000
committeralc <alc@FreeBSD.org>2008-07-08 22:59:17 +0000
commit12ebfa7cd90079ef782a97aec6c5abba52700845 (patch)
tree8cc32967fcd7e837ef624231eb9b31b48a9b8385 /sys/amd64/include/vmparam.h
parente29b848dd447e7c791c8ca334ba68cfba40dc1f1 (diff)
downloadFreeBSD-src-12ebfa7cd90079ef782a97aec6c5abba52700845.zip
FreeBSD-src-12ebfa7cd90079ef782a97aec6c5abba52700845.tar.gz
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().)
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 e45f436..38370de 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)
OpenPOWER on IntegriCloud