summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2009-10-26 00:31:50 +0100
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2009-10-26 00:34:57 +0100
commit1f9a3b0584987f05b7e8560ff6ed59a3d78113e0 (patch)
treea3f4343d3f1fffd1e2e722335672b8a693758691
parent54efb9945a023fd164fadbf87eedb9cc8234f4cd (diff)
Make tuning VM_MAX_ADDRESS trivial
* i386/i386/vm_param.h (LINEAR_MIN_KERNEL_ADDRESS): Set to VM_MAX_ADDRESS instead of hardcoding to 0xc0000000. (VM_MAX_KERNEL_ADDRESS): Set to LINEAR_MAX_KERNEL_ADDRESS - LINEAR_MIN_KERNEL_ADDRESS instead of hardcoding to 0x40000000. * i386/include/mach/i386/vm_param.h: Document how it may be tuned.
-rw-r--r--i386/i386/vm_param.h4
-rw-r--r--i386/include/mach/i386/vm_param.h9
2 files changed, 9 insertions, 4 deletions
diff --git a/i386/i386/vm_param.h b/i386/i386/vm_param.h
index 96fc8bac..ba8e5846 100644
--- a/i386/i386/vm_param.h
+++ b/i386/i386/vm_param.h
@@ -28,12 +28,12 @@
/* The kernel address space is 1GB, starting at virtual address 0. */
#define VM_MIN_KERNEL_ADDRESS ((vm_offset_t) 0x00000000)
-#define VM_MAX_KERNEL_ADDRESS ((vm_offset_t) 0x40000000)
+#define VM_MAX_KERNEL_ADDRESS ((vm_offset_t) (LINEAR_MAX_KERNEL_ADDRESS - LINEAR_MIN_KERNEL_ADDRESS))
/* The kernel virtual address space is actually located
at high linear addresses.
This is the kernel address range in linear addresses. */
-#define LINEAR_MIN_KERNEL_ADDRESS ((vm_offset_t) 0xc0000000)
+#define LINEAR_MIN_KERNEL_ADDRESS ((vm_offset_t) VM_MAX_ADDRESS)
#define LINEAR_MAX_KERNEL_ADDRESS ((vm_offset_t) 0xffffffff)
#define KERNEL_STACK_SIZE (1*I386_PGBYTES)
diff --git a/i386/include/mach/i386/vm_param.h b/i386/include/mach/i386/vm_param.h
index a6b1efd5..e3cb2e47 100644
--- a/i386/include/mach/i386/vm_param.h
+++ b/i386/include/mach/i386/vm_param.h
@@ -66,8 +66,13 @@
#define i386_trunc_page(x) (((unsigned)(x)) & ~(I386_PGBYTES-1))
/* User address spaces are 3GB each,
- starting at virtual and linear address 0. */
+ starting at virtual and linear address 0.
+
+ VM_MAX_ADDRESS can be reduced to leave more space for the kernel, but must
+ not be increased to more than 3GB as glibc and hurd servers would not cope
+ with that.
+ */
#define VM_MIN_ADDRESS ((vm_offset_t) 0)
-#define VM_MAX_ADDRESS ((vm_offset_t) 0xc0000000)
+#define VM_MAX_ADDRESS ((vm_offset_t) 0x80000000)
#endif /* _MACH_I386_VM_PARAM_H_ */