audk/MdeModulePkg/Universal/Acpi
Michael D Kinney 53be772103 MdeModulePkg/BootGraphicsResourceTableDxe: Use BmpSupportLib
https://bugzilla.tianocore.org/show_bug.cgi?id=800

Based on content from the following branch/commits:
https://github.com/Microsoft/MS_UEFI/tree/share/MsCapsuleSupport
33bab4031a
ca516b1a61
2b9f111f2e

Use BmpSupportLib to convert a GOP BLT Buffer to the BMP graphics
image that is published in an ACPI BGRT table.

* Remove use of IndustryStandard/Bmp.h include file
* Remove mBmpImageHeaderTemplate.  This is handled by BmpSupportLib
* Clean up code style with function prototypes at top
  and all module global variables together
* Update SetBootLogo() to use SafeIntLib to check input parameters
  for overflows.
* Remove internal function BgrtAcpiTableChecksum().  Use
  CalculateCheckSum8() directly from BgrtReadyToBootEventNotify()
* Remove InstallBootGraphicsResourceTable().  Move all the code into
  BgrtReadyToBootEventNotify() that is signaled at ready to boot.
* Remove all logic that converts a GOP BLT buffer to a BMP graphics image
  and use BmpSupportLib function TranslateGopBltToBmp() instead.
* Use AllocatePool() instead of AllocatePages() to allocate copy of
  BMP image that is provided by BGRT.  This is required to be compatible
  with BmpSupportLib function TranslateGopBltToBmp() that uses
  AllocatePool().
* Zero OemId in BGRT header before filling in value from PCD.
* Get size of PcdAcpiDefaultOemId and only copy the the size of the PCD
  if it is smaller than the size of the OemId field in the BGRT header.
* Use WriteUnaligned24() instead of CopyMem() for the OemTableId field
  of the BGRT header.

Cc: Sean Brogan <sean.brogan@microsoft.com>
Cc: Jiewen Yao <jiewen.yao@intel.com>
Cc: Star Zeng <star.zeng@intel.com>
Cc: Eric Dong <eric.dong@intel.com>
Cc: Ruiyu Ni <ruiyu.ni@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>
Reviewed-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Bret Barkelew <Bret.Barkelew@microsoft.com>
2018-02-11 16:05:23 -08:00
..
AcpiPlatformDxe MdeModulePkg: Convert all .uni files to utf-8 2015-12-15 04:56:23 +00:00
AcpiTableDxe MdeModulePkg/AcpiTableDxe: consider version mask when removing tables 2017-03-21 07:07:01 +00:00
BootGraphicsResourceTableDxe MdeModulePkg/BootGraphicsResourceTableDxe: Use BmpSupportLib 2018-02-11 16:05:23 -08:00
BootScriptExecutorDxe MdeModulePkg/BootScriptExecutorDxe: remove NX attr for FfsBuffer 2018-01-18 17:03:25 +08:00
FirmwarePerformanceDataTableDxe MdeModulePkg/FirmwarePerfDxe:Enhance for new pref infrastructure 2018-02-08 12:50:20 +08:00
FirmwarePerformanceDataTablePei MdeModulePkg/FirmwarePerformancePei:Add FPDT records for S3 phase 2018-02-08 12:50:20 +08:00
FirmwarePerformanceDataTableSmm MdeModulePkg/FirmwarePerfSmm:Enhance for new pref infrastructure 2018-02-08 12:50:21 +08:00
S3SaveStateDxe MdeModulePkg/S3SaveState: Extract arguments in correct order 2017-10-10 13:23:10 +08:00
SmmS3SaveState MdeModulePkg/S3SaveState: Extract arguments in correct order 2017-10-10 13:23:10 +08:00