summaryrefslogtreecommitdiffstats
path: root/sys/amd64/include/vmparam.h
diff options
context:
space:
mode:
authorphk <phk@FreeBSD.org>1996-04-30 12:02:12 +0000
committerphk <phk@FreeBSD.org>1996-04-30 12:02:12 +0000
commit9502945d5babe42ab98a0a861784f84c983635f2 (patch)
tree5285e538e31862d70153bd471ed6fb9542241c9c /sys/amd64/include/vmparam.h
parentf7fbc2347dcece19b9a6f3c63246ad184e82a821 (diff)
downloadFreeBSD-src-9502945d5babe42ab98a0a861784f84c983635f2.zip
FreeBSD-src-9502945d5babe42ab98a0a861784f84c983635f2.tar.gz
pte.h: Add the VADDR(pdi,pti) macro to construct virtual address from
page dir+table index. pmap.h: remove NUPDE, it was wrong and not used. Sanitize KSTKPTEOFF. vmparam.h: Calculate virtual addr from PDI+PTI from pmap.h rather than using magic math. Remove UPDT, not used.
Diffstat (limited to 'sys/amd64/include/vmparam.h')
-rw-r--r--sys/amd64/include/vmparam.h35
1 files changed, 21 insertions, 14 deletions
diff --git a/sys/amd64/include/vmparam.h b/sys/amd64/include/vmparam.h
index 942f742..7212da9 100644
--- a/sys/amd64/include/vmparam.h
+++ b/sys/amd64/include/vmparam.h
@@ -36,7 +36,7 @@
* SUCH DAMAGE.
*
* from: @(#)vmparam.h 5.9 (Berkeley) 5/12/91
- * $Id: vmparam.h,v 1.18 1995/05/25 07:41:28 davidg Exp $
+ * $Id: vmparam.h,v 1.19 1996/03/12 15:37:58 davidg Exp $
*/
@@ -87,24 +87,31 @@
*/
#define MAXSLP 20
+
/*
- * Mach derived constants
+ * Virtual addresses of things. Derived from the page directory and
+ * page table indexes from pmap.h for precision.
+ * Because of the page that is both a PD and PT, it looks a little
+ * messy at times, but hey, we'll do anything to save a page :-)
*/
-/* user/kernel map constants */
-#define KERNBASE ((0x400-1-NKPDE)*(NBPG*NPTEPG))
+#define VM_MAX_KERNEL_ADDRESS VADDR(KPTDI+NKPDE, 0)
+#define VM_MIN_KERNEL_ADDRESS VADDR(PTDPTDI, PTDPTDI)
+
+#define KERNBASE VADDR(KPTDI, 0)
+
+#define KPT_MAX_ADDRESS VADDR(PTDPTDI, APTDPTDI)
+#define KPT_MIN_ADDRESS VADDR(PTDPTDI, KPTDI)
+
+#define UPT_MAX_ADDRESS VADDR(PTDPTDI, PTDPTDI)
+#define UPT_MIN_ADDRESS VADDR(PTDPTDI, 0)
+
+#define VM_MAXUSER_ADDRESS VADDR(KSTKPTDI, KSTKPTEOFF)
+
+#define USRSTACK VM_MAXUSER_ADDRESS
+#define VM_MAX_ADDRESS VADDR(PTDPTDI, PTDPTDI)
#define VM_MIN_ADDRESS ((vm_offset_t)0)
-#define VM_MAXUSER_ADDRESS ((vm_offset_t)KERNBASE - (NBPG*(NPTEPG+UPAGES)))
-#define USRSTACK VM_MAXUSER_ADDRESS
-#define UPT_MIN_ADDRESS ((vm_offset_t)KERNBASE - (NBPG*NPTEPG))
-#define UPT_MAX_ADDRESS ((vm_offset_t)KERNBASE - (NBPG*(NKPDE+2)))
-#define VM_MAX_ADDRESS UPT_MAX_ADDRESS
-#define VM_MIN_KERNEL_ADDRESS ((vm_offset_t)KERNBASE - (NBPG*(NKPDE+2)))
-#define UPDT VM_MIN_KERNEL_ADDRESS
-#define KPT_MIN_ADDRESS ((vm_offset_t)KERNBASE - NBPG*(NKPDE+1))
-#define KPT_MAX_ADDRESS ((vm_offset_t)KERNBASE - NBPG)
-#define VM_MAX_KERNEL_ADDRESS ((vm_offset_t)KERNBASE + NKPDE*NBPG*NPTEPG)
/* virtual sizes (bytes) for various kernel submaps */
#define VM_KMEM_SIZE (32 * 1024 * 1024)
OpenPOWER on IntegriCloud