aboutsummaryrefslogtreecommitdiff
path: root/sys/mips/include/vmparam.h
diff options
context:
space:
mode:
authorJayachandran C. <jchandra@FreeBSD.org>2010-07-29 20:02:56 +0000
committerJayachandran C. <jchandra@FreeBSD.org>2010-07-29 20:02:56 +0000
commitfbbf115e35891ac40d26c3851583a86f4fe45f08 (patch)
tree404b0dc2b2b8aa0ab8adefcaec40bf1b5083ab05 /sys/mips/include/vmparam.h
parenta9ec9e9b03bf6cb0dccfaaedf01d7f38d3fcf1f7 (diff)
downloadsrc-fbbf115e35891ac40d26c3851583a86f4fe45f08.tar.gz
src-fbbf115e35891ac40d26c3851583a86f4fe45f08.zip
Prepare for 3 level page tables for MIPS.
- Move page table second level shift and mask to param.h - rename SEGOFSET to SEGMASK - fix values for 64 bit maximum kernel and user addresses.
Notes
Notes: svn path=/head/; revision=210627
Diffstat (limited to 'sys/mips/include/vmparam.h')
-rw-r--r--sys/mips/include/vmparam.h27
1 files changed, 10 insertions, 17 deletions
diff --git a/sys/mips/include/vmparam.h b/sys/mips/include/vmparam.h
index 385d30928274..8928aef2ec30 100644
--- a/sys/mips/include/vmparam.h
+++ b/sys/mips/include/vmparam.h
@@ -51,12 +51,6 @@
* is the top (end) of the user stack.
*/
#define USRTEXT (1*PAGE_SIZE)
-/*
- * USRSTACK needs to start a little below 0x8000000 because the R8000
- * and some QED CPUs perform some virtual address checks before the
- * offset is calculated.
- */
-#define USRSTACK 0x7ffff000 /* Start of user stack */
/*
* Virtual memory related constants, all in bytes
@@ -103,20 +97,23 @@
#define VM_MAX_MMAP_ADDR VM_MAXUSER_ADDRESS
#if defined(__mips_n64)
-#define VM_MAXUSER_ADDRESS (VM_MINUSER_ADDRESS + (NPDEPG * NPTEPG * PAGE_SIZE))
+#define VM_MAXUSER_ADDRESS (VM_MINUSER_ADDRESS + (NPDEPG * NBSEG))
#define VM_MIN_KERNEL_ADDRESS ((vm_offset_t)0xc000000000000000)
-#define VM_MAX_KERNEL_ADDRESS (VM_MIN_KERNEL_ADDRESS + (NPDEPG * NPTEPG * PAGE_SIZE))
+#define VM_MAX_KERNEL_ADDRESS (VM_MIN_KERNEL_ADDRESS + (NPDEPG * NBSEG))
#else
#define VM_MAXUSER_ADDRESS ((vm_offset_t)0x80000000)
#define VM_MIN_KERNEL_ADDRESS ((vm_offset_t)0xC0000000)
#define VM_MAX_KERNEL_ADDRESS ((vm_offset_t)0xFFFFC000)
#endif
-#if 0
-#define KERNBASE (VM_MIN_KERNEL_ADDRESS)
-#else
-#define KERNBASE ((vm_offset_t)(intptr_t)(int32_t)0x80000000)
-#endif
+#define KERNBASE ((vm_offset_t)(intptr_t)(int32_t)0x80000000)
+/*
+ * USRSTACK needs to start a little below 0x8000000 because the R8000
+ * and some QED CPUs perform some virtual address checks before the
+ * offset is calculated.
+ */
+#define USRSTACK (VM_MAXUSER_ADDRESS - PAGE_SIZE)
+
/*
* Only one memory domain.
*/
@@ -205,8 +202,4 @@
*/
#define VM_NFREEORDER 9
-#define SEGSHIFT 22 /* LOG2(NBSEG) */
-#define NBSEG (1 << SEGSHIFT) /* bytes/segment */
-#define SEGOFSET (NBSEG-1) /* byte offset into segment */
-
#endif /* !_MACHINE_VMPARAM_H_ */