arm: really allocate boot frametable pages with 32M alignment
authorIan Campbell <ian.campbell@citrix.com>
Thu, 11 Oct 2012 14:56:59 +0000 (15:56 +0100)
committerIan Campbell <ian.campbell@citrix.com>
Thu, 11 Oct 2012 14:56:59 +0000 (15:56 +0100)
This argument to alloc_boot_pages is "pfn_align" and not an order.
We've been lucky until now that the area given to the boot allocator
happened to be properly aligned and this allocation was early enough
to benefit.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Tim Deegan <tim@xen.org>
Committed-by: Ian Campbell <ian.campbell@citrix.com>
xen/arch/arm/mm.c

index e0a8778e2a84725c11a2a175a1f5a781b5ef4ffb..f566d4c6101e48621c47d05d0d40662ade6b1392 100644 (file)
@@ -352,7 +352,7 @@ void __init setup_frametable_mappings(paddr_t ps, paddr_t pe)
 
     /* Round up to 32M boundary */
     frametable_size = (frametable_size + 0x1ffffff) & ~0x1ffffff;
-    base_mfn = alloc_boot_pages(frametable_size >> PAGE_SHIFT, 5);
+    base_mfn = alloc_boot_pages(frametable_size >> PAGE_SHIFT, 32<<(20-12));
     create_mappings(FRAMETABLE_VIRT_START, base_mfn, frametable_size >> PAGE_SHIFT);
 
     memset(&frame_table[0], 0, nr_pages * sizeof(struct page_info));