]> git.proxmox.com Git - mirror_edk2.git/commit - MdeModulePkg/Library/UefiBootManagerLib/InternalBm.h
MdeModulePkg/UefiBootManagerLib: fix LoadImage/StartImage status code rep.
authorLaszlo Ersek <lersek@redhat.com>
Wed, 20 Feb 2019 02:31:28 +0000 (03:31 +0100)
committerLaszlo Ersek <lersek@redhat.com>
Mon, 25 Feb 2019 10:50:51 +0000 (11:50 +0100)
commit5cc67962ec35579df67e603b4446557fe1243d51
tree4b806ef895ba44b123ba716aef8feedd58d203a3
parent2df8798274429cb40da4cabc551ef6efa07c1a99
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: c2cf8720a5aad74230767a1f11bade2d86de3745
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Ray Ni <ray.ni@intel.com>
MdeModulePkg/Library/UefiBootManagerLib/BmBoot.c
MdeModulePkg/Library/UefiBootManagerLib/InternalBm.h