From: Ian Campbell Date: Thu, 26 Sep 2013 11:35:34 +0000 (+0100) Subject: xen/arm: ensure the xenheap is 32MB aligned X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~6260 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=4cfdb1210ca4028303dd75b6d141685990096adc;p=xen.git xen/arm: ensure the xenheap is 32MB aligned My patch 08693f5948d8 "xen: arm: reduce the size of the xen heap to max 1/8 RAM size" unintentionally violated the constraint that the xenheap must be 32MB aligned, since we only explicitly align the end of the heap and xenheap_pages was not a multiple of 32 pages. Round xenheap pages up to a 32MB boundary. Signed-off-by: Ian Campbell Acked-by: Tim Deegan --- diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c index 1d0b5e902b..24bbc73921 100644 --- a/xen/arch/arm/setup.c +++ b/xen/arch/arm/setup.c @@ -324,7 +324,8 @@ static void __init setup_mm(unsigned long dtb_paddr, size_t dtb_size) * constraints. */ heap_pages = (ram_size >> PAGE_SHIFT); - xenheap_pages = max(heap_pages/8, 128UL<<(20-PAGE_SHIFT)); + xenheap_pages = (heap_pages/8 + 0x1fffUL) & ~0x1fffUL; + xenheap_pages = max(xenheap_pages, 128UL<<(20-PAGE_SHIFT)); do {