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 <[email protected]> > Cc: Laszlo Ersek <[email protected]> > Signed-off-by: Bhupesh Sharma <[email protected]> > 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 <[email protected]> Tested-by: Laszlo Ersek <[email protected]> I extended the commit message with my test results: > Note from Laszlo Ersek <[email protected]>: 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 <https://msdn.microsoft.com/windows/hardware/commercialize/customize/mobile/mcsf/configuring-oem-and-mobile-operator-boot-screens> 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 > > _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

