]> git.proxmox.com Git - mirror_edk2.git/commitdiff
Vlv2TbltDevicePkg/dsc/fdf: Add capsule/recovery support.
authorJiewen Yao <jiewen.yao@intel.com>
Wed, 21 Sep 2016 03:51:21 +0000 (11:51 +0800)
committerJiewen Yao <jiewen.yao@intel.com>
Tue, 8 Nov 2016 14:49:51 +0000 (22:49 +0800)
Add capsule and recovery support module in platform dsc and fdf.

Cc: David Wei <david.wei@intel.com>
Cc: Feng Tian <feng.tian@intel.com>
Cc: Star Zeng <star.zeng@intel.com>
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Cc: Chao Zhang <chao.b.zhang@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jiewen Yao <jiewen.yao@intel.com>
Reviewed-by: David Wei <david.wei@intel.com>
Vlv2TbltDevicePkg/PlatformPkg.fdf
Vlv2TbltDevicePkg/PlatformPkgConfig.dsc
Vlv2TbltDevicePkg/PlatformPkgGcc.fdf
Vlv2TbltDevicePkg/PlatformPkgGccX64.dsc
Vlv2TbltDevicePkg/PlatformPkgIA32.dsc
Vlv2TbltDevicePkg/PlatformPkgX64.dsc

index 93b4d2da49823c5615d424461642f43a154a0295..907c6bdf4fbaf3bdf353f014da068b1399da507e 100644 (file)
@@ -82,6 +82,9 @@ NumBlocks     = $(FLASH_NUM_BLOCKS)          #The number of blocks in 3Mb FLASH
 SET gPlatformModuleTokenSpaceGuid.PcdFlashAreaBaseAddress            = $(FLASH_AREA_BASE_ADDRESS)\r
 SET gPlatformModuleTokenSpaceGuid.PcdFlashAreaSize                   = $(FLASH_AREA_SIZE)\r
 \r
+SET gUefiCpuPkgTokenSpaceGuid.PcdCpuMicrocodePatchAddress = $(FLASH_REGION_VLVMICROCODE_BASE) + 0x60\r
+SET gUefiCpuPkgTokenSpaceGuid.PcdCpuMicrocodePatchRegionSize = $(FLASH_REGION_VLVMICROCODE_SIZE) - 0x60\r
+\r
 !if $(MINNOW2_FSP_BUILD) == TRUE\r
 # put below PCD value setting into dsc file\r
 #SET gFspWrapperTokenSpaceGuid.PcdCpuMicrocodePatchAddress                = $(FLASH_REGION_VLVMICROCODE_BASE)\r
@@ -242,6 +245,34 @@ FILE RAW = 197DB236-F856-4924-90F8-CDF12FB875F3 {
   $(OUTPUT_DIRECTORY)\$(TARGET)_$(TOOL_CHAIN_TAG)\$(DXE_ARCHITECTURE)\MicrocodeUpdates.bin\r
 }\r
 \r
+!if $(RECOVERY_ENABLE)\r
+[FV.FVRECOVERY_COMPONENTS]\r
+FvAlignment        = 16         #FV alignment and FV attributes setting.\r
+ERASE_POLARITY     = 1\r
+MEMORY_MAPPED      = TRUE\r
+STICKY_WRITE       = TRUE\r
+LOCK_CAP           = TRUE\r
+LOCK_STATUS        = TRUE\r
+WRITE_DISABLED_CAP = TRUE\r
+WRITE_ENABLED_CAP  = TRUE\r
+WRITE_STATUS       = TRUE\r
+WRITE_LOCK_CAP     = TRUE\r
+WRITE_LOCK_STATUS  = TRUE\r
+READ_DISABLED_CAP  = TRUE\r
+READ_ENABLED_CAP   = TRUE\r
+READ_STATUS        = TRUE\r
+READ_LOCK_CAP      = TRUE\r
+READ_LOCK_STATUS   = TRUE\r
+\r
+INF  RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/PchUsb.inf\r
+INF  MdeModulePkg/Bus/Pci/EhciPei/EhciPei.inf\r
+INF  MdeModulePkg/Bus/Usb/UsbBusPei/UsbBusPei.inf\r
+INF  MdeModulePkg/Bus/Usb/UsbBotPei/UsbBotPei.inf\r
+INF  FatPkg/FatPei/FatPei.inf\r
+INF  MdeModulePkg/Universal/Disk/CdExpressPei/CdExpressPei.inf\r
+INF  SignedCapsulePkg/Universal/RecoveryModuleLoadPei/RecoveryModuleLoadPei.inf\r
+!endif\r
+\r
 ################################################################################\r
 #\r
 # FV Section\r
@@ -306,6 +337,15 @@ INF MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf
 INF MdeModulePkg/Universal/ReportStatusCodeRouter/Pei/ReportStatusCodeRouterPei.inf\r
 !endif\r
 \r
+!if $(RECOVERY_ENABLE)\r
+FILE FV_IMAGE = 1E9D7604-EF45-46a0-BD8A-71AC78C17AC1 {\r
+  SECTION PEI_DEPEX_EXP = {gEfiPeiMemoryDiscoveredPpiGuid AND gEfiPeiBootInRecoveryModePpiGuid}\r
+  SECTION GUIDED EE4E5898-3914-4259-9D6E-DC7BD79403CF {    # LZMA COMPRESS GUID\r
+    SECTION FV_IMAGE = FVRECOVERY_COMPONENTS\r
+  }\r
+}\r
+!endif\r
+\r
 [FV.FVRECOVERY]\r
 BlockSize          = $(FLASH_BLOCK_SIZE)\r
 FvAlignment        = 16         #FV alignment and FV attributes setting.\r
@@ -373,6 +413,11 @@ INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET
 \r
 INF MdeModulePkg/Universal/PCD/Pei/Pcd.inf\r
 \r
+!if $(CAPSULE_ENABLE) || $(RECOVERY_ENABLE)\r
+  # FMP image decriptor\r
+INF RuleOverride = FMP_IMAGE_DESC Vlv2TbltDevicePkg/Feature/Capsule/SystemFirmwareDescriptor/SystemFirmwareDescriptor.inf\r
+!endif\r
+\r
 [FV.FVMAIN]\r
 BlockSize          = $(FLASH_BLOCK_SIZE)\r
 FvAlignment        = 16\r
