Re: [edk2] [PATCH V2 07/50] MdeModulePkg/MdeModulePkg.dec: Add capsule related definition.

2016-10-11 Thread Sean Brogan
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.

2016-09-30 Thread Jiewen Yao
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 
Cc: 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