summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sys/ia64/ia64/machdep.c4
-rw-r--r--sys/ia64/include/vmparam.h28
2 files changed, 31 insertions, 1 deletions
diff --git a/sys/ia64/ia64/machdep.c b/sys/ia64/ia64/machdep.c
index 6b8ec5a..761d079 100644
--- a/sys/ia64/ia64/machdep.c
+++ b/sys/ia64/ia64/machdep.c
@@ -146,7 +146,9 @@ struct msgbuf *msgbufp=0;
long Maxmem = 0;
long realmem = 0;
-vm_offset_t phys_avail[100];
+#define PHYSMAP_SIZE (2 * VM_PHYSSEG_MAX)
+
+vm_paddr_t phys_avail[PHYSMAP_SIZE + 2];
/* must be 2 less so 0 0 can signal end of chunks */
#define PHYS_AVAIL_ARRAY_END ((sizeof(phys_avail) / sizeof(vm_offset_t)) - 2)
diff --git a/sys/ia64/include/vmparam.h b/sys/ia64/include/vmparam.h
index 55c9f4b..de047bf 100644
--- a/sys/ia64/include/vmparam.h
+++ b/sys/ia64/include/vmparam.h
@@ -116,6 +116,34 @@
#define VM_PHYSSEG_SPARSE
/*
+ * The number of PHYSSEG entries is equal to the number of phys_avail
+ * entries.
+ */
+#define VM_PHYSSEG_MAX 49
+
+/*
+ * Create two free page pools: VM_FREEPOOL_DEFAULT is the default pool
+ * from which physical pages are allocated and VM_FREEPOOL_DIRECT is
+ * the pool from which physical pages for small UMA objects are
+ * allocated.
+ */
+#define VM_NFREEPOOL 2
+#define VM_FREEPOOL_DEFAULT 0
+#define VM_FREEPOOL_DIRECT 1
+
+/*
+ * Create one free page list.
+ */
+#define VM_NFREELIST 1
+#define VM_FREELIST_DEFAULT 0
+
+/*
+ * An allocation size of 256MB is supported in order to optimize the
+ * use of the identity mappings in region 7 by UMA.
+ */
+#define VM_NFREEORDER 16
+
+/*
* Manipulating region bits of an address.
*/
#define IA64_RR_BASE(n) (((u_int64_t) (n)) << 61)
OpenPOWER on IntegriCloud