From 3f1e0cf0557f3148bdd97c4088093fd83e494af5 Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Wed, 30 Jan 2013 13:42:27 +0100 Subject: 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. --- i386/i386/vm_param.h | 15 ++++++++------- 1 file 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 -- cgit v1.2.3