From: "Xu, Wei6" <wei6.xu@intel.com>
To: "devel@edk2.groups.io" <devel@edk2.groups.io>,
"oleksiyy@ami.com" <oleksiyy@ami.com>
Cc: "Gao, Liming" <liming.gao@intel.com>,
"Kinney, Michael D" <michael.d.kinney@intel.com>,
"Wang, Jian J" <jian.j.wang@intel.com>,
"Wu, Hao A" <hao.a.wu@intel.com>,
"Yao, Jiewen" <jiewen.yao@intel.com>,
"Zhang, Chao B" <chao.b.zhang@intel.com>,
"Felixp@ami.com" <Felixp@ami.com>
Subject: Re: [edk2-devel] [PATCH V4 5/6] MdeModulePkg: Add FMP Capsule Image Header extension
Date: Wed, 13 May 2020 21:26:00 +0000 [thread overview]
Message-ID: <DM6PR11MB277728690ACACA1509190C03A1BF0@DM6PR11MB2777.namprd11.prod.outlook.com> (raw)
In-Reply-To: <20200512220543.40008-6-oleksiyy@ami.com>
Thanks for helping update the related version check.
Please see my comment below.
With these two places updated, Reviewed-by: Wei6 Xu <wei6.xu@intel.com>
>-----Original Message-----
>From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Oleksiy
>Yakovlev
>Sent: Wednesday, May 13, 2020 6:06 AM
>To: devel@edk2.groups.io
>Cc: Gao, Liming <liming.gao@intel.com>; Kinney, Michael D
><michael.d.kinney@intel.com>; Wang, Jian J <jian.j.wang@intel.com>; Wu, Hao
>A <hao.a.wu@intel.com>; Yao, Jiewen <jiewen.yao@intel.com>; Zhang, Chao B
><chao.b.zhang@intel.com>; Felixp@ami.com; oleksiyy@ami.com
>Subject: [edk2-devel] [PATCH V4 5/6] MdeModulePkg: Add FMP Capsule Image
>Header extension
>
>Add bitmask to structure which gives a binary-inspectable mechanism to
>determine if a capsule contains an authentication section or depex section.
>(UEFI 2.8 errata a, mantis 2026)
>
>Signed-off-by: Oleksiy Yakovlev <oleksiyy@ami.com>
>---
> MdeModulePkg/Application/CapsuleApp/CapsuleDump.c | 1 +
> .../Library/DxeCapsuleLibFmp/DxeCapsuleLib.c | 20
>++++++++++++++++----
> 2 files changed, 17 insertions(+), 4 deletions(-)
>
>diff --git a/MdeModulePkg/Application/CapsuleApp/CapsuleDump.c
>b/MdeModulePkg/Application/CapsuleApp/CapsuleDump.c
>index 7e3e072..e3ab199 100644
>--- a/MdeModulePkg/Application/CapsuleApp/CapsuleDump.c
>+++ b/MdeModulePkg/Application/CapsuleApp/CapsuleDump.c
>@@ -98,6 +98,7 @@ DumpFmpCapsule (
> Print(L" UpdateVendorCodeSize - 0x%x\n",
>FmpImageHeader->UpdateVendorCodeSize);
> if (FmpImageHeader->Version >=
>EFI_FIRMWARE_MANAGEMENT_CAPSULE_IMAGE_HEADER_INIT_VERSION) {
> Print(L" UpdateHardwareInstance - 0x%lx\n",
>FmpImageHeader->UpdateHardwareInstance);
>+ Print(L" ImageCapsuleSupport - 0x%lx\n",
>+ FmpImageHeader->ImageCapsuleSupport);
> }
> }
> }
Wei: I think here the version check should be:
if (ImageHeader->Version >= 1) {
DEBUG((DEBUG_VERBOSE, " UpdateHardwareInstance - 0x%lx\n", ImageHeader->UpdateHardwareInstance));
if (ImageHeader->Version >= EFI_FIRMWARE_MANAGEMENT_CAPSULE_IMAGE_HEADER_INIT_VERSION) {
DEBUG((DEBUG_VERBOSE, " ImageCapsuleSupport - 0x%lx\n", ImageHeader->ImageCapsuleSupport));
}
}
>diff --git a/MdeModulePkg/Library/DxeCapsuleLibFmp/DxeCapsuleLib.c
>b/MdeModulePkg/Library/DxeCapsuleLibFmp/DxeCapsuleLib.c
>index 5dda561..f9819a7 100644
>--- a/MdeModulePkg/Library/DxeCapsuleLibFmp/DxeCapsuleLib.c
>+++ b/MdeModulePkg/Library/DxeCapsuleLibFmp/DxeCapsuleLib.c
>@@ -285,8 +285,10 @@ ValidateFmpCapsule (
> DEBUG((DEBUG_ERROR, "ImageHeader->Version(0x%x) Unknown\n",
>ImageHeader->Version));
> return EFI_INVALID_PARAMETER;
> }
>- if (ImageHeader->Version <
>EFI_FIRMWARE_MANAGEMENT_CAPSULE_IMAGE_HEADER_INIT_VERSION) {
>+ if (ImageHeader->Version == 1) {
> FmpImageHeaderSize =
>OFFSET_OF(EFI_FIRMWARE_MANAGEMENT_CAPSULE_IMAGE_HEADER,
>UpdateHardwareInstance);
>+ } else {
>+ FmpImageHeaderSize =
>+ OFFSET_OF(EFI_FIRMWARE_MANAGEMENT_CAPSULE_IMAGE_HEADER,
>+ ImageCapsuleSupport);
> }
> if (FmpImageSize < FmpImageHeaderSize) {
> DEBUG((DEBUG_ERROR, "FmpImageSize(0x%lx) <
>FmpImageHeaderSize(0x%x)\n", FmpImageSize, FmpImageHeaderSize)); @@
>-521,6 +523,7 @@ DumpFmpCapsule (
> DEBUG((DEBUG_VERBOSE, " UpdateVendorCodeSize - 0x%x\n",
>ImageHeader->UpdateVendorCodeSize));
> if (ImageHeader->Version >=
>EFI_FIRMWARE_MANAGEMENT_CAPSULE_IMAGE_HEADER_INIT_VERSION) {
> DEBUG((DEBUG_VERBOSE, " UpdateHardwareInstance - 0x%lx\n",
>ImageHeader->UpdateHardwareInstance));
>+ DEBUG((DEBUG_VERBOSE, " ImageCapsuleSupport - 0x%lx\n",
>ImageHeader->ImageCapsuleSupport));
> }
> }
> }
Wei: I think here the version check should be:
if (ImageHeader->Version >= 1) {
DEBUG((DEBUG_INFO, "(UpdateHardwareInstance - 0x%x)", ImageHeader->UpdateHardwareInstance));
if (ImageHeader->Version >= EFI_FIRMWARE_MANAGEMENT_CAPSULE_IMAGE_HEADER_INIT_VERSION) {
DEBUG((DEBUG_INFO, "(ImageCapsuleSupport - 0x%x)", ImageHeader->ImageCapsuleSupport));
}
}
>@@ -928,9 +931,14 @@ SetFmpImageData (
> } else {
> //
> // If the EFI_FIRMWARE_MANAGEMENT_CAPSULE_IMAGE_HEADER is
>version 1,
>- // Header should exclude UpdateHardwareInstance field
>+ // Header should exclude UpdateHardwareInstance field, and
>+ // ImageCapsuleSupport field if version is 2.
> //
>- Image = (UINT8 *)ImageHeader +
>OFFSET_OF(EFI_FIRMWARE_MANAGEMENT_CAPSULE_IMAGE_HEADER,
>UpdateHardwareInstance);
>+ if (ImageHeader->Version == 1) {
>+ Image = (UINT8 *)ImageHeader +
>OFFSET_OF(EFI_FIRMWARE_MANAGEMENT_CAPSULE_IMAGE_HEADER,
>UpdateHardwareInstance);
>+ } else {
>+ Image = (UINT8 *)ImageHeader +
>OFFSET_OF(EFI_FIRMWARE_MANAGEMENT_CAPSULE_IMAGE_HEADER,
>ImageCapsuleSupport);
>+ }
> }
>
> if (ImageHeader->UpdateVendorCodeSize == 0) { @@ -945,6 +953,7 @@
>SetFmpImageData (
> DEBUG((DEBUG_INFO, "ImageIndex - 0x%x ",
>ImageHeader->UpdateImageIndex));
> if (ImageHeader->Version >=
>EFI_FIRMWARE_MANAGEMENT_CAPSULE_IMAGE_HEADER_INIT_VERSION) {
> DEBUG((DEBUG_INFO, "(UpdateHardwareInstance - 0x%x)",
>ImageHeader->UpdateHardwareInstance));
>+ DEBUG((DEBUG_INFO, "(ImageCapsuleSupport - 0x%x)",
>+ ImageHeader->ImageCapsuleSupport));
> }
> DEBUG((DEBUG_INFO, "\n"));
>
>@@ -1239,7 +1248,10 @@ ProcessFmpCapsuleImage (
> ImageHeader =
>(EFI_FIRMWARE_MANAGEMENT_CAPSULE_IMAGE_HEADER *)((UINT8
>*)FmpCapsuleHeader + ItemOffsetList[Index]);
>
> UpdateHardwareInstance = 0;
>- if (ImageHeader->Version >=
>EFI_FIRMWARE_MANAGEMENT_CAPSULE_IMAGE_HEADER_INIT_VERSION) {
>+ ///
>+ /// UpdateHardwareInstance field was added in Version 2
>+ ///
>+ if (ImageHeader->Version >= 2) {
> UpdateHardwareInstance = ImageHeader->UpdateHardwareInstance;
> }
>
>--
>2.9.0.windows.1
>
>
>Please consider the environment before printing this email.
>
>The information contained in this message may be confidential and proprietary
>to American Megatrends (AMI). This communication is intended to be read
>only by the individual or entity to whom it is addressed or by their designee. If
>the reader of this message is not the intended recipient, you are on notice that
>any distribution of this message, in any form, is strictly prohibited. Please
>promptly notify the sender by reply e-mail or by telephone at 770-246-8600, and
>then delete or destroy all copies of the transmission.
>
>
next prev parent reply other threads:[~2020-05-13 21:26 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-05-12 22:05 [PATCH V4 0/6] Add definitions introduced in UEFI 2.8a Oleksiy Yakovlev
2020-05-12 22:05 ` [PATCH V4 1/6] MdePkg: Add new CPER Notification types Oleksiy Yakovlev
2020-05-12 22:05 ` [PATCH V4 2/6] MdePkg: Fix OUT parameters marked as IN OUT Oleksiy Yakovlev
2020-05-12 22:05 ` [PATCH V4 3/6] MdePkg: Add EFI_RT_PROPERTIES_TABLE Oleksiy Yakovlev
2020-05-13 16:32 ` Liming Gao
2020-05-12 22:05 ` [PATCH V4 4/6] MdePkg: Add FMP Capsule Image Header extension Oleksiy Yakovlev
2020-05-12 22:05 ` [PATCH V4 5/6] MdeModulePkg: " Oleksiy Yakovlev
2020-05-13 21:26 ` Xu, Wei6 [this message]
2020-05-12 22:05 ` [PATCH V4 6/6] SignedCapsulePkg: " Oleksiy Yakovlev
2020-05-13 21:14 ` [edk2-devel] " Xu, Wei6
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=DM6PR11MB277728690ACACA1509190C03A1BF0@DM6PR11MB2777.namprd11.prod.outlook.com \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox