audk/MdeModulePkg/Library
Laszlo Ersek 5cc67962ec MdeModulePkg/UefiBootManagerLib: fix LoadImage/StartImage status code rep.
In the EFI_RETURN_STATUS_EXTENDED_DATA structure from PI-1.7, there may be
padding between the DataHeader and ReturnStatus members. The
REPORT_STATUS_CODE_EX() macro starts populating the structure immediately
after DataHeader, therefore the source data must provide for the padding.

Extract the BmReportLoadFailure() function from EfiBootManagerBoot(),
prepare a zero padding (if any) in a temporary
EFI_RETURN_STATUS_EXTENDED_DATA object, and fix the
REPORT_STATUS_CODE_EX() macro invocation.

Cc: Dandan Bi <dandan.bi@intel.com>
Cc: Hao Wu <hao.a.wu@intel.com>
Cc: Jian J Wang <jian.j.wang@intel.com>
Cc: Ray Ni <ray.ni@intel.com>
Cc: Sean Brogan <sean.brogan@microsoft.com>
Cc: Star Zeng <star.zeng@intel.com>
Bugzilla: https://bugzilla.tianocore.org/show_bug.cgi?id=1539
Fixes: c2cf8720a5
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Ray Ni <ray.ni@intel.com>
2019-02-25 11:50:51 +01:00
..
AuthVariableLibNull MdeModulePkg/AuthVariableLibNull: add MM_STANDALONE support 2019-01-16 20:10:51 +01:00
BaseBmpSupportLib MdeModulePkg/BmpSupportLib: Check PixelHeight/PixelWidth against 0 2018-07-03 11:21:38 +08:00
BaseHobLibNull MdeModulePkg: implement NULL instance of HobLib library class 2019-01-16 20:10:51 +01:00
BaseIpmiLibNull MdeModulePkg: Add the missing Library uni files of Ipmi instances 2015-12-24 02:28:45 +00:00
BaseMemoryAllocationLibNull MdeModulePkg: implement NULL instance of MemoryAllocationLib library class 2019-01-16 20:10:51 +01:00
BasePlatformHookLibNull MdeModulePkg: Removing ipf which is no longer supported from edk2. 2018-09-06 15:25:16 +08:00
BaseResetSystemLibNull MdeModulePkg: Add a new API ResetSystem for Null version 2019-02-22 09:45:44 +08:00
BaseSerialPortLib16550 MdeModulePkg: Clean up source files 2018-06-28 11:19:45 +08:00
BaseSortLib MdeModulePkg: fix comments in BaseSortLib 2019-01-10 08:22:29 -08:00
BootLogoLib MdeModulePkg: Removing ipf which is no longer supported from edk2. 2018-09-06 15:25:16 +08:00
BootMaintenanceManagerUiLib MdeModulePkg: Removing ipf which is no longer supported from edk2. 2018-09-06 15:25:16 +08:00
BootManagerUiLib MdeModulePkg: Removing ipf which is no longer supported from edk2. 2018-09-06 15:25:16 +08:00
BrotliCustomDecompressLib MdeModulePkg BrotliDecompressLib: Add the checker to avoid array out of bound 2018-10-19 08:21:47 +08:00
CpuExceptionHandlerLibNull MdeModulePkg: Removing ipf which is no longer supported from edk2. 2018-09-06 15:25:16 +08:00
CustomizedDisplayLib MdeModulePkg: Removing ipf which is no longer supported from edk2. 2018-09-06 15:25:16 +08:00
DebugAgentLibNull MdeModulePkg: Removing ipf which is no longer supported from edk2. 2018-09-06 15:25:16 +08:00
DeviceManagerUiLib MdeModulePkg: Removing ipf which is no longer supported from edk2. 2018-09-06 15:25:16 +08:00
DisplayUpdateProgressLibGraphics MdeModulePkg: Removing ipf which is no longer supported from edk2. 2018-09-06 15:25:16 +08:00
DisplayUpdateProgressLibText MdeModulePkg: Removing ipf which is no longer supported from edk2. 2018-09-06 15:25:16 +08:00
DxeCapsuleLibFmp MdeModulePkg DxeCapsuleLibFmp: Update SupportCapsuleImage() for Fake Capsule 2019-02-11 12:58:45 +08:00
DxeCapsuleLibNull MdeModulePkg: Removing ipf which is no longer supported from edk2. 2018-09-06 15:25:16 +08:00
DxeCoreMemoryAllocationLib MdeModulePkg: Removing ipf which is no longer supported from edk2. 2018-09-06 15:25:16 +08:00
DxeCorePerformanceLib MdeModulePkg: Removing ipf which is no longer supported from edk2. 2018-09-06 15:25:16 +08:00
DxeCrc32GuidedSectionExtractLib MdeModulePkg: Removing ipf which is no longer supported from edk2. 2018-09-06 15:25:16 +08:00
DxeDebugPrintErrorLevelLib MdeModulePkg: Removing ipf which is no longer supported from edk2. 2018-09-06 15:25:16 +08:00
DxeDpcLib MdeModulePkg: Removing ipf which is no longer supported from edk2. 2018-09-06 15:25:16 +08:00
DxeFileExplorerProtocol MdeModulePkg: Removing ipf which is no longer supported from edk2. 2018-09-06 15:25:16 +08:00
DxeHttpLib MdeModulePkg/DxeHttpLib: Use BaseLib api AsciiCharToUpper 2019-01-31 20:19:18 +08:00
DxeIpIoLib MdeModulePkg: Removing ipf which is no longer supported from edk2. 2018-09-06 15:25:16 +08:00
DxeIpmiLibIpmiProtocol MdeModulePkg: Add the missing Library uni files of Ipmi instances 2015-12-24 02:28:45 +00:00
DxeNetLib MdeModulePkg: Removing ipf which is no longer supported from edk2. 2018-09-06 15:25:16 +08:00
DxePerformanceLib MdeModulePkg: Removing ipf which is no longer supported from edk2. 2018-09-06 15:25:16 +08:00
DxePrintLibPrint2Protocol MdeModulePkg: Removing ipf which is no longer supported from edk2. 2018-09-06 15:25:16 +08:00
DxeReportStatusCodeLib MdeModulePkg/ReportStatusCodeLib: Avoid using AllocatePool if possible 2019-02-19 16:14:50 +08:00
DxeResetSystemLib MdeModulePkg: Add a new API ResetSystem for DXE ResetSystemLib 2019-02-22 09:45:44 +08:00
DxeSecurityManagementLib MdeModulePkg: Removing ipf which is no longer supported from edk2. 2018-09-06 15:25:16 +08:00
DxeTcpIoLib MdeModulePkg: Removing ipf which is no longer supported from edk2. 2018-09-06 15:25:16 +08:00
DxeUdpIoLib MdeModulePkg: Removing ipf which is no longer supported from edk2. 2018-09-06 15:25:16 +08:00
FileExplorerLib MdeModulePkg/FileExplorerLib: avoid packed struct for program data 2018-12-11 13:14:28 +01:00
FmpAuthenticationLibNull MdeModulePkg: Removing ipf which is no longer supported from edk2. 2018-09-06 15:25:16 +08:00
FrameBufferBltLib MdeModulePkg/FrameBufferBltLib: Fix copying of unaligned memory 2018-01-16 13:26:56 +08:00
LockBoxNullLib MdeModulePkg/SmmLockBoxLib: Support LockBox enlarge in UpdateLockBox() 2019-02-22 08:20:08 +08:00
LzmaCustomDecompressLib MdeModulePkg Lzma: Update LZMA SDK version to 18.05 2018-10-09 09:31:10 +08:00
NonDiscoverableDeviceRegistrationLib MdeModulePkg: Update NonDiscoverableDeviceRegistrationLib file header format 2017-07-26 09:00:25 +08:00
OemHookStatusCodeLibNull MdeModulePkg: Removing ipf which is no longer supported from edk2. 2018-09-06 15:25:16 +08:00
PciHostBridgeLibNull MdeModulePkg: Removing ipf which is no longer supported from edk2. 2018-09-06 15:25:16 +08:00
PeiCrc32GuidedSectionExtractLib MdeModulePkg: Removing ipf which is no longer supported from edk2. 2018-09-06 15:25:16 +08:00
PeiDebugPrintHobLib MdeModulePkg: Clean up source files 2018-06-28 11:19:45 +08:00
PeiDxeDebugLibReportStatusCode MdeModulePkg: Removing ipf which is no longer supported from edk2. 2018-09-06 15:25:16 +08:00
PeiIpmiLibIpmiPpi MdeModulePkg: Add the missing Library uni files of Ipmi instances 2015-12-24 02:28:45 +00:00
PeiPerformanceLib MdeModulePkg: Removing ipf which is no longer supported from edk2. 2018-09-06 15:25:16 +08:00
PeiRecoveryLibNull MdeModulePkg: Removing ipf which is no longer supported from edk2. 2018-09-06 15:25:16 +08:00
PeiReportStatusCodeLib MdeModulePkg: Removing ipf which is no longer supported from edk2. 2018-09-06 15:25:16 +08:00
PeiResetSystemLib MdeModulePkg: Add a new API ResetSystem for PEI ResetSystemLib 2019-02-22 09:45:44 +08:00
PeiS3LibNull MdeModulePkg: Removing ipf which is no longer supported from edk2. 2018-09-06 15:25:16 +08:00
PiDxeS3BootScriptLib MdeModulePkg: Removing ipf which is no longer supported from edk2. 2018-09-06 15:25:16 +08:00
PiSmmCoreMemoryAllocationLib MdeModulePkg: Clean up source files 2018-06-28 11:19:45 +08:00
PiSmmCoreSmmServicesTableLib MdeModulePkg: Clean up source files 2018-06-28 11:19:45 +08:00
PlatformBootManagerLibNull MdeModulePkg/PlatformBootManager: Add PlatformBootManagerUnableToBoot 2018-07-27 15:47:50 +08:00
PlatformHookLibSerialPortPpi MdeModulePkg: Removing ipf which is no longer supported from edk2. 2018-09-06 15:25:16 +08:00
PlatformVarCleanupLib MdeModulePkg: Removing ipf which is no longer supported from edk2. 2018-09-06 15:25:16 +08:00
ResetUtilityLib MdeModulePkg/ResetUtilityLib: Add pack(1) for reset data structure 2018-07-03 14:39:56 +08:00
RuntimeDxeReportStatusCodeLib MdeModulePkg/ReportStatusCodeLib: Avoid using AllocatePool if possible 2019-02-19 16:14:50 +08:00
RuntimeResetSystemLib MdeModulePkg: Add a runtime library instance of ResetSystemLib 2019-02-22 09:45:44 +08:00
SmmCorePerformanceLib MdeModulePkg/SmmCorePerfLib: Add DxeServicesLib library class in INF 2018-08-22 10:29:28 +08:00
SmmCorePlatformHookLibNull MdeModulePkg: Clean up source files 2018-06-28 11:19:45 +08:00
SmmIpmiLibSmmIpmiProtocol MdeModulePkg: Add the missing Library uni files of Ipmi instances 2015-12-24 02:28:45 +00:00
SmmLockBoxLib MdeModulePkg/SmmLockBoxLib: Support LockBox enlarge in UpdateLockBox() 2019-02-22 08:20:08 +08:00
SmmMemoryAllocationProfileLib MdeModulePkg: Clean up source files 2018-06-28 11:19:45 +08:00
SmmPerformanceLib MdeModulePkg: Clean up source files 2018-06-28 11:19:45 +08:00
SmmReportStatusCodeLib MdeModulePkg: Clean up source files 2018-06-28 11:19:45 +08:00
SmmSmiHandlerProfileLib MdeModulePkg/SmiHandlerProfile: Add Context support in Unregister 2017-03-13 16:04:12 +08:00
TpmMeasurementLibNull MdeModulePkg: Removing ipf which is no longer supported from edk2. 2018-09-06 15:25:16 +08:00
UefiBootManagerLib MdeModulePkg/UefiBootManagerLib: fix LoadImage/StartImage status code rep. 2019-02-25 11:50:51 +01:00
UefiHiiLib MdeModulePkg: Removing ipf which is no longer supported from edk2. 2018-09-06 15:25:16 +08:00
UefiHiiServicesLib MdeModulePkg: Removing ipf which is no longer supported from edk2. 2018-09-06 15:25:16 +08:00
UefiMemoryAllocationProfileLib MdeModulePkg: Removing ipf which is no longer supported from edk2. 2018-09-06 15:25:16 +08:00
UefiSortLib MdeModulePkg: Removing ipf which is no longer supported from edk2. 2018-09-06 15:25:16 +08:00
VarCheckHiiLib MdeModulePkg/VarCheckHii: Update data type for variable "ArrayIndex" 2018-01-10 12:43:20 +08:00
VarCheckLib MdeModulePkg/VarCheckLib: add MM_STANDALONE support 2019-01-16 20:10:51 +01:00
VarCheckPcdLib MdeModulePkg: Clean up source files 2018-06-28 11:19:45 +08:00
VarCheckUefiLib MdeModulePkg/VarCheckUefiLib: permit use by MM_STANDALONE modules 2019-01-21 13:42:49 +01:00