public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: Girish Pathak <Girish.Pathak@arm.com>
To: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: "edk2-devel@lists.01.org" <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
Date: Wed, 21 Mar 2018 11:07:56 +0000	[thread overview]
Message-ID: <AM4PR08MB09951B78F86A472BCD2F0E6DECAA0@AM4PR08MB0995.eurprd08.prod.outlook.com> (raw)
In-Reply-To: <CAKv+Gu80Ao5WTP28jS4Bp45ibvR5ADUkgEhqyu_abB8PWsj4gw@mail.gmail.com>



> -----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? 

> 
> > Contributed-under: TianoCore Contribution Agreement 1.1
> > Signed-off-by: Girish Pathak <girish.pathak@arm.com>
> > Signed-off-by: Evan Lloyd <evan.lloyd@arm.com>
> > ---
> >
> Platform/ARM/VExpressPkg/Library/HdLcdArmVExpressLib/HdLcdArmVExpr
> ess.c       | 2 +-
> >
> >
> Platform/ARM/VExpressPkg/Library/PL111LcdArmVExpressLib/PL111LcdArm
> VEx
> > press.c | 2 +-
> >  2 files changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git
> >
> a/Platform/ARM/VExpressPkg/Library/HdLcdArmVExpressLib/HdLcdArmVEx
> pres
> > s.c
> >
> b/Platform/ARM/VExpressPkg/Library/HdLcdArmVExpressLib/HdLcdArmVEx
> pres
> > s.c index
> >
> f7cae39c9cc9954ba4cad1bd597ebfc8baf10f11..c0a25a18d3fcfe91a76ee985ee
> 58
> > 145b97900fa0 100644
> > ---
> >
> a/Platform/ARM/VExpressPkg/Library/HdLcdArmVExpressLib/HdLcdArmVEx
> pres
> > s.c
> > +++
> b/Platform/ARM/VExpressPkg/Library/HdLcdArmVExpressLib/HdLcdArmVEx
> > +++ press.c
> > @@ -176,7 +176,7 @@ LcdPlatformGetVram (
> >    }
> >    Status = gBS->AllocatePages (
> >                    AllocationType,
> > -                  EfiBootServicesData,
> > +                  EfiRuntimeServicesData,
> >                    EFI_SIZE_TO_PAGES (((UINTN)LCD_VRAM_SIZE)),
> >                    VramBaseAddress
> >                    );
> > diff --git
> >
> a/Platform/ARM/VExpressPkg/Library/PL111LcdArmVExpressLib/PL111LcdAr
> mV
> > Express.c
> >
> b/Platform/ARM/VExpressPkg/Library/PL111LcdArmVExpressLib/PL111LcdAr
> mV
> > Express.c index
> >
> 2f4814a2adbf01517ba14d75ce579ff35c362379..61ddf77e903e6c33a26b2aa8b7
> 61
> > 21e807195a9a 100644
> > ---
> >
> a/Platform/ARM/VExpressPkg/Library/PL111LcdArmVExpressLib/PL111LcdAr
> mV
> > Express.c
> > +++
> b/Platform/ARM/VExpressPkg/Library/PL111LcdArmVExpressLib/PL111Lcd
> > +++ ArmVExpress.c
> > @@ -232,7 +232,7 @@ LcdPlatformGetVram (
> >      // Allocate the VRAM from the DRAM so that nobody else uses it.
> >      Status = gBS->AllocatePages (
> >                      AllocateAddress,
> > -                    EfiBootServicesData,
> > +                    EfiRuntimeServicesData,
> >                      EFI_SIZE_TO_PAGES (((UINTN)LCD_VRAM_SIZE)),
> >                      VramBaseAddress
> >                      );
> > --
> > 'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)'
> >
> >

  reply	other threads:[~2018-03-21 11:01 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 [this message]
2018-03-21 18:26       ` Ard Biesheuvel
2018-03-22 15:20         ` Evan Lloyd
2018-03-22 17:38           ` Ard Biesheuvel
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=AM4PR08MB09951B78F86A472BCD2F0E6DECAA0@AM4PR08MB0995.eurprd08.prod.outlook.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