From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ian Campbell Subject: [PATCH 3/5] xen: arm: map entire memory banks on arm64 Date: Mon, 7 Oct 2013 12:38:14 +0100 Message-ID: <1381145896-25890-3-git-send-email-ian.campbell@citrix.com> References: <1381145870.21562.93.camel@kazak.uk.xensource.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1381145870.21562.93.camel@kazak.uk.xensource.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: xen-devel@lists.xen.org Cc: julien.grall@linaro.org, tim@xen.org, Ian Campbell , anup.patel@linaro.org, stefano.stabellini@eu.citrix.com List-Id: xen-devel@lists.xenproject.org Currently we only map regions which are not part of boot modules. However we subsequently free at least some of those modules to the heaps in discard_initial_modules and if we were unluckly with sizing/location we might end up adding unmapped pages to the heap. The heaps on 64-bit use 1GB mappings, so in practice this is probably pretty unlikely and I've not actually seen it. Signed-off-by: Ian Campbell --- xen/arch/arm/setup.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c index 49f344c..6300802 100644 --- a/xen/arch/arm/setup.c +++ b/xen/arch/arm/setup.c @@ -519,6 +519,8 @@ static void __init setup_mm(unsigned long dtb_paddr, size_t dtb_size) xenheap_pages += (bank_size >> PAGE_SHIFT); + setup_xenheap_mappings(bank_start>>PAGE_SHIFT, bank_size>>PAGE_SHIFT); + /* XXX we assume that the ram regions are ordered */ s = bank_start; while ( s < bank_end ) @@ -535,8 +537,6 @@ static void __init setup_mm(unsigned long dtb_paddr, size_t dtb_size) if ( e > bank_end ) e = bank_end; - setup_xenheap_mappings(s>>PAGE_SHIFT, (e-s)>>PAGE_SHIFT); - xenheap_mfn_end = e; dt_unreserved_regions(s, e, init_boot_pages, 0); -- 1.7.10.4