From: Igniculus Fu <igniculus...@amd.com> Bugzilla ticket #4633
FdfParser.py has defined a key named OEM_CAPSULE_FLAGS to set the lower 16 bits of EFI_CAPSULE_HEADER.Flags. However, this key is totally "forgotten" in Capsule.py, making it impossible to set lower 16 bits of this field, and leading to an always FALSE when comparing to gEfiMdeModulePkgTokenSpaceGuid.PcdSystemRebootAfterCapsuleProcessFlag in MdeModulePkg/Library/DxeCapsuleLibFmp/DxeCapsuleProcessLib.c: ProcessTheseCapsules(). This patch ORs the value of OEM_CAPSULE_FLAGS with previously calculated CAPSULE_FLAGS value, making the lower 16 bits of value being correctly set. Signed-off-by: Igniculus Fu <igniculus...@amd.com> Cc: Bob Feng <bob.c.f...@intel.com> Cc: Liming Gao <gaolim...@byosoft.com.cn> Cc: Yuwei Chen <yuwei.c...@intel.com> Cc: Abner Chang <abner.ch...@amd.com> Cc: Eric Xing <eric.x...@amd.com> Cc: Abdul Lateef Attar <abdat...@amd.com> --- BaseTools/Source/Python/GenFds/Capsule.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/BaseTools/Source/Python/GenFds/Capsule.py b/BaseTools/Source/Python/GenFds/Capsule.py index f4bfc74e55..d274d8f03e 100644 --- a/BaseTools/Source/Python/GenFds/Capsule.py +++ b/BaseTools/Source/Python/GenFds/Capsule.py @@ -1,6 +1,7 @@ ## @file # generate capsule # +# Copyright (C) 2024 Advanced Micro Devices, Inc. All rights reserved.<BR> # Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR> # # SPDX-License-Identifier: BSD-2-Clause-Patent @@ -78,6 +79,8 @@ class Capsule (CapsuleClassObject): Flags |= 0x00010000 elif flag == 'InitiateReset': Flags |= 0x00040000 + if 'OEM_CAPSULE_FLAGS' in self.TokensDict: + Flags |= int(self.TokensDict['OEM_CAPSULE_FLAGS'],16) Header.write(pack('=I', Flags)) # # typedef struct { -- 2.38.1.windows.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#113052): https://edk2.groups.io/g/devel/message/113052 Mute This Topic: https://groups.io/mt/103494173/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-