From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 12F1F81A10 for ; Fri, 6 Jan 2017 05:29:00 -0800 (PST) Received: from int-mx14.intmail.prod.int.phx2.redhat.com (int-mx14.intmail.prod.int.phx2.redhat.com [10.5.11.27]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 85E0FC05681D; Fri, 6 Jan 2017 13:29:00 +0000 (UTC) Received: from lacos-laptop-7.usersys.redhat.com (ovpn-116-54.phx2.redhat.com [10.3.116.54]) by int-mx14.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id v06DSwQY028264; Fri, 6 Jan 2017 08:28:59 -0500 To: Bhupesh Sharma , edk2-devel@ml01.01.org References: <1483696035-12149-1-git-send-email-bhsharma@redhat.com> Cc: Jordan Justen From: Laszlo Ersek Message-ID: <9284d1ae-0fd9-4af3-2381-c13b85b17d31@redhat.com> Date: Fri, 6 Jan 2017 14:28:57 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.6.0 MIME-Version: 1.0 In-Reply-To: <1483696035-12149-1-git-send-email-bhsharma@redhat.com> X-Scanned-By: MIMEDefang 2.68 on 10.5.11.27 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.32]); Fri, 06 Jan 2017 13:29:00 +0000 (UTC) Subject: Re: [PATCH V2 1/1] OvmfPkg: Install BGRT ACPI table 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: Fri, 06 Jan 2017 13:29:00 -0000 Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit On 01/06/17 10:47, Bhupesh Sharma wrote: > While debugging OS for ACPI BGRT support (especially on VMs), > it is very useful to have the EFI firmware (OVMF in most cases > which use Tianocore) to export the ACPI BGRT table. > > This patch tries to add this support in OvmfPkg. > > Tested this patch in the following environments: > > 1. On both RHEL7.3 and Fedora-25 VM guests running on a Fedora-24 Host: > - Ensured that the BGRT logo is properly prepared and > can be viewed with user-space tools (like 'Gwenview' on KDE, > for example): > > $ file /sys/firmware/acpi/bgrt/image > /sys/firmware/acpi/bgrt/image: PC bitmap, Windows 3.x format, 193 x > 58 x 24 > > 2. On a Windows-10 VM Guest running on a Fedora-24 Host: > - Ensured that the BGRT ACPI table is properly prepared and can be > read with freeware tool like FirmwareTablesView: > > ================================================== > Signature : BGRT > Firmware Provider : ACPI > Length : 56 > Revision : 1 > Checksum : 129 > OEM ID : INTEL > OEM Table ID : EDK2 > OEM Revision : 0x00000002 > Creator ID : 0x20202020 > Creator Revision : 0x01000013 > Description : > ================================================== > > Cc: Jordan Justen > Cc: Laszlo Ersek > Signed-off-by: Bhupesh Sharma > Contributed-under: TianoCore Contribution Agreement 1.0 > --- > Changes since v1: > - Improved the commit log and cc list as per Laszlo's suggestions. > - Also tested the patch on a Windows 10 VM guest to make sure that > the BGRT table is properly created. > > OvmfPkg/OvmfPkgIa32.dsc | 1 + > OvmfPkg/OvmfPkgIa32.fdf | 1 + > OvmfPkg/OvmfPkgIa32X64.dsc | 1 + > OvmfPkg/OvmfPkgIa32X64.fdf | 1 + > OvmfPkg/OvmfPkgX64.dsc | 1 + > OvmfPkg/OvmfPkgX64.fdf | 1 + > 6 files changed, 6 insertions(+) Reviewed-by: Laszlo Ersek Tested-by: Laszlo Ersek I extended the commit message with my test results: > Note from Laszlo Ersek : without the BGRT ACPI > table, Windows 8 and Windows 10 first clear the screen, then display a > blue, slanted Windows picture above the rotating white boot animation. > With the BGRT ACPI table, Windows 8 and Windows 10 don't clear the > screen, the blue Windows image is not displayed, and the rotating > white boot animation is shown between the firmware's original > TianoCore boot splash and (optional) "Start boot option" progress bar. I tried to find something official about this on the web, and seems closely related. Patch committed as 6e5e544f227f. Thanks! Laszlo > diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc > index 81f752121f2f..e97f7f0262d9 100644 > --- a/OvmfPkg/OvmfPkgIa32.dsc > +++ b/OvmfPkg/OvmfPkgIa32.dsc > @@ -679,6 +679,7 @@ > OvmfPkg/AcpiTables/AcpiTables.inf > MdeModulePkg/Universal/Acpi/S3SaveStateDxe/S3SaveStateDxe.inf > MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/BootScriptExecutorDxe.inf > + MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResourceTableDxe.inf > > # > # Network Support > diff --git a/OvmfPkg/OvmfPkgIa32.fdf b/OvmfPkg/OvmfPkgIa32.fdf > index 2a5b211a3666..34d57a6079cc 100644 > --- a/OvmfPkg/OvmfPkgIa32.fdf > +++ b/OvmfPkg/OvmfPkgIa32.fdf > @@ -278,6 +278,7 @@ INF OvmfPkg/AcpiPlatformDxe/AcpiPlatformDxe.inf > INF RuleOverride=ACPITABLE OvmfPkg/AcpiTables/AcpiTables.inf > INF MdeModulePkg/Universal/Acpi/S3SaveStateDxe/S3SaveStateDxe.inf > INF MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/BootScriptExecutorDxe.inf > +INF MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResourceTableDxe.inf > > INF FatPkg/EnhancedFatDxe/Fat.inf > > diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc > index f7855b6e5ea4..8e3e04c135cc 100644 > --- a/OvmfPkg/OvmfPkgIa32X64.dsc > +++ b/OvmfPkg/OvmfPkgIa32X64.dsc > @@ -688,6 +688,7 @@ > OvmfPkg/AcpiTables/AcpiTables.inf > MdeModulePkg/Universal/Acpi/S3SaveStateDxe/S3SaveStateDxe.inf > MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/BootScriptExecutorDxe.inf > + MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResourceTableDxe.inf > > # > # Network Support > diff --git a/OvmfPkg/OvmfPkgIa32X64.fdf b/OvmfPkg/OvmfPkgIa32X64.fdf > index 1c7df210ddd5..df55c2b21021 100644 > --- a/OvmfPkg/OvmfPkgIa32X64.fdf > +++ b/OvmfPkg/OvmfPkgIa32X64.fdf > @@ -278,6 +278,7 @@ INF OvmfPkg/AcpiPlatformDxe/AcpiPlatformDxe.inf > INF RuleOverride=ACPITABLE OvmfPkg/AcpiTables/AcpiTables.inf > INF MdeModulePkg/Universal/Acpi/S3SaveStateDxe/S3SaveStateDxe.inf > INF MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/BootScriptExecutorDxe.inf > +INF MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResourceTableDxe.inf > > INF FatPkg/EnhancedFatDxe/Fat.inf > > diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc > index e933a41ab98e..6ec3fe050dc7 100644 > --- a/OvmfPkg/OvmfPkgX64.dsc > +++ b/OvmfPkg/OvmfPkgX64.dsc > @@ -686,6 +686,7 @@ > OvmfPkg/AcpiTables/AcpiTables.inf > MdeModulePkg/Universal/Acpi/S3SaveStateDxe/S3SaveStateDxe.inf > MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/BootScriptExecutorDxe.inf > + MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResourceTableDxe.inf > > # > # Network Support > diff --git a/OvmfPkg/OvmfPkgX64.fdf b/OvmfPkg/OvmfPkgX64.fdf > index 3bb11cbf7377..5e2e1dfaf5a9 100644 > --- a/OvmfPkg/OvmfPkgX64.fdf > +++ b/OvmfPkg/OvmfPkgX64.fdf > @@ -278,6 +278,7 @@ INF OvmfPkg/AcpiPlatformDxe/AcpiPlatformDxe.inf > INF RuleOverride=ACPITABLE OvmfPkg/AcpiTables/AcpiTables.inf > INF MdeModulePkg/Universal/Acpi/S3SaveStateDxe/S3SaveStateDxe.inf > INF MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/BootScriptExecutorDxe.inf > +INF MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResourceTableDxe.inf > > INF FatPkg/EnhancedFatDxe/Fat.inf > >