summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2013-01-30 13:42:27 +0100
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2013-01-30 13:42:27 +0100
commit3f1e0cf0557f3148bdd97c4088093fd83e494af5 (patch)
tree133dd257db9e2a5c2370621739c0b529dab91244
parente07d6c4995c384be14130bf178989427a4291ded (diff)
Increase VM_MAX_KERNEL_ADDRESS for PVH case
* i386/i386/vm_param.h (VM_MAX_KERNEL_ADDRESS) [MACH_XEN && !MACH_PV_PAGETABLES]: Remove hypervisor area from VM_MAX_KERNEL_ADDRESS restriction.
-rw-r--r--i386/i386/vm_param.h15
1 files changed, 8 insertions, 7 deletions
diff --git a/i386/i386/vm_param.h b/i386/i386/vm_param.h
index df857f8..ff3116d 100644
--- a/i386/i386/vm_param.h
+++ b/i386/i386/vm_param.h
@@ -30,28 +30,29 @@
#endif
/* The kernel address space is usually 1GB, usually starting at virtual address 0. */
-#ifdef MACH_XEN
-#define VM_MIN_KERNEL_ADDRESS 0xC0000000UL
-#define INIT_VM_MIN_KERNEL_ADDRESS VM_MIN_KERNEL_ADDRESS
-#else /* MACH_XEN */
/* This can be changed freely to separate kernel addresses from user addresses
* for better trace support in kdb; the _START symbol has to be offset by the
* same amount. */
#define VM_MIN_KERNEL_ADDRESS 0xC0000000UL
+
+#ifdef MACH_XEN
+/* PV kernels can be loaded directly to the target virtual address */
+#define INIT_VM_MIN_KERNEL_ADDRESS VM_MIN_KERNEL_ADDRESS
+#else /* MACH_XEN */
/* This must remain 0 */
#define INIT_VM_MIN_KERNEL_ADDRESS 0x00000000UL
#endif /* MACH_XEN */
-#ifdef MACH_XEN
+#ifdef MACH_PV_PAGETABLES
#if PAE
#define HYP_VIRT_START HYPERVISOR_VIRT_START_PAE
#else /* PAE */
#define HYP_VIRT_START HYPERVISOR_VIRT_START_NONPAE
#endif /* PAE */
#define VM_MAX_KERNEL_ADDRESS (HYP_VIRT_START - LINEAR_MIN_KERNEL_ADDRESS + VM_MIN_KERNEL_ADDRESS)
-#else /* MACH_XEN */
+#else /* MACH_PV_PAGETABLES */
#define VM_MAX_KERNEL_ADDRESS (LINEAR_MAX_KERNEL_ADDRESS - LINEAR_MIN_KERNEL_ADDRESS + VM_MIN_KERNEL_ADDRESS)
-#endif /* MACH_XEN */
+#endif /* MACH_PV_PAGETABLES */
/* Reserve mapping room for kmem. */
#ifdef MACH_XEN