summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/arch/alpha/pci/irongate_bus_mem.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/sys/arch/alpha/pci/irongate_bus_mem.c b/sys/arch/alpha/pci/irongate_bus_mem.c
index aaaab4410a9..ed4141f7694 100644
--- a/sys/arch/alpha/pci/irongate_bus_mem.c
+++ b/sys/arch/alpha/pci/irongate_bus_mem.c
@@ -80,13 +80,16 @@ irongate_bus_mem_init2(bus_space_tag_t t, void *v)
* allocate RAM out of the extent map.
*/
for (i = 0; i < mem_cluster_cnt; i++) {
+ u_quad_t size;
+
+ size = mem_clusters[i].size & ~PAGE_MASK;
+
error = extent_alloc_region(CHIP_MEM_EXTENT(v),
- mem_clusters[i].start, mem_clusters[i].size,
+ mem_clusters[i].start, size,
EX_NOWAIT | (CHIP_EX_MALLOC_SAFE(v) ? EX_MALLOCOK : 0));
if (error) {
- printf("WARNING: unable reserve RAM at 0x%lx - 0x%lx\n",
- mem_clusters[i].start,
- mem_clusters[i].start + (mem_clusters[i].size - 1));
+ printf("WARNING: unable to reserve RAM at 0x%lx - 0x%lx (%d)\n",
+ mem_clusters[i].start, size, error);
}
}
}