aboutsummaryrefslogtreecommitdiff
path: root/sys/amd64/include/vmparam.h
diff options
context:
space:
mode:
authorPeter Wemm <peter@FreeBSD.org>2003-07-09 23:04:23 +0000
committerPeter Wemm <peter@FreeBSD.org>2003-07-09 23:04:23 +0000
commitbf8ca114e2ba26db9a83261173ba4c867e37806d (patch)
treee3205656711935b2bcc1da978133f4e7e78905b5 /sys/amd64/include/vmparam.h
parent6486c0993579d5e012387b051c9ca77401d132be (diff)
downloadsrc-bf8ca114e2ba26db9a83261173ba4c867e37806d.tar.gz
src-bf8ca114e2ba26db9a83261173ba4c867e37806d.zip
Fix the VADDR() macros to use either KVADDR() or UVADDR(), depending
on the implied sign extension. The single unified VADDR() macro was not able to avoid sign extending the VM_MAXUSER_ADDRESS/USRSTACK values. Be explicit about UVADDR() (positive address space) and KVADDR() (kernel negative address space) to make mistakes show up more spectacularly. Increase user VM space from 1/2TB (512GB) to 128TB.
Notes
Notes: svn path=/head/; revision=117370
Diffstat (limited to 'sys/amd64/include/vmparam.h')
-rw-r--r--sys/amd64/include/vmparam.h16
1 files changed, 8 insertions, 8 deletions
diff --git a/sys/amd64/include/vmparam.h b/sys/amd64/include/vmparam.h
index 6dc756017258..9336bab4d7cb 100644
--- a/sys/amd64/include/vmparam.h
+++ b/sys/amd64/include/vmparam.h
@@ -92,18 +92,18 @@
* messy at times, but hey, we'll do anything to save a page :-)
*/
-#define VM_MAX_KERNEL_ADDRESS VADDR(KPML4I, NPDPEPG-1, NKPDE-1, NPTEPG-1)
-#define VM_MIN_KERNEL_ADDRESS VADDR(KPML4I, KPDPI, 0, 0)
+#define VM_MAX_KERNEL_ADDRESS KVADDR(KPML4I, NPDPEPG-1, NKPDE-1, NPTEPG-1)
+#define VM_MIN_KERNEL_ADDRESS KVADDR(KPML4I, KPDPI, 0, 0)
-#define DMAP_MIN_ADDRESS VADDR(DMPML4I, 0, 0, 0)
-#define DMAP_MAX_ADDRESS VADDR(DMPML4I+1, 0, 0, 0)
+#define DMAP_MIN_ADDRESS KVADDR(DMPML4I, 0, 0, 0)
+#define DMAP_MAX_ADDRESS KVADDR(DMPML4I+1, 0, 0, 0)
-#define KERNBASE VADDR(KPML4I, KPDPI, 0, 0)
+#define KERNBASE KVADDR(KPML4I, KPDPI, 0, 0)
-#define UPT_MAX_ADDRESS VADDR(PML4PML4I, PML4PML4I, PML4PML4I, PML4PML4I)
-#define UPT_MIN_ADDRESS VADDR(PML4PML4I, 0, 0, 0)
+#define UPT_MAX_ADDRESS KVADDR(PML4PML4I, PML4PML4I, PML4PML4I, PML4PML4I)
+#define UPT_MIN_ADDRESS KVADDR(PML4PML4I, 0, 0, 0)
-#define VM_MAXUSER_ADDRESS VADDR(NUPML4E, 0, 0, 0)
+#define VM_MAXUSER_ADDRESS UVADDR(NUPML4E, 0, 0, 0)
#define USRSTACK VM_MAXUSER_ADDRESS