@@ -717,6 +762,30 @@ FILE FREEFORM = 878AC2CC-5343-46F2-B563-51F89DAF56BA {
   !endif\r
 !endif\r
 \r
+!if $(CAPSULE_ENABLE) || $(MICOCODE_CAPSULE_ENABLE)\r
+INF  MdeModulePkg/Universal/EsrtDxe/EsrtDxe.inf\r
+!endif\r
+!if $(CAPSULE_ENABLE)\r
+INF  SignedCapsulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareReportDxe.inf\r
+!endif\r
+!if $(MICOCODE_CAPSULE_ENABLE)\r
+INF  UefiCpuPkg/Feature/Capsule/MicrocodeUpdateDxe/MicrocodeUpdateDxe.inf\r
+!endif\r
+\r
+!if $(RECOVERY_ENABLE)\r
+FILE FREEFORM = PCD(gEfiSignedCapsulePkgTokenSpaceGuid.PcdEdkiiRsa2048Sha256TestPublicKeyFileGuid) {\r
+     SECTION RAW = BaseTools/Source/Python/Rsa2048Sha256Sign/TestSigningPublicKey.bin\r
+     SECTION UI = "Rsa2048Sha256TestSigningPublicKey"\r
+     }\r
+!endif\r
+\r
+!if $(CAPSULE_ENABLE)\r
+FILE FREEFORM = PCD(gEfiSignedCapsulePkgTokenSpaceGuid.PcdEdkiiPkcs7TestPublicKeyFileGuid) {\r
+     SECTION RAW = BaseTools/Source/Python/Pkcs7Sign/TestRoot.cer\r
+     SECTION UI = "Pkcs7TestRoot"\r
+     }\r
+!endif\r
+\r
 [FV.FVMAIN_COMPACT]\r
 BlockSize          = $(FLASH_BLOCK_SIZE)\r
 FvAlignment        = 16\r
@@ -780,52 +849,8 @@ READ_LOCK_CAP      = TRUE
 READ_LOCK_STATUS   = TRUE\r
 \r
 \r
-[FV.Update_Data]\r
-BlockSize          = $(FLASH_BLOCK_SIZE)\r
-FvAlignment        = 16\r
-ERASE_POLARITY     = 1\r
-MEMORY_MAPPED      = TRUE\r
-STICKY_WRITE       = TRUE\r
-LOCK_CAP           = TRUE\r
-LOCK_STATUS        = TRUE\r
-WRITE_DISABLED_CAP = TRUE\r
-WRITE_ENABLED_CAP  = TRUE\r
-WRITE_STATUS       = TRUE\r
-WRITE_LOCK_CAP     = TRUE\r
-WRITE_LOCK_STATUS  = TRUE\r
-READ_DISABLED_CAP  = TRUE\r
-READ_ENABLED_CAP   = TRUE\r
-READ_STATUS        = TRUE\r
-READ_LOCK_CAP      = TRUE\r
-READ_LOCK_STATUS   = TRUE\r
-\r
-FILE RAW = 88888888-8888-8888-8888-888888888888 {\r
-       FD = Vlv\r
-     }\r
-\r
-[FV.BiosUpdateCargo]\r
-BlockSize          = $(FLASH_BLOCK_SIZE)\r
-FvAlignment        = 16\r
-ERASE_POLARITY     = 1\r
-MEMORY_MAPPED      = TRUE\r
-STICKY_WRITE       = TRUE\r
-LOCK_CAP           = TRUE\r
-LOCK_STATUS        = TRUE\r
-WRITE_DISABLED_CAP = TRUE\r
-WRITE_ENABLED_CAP  = TRUE\r
-WRITE_STATUS       = TRUE\r
-WRITE_LOCK_CAP     = TRUE\r
-WRITE_LOCK_STATUS  = TRUE\r
-READ_DISABLED_CAP  = TRUE\r
-READ_ENABLED_CAP   = TRUE\r
-READ_STATUS        = TRUE\r
-READ_LOCK_CAP      = TRUE\r
-READ_LOCK_STATUS   = TRUE\r
-\r
-\r
-\r
-[FV.BiosUpdate]\r
-BlockSize          = $(FLASH_BLOCK_SIZE)\r
+!if $(CAPSULE_ENABLE) || $(RECOVERY_ENABLE)\r
+[FV.CapsuleDispatchFv]\r
 FvAlignment        = 16\r
 ERASE_POLARITY     = 1\r
 MEMORY_MAPPED      = TRUE\r
@@ -843,27 +868,11 @@ READ_STATUS        = TRUE
 READ_LOCK_CAP      = TRUE\r
 READ_LOCK_STATUS   = TRUE\r
 \r
-[Capsule.Capsule_Boot]\r
-#\r
-# gEfiCapsuleGuid supported by platform\r
-# { 0x3B6686BD, 0x0D76, 0x4030, { 0xB7, 0x0E, 0xB5, 0x51, 0x9E, 0x2F, 0xC5, 0xA0 }}\r
-#\r
-CAPSULE_GUID  = 3B6686BD-0D76-4030-B70E-B5519E2FC5A0\r
-CAPSULE_FLAGS = PersistAcrossReset\r
-CAPSULE_HEADER_SIZE = 0x20\r
-\r
-FV = BiosUpdate\r
-\r
-[Capsule.Capsule_Reset]\r
-#\r
-# gEfiCapsuleGuid supported by platform\r
-# { 0x3B6686BD, 0x0D76, 0x4030, { 0xB7, 0x0E, 0xB5, 0x51, 0x9E, 0x2F, 0xC5, 0xA0 }}\r
-#\r
-CAPSULE_GUID  = 3B6686BD-0D76-4030-B70E-B5519E2FC5A0\r
-CAPSULE_FLAGS = PersistAcrossReset\r
-CAPSULE_HEADER_SIZE = 0x20\r
+!if $(CAPSULE_ENABLE)\r
+INF  SignedCapsulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareUpdateDxe.inf\r
+!endif\r
 \r
-FV = BiosUpdate\r
+!endif\r
 \r
 ################################################################################\r
 #\r
@@ -1089,3 +1098,11 @@ FV = BiosUpdate
     RAW ASL   Optional            |.aml\r
   }\r
 \r
+[Rule.Common.PEIM.FMP_IMAGE_DESC]\r
+  FILE PEIM = $(NAMED_GUID) {\r
+     RAW BIN                  |.acpi\r
+     PEI_DEPEX PEI_DEPEX Optional        $(INF_OUTPUT)/$(MODULE_NAME).depex\r
+     PE32      PE32    Align=4K          $(INF_OUTPUT)/$(MODULE_NAME).efi\r
+     UI       STRING="$(MODULE_NAME)" Optional\r
+     VERSION  STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
+  }\r
index db50b9322a077d085f44bd3511c0b7864c6d42ce..0932adda119722f737f609ddf4133d2daa2689ff 100644 (file)
@@ -1,7 +1,7 @@
 #/** @file\r
 # platform configuration file.\r
 #\r
