From: Ard Biesheuvel <ard.biesheuvel@linaro.org>
To: Girish Pathak <girish.pathak@arm.com>
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@arm.com, nd <nd@arm.com>,
Arvind Chauhan <Arvind.Chauhan@arm.com>,
Daniil Egranov <Daniil.Egranov@arm.com>,
Thomas Panakamattam 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:37:39 +0800 [thread overview]
Message-ID: <CAKv+Gu80Ao5WTP28jS4Bp45ibvR5ADUkgEhqyu_abB8PWsj4gw@mail.gmail.com> (raw)
In-Reply-To: <20180320161823.54020-13-girish.pathak@arm.com>
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.
> 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/HdLcdArmVExpress.c | 2 +-
> Platform/ARM/VExpressPkg/Library/PL111LcdArmVExpressLib/PL111LcdArmVExpress.c | 2 +-
> 2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/Platform/ARM/VExpressPkg/Library/HdLcdArmVExpressLib/HdLcdArmVExpress.c b/Platform/ARM/VExpressPkg/Library/HdLcdArmVExpressLib/HdLcdArmVExpress.c
> index f7cae39c9cc9954ba4cad1bd597ebfc8baf10f11..c0a25a18d3fcfe91a76ee985ee58145b97900fa0 100644
> --- a/Platform/ARM/VExpressPkg/Library/HdLcdArmVExpressLib/HdLcdArmVExpress.c
> +++ b/Platform/ARM/VExpressPkg/Library/HdLcdArmVExpressLib/HdLcdArmVExpress.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/PL111LcdArmVExpress.c b/Platform/ARM/VExpressPkg/Library/PL111LcdArmVExpressLib/PL111LcdArmVExpress.c
> index 2f4814a2adbf01517ba14d75ce579ff35c362379..61ddf77e903e6c33a26b2aa8b76121e807195a9a 100644
> --- a/Platform/ARM/VExpressPkg/Library/PL111LcdArmVExpressLib/PL111LcdArmVExpress.c
> +++ b/Platform/ARM/VExpressPkg/Library/PL111LcdArmVExpressLib/PL111LcdArmVExpress.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)'
>
>
next prev parent reply other threads:[~2018-03-21 3:31 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 [this message]
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
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+Gu80Ao5WTP28jS4Bp45ibvR5ADUkgEhqyu_abB8PWsj4gw@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