public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: Ard Biesheuvel <ard.biesheuvel@linaro.org>
To: Evan Lloyd <Evan.Lloyd@arm.com>
Cc: Girish Pathak <Girish.Pathak@arm.com>, nd <nd@arm.com>,
	 "edk2-devel@lists.01.org" <edk2-devel@lists.01.org>,
	Leif Lindholm <leif.lindholm@linaro.org>,
	 Stephanie Hughes-Fitt <Stephanie.Hughes-Fitt@arm.com>,
	Arvind Chauhan <Arvind.Chauhan@arm.com>
Subject: Re: [PATCH edk2-platforms v3 12/17] ARM/VExpressPkg: Allocate framebuffer using EfiRuntimeServicesData
Date: Thu, 22 Mar 2018 17:38:38 +0000	[thread overview]
Message-ID: <CAKv+Gu8yjOOG_ShLCq5hwZZ8D1RE0j-Y6E4t3frzOxyxZN1ncA@mail.gmail.com> (raw)
In-Reply-To: <HE1PR0801MB177182A3215F57DE855378018BA90@HE1PR0801MB1771.eurprd08.prod.outlook.com>

On 22 March 2018 at 15:20, Evan Lloyd <Evan.Lloyd@arm.com> wrote:
> Hi Ard.
>
>> -----Original Message-----
>> From: edk2-devel <edk2-devel-bounces@lists.01.org> On Behalf Of Ard
>> Biesheuvel
>> Sent: 21 March 2018 18:27
>> To: Girish Pathak <Girish.Pathak@arm.com>
>> Cc: nd <nd@arm.com>; edk2-devel@lists.01.org; Leif Lindholm
>> <leif.lindholm@linaro.org>; Stephanie Hughes-Fitt <Stephanie.Hughes-
>> Fitt@arm.com>; Arvind Chauhan <Arvind.Chauhan@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.Pathak@arm.com>
>> wrote:
>> >
>> >
>> >> -----Original Message-----
>> >> From: Ard Biesheuvel [mailto:ard.biesheuvel@linaro.org]
>> >> Sent: 21 March 2018 03:38
>> >> To: Girish Pathak <Girish.Pathak@arm.com>
>> >> Cc: edk2-devel@lists.01.org; Leif Lindholm
>> >> <leif.lindholm@linaro.org>; Matteo Carlini <Matteo.Carlini@arm.com>;
>> >> Stephanie Hughes-Fitt <Stephanie.Hughes-Fitt@arm.com>; nd
>> >> <nd@arm.com>; Arvind Chauhan <Arvind.Chauhan@arm.com>; Daniil
>> Egranov
>> >> <Daniil.Egranov@arm.com>; Thomas Abraham
>> <thomas.abraham@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.pathak@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.

EfiReservedMemory is the only appropriate type to use here, and if the
spec is unclear, we should fix 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


  reply	other threads:[~2018-03-22 17:32 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-03-20 16:18 [PATCH edk2-platforms v3 00/17] Update GOP Girish Pathak
2018-03-20 16:18 ` [PATCH edk2-platforms v3 01/17] ARM/VExpressPkg: Fix MODULE_TYPE of HDLCD/PL111 platform libraries Girish Pathak
2018-03-20 16:18 ` [PATCH edk2-platforms v3 02/17] ARM/VExpressPkg: Tidy HDLCD and PL11LCD platform Lib: Coding standard Girish Pathak
2018-03-20 16:18 ` [PATCH edk2-platforms v3 03/17] ARM/VExpressPkg: Tidy HdLcd/PL111Lcd code: Updated comments Girish Pathak
2018-03-20 16:18 ` [PATCH edk2-platforms v3 04/17] ARM/VExpressPkg: Remove unused PcdPL111LcdMaxMode from HDLCD inf Girish Pathak
2018-03-20 16:18 ` [PATCH edk2-platforms v3 05/17] ARM/VExpressPkg: Add and update debug ASSERTS Girish Pathak
2018-03-20 16:18 ` [PATCH edk2-platforms v3 06/17] ARM/VExpressPkg: PL111Lcd/HdLcd plaform libs: Minor code cleanup Girish Pathak
2018-03-20 16:18 ` [PATCH edk2-platforms v3 07/17] ARM/VExpressPkg: PL111 and HDLCD: Use FixedPcdGet32 Girish Pathak
2018-03-20 16:18 ` [PATCH edk2-platforms v3 08/17] ARM/VExpressPkg: HdLcdArmVExpressLib: Remove status check EFI_TIMEOUT Girish Pathak
2018-03-20 16:18 ` [PATCH edk2-platforms v3 09/17] ARM/VExpressPkg: HdLcdArmVExpressLib: Remove redundant Bpp Girish Pathak
2018-03-20 16:18 ` [PATCH edk2-platforms v3 10/17] ARM/VExpressPkg: Redefine LcdPlatformGetTimings function Girish Pathak
2018-03-20 16:18 ` [PATCH edk2-platforms v3 11/17] ARM/VExpressPkg: PL111 and HDLCD: Add PCD to select pixel format Girish Pathak
2018-03-20 16:18 ` [PATCH edk2-platforms v3 12/17] ARM/VExpressPkg: Allocate framebuffer using EfiRuntimeServicesData Girish Pathak
2018-03-21  3:37   ` Ard Biesheuvel
2018-03-21 11:07     ` Girish Pathak
2018-03-21 18:26       ` Ard Biesheuvel
2018-03-22 15:20         ` Evan Lloyd
2018-03-22 17:38           ` Ard Biesheuvel [this message]
2018-03-20 16:18 ` [PATCH edk2-platforms v3 13/17] ARM/VExpressPkg: Reserving framebuffer at build Girish Pathak
2018-03-20 16:18 ` [PATCH edk2-platforms v3 14/17] ARM/VExpressPkg: Set EFI_MEMORY_XP flag on GOP framebuffer Girish Pathak
2018-03-20 16:18 ` [PATCH edk2-platforms v3 15/17] ARM/VExpressPkg: New DP500/DP550/DP650 platform library Girish Pathak
2018-03-20 16:18 ` [PATCH edk2-platforms v3 16/17] ARM/JunoPkg: Adding SCMI MTL library Girish Pathak
2018-03-20 16:18 ` [PATCH edk2-platforms v3 17/17] ARM/JunoPkg: Add HDLCD platform library Girish Pathak
2018-03-21 12:56 ` [PATCH edk2-platforms v3 00/17] Update GOP Evan Lloyd

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAKv+Gu8yjOOG_ShLCq5hwZZ8D1RE0j-Y6E4t3frzOxyxZN1ncA@mail.gmail.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox