From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julien Grall Subject: Re: [PATCH 3/6] xen: arm: map entire memory banks on arm64 Date: Wed, 23 Oct 2013 14:54:40 +0100 Message-ID: <5267D520.3060802@linaro.org> References: <1381416204.17758.36.camel@kazak.uk.xensource.com> <1381416225-31043-3-git-send-email-ian.campbell@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; Format="flowed" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1381416225-31043-3-git-send-email-ian.campbell@citrix.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: Ian Campbell , xen-devel@lists.xen.org Cc: tim@xen.org, Pranavkumar Sawargaonkar , Anup Patel , stefano.stabellini@eu.citrix.com List-Id: xen-devel@lists.xenproject.org On 10/10/2013 03:43 PM, Ian Campbell wrote: > 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 Acked-by: Julien Grall > --- > 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); > -- Julien Grall