Hi Ard.

> -----Original Message-----
> From: edk2-devel <edk2-devel-boun...@lists.01.org> On Behalf Of Ard
> Biesheuvel
> Sent: 21 March 2018 18:27
> To: Girish Pathak <girish.pat...@arm.com>
> Cc: nd <n...@arm.com>; edk2-devel@lists.01.org; Leif Lindholm
> <leif.lindh...@linaro.org>; Stephanie Hughes-Fitt <Stephanie.Hughes-
> f...@arm.com>; Arvind Chauhan <arvind.chau...@arm.com>
> Subject: Re: [edk2] [PATCH edk2-platforms v3 12/17] ARM/VExpressPkg:
> Allocate framebuffer using EfiRuntimeServicesData
> 
> On 21 March 2018 at 19:07, Girish Pathak <girish.pat...@arm.com>
> wrote:
> >
> >
> >> -----Original Message-----
> >> From: Ard Biesheuvel [mailto:ard.biesheu...@linaro.org]
> >> Sent: 21 March 2018 03:38
> >> To: Girish Pathak <girish.pat...@arm.com>
> >> Cc: edk2-devel@lists.01.org; Leif Lindholm
> >> <leif.lindh...@linaro.org>; Matteo Carlini <matteo.carl...@arm.com>;
> >> Stephanie Hughes-Fitt <stephanie.hughes-f...@arm.com>; nd
> >> <n...@arm.com>; Arvind Chauhan <arvind.chau...@arm.com>; Daniil
> Egranov
> >> <daniil.egra...@arm.com>; Thomas Abraham
> <thomas.abra...@arm.com>
> >> Subject: Re: [PATCH edk2-platforms v3 12/17] ARM/VExpressPkg:
> >> Allocate framebuffer using EfiRuntimeServicesData
> >>
> >> On 21 March 2018 at 00:18, Girish Pathak <girish.pat...@arm.com>
> wrote:
> >> > As per the UEFI specification(2.7) section 12.9, the GOP
> >> > framebuffer memory can be accessed in the pre-boot and the post
> >> > boot phase (by OS) Therefore the memory type EfiBootServicesData is
> >> > incorrect for the framebuffer memory allocation. Change
> >> > EfiBootServicesData with EfiRuntimeServicesData flag so that
> >> > allocated memory can be access by the OS in the post boot phase.
> >> >
> >>
> >> EfiRuntimeServicesData is intended for allocations that the EFI
> >> runtime services need to access themselves at runtime, and will hence
> >> be virtually remapped by SetVirtualAddressMap().
> >>
> >> This does not apply to the framebuffer. Even if it may be used at OS
> >> runtime, the firmware itself will never access it, so
> >> EfiRuntimeServicesData is not appropriate
> >>
> >> Please use EfiReservedMemory instead.
> >
> > Specification (UEFI Spec 2_7_A Sept 6.pdf) describes
> > EfiReservedMemoryType as  Not usable before and after ExitBootServices,
> See Table 28 & 29 Hence EfiReservedMemoryType is not suitable in this
> case.  Agree?
> >
> 
> It is not usable as ordinary memory, given that you turn it into 'special'
> memory (with side effects) by turning it into a framebuffer.
> 
> So EfiReservedMemory is perfectly appropriate here.
[[Evan Lloyd]] First, I agree EfiReservedMemory is probably the sensible 
option.  The only alternative would be EfiMemoryMappedIO, and that, as you have 
pointed out in the past, introduces alignment requirements.  If you are happy 
to accept it, I'll ask Girish to go with that.  However, Girish has a point, if 
only that the UEFI spec need more clarity on this, especially as 
https://lists.01.org/pipermail/edk2-devel/2017-February/007494.html pretty much 
confirms it is the right way to go.  In particular, the bald statement 
"EfiReservedMemoryType    Not usable.", seems unfortunate.

Regards,
Evan

> _______________________________________________
> edk2-devel mailing list
> edk2-devel@lists.01.org
> https://lists.01.org/mailman/listinfo/edk2-devel
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to