From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ian Campbell Subject: Re: [PATCH 2/4] EFI/early: add /mapbs to map EfiBootServices{Code, Data} Date: Thu, 11 Jun 2015 10:48:57 +0100 Message-ID: <1434016137.30003.142.camel@citrix.com> References: <55770B190200007800082A2C@mail.emea.novell.com> <55770BDF0200007800082A43@mail.emea.novell.com> <1433926580.30003.4.camel@citrix.com> <55781C570200007800082F01@mail.emea.novell.com> <1433928364.30003.21.camel@citrix.com> <557821850200007800082F1F@mail.emea.novell.com> <557948250200007800083589@mail.emea.novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1Z2z6c-0007OJ-Dx for xen-devel@lists.xenproject.org; Thu, 11 Jun 2015 09:49:02 +0000 In-Reply-To: <557948250200007800083589@mail.emea.novell.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: Jan Beulich Cc: Roy Franz , xen-devel List-Id: xen-devel@lists.xenproject.org On Thu, 2015-06-11 at 07:34 +0100, Jan Beulich wrote: > >>> On 10.06.15 at 19:22, wrote: > > On Wed, Jun 10, 2015 at 2:37 AM, Jan Beulich wrote: > >>>>> On 10.06.15 at 11:26, wrote: > >>> On Wed, 2015-06-10 at 10:15 +0100, Jan Beulich wrote: > >>>> >>> On 10.06.15 at 10:56, wrote: > >>>> > On Tue, 2015-06-09 at 14:53 +0100, Jan Beulich wrote: > >>>> >> From: Konrad Rzeszutek Wilk > >>>> >> > >>>> >> To help on certain platforms to run. > >>>> >> > >>>> >> Signed-off-by: Konrad Rzeszutek Wilk > >>>> >> Signed-off-by: Jan Beulich > >>>> > > >>>> > To be effective (or at least consistent) on ARM, would we also want to > >>>> > change its efi_process_memory_map_bootinfo: > >>>> > if ( desc_ptr->Type == EfiConventionalMemory > >>>> > || desc_ptr->Type == EfiBootServicesCode > >>>> > || desc_ptr->Type == EfiBootServicesData ) > >>>> > to include a check on map_bs? > >>>> > >>>> I'm not convinced, but I also don't know the history of why boot > >>>> services areas are being included here in the first place - Roy? > >>>> I.e. if the checks weren't there already, I'd agree that an addition > >>>> similar to the other ones would be needed here, but with the x86 > >>>> side getting relaxed I don't see why you would want to tighten the > >>>> ARM side at the same time. > > > > The boot services code/data is "memory available for general use", just > > like EfiConventionalMemory after ExitBootServices() is called. Since the > > memory > > map being created here is going to be used after ExitBootServices() is > > called, > > I think this matches the UEFI specification. This matches x86 behavior > > before > > the patch (modulo some address range checks used to set cfg.addr.) > > Ouch - looks like I read this the wrong way round, and Ian was right > in wanting a map_bs check added here: I should have the courage of my convictions! > EFI/ARM: don't treat EfiBootServices{Code,Data} as normal RAM under /mapbs > > Signed-off-by: Jan Beulich Acked-by: Ian Campbell > > --- a/xen/arch/arm/efi/efi-boot.h > +++ b/xen/arch/arm/efi/efi-boot.h > @@ -131,9 +131,10 @@ static EFI_STATUS __init efi_process_mem > > for ( Index = 0; Index < (mmap_size / desc_size); Index++ ) > { > - if ( desc_ptr->Type == EfiConventionalMemory > - || desc_ptr->Type == EfiBootServicesCode > - || desc_ptr->Type == EfiBootServicesData ) > + if ( desc_ptr->Type == EfiConventionalMemory || > + (!map_bs && > + (desc_ptr->Type == EfiBootServicesCode || > + desc_ptr->Type == EfiBootServicesData)) ) > { > if ( i >= NR_MEM_BANKS ) > { > > Jan >