From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-lf0-x231.google.com (mail-lf0-x231.google.com [IPv6:2a00:1450:4010:c07::231]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 304711A1E9E for ; Wed, 12 Oct 2016 05:53:28 -0700 (PDT) Received: by mail-lf0-x231.google.com with SMTP id b75so74003790lfg.3 for ; Wed, 12 Oct 2016 05:53:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=GSCh2uWyb8qYnv0ctA5A3OyMRDo52hL/CsLFVO4RpTY=; b=iP6PKyOjHvGWgzf/3gmFps5yA53NLyU//Sqejyvb8d5966T6LJn3WXOWD7e7AbaShY v8yJCbNhZa6+LM/uvcA8WvXtLBRQvIlVgr6+yCJYedmcaDRDIHEmyXl6FK7a4K+bKAww 2cKrKqrgm/LfwA0LGg2yQr+qbU+pPocwP0u1M= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=GSCh2uWyb8qYnv0ctA5A3OyMRDo52hL/CsLFVO4RpTY=; b=DimUyoLv2Xa+n3Zr5PsqZi5L6T3rmsGwTgLEbz1MuG1ZzUlY6MLUrGcYjQb3EEbkNh 4tsPYUBSBtkDsMrZmNLlbwF93GFqvYjnAveCQ7co+3fIE3SehH6mCQXU2PhAnTVgpLK1 w9xzW8Qo/accMz7PAQHdOPPViDhKg+dQMaYYSdhr4t1NqfLRRK0kJh+VHiqGZXMr+q9A Azmeg1uvKeyUrlhmgJlM0+GyJNhkKgU2sW5BxeDSJb5WjmawR5SOyyH+HDonc55FZMSM 1QN/MlrxKJMUUASo2PJ0C+LEXm8T0moTXY3n8Oa7Sl14jzGQ0lbjwfOwx+HNyItYuavY 4eCQ== X-Gm-Message-State: AA6/9Rk7HFNAlDQqEfPTTiL6q/NZzPvoIln84MT0qwBfLSuEhnEJYm1rjVnsNAuIfZcP+TCFKyTM11suBVD6GLqr X-Received: by 10.25.201.137 with SMTP id z131mr1112640lff.144.1476276805875; Wed, 12 Oct 2016 05:53:25 -0700 (PDT) MIME-Version: 1.0 Received: by 10.25.190.83 with HTTP; Wed, 12 Oct 2016 05:53:25 -0700 (PDT) In-Reply-To: References: From: Ryan Harkin Date: Wed, 12 Oct 2016 13:53:25 +0100 Message-ID: To: Evan Lloyd Cc: "ard.biesheuvel@linaro.org" , "edk2-devel@lists.01.org" , Leif Lindholm Subject: Re: ArmPlatformPkg: Allocate VRAM as RuntimeServicesData X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Oct 2016 12:53:28 -0000 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On 12 October 2016 at 12:39, Evan Lloyd wrote: > Hi Ryan. > No, this is dead. > Ard's rebuttal was spot on, and unarguable. The problem needs fixing, b= ut not in UEFI. > Please disregard this patch. > Thanks, yes, it's ignored. > Regards, > Evan > > >>-----Original Message----- >>From: Ard Biesheuvel [mailto:ard.biesheuvel@linaro.org] >>Sent: 11 October 2016 20:17 >>To: ryan.harkin@linaro.org >>Cc: Evan Lloyd; edk2-devel@lists.01.org; Leif Lindholm >>Subject: Re: [edk2] ArmPlatformPkg: Allocate VRAM as >>RuntimeServicesData >> >>On 11 October 2016 at 18:44, Ryan Harkin wrote: >>> Hi Evan, >>> >>> This was sent to the list with no subject line and I wasn't on CC, so >>> I didn't see it. >>> >>> Are you still using this patch and want it in, i.e. does it need >>> review and test? >>> >> >>I'm sure it works, but I don't think we should take it. >>RuntimeServicesData can never be released to the OS, so taking an 8MB >>chunk just in case the OS may decide to drive the framebuffer using >>the firmware's protocol rather than via a native driver is not >>something we should have in reference code. >> >>The GOP protocol is arguably a hack anyway, since the entire protocol >>database and driver tree are torn down after ExitBootServices(), while >>the GOP leaves a live memory range in place that happens to keep >>operating as a framebuffer. If the OS wants to use this protocol >>during normal operation, it should take care to reserve this memory >>region itself. >> >>I am aware that not all OSes may behave correctly in this regard. This >>is mainly due to the fact that GOP is usually implemented by a PCI >>device, which exposes the framebuffer via a PCI BAR rather than via a >>system memory range. >> >> >> >>> On 4 March 2016 at 15:57, wrote: >>>> Code at: https://github.com/EvanLloyd/tianocore/commit/ >>>> From: Sami Mujawar >>>> Date: Thu, 25 Feb 2016 15:07:40 +0000 >>>> Subject: [PATCH] ArmPlatformPkg: Allocate VRAM as >>RuntimeServicesData >>>> >>>> The UEFI specification allows the operating system (OS) to use the >>>> Graphics Output Protocol (GOP) in the following scenarios: >>>> a. as part of the startup process and >>>> b. prior to loading of a high performance OS graphics driver >>>> >>>> If the VRAM is allocated as BootServicesData, then it is unmapped on >>>> exit boot services. This prevents GOP usage by the OS post exit boot >>>> services (the second scenario); as it results in a crash when the VRAM >>>> is accessed. >>>> >>>> This patch fixes the issue by allocating VRAM as RuntimeServicesData. >>>> >>>> Code at: >>https://github.com/EvanLloyd/tianocore/commit/18fab16a63c59c84c71cd81 >>089a55a4081ebe253 >>>> >>>> Contributed-under: TianoCore Contribution Agreement 1.0 >>>> Signed-off-by: Alexei Fedorov >>>> Signed-off-by: Girish Pathak >>>> Signed-off-by: Sami Mujawar >>>> Signed-off-by: Evan Lloyd >>>> --- >>>> >>ArmPlatformPkg/ArmVExpressPkg/Library/HdLcdArmVExpressLib/HdLcdAr >>mVExpress.c | 2 +- >>>> 1 file changed, 1 insertion(+), 1 deletion(-) >>>> >>>> diff --git >>a/ArmPlatformPkg/ArmVExpressPkg/Library/HdLcdArmVExpressLib/HdLcd >>ArmVExpress.c >>b/ArmPlatformPkg/ArmVExpressPkg/Library/HdLcdArmVExpressLib/HdLcd >>ArmVExpress.c >>>> index a578467..4ab8862 100644 >>>> --- >>a/ArmPlatformPkg/ArmVExpressPkg/Library/HdLcdArmVExpressLib/HdLcd >>ArmVExpress.c >>>> +++ >>b/ArmPlatformPkg/ArmVExpressPkg/Library/HdLcdArmVExpressLib/HdLcd >>ArmVExpress.c >>>> @@ -133,7 +133,7 @@ LcdPlatformGetVram ( >>>> } else { >>>> AllocationType =3D AllocateAddress; >>>> } >>>> - Status =3D gBS->AllocatePages (AllocationType, EfiBootServicesData, >>EFI_SIZE_TO_PAGES(((UINTN)LCD_VRAM_SIZE)), VramBaseAddress); >>>> + Status =3D gBS->AllocatePages (AllocationType, EfiRuntimeServicesDa= ta, >>EFI_SIZE_TO_PAGES(((UINTN)LCD_VRAM_SIZE)), VramBaseAddress); >>>> if (EFI_ERROR(Status)) { >>>> return Status; >>>> } >>>> -- >>>> 2.7.0 >>>> >>>> _______________________________________________ >>>> 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 > > IMPORTANT NOTICE: The contents of this email and any attachments are conf= idential and may also be privileged. If you are not the intended recipient,= please notify the sender immediately and do not disclose the contents to a= ny other person, use it for any purpose, or store or copy the information i= n any medium. Thank you.