aboutsummaryrefslogtreecommitdiff
path: root/sys/i386/include/vmparam.h
diff options
context:
space:
mode:
Diffstat (limited to 'sys/i386/include/vmparam.h')
-rw-r--r--sys/i386/include/vmparam.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/sys/i386/include/vmparam.h b/sys/i386/include/vmparam.h
index 3d34419b9844..f114232e90bb 100644
--- a/sys/i386/include/vmparam.h
+++ b/sys/i386/include/vmparam.h
@@ -145,8 +145,12 @@
* Kernel physical load address.
*/
#ifndef KERNLOAD
+#if defined(XEN) && !defined(XEN_PRIVILEGED_GUEST)
+#define KERNLOAD 0
+#else
#define KERNLOAD (1 << PDRSHIFT)
#endif
+#endif /* !defined(KERNLOAD) */
/*
* Virtual addresses of things. Derived from the page directory and
@@ -155,7 +159,12 @@
* messy at times, but hey, we'll do anything to save a page :-)
*/
+#ifdef XEN
+#define VM_MAX_KERNEL_ADDRESS HYPERVISOR_VIRT_START
+#else
#define VM_MAX_KERNEL_ADDRESS VADDR(KPTDI+NKPDE-1, NPTEPG-1)
+#endif
+
#define VM_MIN_KERNEL_ADDRESS VADDR(PTDPTDI, PTDPTDI)
#define KERNBASE VADDR(KPTDI, 0)