-# Copyright (c) 2012  - 2015, Intel Corporation. All rights reserved.<BR>\r
+# Copyright (c) 2012  - 2016, Intel Corporation. All rights reserved.<BR>\r
 #                                                                                  \r\r
 # This program and the accompanying materials are licensed and made available under\r\r
 # the terms and conditions of the BSD License that accompanies this distribution.  \r\r
@@ -65,6 +65,8 @@ DEFINE VARIABLE_INFO_ENABLE = FALSE
 DEFINE S3_ENABLE = TRUE\r
 DEFINE CAPSULE_ENABLE = FALSE\r
 DEFINE CAPSULE_RESET_ENABLE = TRUE\r
+DEFINE RECOVERY_ENABLE = FALSE\r
+DEFINE MICOCODE_CAPSULE_ENABLE = FALSE\r
 \r
 DEFINE GOP_DRIVER_ENABLE = TRUE\r
 DEFINE DATAHUB_ENABLE = TRUE\r
index 33f203840b35434fa7612665aab3f5d5553a2d05..dccb2c928f3acf19c0d06981e59e9841e84bf646 100644 (file)
@@ -82,6 +82,9 @@ NumBlocks     = $(FLASH_NUM_BLOCKS)          #The number of blocks in 3Mb FLASH
 SET gPlatformModuleTokenSpaceGuid.PcdFlashAreaBaseAddress            = $(FLASH_AREA_BASE_ADDRESS)\r
 SET gPlatformModuleTokenSpaceGuid.PcdFlashAreaSize                   = $(FLASH_AREA_SIZE)\r
 \r
+SET gUefiCpuPkgTokenSpaceGuid.PcdCpuMicrocodePatchAddress = $(FLASH_REGION_VLVMICROCODE_BASE) + 0x60\r
+SET gUefiCpuPkgTokenSpaceGuid.PcdCpuMicrocodePatchRegionSize = $(FLASH_REGION_VLVMICROCODE_SIZE) - 0x60\r
+\r
 !if $(MINNOW2_FSP_BUILD) == TRUE\r
 # put below PCD value setting into dsc file\r
 #SET gFspWrapperTokenSpaceGuid.PcdCpuMicrocodePatchAddress                = $(FLASH_REGION_VLVMICROCODE_BASE)\r
@@ -199,6 +202,34 @@ FILE RAW = 197DB236-F856-4924-90F8-CDF12FB875F3 {
   $(OUTPUT_DIRECTORY)/$(TARGET)_$(TOOL_CHAIN_TAG)/$(DXE_ARCHITECTURE)/MicrocodeUpdates.bin\r
 }\r
 \r
+!if $(RECOVERY_ENABLE)\r
+[FV.FVRECOVERY_COMPONENTS]\r
+FvAlignment        = 16         #FV alignment and FV attributes setting.\r
+ERASE_POLARITY     = 1\r
+MEMORY_MAPPED      = TRUE\r
+STICKY_WRITE       = TRUE\r
+LOCK_CAP           = TRUE\r
+LOCK_STATUS        = TRUE\r
+WRITE_DISABLED_CAP = TRUE\r
+WRITE_ENABLED_CAP  = TRUE\r
+WRITE_STATUS       = TRUE\r
+WRITE_LOCK_CAP     = TRUE\r
+WRITE_LOCK_STATUS  = TRUE\r
+READ_DISABLED_CAP  = TRUE\r
+READ_ENABLED_CAP   = TRUE\r
+READ_STATUS        = TRUE\r
+READ_LOCK_CAP      = TRUE\r
+READ_LOCK_STATUS   = TRUE\r
+\r
+INF  RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/PchUsb.inf\r
+INF  MdeModulePkg/Bus/Pci/EhciPei/EhciPei.inf\r
+INF  MdeModulePkg/Bus/Usb/UsbBusPei/UsbBusPei.inf\r
+INF  MdeModulePkg/Bus/Usb/UsbBotPei/UsbBotPei.inf\r
+INF  FatPkg/FatPei/FatPei.inf\r
+INF  MdeModulePkg/Universal/Disk/CdExpressPei/CdExpressPei.inf\r
+INF  SignedCapsulePkg/Universal/RecoveryModuleLoadPei/RecoveryModuleLoadPei.inf\r
+!endif\r
+\r
 ################################################################################\r
 #\r
 # FV Section\r
@@ -263,6 +294,15 @@ INF MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf
 INF MdeModulePkg/Universal/ReportStatusCodeRouter/Pei/ReportStatusCodeRouterPei.inf\r
 !endif\r
 \r
+!if $(RECOVERY_ENABLE)\r
+FILE FV_IMAGE = 1E9D7604-EF45-46a0-BD8A-71AC78C17AC1 {\r
+  SECTION PEI_DEPEX_EXP = {gEfiPeiMemoryDiscoveredPpiGuid AND gEfiPeiBootInRecoveryModePpiGuid}\r
+  SECTION GUIDED EE4E5898-3914-4259-9D6E-DC7BD79403CF {    # LZMA COMPRESS GUID\r
+    SECTION FV_IMAGE = FVRECOVERY_COMPONENTS\r
+  }\r
+}\r
+!endif\r
+\r
 [FV.FVRECOVERY]\r
 BlockSize          = $(FLASH_BLOCK_SIZE)\r
 FvAlignment        = 16         #FV alignment and FV attributes setting.\r
@@ -330,6 +370,11 @@ INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET
 \r
 INF MdeModulePkg/Universal/PCD/Pei/Pcd.inf\r
 \r
+!if $(CAPSULE_ENABLE) || $(RECOVERY_ENABLE)\r
+  # FMP image decriptor\r
+INF RuleOverride = FMP_IMAGE_DESC Vlv2TbltDevicePkg/Feature/Capsule/SystemFirmwareDescriptor/SystemFirmwareDescriptor.inf\r
+!endif\r
+\r
 [FV.FVMAIN]\r
 BlockSize          = $(FLASH_BLOCK_SIZE)\r
 FvAlignment        = 16\r
@@ -674,6 +719,30 @@ FILE FREEFORM = 878AC2CC-5343-46F2-B563-51F89DAF56BA {
   !endif\r
 !endif\r
 \r
+!if $(CAPSULE_ENABLE) || $(MICOCODE_CAPSULE_ENABLE)\r
+INF  MdeModulePkg/Universal/EsrtDxe/EsrtDxe.inf\r
+!endif\r
+!if $(CAPSULE_ENABLE)\r
+INF  SignedCapsulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareReportDxe.inf\r
+!endif\r
+!if $(MICOCODE_CAPSULE_ENABLE)\r
+INF  UefiCpuPkg/Feature/Capsule/MicrocodeUpdateDxe/MicrocodeUpdateDxe.inf\r
+!endif\r
+\r
+!if $(RECOVERY_ENABLE)\r
+FILE FREEFORM = PCD(gEfiSignedCapsulePkgTokenSpaceGuid.PcdEdkiiRsa2048Sha256TestPublicKeyFileGuid) {\r
+     SECTION RAW = BaseTools/Source/Python/Rsa2048Sha256Sign/TestSigningPublicKey.bin\r
+     SECTION UI = "Rsa2048Sha256TestSigningPublicKey"\r
+     }\r
+!endif\r
+     \r
+!if $(CAPSULE_ENABLE)\r
+FILE FREEFORM = PCD(gEfiSignedCapsulePkgTokenSpaceGuid.PcdEdkiiPkcs7TestPublicKeyFileGuid) {\r
+     SECTION RAW = BaseTools/Source/Python/Pkcs7Sign/TestRoot.cer\r
+     SECTION UI = "Pkcs7TestRoot"\r
+     }\r
+!endif\r
+\r
 [FV.FVMAIN_COMPACT]\r
 BlockSize          = $(FLASH_BLOCK_SIZE)\r
 FvAlignment        = 16\r
@@ -737,52 +806,8 @@ READ_LOCK_CAP      = TRUE
 READ_LOCK_STATUS   = TRUE\r
 \r
 \r
-[FV.Update_Data]\r
-BlockSize          = $(FLASH_BLOCK_SIZE)\r
-FvAlignment        = 16\r
-ERASE_POLARITY     = 1\r
-MEMORY_MAPPED      = TRUE\r
-STICKY_WRITE       = TRUE\r
-LOCK_CAP           = TRUE\r
-LOCK_STATUS        = TRUE\r
-WRITE_DISABLED_CAP = TRUE\r
-WRITE_ENABLED_CAP  = TRUE\r
-WRITE_STATUS       = TRUE\r
-WRITE_LOCK_CAP     = TRUE\r
-WRITE_LOCK_STATUS  = TRUE\r
-READ_DISABLED_CAP  = TRUE\r
-READ_ENABLED_CAP   = TRUE\r
-READ_STATUS        = TRUE\r
-READ_LOCK_CAP      = TRUE\r
-READ_LOCK_STATUS   = TRUE\r
-\r
-FILE RAW = 88888888-8888-8888-8888-888888888888 {\r
-       FD = Vlv\r
-     }\r
-\r
-[FV.BiosUpdateCargo]\r
-BlockSize          = $(FLASH_BLOCK_SIZE)\r
-FvAlignment        = 16\r
-ERASE_POLARITY     = 1\r
-MEMORY_MAPPED      = TRUE\r
-STICKY_WRITE       = TRUE\r
-LOCK_CAP           = TRUE\r
-LOCK_STATUS        = TRUE\r
-WRITE_DISABLED_CAP = TRUE\r
-WRITE_ENABLED_CAP  = TRUE\r
-WRITE_STATUS       = TRUE\r
-WRITE_LOCK_CAP     = TRUE\r
-WRITE_LOCK_STATUS  = TRUE\r
-READ_DISABLED_CAP  = TRUE\r
-READ_ENABLED_CAP   = TRUE\r
-READ_STATUS        = TRUE\r
-READ_LOCK_CAP      = TRUE\r
-READ_LOCK_STATUS   = TRUE\r
-\r
-\r
-\r
-[FV.BiosUpdate]\r
-BlockSize          = $(FLASH_BLOCK_SIZE)\r
+!if $(CAPSULE_ENABLE) || $(RECOVERY_ENABLE)\r
+[FV.CapsuleDispatchFv]\r
 FvAlignment        = 16\r
 ERASE_POLARITY     = 1\r
 MEMORY_MAPPED      = TRUE\r
@@ -800,27 +825,11 @@ READ_STATUS        = TRUE
 READ_LOCK_CAP      = TRUE\r
 READ_LOCK_STATUS   = TRUE\r
 \r
-[Capsule.Capsule_Boot]\r
-#\r
-# gEfiCapsuleGuid supported by platform\r
-# { 0x3B6686BD, 0x0D76, 0x4030, { 0xB7, 0x0E, 0xB5, 0x51, 0x9E, 0x2F, 0xC5, 0xA0 }}\r
-#\r
-CAPSULE_GUID  = 3B6686BD-0D76-4030-B70E-B5519E2FC5A0\r
-CAPSULE_FLAGS = PersistAcrossReset\r
-CAPSULE_HEADER_SIZE = 0x20\r
-\r
-FV = BiosUpdate\r
-\r
-[Capsule.Capsule_Reset]\r
-#\r
-# gEfiCapsuleGuid supported by platform\r
-# { 0x3B6686BD, 0x0D76, 0x4030, { 0xB7, 0x0E, 0xB5, 0x51, 0x9E, 0x2F, 0xC5, 0xA0 }}\r
-#\r
-CAPSULE_GUID  = 3B6686BD-0D76-4030-B70E-B5519E2FC5A0\r
-CAPSULE_FLAGS = PersistAcrossReset\r
-CAPSULE_HEADER_SIZE = 0x20\r
+!if $(CAPSULE_ENABLE)\r
+INF  SignedCapsulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareUpdateDxe.inf\r
+!endif\r
 \r
-FV = BiosUpdate\r
+!endif\r
 \r
 ################################################################################\r
 #\r
@@ -1050,3 +1059,12 @@ FV = BiosUpdate
     RAW ASL   Optional            |.aml\r
   }\r
 \r
+[Rule.Common.PEIM.FMP_IMAGE_DESC]\r
+  FILE PEIM = $(NAMED_GUID) {\r
+     RAW BIN                  |.acpi\r
+     PEI_DEPEX PEI_DEPEX Optional        $(INF_OUTPUT)/$(MODULE_NAME).depex\r
+     PE32      PE32    Align=4K          $(INF_OUTPUT)/$(MODULE_NAME).efi\r
+     UI       STRING="$(MODULE_NAME)" Optional\r
+     VERSION  STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
+  }\r
+\r
index 7125366681cd6d05ddd2ddb9d201eb9981d2ab1a..c3dc25fc9c82f85e50d61a8de045141dfbad3109 100644 (file)
 \r
   OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf\r
 !if $(CAPSULE_ENABLE) == TRUE\r
CapsuleLib|IntelFrameworkModulePkg/Library/DxeCapsuleLib/DxeCapsuleLib.inf\r
 CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibFmp/DxeCapsuleLib.inf\r
 !else\r
   CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf\r
 !endif\r
+  EdkiiSystemCapsuleLib|SignedCapsulePkg/Library/EdkiiSystemCapsuleLib/EdkiiSystemCapsuleLib.inf\r
+  FmpAuthenticationLib|MdeModulePkg/Library/FmpAuthenticationLibNull/FmpAuthenticationLibNull.inf\r
+  IniParsingLib|SignedCapsulePkg/Library/IniParsingLib/IniParsingLib.inf\r
+  PlatformFlashAccessLib|Vlv2TbltDevicePkg/Feature/Capsule/Library/PlatformFlashAccessLib/PlatformFlashAccessLib.inf\r
+  MicrocodeFlashAccessLib|Vlv2TbltDevicePkg/Feature/Capsule/Library/PlatformFlashAccessLib/PlatformFlashAccessLib.inf\r
   LanguageLib|EdkCompatibilityPkg/Compatibility/Library/UefiLanguageLib/UefiLanguageLib.inf\r
   SynchronizationLib|MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf\r
   SecurityManagementLib|MdeModulePkg/Library/DxeSecurityManagementLib/DxeSecurityManagementLib.inf\r
   DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/DxeDebugAgentLib.inf\r
 !endif\r
 \r
+  FlashDeviceLib|$(PLATFORM_PACKAGE)/Library/FlashDeviceLib/FlashDeviceLibDxe.inf\r
+\r
 [LibraryClasses.X64.DXE_CORE]\r
   HobLib|MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.inf\r
   MemoryAllocationLib|MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeCoreMemoryAllocationLib.inf\r
   DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/DxeDebugAgentLib.inf\r
 !endif\r
 \r
+!if $(CAPSULE_ENABLE)\r
+  CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibFmp/DxeRuntimeCapsuleLib.inf\r
+!endif\r
+\r
 [LibraryClasses.common.UEFI_DRIVER]\r
   PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
 \r
   gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x07\r
 !endif\r
 \r
+!if $(RECOVERY_ENABLE)\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdRecoveryFileName|L"VLV2REC.Cap"\r
+!endif\r
+\r
 [PcdsPatchableInModule.common]\r
   gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x803805c6\r
   gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0x$(PLATFORM_PCIEXPRESS_BASE)\r
   gEfiVLVTokenSpaceGuid.PcdCpuSmramCpuDataAddress|0\r
   gEfiVLVTokenSpaceGuid.PcdCpuLockBoxSize|0\r
 \r
+!if $(CAPSULE_ENABLE) || $(RECOVERY_ENABLE)\r
+  gEfiSignedCapsulePkgTokenSpaceGuid.PcdEdkiiSystemFirmwareImageDescriptor|{0x0}|VOID*|0x100\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdSystemFmpCapsuleImageTypeIdGuid|{0x7b, 0x26, 0x96, 0x40, 0x0a, 0xda, 0xeb, 0x42, 0xb5, 0xeb, 0xfe, 0xf3, 0x1d, 0x20, 0x7c, 0xb4}\r
+  gEfiSignedCapsulePkgTokenSpaceGuid.PcdEdkiiSystemFirmwareFileGuid|{0xb2, 0x9e, 0x9c, 0xaf, 0xad, 0x12, 0x3e, 0x4d, 0xa4, 0xd4, 0x96, 0xf6, 0xc9, 0x96, 0x62, 0x15}\r
+!endif\r
+\r
 [Components.IA32]\r
 \r
   $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/SecCore.inf\r
   }\r
   !endif\r
 \r
+!if $(CAPSULE_ENABLE) || $(RECOVERY_ENABLE)\r
+  # FMP image decriptor\r
+  Vlv2TbltDevicePkg/Feature/Capsule/SystemFirmwareDescriptor/SystemFirmwareDescriptor.inf {\r
+    <LibraryClasses>\r
+      PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf\r
+  }\r
+!endif\r
+\r
   MdeModulePkg/Core/Pei/PeiMain.inf {\r
 !if $(TARGET) == DEBUG\r
     <PcdsFixedAtBuild>\r
@@ -1011,6 +1040,24 @@ $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/fTPMInitPeim.inf
   $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/MpS3.inf\r
   EdkCompatibilityPkg/Compatibility/AcpiVariableHobOnSmramReserveHobThunk/AcpiVariableHobOnSmramReserveHobThunk.inf\r
   $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/PiSmmCommunicationPei.inf\r
+\r
+!if $(RECOVERY_ENABLE)\r
+  #\r
+  # Recovery\r
+  #\r
+  $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/PchUsb.inf\r
+  MdeModulePkg/Bus/Pci/EhciPei/EhciPei.inf\r
+  MdeModulePkg/Bus/Usb/UsbBusPei/UsbBusPei.inf\r
+  MdeModulePkg/Bus/Usb/UsbBotPei/UsbBotPei.inf\r
+  FatPkg/FatPei/FatPei.inf\r
+  MdeModulePkg/Universal/Disk/CdExpressPei/CdExpressPei.inf\r
+  SignedCapsulePkg/Universal/RecoveryModuleLoadPei/RecoveryModuleLoadPei.inf {\r
+    <LibraryClasses>\r
+      FmpAuthenticationLib|SecurityPkg/Library/FmpAuthenticationLibRsa2048Sha256/FmpAuthenticationLibRsa2048Sha256.inf\r
+      PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf\r
+  }\r
+!endif\r
+\r
 !if $(CAPSULE_ENABLE) == TRUE\r
   MdeModulePkg/Universal/CapsulePei/CapsulePei.inf\r
 !endif\r
@@ -1146,6 +1193,11 @@ $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/fTPMInitPeim.inf
       DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf\r
       PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf\r
       SerialPortLib|$(PLATFORM_PACKAGE)/Library/SerialPortLib/SerialPortLib.inf\r
+!if $(CAPSULE_ENABLE)\r
+      FmpAuthenticationLib|SecurityPkg/Library/FmpAuthenticationLibPkcs7/FmpAuthenticationLibPkcs7.inf\r
+!else\r
+      FmpAuthenticationLib|MdeModulePkg/Library/FmpAuthenticationLibNull/FmpAuthenticationLibNull.inf\r
+!endif\r
     !if $(FTPM_ENABLE) == TRUE\r
       Tpm2DeviceLib|Vlv2TbltDevicePkg/Library/Tpm2DeviceLibSeCDxe/Tpm2DeviceLibSeC.inf\r
     !else\r
@@ -1518,6 +1570,37 @@ $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/fTPMInitPeim.inf
 \r
   Vlv2TbltDevicePkg/Application/FirmwareUpdate/FirmwareUpdate.inf\r
 \r
+!if $(CAPSULE_ENABLE) || $(MICOCODE_CAPSULE_ENABLE)\r
+  MdeModulePkg/Universal/EsrtDxe/EsrtDxe.inf\r
+  MdeModulePkg/Application/CapsuleApp/CapsuleApp.inf\r
+!endif\r
+\r
+!if $(CAPSULE_ENABLE)\r
+  SignedCapsulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareReportDxe.inf {\r
+    <LibraryClasses>\r
+      DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf\r
+      PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf\r
+      SerialPortLib|$(PLATFORM_PACKAGE)/Library/SerialPortLib/SerialPortLib.inf\r
+      FmpAuthenticationLib|SecurityPkg/Library/FmpAuthenticationLibPkcs7/FmpAuthenticationLibPkcs7.inf\r
+  }\r
+  SignedCapsulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareUpdateDxe.inf {\r
+    <LibraryClasses>\r
+      DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf\r
+      PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf\r
+      SerialPortLib|$(PLATFORM_PACKAGE)/Library/SerialPortLib/SerialPortLib.inf\r
+      FmpAuthenticationLib|SecurityPkg/Library/FmpAuthenticationLibPkcs7/FmpAuthenticationLibPkcs7.inf\r
+  }\r
+!endif\r
+\r
+!if $(MICOCODE_CAPSULE_ENABLE)\r
+  UefiCpuPkg/Feature/Capsule/MicrocodeUpdateDxe/MicrocodeUpdateDxe.inf {\r
+    <LibraryClasses>\r
+      DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf\r
+      PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf\r
+      SerialPortLib|$(PLATFORM_PACKAGE)/Library/SerialPortLib/SerialPortLib.inf\r
+  }\r
+!endif\r
+\r
 [BuildOptions]\r
 #\r
 # Define Build Options both for EDK and EDKII drivers.\r
index 6efaf32df25661ee91825590f6edf6e3928a0592..6d8815416d9d3016236171879ca283c5712a950e 100644 (file)
 \r
   OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf\r
 !if $(CAPSULE_ENABLE) == TRUE\r
CapsuleLib|IntelFrameworkModulePkg/Library/DxeCapsuleLib/DxeCapsuleLib.inf\r
 CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibFmp/DxeCapsuleLib.inf\r
 !else\r
   CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf\r
 !endif\r
+  EdkiiSystemCapsuleLib|SignedCapsulePkg/Library/EdkiiSystemCapsuleLib/EdkiiSystemCapsuleLib.inf\r
+  FmpAuthenticationLib|MdeModulePkg/Library/FmpAuthenticationLibNull/FmpAuthenticationLibNull.inf\r
+  IniParsingLib|SignedCapsulePkg/Library/IniParsingLib/IniParsingLib.inf\r
+  PlatformFlashAccessLib|Vlv2TbltDevicePkg/Feature/Capsule/Library/PlatformFlashAccessLib/PlatformFlashAccessLib.inf\r
+  MicrocodeFlashAccessLib|Vlv2TbltDevicePkg/Feature/Capsule/Library/PlatformFlashAccessLib/PlatformFlashAccessLib.inf\r
   LanguageLib|EdkCompatibilityPkg/Compatibility/Library/UefiLanguageLib/UefiLanguageLib.inf\r
   SynchronizationLib|MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf\r
   SecurityManagementLib|MdeModulePkg/Library/DxeSecurityManagementLib/DxeSecurityManagementLib.inf\r
   DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/DxeDebugAgentLib.inf\r
 !endif\r
 \r
+  FlashDeviceLib|$(PLATFORM_PACKAGE)/Library/FlashDeviceLib/FlashDeviceLibDxe.inf\r
+\r
 [LibraryClasses.IA32.DXE_CORE]\r
   HobLib|MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.inf\r
   MemoryAllocationLib|MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeCoreMemoryAllocationLib.inf\r
   DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/DxeDebugAgentLib.inf\r
 !endif\r
 \r
+!if $(CAPSULE_ENABLE) == TRUE\r
+  CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibFmp/DxeRuntimeCapsuleLib.inf\r
+!endif\r
+\r
 [LibraryClasses.common.UEFI_DRIVER]\r
   PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
 \r
   gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x07\r
 !endif\r
 \r
+!if $(RECOVERY_ENABLE)\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdRecoveryFileName|L"VLV2REC.Cap"\r
+!endif\r
+\r
 [PcdsPatchableInModule.common]\r
   gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x803805c6\r
   gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0x$(PLATFORM_PCIEXPRESS_BASE)\r
   gEfiVLVTokenSpaceGuid.PcdCpuSmramCpuDataAddress|0\r
   gEfiVLVTokenSpaceGuid.PcdCpuLockBoxSize|0\r
 \r
+!if $(CAPSULE_ENABLE) || $(RECOVERY_ENABLE)\r
+  gEfiSignedCapsulePkgTokenSpaceGuid.PcdEdkiiSystemFirmwareImageDescriptor|{0x0}|VOID*|0x100\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdSystemFmpCapsuleImageTypeIdGuid|{0x7b, 0x26, 0x96, 0x40, 0x0a, 0xda, 0xeb, 0x42, 0xb5, 0xeb, 0xfe, 0xf3, 0x1d, 0x20, 0x7c, 0xb4}\r
+  gEfiSignedCapsulePkgTokenSpaceGuid.PcdEdkiiSystemFirmwareFileGuid|{0xb2, 0x9e, 0x9c, 0xaf, 0xad, 0x12, 0x3e, 0x4d, 0xa4, 0xd4, 0x96, 0xf6, 0xc9, 0x96, 0x62, 0x15}\r
+!endif\r
+\r
 [Components.IA32]\r
 \r
   $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/SecCore.inf\r
   }\r
   !endif\r
 \r
+!if $(CAPSULE_ENABLE) || $(RECOVERY_ENABLE)\r
+  # FMP image decriptor\r
+  Vlv2TbltDevicePkg/Feature/Capsule/SystemFirmwareDescriptor/SystemFirmwareDescriptor.inf {\r
+    <LibraryClasses>\r
+      PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf\r
+  }\r
+!endif\r
+\r
   MdeModulePkg/Core/Pei/PeiMain.inf {\r
 !if $(TARGET) == DEBUG\r
     <PcdsFixedAtBuild>\r
@@ -1008,6 +1037,24 @@ $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/fTPMInitPeim.inf
   $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/MpS3.inf\r
   EdkCompatibilityPkg/Compatibility/AcpiVariableHobOnSmramReserveHobThunk/AcpiVariableHobOnSmramReserveHobThunk.inf\r
   $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/PiSmmCommunicationPei.inf\r
+\r
+!if $(RECOVERY_ENABLE)\r
+  #\r
+  # Recovery\r
+  #\r
+  $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/PchUsb.inf\r
+  MdeModulePkg/Bus/Pci/EhciPei/EhciPei.inf\r
+  MdeModulePkg/Bus/Usb/UsbBusPei/UsbBusPei.inf\r
+  MdeModulePkg/Bus/Usb/UsbBotPei/UsbBotPei.inf\r
+  FatPkg/FatPei/FatPei.inf\r
+  MdeModulePkg/Universal/Disk/CdExpressPei/CdExpressPei.inf\r
+  SignedCapsulePkg/Universal/RecoveryModuleLoadPei/RecoveryModuleLoadPei.inf {\r
+    <LibraryClasses>\r
+      FmpAuthenticationLib|SecurityPkg/Library/FmpAuthenticationLibRsa2048Sha256/FmpAuthenticationLibRsa2048Sha256.inf\r
+      PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf\r
+  }\r
+!endif\r
+\r
 !if $(CAPSULE_ENABLE) == TRUE\r
   MdeModulePkg/Universal/CapsulePei/CapsulePei.inf\r
 !endif\r
@@ -1133,6 +1180,11 @@ $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/fTPMInitPeim.inf
       DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf\r
       PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf\r
       SerialPortLib|$(PLATFORM_PACKAGE)/Library/SerialPortLib/SerialPortLib.inf\r
+!if $(CAPSULE_ENABLE)\r
+      FmpAuthenticationLib|SecurityPkg/Library/FmpAuthenticationLibPkcs7/FmpAuthenticationLibPkcs7.inf\r
+!else\r
+      FmpAuthenticationLib|MdeModulePkg/Library/FmpAuthenticationLibNull/FmpAuthenticationLibNull.inf\r
+!endif\r
     !if $(FTPM_ENABLE) == TRUE\r
       Tpm2DeviceLib|Vlv2TbltDevicePkg/Library/Tpm2DeviceLibSeCDxe/Tpm2DeviceLibSeC.inf\r
     !else\r
@@ -1499,6 +1551,37 @@ $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/fTPMInitPeim.inf
 \r
   Vlv2TbltDevicePkg/Application/FirmwareUpdate/FirmwareUpdate.inf\r
 \r
+!if $(CAPSULE_ENABLE) || $(MICOCODE_CAPSULE_ENABLE)\r
+  MdeModulePkg/Universal/EsrtDxe/EsrtDxe.inf\r
+  MdeModulePkg/Application/CapsuleApp/CapsuleApp.inf\r
+!endif\r
+\r
+!if $(CAPSULE_ENABLE)\r
+  SignedCapsulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareReportDxe.inf {\r
+    <LibraryClasses>\r
+      DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf\r
+      PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf\r
+      SerialPortLib|$(PLATFORM_PACKAGE)/Library/SerialPortLib/SerialPortLib.inf\r
+      FmpAuthenticationLib|SecurityPkg/Library/FmpAuthenticationLibPkcs7/FmpAuthenticationLibPkcs7.inf\r
+  }\r
+  SignedCapsulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareUpdateDxe.inf {\r
+    <LibraryClasses>\r
+      DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf\r
+      PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf\r
+      SerialPortLib|$(PLATFORM_PACKAGE)/Library/SerialPortLib/SerialPortLib.inf\r
+      FmpAuthenticationLib|SecurityPkg/Library/FmpAuthenticationLibPkcs7/FmpAuthenticationLibPkcs7.inf\r
+  }\r
+!endif\r
+\r
+!if $(MICOCODE_CAPSULE_ENABLE)\r
+  UefiCpuPkg/Feature/Capsule/MicrocodeUpdateDxe/MicrocodeUpdateDxe.inf {\r
+    <LibraryClasses>\r
+      DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf\r
+      PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf\r
+      SerialPortLib|$(PLATFORM_PACKAGE)/Library/SerialPortLib/SerialPortLib.inf\r
+  }\r
+!endif\r
+\r
 [BuildOptions]\r
 #\r
 # Define Build Options both for EDK and EDKII drivers.\r
index 6bb503d3cdd2fe1df4ffab9036bedd8fa56d6f9f..83cbb0a12a2162230daf9b5f8c585e0b169997a5 100644 (file)
 \r
   OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf\r
 !if $(CAPSULE_ENABLE) == TRUE\r
CapsuleLib|IntelFrameworkModulePkg/Library/DxeCapsuleLib/DxeCapsuleLib.inf\r
 CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibFmp/DxeCapsuleLib.inf\r
 !else\r
   CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf\r
 !endif\r
+  EdkiiSystemCapsuleLib|SignedCapsulePkg/Library/EdkiiSystemCapsuleLib/EdkiiSystemCapsuleLib.inf\r
+  FmpAuthenticationLib|MdeModulePkg/Library/FmpAuthenticationLibNull/FmpAuthenticationLibNull.inf\r
+  IniParsingLib|SignedCapsulePkg/Library/IniParsingLib/IniParsingLib.inf\r
+  PlatformFlashAccessLib|Vlv2TbltDevicePkg/Feature/Capsule/Library/PlatformFlashAccessLib/PlatformFlashAccessLib.inf\r
+  MicrocodeFlashAccessLib|Vlv2TbltDevicePkg/Feature/Capsule/Library/PlatformFlashAccessLib/PlatformFlashAccessLib.inf\r
   LanguageLib|EdkCompatibilityPkg/Compatibility/Library/UefiLanguageLib/UefiLanguageLib.inf\r
   SynchronizationLib|MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf\r
   SecurityManagementLib|MdeModulePkg/Library/DxeSecurityManagementLib/DxeSecurityManagementLib.inf\r
   DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/DxeDebugAgentLib.inf\r
 !endif\r
 \r
+  FlashDeviceLib|$(PLATFORM_PACKAGE)/Library/FlashDeviceLib/FlashDeviceLibDxe.inf\r
+\r
 [LibraryClasses.X64.DXE_CORE]\r
   HobLib|MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.inf\r
   MemoryAllocationLib|MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeCoreMemoryAllocationLib.inf\r
   DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/DxeDebugAgentLib.inf\r
 !endif\r
 \r
+!if $(CAPSULE_ENABLE)\r
+  CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibFmp/DxeRuntimeCapsuleLib.inf\r
+!endif\r
+\r
 [LibraryClasses.common.UEFI_DRIVER]\r
   PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
 \r
   gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x07\r
 !endif\r
 \r
+!if $(RECOVERY_ENABLE)\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdRecoveryFileName|L"VLV2REC.Cap"\r
+!endif\r
+\r
 [PcdsPatchableInModule.common]\r
   gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x803805c6\r
   gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0x$(PLATFORM_PCIEXPRESS_BASE)\r
   gEfiVLVTokenSpaceGuid.PcdCpuSmramCpuDataAddress|0\r
   gEfiVLVTokenSpaceGuid.PcdCpuLockBoxSize|0\r
 \r
+!if $(CAPSULE_ENABLE) || $(RECOVERY_ENABLE)\r
+  gEfiSignedCapsulePkgTokenSpaceGuid.PcdEdkiiSystemFirmwareImageDescriptor|{0x0}|VOID*|0x100\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdSystemFmpCapsuleImageTypeIdGuid|{0x7b, 0x26, 0x96, 0x40, 0x0a, 0xda, 0xeb, 0x42, 0xb5, 0xeb, 0xfe, 0xf3, 0x1d, 0x20, 0x7c, 0xb4}\r
+  gEfiSignedCapsulePkgTokenSpaceGuid.PcdEdkiiSystemFirmwareFileGuid|{0xb2, 0x9e, 0x9c, 0xaf, 0xad, 0x12, 0x3e, 0x4d, 0xa4, 0xd4, 0x96, 0xf6, 0xc9, 0x96, 0x62, 0x15}\r
+!endif\r
+\r
 [Components.IA32]\r
 \r
   $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/SecCore.inf\r
   }\r
   !endif\r
 \r
