Re: [edk2] [PATCH V2 07/50] MdeModulePkg/MdeModulePkg.dec: Add capsule related definition.
This would all go in the new package instead of MdeModulePkg. Thanks Sean > -Original Message- > From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of > Jiewen Yao > Sent: Friday, September 30, 2016 5:21 AM > To: edk2-devel@lists.01.org > Cc: Michael D Kinney <michael.d.kin...@intel.com>; Feng Tian > <feng.t...@intel.com>; Chao Zhang <chao.b.zh...@intel.com>; Liming Gao > <liming@intel.com>; Star Zeng <star.z...@intel.com> > Subject: [edk2] [PATCH V2 07/50] MdeModulePkg/MdeModulePkg.dec: Add > capsule related definition. > > 1) Add capsule related GUID. >EdkiiSystemFmpCapsule > 2) Add capsule related library. >EdkiiSystemCapsuleLib >FmpAuthenticationLib >IniParsingLib >PlatformFlashAccessLib.c > 3) Add capsule related status code PCD. >PcdStatusCodeSubClassCapsule >PcdCapsuleStatusCodeProcessCapsulesBegin >PcdCapsuleStatusCodeProcessCapsulesEnd >PcdCapsuleStatusCodeUpdatingFirmware >PcdCapsuleStatusCodeUpdateFirmwareSuccess >PcdCapsuleStatusCodeUpdateFirmwareFailed >PcdCapsuleStatusCodeResettingSystem > 4) Add capsule status variable PCD - CapsuleMax value. >PcdCapsuleMax > 5) Add EDKII system capsule related DynamicEx PCD >PcdEdkiiSystemFmpCapsuleMonotonicCount >PcdEdkiiSystemFirmwareImageDescriptor >PcdEdkiiSystemFirmwareFileGuid >PcdEdkiiSystemFmpCapsuleImageTypeIdGuid >NOTE: We use DynamicEx here because the update driver may be in >the capsule FMP, instead of system firmware. >The update driver MUST use the PCD info produced system firmware. > > Cc: Feng Tian <feng.t...@intel.com> > Cc: Star Zeng <star.z...@intel.com> > Cc: Michael D Kinney <michael.d.kin...@intel.com> > Cc: Liming Gao <liming@intel.com> > Cc: Chao Zhang <chao.b.zh...@intel.com> > Contributed-under: TianoCore Contribution Agreement 1.0 > Signed-off-by: Jiewen Yao <jiewen@intel.com> > Reviewed-by: Liming Gao <liming@intel.com> > --- > MdeModulePkg/MdeModulePkg.dec | 106 > 1 file changed, 106 insertions(+) > > diff --git a/MdeModulePkg/MdeModulePkg.dec > b/MdeModulePkg/MdeModulePkg.dec index 8d90f16..ab23af7 100644 > --- a/MdeModulePkg/MdeModulePkg.dec > +++ b/MdeModulePkg/MdeModulePkg.dec > @@ -157,6 +157,22 @@ ># >MemoryProfileLib|Include/Library/MemoryProfileLib.h > > + ## @libraryclass Provides services to authenticate a UEFI defined FMP > Capsule. > + # > + FmpAuthenticationLib|Include/Library/FmpAuthenticationLib.h > + > + ## @libraryclass Provides services for EDKII system FMP capsule. > + # > + EdkiiSystemCapsuleLib|Include/Library/EdkiiSystemCapsuleLib.h > + > + ## @libraryclass Provides services to parse the INI configuration file. > + # > + IniParsingLib|Include/Library/IniParsingLib.h > + > + ## @libraryclass Provides services to access flash device. > + # > + PlatformFlashAccessLib|Include/Library/PlatformFlashAccessLib.h > + > [Guids] >## MdeModule package token space guid ># Include/Guid/MdeModulePkgTokenSpace.h > @@ -355,6 +371,11 @@ >## Include/Guid/PiSmmCommunicationRegionTable.h >gEdkiiPiSmmCommunicationRegionTableGuid = { 0x4e28ca50, 0xd582, > 0x44ac, {0xa1, 0x1f, 0xe3, 0xd5, 0x65, 0x26, 0xdb, 0x34}} > > + ## Include/Guid/EdkiiSystemFmpCapsule.h > + gEdkiiSystemFirmwareImageDescriptorFileGuid = {0x90b2b846, 0xca6d, > 0x4d6e, {0xa8, 0xd3, 0xc1, 0x40, 0xa8, 0xe1, 0x10, 0xac}} > + gEdkiiSystemFmpCapsuleConfigFileGuid= {0x812136d3, 0x4d3a, 0x433a, > {0x94, 0x18, 0x29, 0xbb, 0x9b, 0xf7, 0x8f, 0x6e}} > + gEdkiiSystemFmpCapsuleDriverFvFileGuid = {0xce57b167, 0xb0e4, > 0x41e8, {0xa8, 0x97, 0x5f, 0x4f, 0xeb, 0x78, 0x1d, 0x40}} > + > [Ppis] >## Include/Ppi/AtaController.h >gPeiAtaControllerPpiGuid = { 0xa45e60d1, 0xc719, 0x44aa, { 0xb0, > 0x7a, > 0xaa, 0x77, 0x7f, 0x85, 0x90, 0x6d }} > @@ -1130,6 +1151,52 @@ ># @Prompt MAX repair count > > gEfiMdeModulePkgTokenSpaceGuid.PcdMaxRepairCount|0x00|UINT32|0x000 > 10076 > > + ## Status Code for Capsule subclass definitions. # > + EFI_SOFTWARE_CAPSULE = (EFI_SOFTWARE | 0x0015) = > 0x0315 > + # @Prompt Status Code for Capsule subclass definitions # @ValidList > + 0x8003 | 0x0315 > + > + > gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeSubClassCapsule|0x031500 > 00 > + |UINT32|0x0100 > + > + ## Status Code for Capsule definitions. # > + EFI_CAPSULE_PROCESS_CAPSULES_BEGIN = (EFI_SUBCLASS_SPECIFIC | > + 0x0001) = 0x00010001 # @Prompt Status Code for Caps
[edk2] [PATCH V2 07/50] MdeModulePkg/MdeModulePkg.dec: Add capsule related definition.
1) Add capsule related GUID. EdkiiSystemFmpCapsule 2) Add capsule related library. EdkiiSystemCapsuleLib FmpAuthenticationLib IniParsingLib PlatformFlashAccessLib.c 3) Add capsule related status code PCD. PcdStatusCodeSubClassCapsule PcdCapsuleStatusCodeProcessCapsulesBegin PcdCapsuleStatusCodeProcessCapsulesEnd PcdCapsuleStatusCodeUpdatingFirmware PcdCapsuleStatusCodeUpdateFirmwareSuccess PcdCapsuleStatusCodeUpdateFirmwareFailed PcdCapsuleStatusCodeResettingSystem 4) Add capsule status variable PCD - CapsuleMax value. PcdCapsuleMax 5) Add EDKII system capsule related DynamicEx PCD PcdEdkiiSystemFmpCapsuleMonotonicCount PcdEdkiiSystemFirmwareImageDescriptor PcdEdkiiSystemFirmwareFileGuid PcdEdkiiSystemFmpCapsuleImageTypeIdGuid NOTE: We use DynamicEx here because the update driver may be in the capsule FMP, instead of system firmware. The update driver MUST use the PCD info produced system firmware. Cc: Feng TianCc: Star Zeng Cc: Michael D Kinney Cc: Liming Gao Cc: Chao Zhang Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jiewen Yao Reviewed-by: Liming Gao --- MdeModulePkg/MdeModulePkg.dec | 106 1 file changed, 106 insertions(+) diff --git a/MdeModulePkg/MdeModulePkg.dec b/MdeModulePkg/MdeModulePkg.dec index 8d90f16..ab23af7 100644 --- a/MdeModulePkg/MdeModulePkg.dec +++ b/MdeModulePkg/MdeModulePkg.dec @@ -157,6 +157,22 @@ # MemoryProfileLib|Include/Library/MemoryProfileLib.h + ## @libraryclass Provides services to authenticate a UEFI defined FMP Capsule. + # + FmpAuthenticationLib|Include/Library/FmpAuthenticationLib.h + + ## @libraryclass Provides services for EDKII system FMP capsule. + # + EdkiiSystemCapsuleLib|Include/Library/EdkiiSystemCapsuleLib.h + + ## @libraryclass Provides services to parse the INI configuration file. + # + IniParsingLib|Include/Library/IniParsingLib.h + + ## @libraryclass Provides services to access flash device. + # + PlatformFlashAccessLib|Include/Library/PlatformFlashAccessLib.h + [Guids] ## MdeModule package token space guid # Include/Guid/MdeModulePkgTokenSpace.h @@ -355,6 +371,11 @@ ## Include/Guid/PiSmmCommunicationRegionTable.h gEdkiiPiSmmCommunicationRegionTableGuid = { 0x4e28ca50, 0xd582, 0x44ac, {0xa1, 0x1f, 0xe3, 0xd5, 0x65, 0x26, 0xdb, 0x34}} + ## Include/Guid/EdkiiSystemFmpCapsule.h + gEdkiiSystemFirmwareImageDescriptorFileGuid = {0x90b2b846, 0xca6d, 0x4d6e, {0xa8, 0xd3, 0xc1, 0x40, 0xa8, 0xe1, 0x10, 0xac}} + gEdkiiSystemFmpCapsuleConfigFileGuid= {0x812136d3, 0x4d3a, 0x433a, {0x94, 0x18, 0x29, 0xbb, 0x9b, 0xf7, 0x8f, 0x6e}} + gEdkiiSystemFmpCapsuleDriverFvFileGuid = {0xce57b167, 0xb0e4, 0x41e8, {0xa8, 0x97, 0x5f, 0x4f, 0xeb, 0x78, 0x1d, 0x40}} + [Ppis] ## Include/Ppi/AtaController.h gPeiAtaControllerPpiGuid = { 0xa45e60d1, 0xc719, 0x44aa, { 0xb0, 0x7a, 0xaa, 0x77, 0x7f, 0x85, 0x90, 0x6d }} @@ -1130,6 +1151,52 @@ # @Prompt MAX repair count gEfiMdeModulePkgTokenSpaceGuid.PcdMaxRepairCount|0x00|UINT32|0x00010076 + ## Status Code for Capsule subclass definitions. + # EFI_SOFTWARE_CAPSULE = (EFI_SOFTWARE | 0x0015) = 0x0315 + # @Prompt Status Code for Capsule subclass definitions + # @ValidList 0x8003 | 0x0315 + gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeSubClassCapsule|0x0315|UINT32|0x0100 + + ## Status Code for Capsule definitions. + # EFI_CAPSULE_PROCESS_CAPSULES_BEGIN = (EFI_SUBCLASS_SPECIFIC | 0x0001) = 0x00010001 + # @Prompt Status Code for Capsule definitions + # @ValidList 0x8003 | 0x00010001 + gEfiMdeModulePkgTokenSpaceGuid.PcdCapsuleStatusCodeProcessCapsulesBegin|0x00010001|UINT32|0x0101 + + ## Status Code for Capsule definitions. + # EFI_CAPSULE_PROCESS_CAPSULES_END= (EFI_SUBCLASS_SPECIFIC | 0x0002) = 0x00010002 + # @Prompt Status Code for Capsule definitions + # @ValidList 0x8003 | 0x00010002 + gEfiMdeModulePkgTokenSpaceGuid.PcdCapsuleStatusCodeProcessCapsulesEnd|0x00010002|UINT32|0x0102 + + ## Status Code for Capsule definitions. + # EFI_CAPSULE_UPDATING_FIRMWARE = (EFI_SUBCLASS_SPECIFIC | 0x0003) = 0x00010003 + # @Prompt Status Code for Capsule definitions + # @ValidList 0x8003 | 0x00010003 + gEfiMdeModulePkgTokenSpaceGuid.PcdCapsuleStatusCodeUpdatingFirmware|0x00010003|UINT32|0x0103 + + ## Status Code for Capsule definitions. + # EFI_CAPSULE_UPDATE_FIRMWARE_SUCCESS = (EFI_SUBCLASS_SPECIFIC | 0x0004) = 0x00010004 + # @Prompt Status Code for Capsule definitions + # @ValidList 0x8003 | 0x00010004 + gEfiMdeModulePkgTokenSpaceGuid.PcdCapsuleStatusCodeUpdateFirmwareSuccess|0x00010004|UINT32|0x0104 + + ## Status Code for Capsule definitions. + # EFI_CAPSULE_UPDATE_FIRMWARE_FAILED