audk/MdeModulePkg/Universal
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
..
Acpi MdeModulePkg/BootGraphicsResourceTableDxe: Use BmpSupportLib 2018-02-11 16:05:23 -08:00
BdsDxe
BootManagerPolicyDxe
CapsulePei
CapsuleRuntimeDxe
Console MdeModulePkg/ConSplitter: ReadKeyStrokeEx always return key state 2018-02-01 14:03:53 +08:00
DebugPortDxe
DebugSupportDxe MdeModulePkg: Update DebugSupportDxe to pass XCODE5 build 2018-01-16 23:30:12 +08:00
DevicePathDxe
Disk MdeModulePkg/Partition: Fix media probe 2018-01-26 18:56:25 +08:00
DisplayEngineDxe
DriverHealthManagerDxe
DriverSampleDxe MdeModulePkg/DriverSampleDxe: Make bit fields aligned in C structure 2018-02-09 17:04:15 +08:00
EbcDxe
EsrtDxe
EsrtFmpDxe MdeModulePkg/EsrtFmpDxe: Add EsrtFmpDxe module 2018-02-11 15:32:29 -08:00
FaultTolerantWriteDxe
FaultTolerantWritePei
FileExplorerDxe
FvSimpleFileSystemDxe
HiiDatabaseDxe MdeModulePkg HiiDataBase: Fix the potential NULL pointer access 2017-12-28 13:34:34 +08:00
HiiResourcesSampleDxe
LegacyRegion2Dxe
LoadFileOnFv2
LockBox/SmmLockBox
MemoryTest
Metronome
MonotonicCounterRuntimeDxe
Network MdeModulePkg/PXE: Add warning message for PXE if failed to read system GUID from SMBIOS. 2018-02-05 13:38:48 +08:00
PCD
PcatSingleSegmentPciCfg2Pei
PlatformDriOverrideDxe
PrintDxe
PropertiesTableAttributesDxe
RegularExpressionDxe
ReportStatusCodeRouter
ResetSystemPei MdeModulePkg/ResetSystemPei: Add reset notifications in PEI 2018-02-09 15:30:01 +08:00
ResetSystemRuntimeDxe MdeModulePkg/ResetSystemRuntimeDxe: Add more debug message 2018-02-09 15:29:57 +08:00
SectionExtractionDxe
SectionExtractionPei MdeModulePkg SectionExtractionPei: remove the hard code alignment adjustment 2018-01-19 13:20:20 +08:00
SecurityStubDxe
SerialDxe
SetupBrowserDxe
SmbiosDxe
SmbiosMeasurementDxe
SmmCommunicationBufferDxe
StatusCodeHandler
TimestampDxe
Variable MdeModulePkg Variable: Use boolean type value instead of expression 2017-12-27 17:40:41 +08:00
WatchdogTimerDxe