+!if $(CAPSULE_ENABLE) || $(RECOVERY_ENABLE)\r
+  # FMP image decriptor\r
+  Vlv2TbltDevicePkg/Feature/Capsule/SystemFirmwareDescriptor/SystemFirmwareDescriptor.inf {\r
+    <LibraryClasses>\r
+      PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf\r
+  }\r
+!endif\r
+\r
   MdeModulePkg/Core/Pei/PeiMain.inf {\r
 !if $(TARGET) == DEBUG\r
     <PcdsFixedAtBuild>\r
@@ -1005,6 +1034,24 @@ $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/fTPMInitPeim.inf
   $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/MpS3.inf\r
   EdkCompatibilityPkg/Compatibility/AcpiVariableHobOnSmramReserveHobThunk/AcpiVariableHobOnSmramReserveHobThunk.inf\r
   $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/PiSmmCommunicationPei.inf\r
+\r
+!if $(RECOVERY_ENABLE)\r
+  #\r
+  # Recovery\r
+  #\r
+  $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/PchUsb.inf\r
+  MdeModulePkg/Bus/Pci/EhciPei/EhciPei.inf\r
+  MdeModulePkg/Bus/Usb/UsbBusPei/UsbBusPei.inf\r
+  MdeModulePkg/Bus/Usb/UsbBotPei/UsbBotPei.inf\r
+  FatPkg/FatPei/FatPei.inf\r
+  MdeModulePkg/Universal/Disk/CdExpressPei/CdExpressPei.inf\r
+  SignedCapsulePkg/Universal/RecoveryModuleLoadPei/RecoveryModuleLoadPei.inf {\r
+    <LibraryClasses>\r
+      FmpAuthenticationLib|SecurityPkg/Library/FmpAuthenticationLibRsa2048Sha256/FmpAuthenticationLibRsa2048Sha256.inf\r
+      PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf\r
+  }\r
+!endif\r
+\r
 !if $(CAPSULE_ENABLE) == TRUE\r
   MdeModulePkg/Universal/CapsulePei/CapsulePei.inf\r
 !endif\r
@@ -1139,6 +1186,11 @@ $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/fTPMInitPeim.inf
       DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf\r
       PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf\r
       SerialPortLib|$(PLATFORM_PACKAGE)/Library/SerialPortLib/SerialPortLib.inf\r
+!if $(CAPSULE_ENABLE)\r
+      FmpAuthenticationLib|SecurityPkg/Library/FmpAuthenticationLibPkcs7/FmpAuthenticationLibPkcs7.inf\r
+!else\r
+      FmpAuthenticationLib|MdeModulePkg/Library/FmpAuthenticationLibNull/FmpAuthenticationLibNull.inf\r
+!endif\r
     !if $(FTPM_ENABLE) == TRUE\r
       Tpm2DeviceLib|Vlv2TbltDevicePkg/Library/Tpm2DeviceLibSeCDxe/Tpm2DeviceLibSeC.inf\r
     !else\r
@@ -1505,6 +1557,37 @@ $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/fTPMInitPeim.inf
 \r
   Vlv2TbltDevicePkg/Application/FirmwareUpdate/FirmwareUpdate.inf\r
 \r
+!if $(CAPSULE_ENABLE) || $(MICOCODE_CAPSULE_ENABLE)\r
+  MdeModulePkg/Universal/EsrtDxe/EsrtDxe.inf\r
+  MdeModulePkg/Application/CapsuleApp/CapsuleApp.inf\r
+!endif\r
+\r
+!if $(CAPSULE_ENABLE)\r
+  SignedCapsulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareReportDxe.inf {\r
+    <LibraryClasses>\r
+      DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf\r
+      PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf\r
+      SerialPortLib|$(PLATFORM_PACKAGE)/Library/SerialPortLib/SerialPortLib.inf\r
+      FmpAuthenticationLib|SecurityPkg/Library/FmpAuthenticationLibPkcs7/FmpAuthenticationLibPkcs7.inf\r
+  }\r
+  SignedCapsulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareUpdateDxe.inf {\r
+    <LibraryClasses>\r
+      DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf\r
+      PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf\r
+      SerialPortLib|$(PLATFORM_PACKAGE)/Library/SerialPortLib/SerialPortLib.inf\r
+      FmpAuthenticationLib|SecurityPkg/Library/FmpAuthenticationLibPkcs7/FmpAuthenticationLibPkcs7.inf\r
+  }\r
+!endif\r
+\r
+!if $(MICOCODE_CAPSULE_ENABLE)\r
+  UefiCpuPkg/Feature/Capsule/MicrocodeUpdateDxe/MicrocodeUpdateDxe.inf {\r
+    <LibraryClasses>\r
+      DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf\r
+      PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf\r
+      SerialPortLib|$(PLATFORM_PACKAGE)/Library/SerialPortLib/SerialPortLib.inf\r
+  }\r
+!endif\r
+\r
 [BuildOptions]\r
 #\r
 # Define Build Options both for EDK and EDKII drivers.\r