summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2020-04-05 23:18:39 +0200
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2020-04-05 23:18:39 +0200
commit1e901a41a81bdbd00961959da1939dc6e42994aa (patch)
tree8c6f0c7b4f53f79b4bc82b3f8fdffaf5d05133fc
parentad71f1f742661863e0de59a94746f5d01e80b346 (diff)
xen: Fix vm_page layout for x86_64
* i386/i386/vm_param.h [MACH_XEN && __LP64__] (VM_PAGE_MAX_SEGS): Set to 4. (VM_PAGE_DMA32_LIMIT): Define. (VM_PAGE_DIRECTMAP_LIMIT): Set to 0x400000000000. (VM_PAGE_HIGHMEM_LIMIT): Set to 0x10000000000000.
-rw-r--r--i386/i386/vm_param.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/i386/i386/vm_param.h b/i386/i386/vm_param.h
index 1ca6b22c..edd9522c 100644
--- a/i386/i386/vm_param.h
+++ b/i386/i386/vm_param.h
@@ -122,11 +122,18 @@
#ifdef MACH_XEN
/* TODO Completely check Xen physical/virtual layout */
+#ifdef __LP64__
+#define VM_PAGE_MAX_SEGS 4
+#define VM_PAGE_DMA32_LIMIT DECL_CONST(0x100000000, UL)
+#define VM_PAGE_DIRECTMAP_LIMIT DECL_CONST(0x400000000000, UL)
+#define VM_PAGE_HIGHMEM_LIMIT DECL_CONST(0x10000000000000, ULL)
+#else
#define VM_PAGE_MAX_SEGS 3
#define VM_PAGE_DIRECTMAP_LIMIT (VM_MAX_KERNEL_ADDRESS \
- VM_MIN_KERNEL_ADDRESS \
- VM_KERNEL_MAP_SIZE)
#define VM_PAGE_HIGHMEM_LIMIT DECL_CONST(0x10000000000000, ULL)
+#endif
#else /* MACH_XEN */
#ifdef __LP64__
#define VM_PAGE_MAX_SEGS 4