From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) (using TLSv1 with cipher CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 076BA1A1F25 for ; Wed, 21 Sep 2016 18:36:06 -0700 (PDT) Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga104.fm.intel.com with ESMTP; 21 Sep 2016 18:36:07 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.30,376,1470726000"; d="scan'208";a="1054612720" Received: from fmsmsx107.amr.corp.intel.com ([10.18.124.205]) by orsmga002.jf.intel.com with ESMTP; 21 Sep 2016 18:36:05 -0700 Received: from fmsmsx102.amr.corp.intel.com (10.18.124.200) by fmsmsx107.amr.corp.intel.com (10.18.124.205) with Microsoft SMTP Server (TLS) id 14.3.248.2; Wed, 21 Sep 2016 18:36:05 -0700 Received: from shsmsx102.ccr.corp.intel.com (10.239.4.154) by FMSMSX102.amr.corp.intel.com (10.18.124.200) with Microsoft SMTP Server (TLS) id 14.3.248.2; Wed, 21 Sep 2016 18:36:04 -0700 Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.118]) by shsmsx102.ccr.corp.intel.com ([169.254.2.15]) with mapi id 14.03.0248.002; Thu, 22 Sep 2016 09:36:01 +0800 From: "Wei, David" To: "Yao, Jiewen" , "edk2-devel@lists.01.org" CC: "Tian, Feng" , "Zeng, Star" , "Kinney, Michael D" , "Gao, Liming" , "Zhang, Chao B" , "Yao, Jiewen" , "Wei, David" Thread-Topic: [PATCH 43/45] Vlv2TbltDevicePkg/dsc/fdf: Add capsule/recovery support. Thread-Index: AQHSE9Qj3htTCEw6u0SF5euT7/R9HqCEu5dw Date: Thu, 22 Sep 2016 01:36:00 +0000 Message-ID: <89954A0B46707A448411A627AD4EEE3466379E0D@SHSMSX101.ccr.corp.intel.com> References: <1474440326-9292-1-git-send-email-jiewen.yao@intel.com> <1474440326-9292-44-git-send-email-jiewen.yao@intel.com> In-Reply-To: <1474440326-9292-44-git-send-email-jiewen.yao@intel.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiMmE3ODIxOWYtMjQ3Mi00ZWQxLThiOTMtMzE4NDc2NGM5NjUyIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX0lDIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE1LjkuNi42IiwiVHJ1c3RlZExhYmVsSGFzaCI6InhSTEVvVEhiZ2ZYQ2E4MHoyb2psU1lTcDdKeCs3SzlhNjhIZ1Z1cWx6Y3M9In0= x-ctpclassification: CTP_IC x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Subject: Re: [PATCH 43/45] Vlv2TbltDevicePkg/dsc/fdf: Add capsule/recovery support. X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 22 Sep 2016 01:36:07 -0000 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Reviewed-by: David Wei Thanks, David Wei =20 -----Original Message----- From: Yao, Jiewen=20 Sent: Wednesday, September 21, 2016 2:45 PM To: edk2-devel@lists.01.org Cc: Wei, David ; Tian, Feng ; Zen= g, Star ; Kinney, Michael D ; Gao, Liming ; Zhang, Chao B Subject: [PATCH 43/45] Vlv2TbltDevicePkg/dsc/fdf: Add capsule/recovery supp= ort. Add capsule and recovery support module in platform dsc and fdf. Cc: David Wei 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 --- Vlv2TbltDevicePkg/PlatformPkg.fdf | 132 ++++++++++---------- Vlv2TbltDevicePkg/PlatformPkgConfig.dsc | 3 +- Vlv2TbltDevicePkg/PlatformPkgGcc.fdf | 132 ++++++++++---------- Vlv2TbltDevicePkg/PlatformPkgGccX64.dsc | 70 ++++++++++- Vlv2TbltDevicePkg/PlatformPkgIA32.dsc | 70 ++++++++++- Vlv2TbltDevicePkg/PlatformPkgX64.dsc | 70 ++++++++++- 6 files changed, 341 insertions(+), 136 deletions(-) diff --git a/Vlv2TbltDevicePkg/PlatformPkg.fdf b/Vlv2TbltDevicePkg/Platform= Pkg.fdf index 93b4d2d..7a793bd 100644 --- a/Vlv2TbltDevicePkg/PlatformPkg.fdf +++ b/Vlv2TbltDevicePkg/PlatformPkg.fdf @@ -82,6 +82,9 @@ NumBlocks =3D $(FLASH_NUM_BLOCKS) #The numbe= r of blocks in 3Mb FLASH SET gPlatformModuleTokenSpaceGuid.PcdFlashAreaBaseAddress =3D $= (FLASH_AREA_BASE_ADDRESS) SET gPlatformModuleTokenSpaceGuid.PcdFlashAreaSize =3D $= (FLASH_AREA_SIZE) =20 +SET gUefiCpuPkgTokenSpaceGuid.PcdCpuMicrocodePatchAddress =3D $(FLASH_REGI= ON_VLVMICROCODE_BASE) + 0x60 +SET gUefiCpuPkgTokenSpaceGuid.PcdCpuMicrocodePatchRegionSize =3D $(FLASH_R= EGION_VLVMICROCODE_SIZE) - 0x60 + !if $(MINNOW2_FSP_BUILD) =3D=3D TRUE # put below PCD value setting into dsc file #SET gFspWrapperTokenSpaceGuid.PcdCpuMicrocodePatchAddress = =3D $(FLASH_REGION_VLVMICROCODE_BASE) @@ -242,6 +245,34 @@ FILE RAW =3D 197DB236-F856-4924-90F8-CDF12FB875F3 { $(OUTPUT_DIRECTORY)\$(TARGET)_$(TOOL_CHAIN_TAG)\$(DXE_ARCHITECTURE)\Micr= ocodeUpdates.bin } =20 +!if $(RECOVERY_ENABLE) +[FV.FVRECOVERY_COMPONENTS] +FvAlignment =3D 16 #FV alignment and FV attributes setting. +ERASE_POLARITY =3D 1 +MEMORY_MAPPED =3D TRUE +STICKY_WRITE =3D TRUE +LOCK_CAP =3D TRUE +LOCK_STATUS =3D TRUE +WRITE_DISABLED_CAP =3D TRUE +WRITE_ENABLED_CAP =3D TRUE +WRITE_STATUS =3D TRUE +WRITE_LOCK_CAP =3D TRUE +WRITE_LOCK_STATUS =3D TRUE +READ_DISABLED_CAP =3D TRUE +READ_ENABLED_CAP =3D TRUE +READ_STATUS =3D TRUE +READ_LOCK_CAP =3D TRUE +READ_LOCK_STATUS =3D TRUE + +INF RuleOverride =3D BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE= )$(TARGET)/IA32/PchUsb.inf +INF MdeModulePkg/Bus/Pci/EhciPei/EhciPei.inf +INF MdeModulePkg/Bus/Usb/UsbBusPei/UsbBusPei.inf +INF MdeModulePkg/Bus/Usb/UsbBotPei/UsbBotPei.inf +INF FatPkg/FatPei/FatPei.inf +INF MdeModulePkg/Universal/Disk/CdExpressPei/CdExpressPei.inf +INF MdeModulePkg/Universal/RecoveryModuleLoadPei/RecoveryModuleLoadPei.in= f +!endif + ##########################################################################= ###### # # FV Section @@ -306,6 +337,15 @@ INF MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf INF MdeModulePkg/Universal/ReportStatusCodeRouter/Pei/ReportStatusCodeRout= erPei.inf !endif =20 +!if $(RECOVERY_ENABLE) +FILE FV_IMAGE =3D 1E9D7604-EF45-46a0-BD8A-71AC78C17AC1 { + SECTION PEI_DEPEX_EXP =3D {gEfiPeiMemoryDiscoveredPpiGuid AND gEfiPeiBoo= tInRecoveryModePpiGuid} + SECTION GUIDED EE4E5898-3914-4259-9D6E-DC7BD79403CF { # LZMA COMPRESS= GUID + SECTION FV_IMAGE =3D FVRECOVERY_COMPONENTS + } +} +!endif + [FV.FVRECOVERY] BlockSize =3D $(FLASH_BLOCK_SIZE) FvAlignment =3D 16 #FV alignment and FV attributes setting. @@ -373,6 +413,11 @@ INF RuleOverride =3D BINARY $(PLATFORM_BINARY_PACKAGE)= /$(DXE_ARCHITECTURE)$(TARGET =20 INF MdeModulePkg/Universal/PCD/Pei/Pcd.inf =20 +!if $(CAPSULE_ENABLE) || $(RECOVERY_ENABLE) + # FMP image decriptor +INF RuleOverride =3D FMP_IMAGE_DESC Vlv2TbltDevicePkg/Feature/Capsule/Syst= emBiosDescriptor/SystemBiosDescriptor.inf +!endif + [FV.FVMAIN] BlockSize =3D $(FLASH_BLOCK_SIZE) FvAlignment =3D 16 @@ -717,6 +762,12 @@ FILE FREEFORM =3D 878AC2CC-5343-46F2-B563-51F89DAF56BA= { !endif !endif =20 +!if $(CAPSULE_ENABLE) +INF MdeModulePkg/Universal/EsrtDxe/EsrtDxe.inf +INF MdeModulePkg/Universal/SystemBiosUpdate/SystemBiosReportDxe.inf +INF UefiCpuPkg/MicrocodeUpdate/MicrocodeUpdate.inf +!endif + [FV.FVMAIN_COMPACT] BlockSize =3D $(FLASH_BLOCK_SIZE) FvAlignment =3D 16 @@ -780,8 +831,8 @@ READ_LOCK_CAP =3D TRUE READ_LOCK_STATUS =3D TRUE =20 =20 -[FV.Update_Data] -BlockSize =3D $(FLASH_BLOCK_SIZE) +!if $(CAPSULE_ENABLE) || $(RECOVERY_ENABLE) +[FV.CapsuleDispatchFv] FvAlignment =3D 16 ERASE_POLARITY =3D 1 MEMORY_MAPPED =3D TRUE @@ -799,71 +850,11 @@ READ_STATUS =3D TRUE READ_LOCK_CAP =3D TRUE READ_LOCK_STATUS =3D TRUE =20 -FILE RAW =3D 88888888-8888-8888-8888-888888888888 { - FD =3D Vlv - } - -[FV.BiosUpdateCargo] -BlockSize =3D $(FLASH_BLOCK_SIZE) -FvAlignment =3D 16 -ERASE_POLARITY =3D 1 -MEMORY_MAPPED =3D TRUE -STICKY_WRITE =3D TRUE -LOCK_CAP =3D TRUE -LOCK_STATUS =3D TRUE -WRITE_DISABLED_CAP =3D TRUE -WRITE_ENABLED_CAP =3D TRUE -WRITE_STATUS =3D TRUE -WRITE_LOCK_CAP =3D TRUE -WRITE_LOCK_STATUS =3D TRUE -READ_DISABLED_CAP =3D TRUE -READ_ENABLED_CAP =3D TRUE -READ_STATUS =3D TRUE -READ_LOCK_CAP =3D TRUE -READ_LOCK_STATUS =3D TRUE - - - -[FV.BiosUpdate] -BlockSize =3D $(FLASH_BLOCK_SIZE) -FvAlignment =3D 16 -ERASE_POLARITY =3D 1 -MEMORY_MAPPED =3D TRUE -STICKY_WRITE =3D TRUE -LOCK_CAP =3D TRUE -LOCK_STATUS =3D TRUE -WRITE_DISABLED_CAP =3D TRUE -WRITE_ENABLED_CAP =3D TRUE -WRITE_STATUS =3D TRUE -WRITE_LOCK_CAP =3D TRUE -WRITE_LOCK_STATUS =3D TRUE -READ_DISABLED_CAP =3D TRUE -READ_ENABLED_CAP =3D TRUE -READ_STATUS =3D TRUE -READ_LOCK_CAP =3D TRUE -READ_LOCK_STATUS =3D TRUE - -[Capsule.Capsule_Boot] -# -# gEfiCapsuleGuid supported by platform -# { 0x3B6686BD, 0x0D76, 0x4030, { 0xB7, 0x0E, 0xB5, 0x51, 0x9E, 0x2F, 0xC5= , 0xA0 }} -# -CAPSULE_GUID =3D 3B6686BD-0D76-4030-B70E-B5519E2FC5A0 -CAPSULE_FLAGS =3D PersistAcrossReset -CAPSULE_HEADER_SIZE =3D 0x20 - -FV =3D BiosUpdate - -[Capsule.Capsule_Reset] -# -# gEfiCapsuleGuid supported by platform -# { 0x3B6686BD, 0x0D76, 0x4030, { 0xB7, 0x0E, 0xB5, 0x51, 0x9E, 0x2F, 0xC5= , 0xA0 }} -# -CAPSULE_GUID =3D 3B6686BD-0D76-4030-B70E-B5519E2FC5A0 -CAPSULE_FLAGS =3D PersistAcrossReset -CAPSULE_HEADER_SIZE =3D 0x20 +!if $(CAPSULE_ENABLE) +INF MdeModulePkg/Universal/SystemBiosUpdate/SystemBiosUpdateDxe.inf +!endif =20 -FV =3D BiosUpdate +!endif =20 ##########################################################################= ###### # @@ -1089,3 +1080,12 @@ FV =3D BiosUpdate RAW ASL Optional |.aml } =20 +[Rule.Common.PEIM.FMP_IMAGE_DESC] + FILE PEIM =3D $(NAMED_GUID) { + RAW BIN |.acpi + PEI_DEPEX PEI_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depe= x + PE32 PE32 Align=3D4K $(INF_OUTPUT)/$(MODULE_NAME).ef= i + UI STRING=3D"$(MODULE_NAME)" Optional + VERSION STRING=3D"$(INF_VERSION)" Optional BUILD_NUM=3D$(BUILD_NUMBE= R) + } + diff --git a/Vlv2TbltDevicePkg/PlatformPkgConfig.dsc b/Vlv2TbltDevicePkg/Pl= atformPkgConfig.dsc index db50b93..a6af8a1 100644 --- a/Vlv2TbltDevicePkg/PlatformPkgConfig.dsc +++ b/Vlv2TbltDevicePkg/PlatformPkgConfig.dsc @@ -1,7 +1,7 @@ #/** @file # platform configuration file. # -# Copyright (c) 2012 - 2015, Intel Corporation. All rights reserved.
+# Copyright (c) 2012 - 2016, Intel Corporation. All rights reserved.
# = =20 # This program and the accompanying materials are licensed and made availa= ble under # the terms and conditions of the BSD License that accompanies this distri= bution. =20 @@ -65,6 +65,7 @@ DEFINE VARIABLE_INFO_ENABLE =3D FALSE DEFINE S3_ENABLE =3D TRUE DEFINE CAPSULE_ENABLE =3D FALSE DEFINE CAPSULE_RESET_ENABLE =3D TRUE +DEFINE RECOVERY_ENABLE =3D FALSE =20 DEFINE GOP_DRIVER_ENABLE =3D TRUE DEFINE DATAHUB_ENABLE =3D TRUE diff --git a/Vlv2TbltDevicePkg/PlatformPkgGcc.fdf b/Vlv2TbltDevicePkg/Platf= ormPkgGcc.fdf index 33f2038..4dfc09d 100644 --- a/Vlv2TbltDevicePkg/PlatformPkgGcc.fdf +++ b/Vlv2TbltDevicePkg/PlatformPkgGcc.fdf @@ -82,6 +82,9 @@ NumBlocks =3D $(FLASH_NUM_BLOCKS) #The numbe= r of blocks in 3Mb FLASH SET gPlatformModuleTokenSpaceGuid.PcdFlashAreaBaseAddress =3D $= (FLASH_AREA_BASE_ADDRESS) SET gPlatformModuleTokenSpaceGuid.PcdFlashAreaSize =3D $= (FLASH_AREA_SIZE) =20 +SET gUefiCpuPkgTokenSpaceGuid.PcdCpuMicrocodePatchAddress =3D $(FLASH_REGI= ON_VLVMICROCODE_BASE) + 0x60 +SET gUefiCpuPkgTokenSpaceGuid.PcdCpuMicrocodePatchRegionSize =3D $(FLASH_R= EGION_VLVMICROCODE_SIZE) - 0x60 + !if $(MINNOW2_FSP_BUILD) =3D=3D TRUE # put below PCD value setting into dsc file #SET gFspWrapperTokenSpaceGuid.PcdCpuMicrocodePatchAddress = =3D $(FLASH_REGION_VLVMICROCODE_BASE) @@ -199,6 +202,34 @@ FILE RAW =3D 197DB236-F856-4924-90F8-CDF12FB875F3 { $(OUTPUT_DIRECTORY)/$(TARGET)_$(TOOL_CHAIN_TAG)/$(DXE_ARCHITECTURE)/Micr= ocodeUpdates.bin } =20 +!if $(RECOVERY_ENABLE) =3D=3D TRUE +[FV.FVRECOVERY_COMPONENTS] +FvAlignment =3D 16 #FV alignment and FV attributes setting. +ERASE_POLARITY =3D 1 +MEMORY_MAPPED =3D TRUE +STICKY_WRITE =3D TRUE +LOCK_CAP =3D TRUE +LOCK_STATUS =3D TRUE +WRITE_DISABLED_CAP =3D TRUE +WRITE_ENABLED_CAP =3D TRUE +WRITE_STATUS =3D TRUE +WRITE_LOCK_CAP =3D TRUE +WRITE_LOCK_STATUS =3D TRUE +READ_DISABLED_CAP =3D TRUE +READ_ENABLED_CAP =3D TRUE +READ_STATUS =3D TRUE +READ_LOCK_CAP =3D TRUE +READ_LOCK_STATUS =3D TRUE + +INF RuleOverride =3D BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE= )$(TARGET)/IA32/PchUsb.inf +INF MdeModulePkg/Bus/Pci/EhciPei/EhciPei.inf +INF MdeModulePkg/Bus/Usb/UsbBusPei/UsbBusPei.inf +INF MdeModulePkg/Bus/Usb/UsbBotPei/UsbBotPei.inf +INF FatPkg/FatPei/FatPei.inf +INF MdeModulePkg/Universal/Disk/CdExpressPei/CdExpressPei.inf +INF MdeModulePkg/Universal/RecoveryModuleLoadPei/RecoveryModuleLoadPei.in= f +!endif + ##########################################################################= ###### # # FV Section @@ -263,6 +294,15 @@ INF MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf INF MdeModulePkg/Universal/ReportStatusCodeRouter/Pei/ReportStatusCodeRout= erPei.inf !endif =20 +!if $(RECOVERY_ENABLE) +FILE FV_IMAGE =3D 1E9D7604-EF45-46a0-BD8A-71AC78C17AC1 { + SECTION PEI_DEPEX_EXP =3D {gEfiPeiMemoryDiscoveredPpiGuid AND gEfiPeiBoo= tInRecoveryModePpiGuid} + SECTION GUIDED EE4E5898-3914-4259-9D6E-DC7BD79403CF { # LZMA COMPRESS= GUID + SECTION FV_IMAGE =3D FVRECOVERY_COMPONENTS + } +} +!endif + [FV.FVRECOVERY] BlockSize =3D $(FLASH_BLOCK_SIZE) FvAlignment =3D 16 #FV alignment and FV attributes setting. @@ -330,6 +370,11 @@ INF RuleOverride =3D BINARY $(PLATFORM_BINARY_PACKAGE)= /$(DXE_ARCHITECTURE)$(TARGET =20 INF MdeModulePkg/Universal/PCD/Pei/Pcd.inf =20 +!if $(CAPSULE_ENABLE) || $(RECOVERY_ENABLE) + # FMP image decriptor +INF RuleOverride =3D FMP_IMAGE_DESC Vlv2TbltDevicePkg/Feature/Capsule/Syst= emBiosDescriptor/SystemBiosDescriptor.inf +!endif + [FV.FVMAIN] BlockSize =3D $(FLASH_BLOCK_SIZE) FvAlignment =3D 16 @@ -674,6 +719,12 @@ FILE FREEFORM =3D 878AC2CC-5343-46F2-B563-51F89DAF56BA= { !endif !endif =20 +!if $(CAPSULE_ENABLE) +INF MdeModulePkg/Universal/EsrtDxe/EsrtDxe.inf +INF MdeModulePkg/Universal/SystemBiosUpdate/SystemBiosReportDxe.inf +INF UefiCpuPkg/MicrocodeUpdate/MicrocodeUpdate.inf +!endif + [FV.FVMAIN_COMPACT] BlockSize =3D $(FLASH_BLOCK_SIZE) FvAlignment =3D 16 @@ -737,8 +788,8 @@ READ_LOCK_CAP =3D TRUE READ_LOCK_STATUS =3D TRUE =20 =20 -[FV.Update_Data] -BlockSize =3D $(FLASH_BLOCK_SIZE) +!if $(CAPSULE_ENABLE) || $(RECOVERY_ENABLE) +[FV.CapsuleDispatchFv] FvAlignment =3D 16 ERASE_POLARITY =3D 1 MEMORY_MAPPED =3D TRUE @@ -756,71 +807,11 @@ READ_STATUS =3D TRUE READ_LOCK_CAP =3D TRUE READ_LOCK_STATUS =3D TRUE =20 -FILE RAW =3D 88888888-8888-8888-8888-888888888888 { - FD =3D Vlv - } - -[FV.BiosUpdateCargo] -BlockSize =3D $(FLASH_BLOCK_SIZE) -FvAlignment =3D 16 -ERASE_POLARITY =3D 1 -MEMORY_MAPPED =3D TRUE -STICKY_WRITE =3D TRUE -LOCK_CAP =3D TRUE -LOCK_STATUS =3D TRUE -WRITE_DISABLED_CAP =3D TRUE -WRITE_ENABLED_CAP =3D TRUE -WRITE_STATUS =3D TRUE -WRITE_LOCK_CAP =3D TRUE -WRITE_LOCK_STATUS =3D TRUE -READ_DISABLED_CAP =3D TRUE -READ_ENABLED_CAP =3D TRUE -READ_STATUS =3D TRUE -READ_LOCK_CAP =3D TRUE -READ_LOCK_STATUS =3D TRUE - - - -[FV.BiosUpdate] -BlockSize =3D $(FLASH_BLOCK_SIZE) -FvAlignment =3D 16 -ERASE_POLARITY =3D 1 -MEMORY_MAPPED =3D TRUE -STICKY_WRITE =3D TRUE -LOCK_CAP =3D TRUE -LOCK_STATUS =3D TRUE -WRITE_DISABLED_CAP =3D TRUE -WRITE_ENABLED_CAP =3D TRUE -WRITE_STATUS =3D TRUE -WRITE_LOCK_CAP =3D TRUE -WRITE_LOCK_STATUS =3D TRUE -READ_DISABLED_CAP =3D TRUE -READ_ENABLED_CAP =3D TRUE -READ_STATUS =3D TRUE -READ_LOCK_CAP =3D TRUE -READ_LOCK_STATUS =3D TRUE - -[Capsule.Capsule_Boot] -# -# gEfiCapsuleGuid supported by platform -# { 0x3B6686BD, 0x0D76, 0x4030, { 0xB7, 0x0E, 0xB5, 0x51, 0x9E, 0x2F, 0xC5= , 0xA0 }} -# -CAPSULE_GUID =3D 3B6686BD-0D76-4030-B70E-B5519E2FC5A0 -CAPSULE_FLAGS =3D PersistAcrossReset -CAPSULE_HEADER_SIZE =3D 0x20 - -FV =3D BiosUpdate - -[Capsule.Capsule_Reset] -# -# gEfiCapsuleGuid supported by platform -# { 0x3B6686BD, 0x0D76, 0x4030, { 0xB7, 0x0E, 0xB5, 0x51, 0x9E, 0x2F, 0xC5= , 0xA0 }} -# -CAPSULE_GUID =3D 3B6686BD-0D76-4030-B70E-B5519E2FC5A0 -CAPSULE_FLAGS =3D PersistAcrossReset -CAPSULE_HEADER_SIZE =3D 0x20 +!if $(CAPSULE_ENABLE) +INF MdeModulePkg/Universal/SystemBiosUpdate/SystemBiosUpdateDxe.inf +!endif =20 -FV =3D BiosUpdate +!endif =20 ##########################################################################= ###### # @@ -1050,3 +1041,12 @@ FV =3D BiosUpdate RAW ASL Optional |.aml } =20 +[Rule.Common.PEIM.FMP_IMAGE_DESC] + FILE PEIM =3D $(NAMED_GUID) { + RAW BIN |.acpi + PEI_DEPEX PEI_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depe= x + PE32 PE32 Align=3D4K $(INF_OUTPUT)/$(MODULE_NAME).ef= i + UI STRING=3D"$(MODULE_NAME)" Optional + VERSION STRING=3D"$(INF_VERSION)" Optional BUILD_NUM=3D$(BUILD_NUMBE= R) + } + diff --git a/Vlv2TbltDevicePkg/PlatformPkgGccX64.dsc b/Vlv2TbltDevicePkg/Pl= atformPkgGccX64.dsc index 7125366..47bb23e 100644 --- a/Vlv2TbltDevicePkg/PlatformPkgGccX64.dsc +++ b/Vlv2TbltDevicePkg/PlatformPkgGccX64.dsc @@ -183,10 +183,15 @@ =20 OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHo= okStatusCodeLibNull.inf !if $(CAPSULE_ENABLE) =3D=3D TRUE - CapsuleLib|IntelFrameworkModulePkg/Library/DxeCapsuleLib/DxeCapsuleLib.in= f + CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibFmp/DxeCapsuleLib.inf !else CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf !endif + EdkiiSystemCapsuleLib|MdeModulePkg/Library/EdkiiSystemCapsuleLib/EdkiiSy= stemCapsuleLib.inf + FmpAuthenticationLib|MdeModulePkg/Library/FmpAuthenitcationLib/FmpAuthen= itcationLib.inf + IniParsingLib|MdeModulePkg/Library/IniParsingLib/IniParsingLib.inf + PlatformFlashAccessLib|Vlv2TbltDevicePkg/Feature/Capsule/Library/Platfor= mFlashAccessLib/PlatformFlashAccessLib.inf + MicrocodeFlashAccessLib|Vlv2TbltDevicePkg/Feature/Capsule/Library/Platfo= rmFlashAccessLib/PlatformFlashAccessLib.inf LanguageLib|EdkCompatibilityPkg/Compatibility/Library/UefiLanguageLib/Ue= fiLanguageLib.inf SynchronizationLib|MdePkg/Library/BaseSynchronizationLib/BaseSynchroniza= tionLib.inf SecurityManagementLib|MdeModulePkg/Library/DxeSecurityManagementLib/DxeS= ecurityManagementLib.inf @@ -381,6 +386,8 @@ DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/DxeDebugAgentLib.in= f !endif =20 + FlashDeviceLib|$(PLATFORM_PACKAGE)/Library/FlashDeviceLib/FlashDeviceLib= Dxe.inf + [LibraryClasses.X64.DXE_CORE] HobLib|MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.inf MemoryAllocationLib|MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeC= oreMemoryAllocationLib.inf @@ -450,6 +457,10 @@ DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/DxeDebugAgentLib.in= f !endif =20 +!if $(CAPSULE_ENABLE) + CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibFmp/DxeRuntimeCapsuleLib.in= f +!endif + [LibraryClasses.common.UEFI_DRIVER] PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf =20 @@ -886,6 +897,11 @@ gEfiVLVTokenSpaceGuid.PcdCpuSmramCpuDataAddress|0 gEfiVLVTokenSpaceGuid.PcdCpuLockBoxSize|0 =20 +!if $(CAPSULE_ENABLE) || $(RECOVERY_ENABLE) + gEfiMdeModulePkgTokenSpaceGuid.PcdEdkiiSystemFmpCapsuleImageTypeIdGuid|{= 0x7b, 0x26, 0x96, 0x40, 0x0a, 0xda, 0xeb, 0x42, 0xb5, 0xeb, 0xfe, 0xf3, 0x1= d, 0x20, 0x7c, 0xb4} + gEfiMdeModulePkgTokenSpaceGuid.PcdEdkiiSystemFirmwareImageDescriptor|{0x= 0}|VOID*|0x100 +!endif + [Components.IA32] =20 $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/SecCore.inf @@ -907,6 +923,14 @@ } !endif =20 +!if $(CAPSULE_ENABLE) || $(RECOVERY_ENABLE) + # FMP image decriptor + Vlv2TbltDevicePkg/Feature/Capsule/SystemBiosDescriptor/SystemBiosDescrip= tor.inf { + + PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf + } +!endif + MdeModulePkg/Core/Pei/PeiMain.inf { !if $(TARGET) =3D=3D DEBUG @@ -1011,6 +1035,24 @@ $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARG= ET)/IA32/fTPMInitPeim.inf $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/MpS3.inf EdkCompatibilityPkg/Compatibility/AcpiVariableHobOnSmramReserveHobThunk/= AcpiVariableHobOnSmramReserveHobThunk.inf $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/PiSmmCommun= icationPei.inf + +!if $(RECOVERY_ENABLE) + # + # Recovery + # + $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/PchUsb.inf + MdeModulePkg/Bus/Pci/EhciPei/EhciPei.inf + MdeModulePkg/Bus/Usb/UsbBusPei/UsbBusPei.inf + MdeModulePkg/Bus/Usb/UsbBotPei/UsbBotPei.inf + FatPkg/FatPei/FatPei.inf + MdeModulePkg/Universal/Disk/CdExpressPei/CdExpressPei.inf + MdeModulePkg/Universal/RecoveryModuleLoadPei/RecoveryModuleLoadPei.inf { + + NULL|SecurityPkg/Library/FmpAuthenticationRsa2048Sha256Lib/FmpAuthen= ticationRsa2048Sha256Lib.inf + PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf + } +!endif + !if $(CAPSULE_ENABLE) =3D=3D TRUE MdeModulePkg/Universal/CapsulePei/CapsulePei.inf !endif @@ -1146,6 +1188,9 @@ $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGE= T)/IA32/fTPMInitPeim.inf DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPor= t.inf PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf SerialPortLib|$(PLATFORM_PACKAGE)/Library/SerialPortLib/SerialPortLi= b.inf +!if $(CAPSULE_ENABLE) =3D=3D TRUE + NULL|SecurityPkg/Library/FmpAuthenticationPkcs7Lib/FmpAuthentication= Pkcs7Lib.inf +!endif !if $(FTPM_ENABLE) =3D=3D TRUE Tpm2DeviceLib|Vlv2TbltDevicePkg/Library/Tpm2DeviceLibSeCDxe/Tpm2Devi= ceLibSeC.inf !else @@ -1518,6 +1563,29 @@ $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARG= ET)/IA32/fTPMInitPeim.inf =20 Vlv2TbltDevicePkg/Application/FirmwareUpdate/FirmwareUpdate.inf =20 +!if $(CAPSULE_ENABLE) + MdeModulePkg/Universal/EsrtDxe/EsrtDxe.inf + + MdeModulePkg/Universal/SystemBiosUpdate/SystemBiosReportDxe.inf + MdeModulePkg/Universal/SystemBiosUpdate/SystemBiosUpdateDxe.inf { + + DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPor= t.inf + PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf + SerialPortLib|$(PLATFORM_PACKAGE)/Library/SerialPortLib/SerialPortLi= b.inf + NULL|SecurityPkg/Library/FmpAuthenticationPkcs7Lib/FmpAuthentication= Pkcs7Lib.inf + } + MdeModulePkg/Application/CapsuleApp/CapsuleApp.inf + + UefiCpuPkg/MicrocodeUpdate/MicrocodeUpdate.inf { + + DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPor= t.inf + PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf + SerialPortLib|$(PLATFORM_PACKAGE)/Library/SerialPortLib/SerialPortLi= b.inf + } + UefiCpuPkg/Application/MicrocodeCapsuleApp/MicrocodeCapsuleApp.inf + +!endif + [BuildOptions] # # Define Build Options both for EDK and EDKII drivers. diff --git a/Vlv2TbltDevicePkg/PlatformPkgIA32.dsc b/Vlv2TbltDevicePkg/Plat= formPkgIA32.dsc index 6efaf32..5f46793 100644 --- a/Vlv2TbltDevicePkg/PlatformPkgIA32.dsc +++ b/Vlv2TbltDevicePkg/PlatformPkgIA32.dsc @@ -183,10 +183,15 @@ =20 OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHo= okStatusCodeLibNull.inf !if $(CAPSULE_ENABLE) =3D=3D TRUE - CapsuleLib|IntelFrameworkModulePkg/Library/DxeCapsuleLib/DxeCapsuleLib.in= f + CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibFmp/DxeCapsuleLib.inf !else CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf !endif + EdkiiSystemCapsuleLib|MdeModulePkg/Library/EdkiiSystemCapsuleLib/EdkiiSy= stemCapsuleLib.inf + FmpAuthenticationLib|MdeModulePkg/Library/FmpAuthenitcationLib/FmpAuthen= itcationLib.inf + IniParsingLib|MdeModulePkg/Library/IniParsingLib/IniParsingLib.inf + PlatformFlashAccessLib|Vlv2TbltDevicePkg/Feature/Capsule/Library/Platfor= mFlashAccessLib/PlatformFlashAccessLib.inf + MicrocodeFlashAccessLib|Vlv2TbltDevicePkg/Feature/Capsule/Library/Platfo= rmFlashAccessLib/PlatformFlashAccessLib.inf LanguageLib|EdkCompatibilityPkg/Compatibility/Library/UefiLanguageLib/Ue= fiLanguageLib.inf SynchronizationLib|MdePkg/Library/BaseSynchronizationLib/BaseSynchroniza= tionLib.inf SecurityManagementLib|MdeModulePkg/Library/DxeSecurityManagementLib/DxeS= ecurityManagementLib.inf @@ -381,6 +386,8 @@ DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/DxeDebugAgentLib.in= f !endif =20 + FlashDeviceLib|$(PLATFORM_PACKAGE)/Library/FlashDeviceLib/FlashDeviceLib= Dxe.inf + [LibraryClasses.IA32.DXE_CORE] HobLib|MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.inf MemoryAllocationLib|MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeC= oreMemoryAllocationLib.inf @@ -450,6 +457,10 @@ DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/DxeDebugAgentLib.in= f !endif =20 +!if $(CAPSULE_ENABLE) =3D=3D TRUE + CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibFmp/DxeRuntimeCapsuleLib.in= f +!endif + [LibraryClasses.common.UEFI_DRIVER] PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf =20 @@ -888,6 +899,11 @@ gEfiVLVTokenSpaceGuid.PcdCpuSmramCpuDataAddress|0 gEfiVLVTokenSpaceGuid.PcdCpuLockBoxSize|0 =20 +!if $(CAPSULE_ENABLE) || $(RECOVERY_ENABLE) + gEfiMdeModulePkgTokenSpaceGuid.PcdEdkiiSystemFmpCapsuleImageTypeIdGuid|{= 0x7b, 0x26, 0x96, 0x40, 0x0a, 0xda, 0xeb, 0x42, 0xb5, 0xeb, 0xfe, 0xf3, 0x1= d, 0x20, 0x7c, 0xb4} + gEfiMdeModulePkgTokenSpaceGuid.PcdEdkiiSystemFirmwareImageDescriptor|{0x= 0}|VOID*|0x100 +!endif + [Components.IA32] =20 $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/SecCore.inf @@ -909,6 +925,14 @@ } !endif =20 +!if $(CAPSULE_ENABLE) || $(RECOVERY_ENABLE) + # FMP image decriptor + Vlv2TbltDevicePkg/Feature/Capsule/SystemBiosDescriptor/SystemBiosDescrip= tor.inf { + + PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf + } +!endif + MdeModulePkg/Core/Pei/PeiMain.inf { !if $(TARGET) =3D=3D DEBUG @@ -1008,6 +1032,24 @@ $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARG= ET)/IA32/fTPMInitPeim.inf $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/MpS3.inf EdkCompatibilityPkg/Compatibility/AcpiVariableHobOnSmramReserveHobThunk/= AcpiVariableHobOnSmramReserveHobThunk.inf $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/PiSmmCommun= icationPei.inf + +!if $(RECOVERY_ENABLE) + # + # Recovery + # + $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/PchUsb.inf + MdeModulePkg/Bus/Pci/EhciPei/EhciPei.inf + MdeModulePkg/Bus/Usb/UsbBusPei/UsbBusPei.inf + MdeModulePkg/Bus/Usb/UsbBotPei/UsbBotPei.inf + FatPkg/FatPei/FatPei.inf + MdeModulePkg/Universal/Disk/CdExpressPei/CdExpressPei.inf + MdeModulePkg/Universal/RecoveryModuleLoadPei/RecoveryModuleLoadPei.inf { + + NULL|SecurityPkg/Library/FmpAuthenticationRsa2048Sha256Lib/FmpAuthen= ticationRsa2048Sha256Lib.inf + PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf + } +!endif + !if $(CAPSULE_ENABLE) =3D=3D TRUE MdeModulePkg/Universal/CapsulePei/CapsulePei.inf !endif @@ -1133,6 +1175,9 @@ $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGE= T)/IA32/fTPMInitPeim.inf DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPor= t.inf PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf SerialPortLib|$(PLATFORM_PACKAGE)/Library/SerialPortLib/SerialPortLi= b.inf +!if $(CAPSULE_ENABLE) + NULL|SecurityPkg/Library/FmpAuthenticationPkcs7Lib/FmpAuthentication= Pkcs7Lib.inf +!endif !if $(FTPM_ENABLE) =3D=3D TRUE Tpm2DeviceLib|Vlv2TbltDevicePkg/Library/Tpm2DeviceLibSeCDxe/Tpm2Devi= ceLibSeC.inf !else @@ -1499,6 +1544,29 @@ $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARG= ET)/IA32/fTPMInitPeim.inf =20 Vlv2TbltDevicePkg/Application/FirmwareUpdate/FirmwareUpdate.inf =20 +!if $(CAPSULE_ENABLE) + MdeModulePkg/Universal/EsrtDxe/EsrtDxe.inf + + MdeModulePkg/Universal/SystemBiosUpdate/SystemBiosReportDxe.inf + MdeModulePkg/Universal/SystemBiosUpdate/SystemBiosUpdateDxe.inf { + + DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPor= t.inf + PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf + SerialPortLib|$(PLATFORM_PACKAGE)/Library/SerialPortLib/SerialPortLi= b.inf + NULL|SecurityPkg/Library/FmpAuthenticationPkcs7Lib/FmpAuthentication= Pkcs7Lib.inf + } + MdeModulePkg/Application/CapsuleApp/CapsuleApp.inf + + UefiCpuPkg/MicrocodeUpdate/MicrocodeUpdate.inf { + + DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPor= t.inf + PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf + SerialPortLib|$(PLATFORM_PACKAGE)/Library/SerialPortLib/SerialPortLi= b.inf + } + UefiCpuPkg/Application/MicrocodeCapsuleApp/MicrocodeCapsuleApp.inf + +!endif + [BuildOptions] # # Define Build Options both for EDK and EDKII drivers. diff --git a/Vlv2TbltDevicePkg/PlatformPkgX64.dsc b/Vlv2TbltDevicePkg/Platf= ormPkgX64.dsc index 6bb503d..b2ac048 100644 --- a/Vlv2TbltDevicePkg/PlatformPkgX64.dsc +++ b/Vlv2TbltDevicePkg/PlatformPkgX64.dsc @@ -183,10 +183,15 @@ =20 OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHo= okStatusCodeLibNull.inf !if $(CAPSULE_ENABLE) =3D=3D TRUE - CapsuleLib|IntelFrameworkModulePkg/Library/DxeCapsuleLib/DxeCapsuleLib.in= f + CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibFmp/DxeCapsuleLib.inf !else CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf !endif + EdkiiSystemCapsuleLib|MdeModulePkg/Library/EdkiiSystemCapsuleLib/EdkiiSy= stemCapsuleLib.inf + FmpAuthenticationLib|MdeModulePkg/Library/FmpAuthenitcationLib/FmpAuthen= itcationLib.inf + IniParsingLib|MdeModulePkg/Library/IniParsingLib/IniParsingLib.inf + PlatformFlashAccessLib|Vlv2TbltDevicePkg/Feature/Capsule/Library/Platfor= mFlashAccessLib/PlatformFlashAccessLib.inf + MicrocodeFlashAccessLib|Vlv2TbltDevicePkg/Feature/Capsule/Library/Platfo= rmFlashAccessLib/PlatformFlashAccessLib.inf LanguageLib|EdkCompatibilityPkg/Compatibility/Library/UefiLanguageLib/Ue= fiLanguageLib.inf SynchronizationLib|MdePkg/Library/BaseSynchronizationLib/BaseSynchroniza= tionLib.inf SecurityManagementLib|MdeModulePkg/Library/DxeSecurityManagementLib/DxeS= ecurityManagementLib.inf @@ -381,6 +386,8 @@ DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/DxeDebugAgentLib.in= f !endif =20 + FlashDeviceLib|$(PLATFORM_PACKAGE)/Library/FlashDeviceLib/FlashDeviceLib= Dxe.inf + [LibraryClasses.X64.DXE_CORE] HobLib|MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.inf MemoryAllocationLib|MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeC= oreMemoryAllocationLib.inf @@ -450,6 +457,10 @@ DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/DxeDebugAgentLib.in= f !endif =20 +!if $(CAPSULE_ENABLE) + CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibFmp/DxeRuntimeCapsuleLib.in= f +!endif + [LibraryClasses.common.UEFI_DRIVER] PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf =20 @@ -885,6 +896,11 @@ gEfiVLVTokenSpaceGuid.PcdCpuSmramCpuDataAddress|0 gEfiVLVTokenSpaceGuid.PcdCpuLockBoxSize|0 =20 +!if $(CAPSULE_ENABLE) || $(RECOVERY_ENABLE) + gEfiMdeModulePkgTokenSpaceGuid.PcdEdkiiSystemFmpCapsuleImageTypeIdGuid|{= 0x7b, 0x26, 0x96, 0x40, 0x0a, 0xda, 0xeb, 0x42, 0xb5, 0xeb, 0xfe, 0xf3, 0x1= d, 0x20, 0x7c, 0xb4} + gEfiMdeModulePkgTokenSpaceGuid.PcdEdkiiSystemFirmwareImageDescriptor|{0x= 0}|VOID*|0x100 +!endif + [Components.IA32] =20 $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/SecCore.inf @@ -906,6 +922,14 @@ } !endif =20 +!if $(CAPSULE_ENABLE) || $(RECOVERY_ENABLE) + # FMP image decriptor + Vlv2TbltDevicePkg/Feature/Capsule/SystemBiosDescriptor/SystemBiosDescrip= tor.inf { + + PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf + } +!endif + MdeModulePkg/Core/Pei/PeiMain.inf { !if $(TARGET) =3D=3D DEBUG @@ -1005,6 +1029,24 @@ $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARG= ET)/IA32/fTPMInitPeim.inf $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/MpS3.inf EdkCompatibilityPkg/Compatibility/AcpiVariableHobOnSmramReserveHobThunk/= AcpiVariableHobOnSmramReserveHobThunk.inf $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/PiSmmCommun= icationPei.inf + +!if $(RECOVERY_ENABLE) + # + # Recovery + # + $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/PchUsb.inf + MdeModulePkg/Bus/Pci/EhciPei/EhciPei.inf + MdeModulePkg/Bus/Usb/UsbBusPei/UsbBusPei.inf + MdeModulePkg/Bus/Usb/UsbBotPei/UsbBotPei.inf + FatPkg/FatPei/FatPei.inf + MdeModulePkg/Universal/Disk/CdExpressPei/CdExpressPei.inf + MdeModulePkg/Universal/RecoveryModuleLoadPei/RecoveryModuleLoadPei.inf { + + NULL|SecurityPkg/Library/FmpAuthenticationRsa2048Sha256Lib/FmpAuthen= ticationRsa2048Sha256Lib.inf + PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf + } +!endif + !if $(CAPSULE_ENABLE) =3D=3D TRUE MdeModulePkg/Universal/CapsulePei/CapsulePei.inf !endif @@ -1139,6 +1181,9 @@ $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGE= T)/IA32/fTPMInitPeim.inf DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPor= t.inf PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf SerialPortLib|$(PLATFORM_PACKAGE)/Library/SerialPortLib/SerialPortLi= b.inf +!if $(CAPSULE_ENABLE) + NULL|SecurityPkg/Library/FmpAuthenticationPkcs7Lib/FmpAuthentication= Pkcs7Lib.inf +!endif !if $(FTPM_ENABLE) =3D=3D TRUE Tpm2DeviceLib|Vlv2TbltDevicePkg/Library/Tpm2DeviceLibSeCDxe/Tpm2Devi= ceLibSeC.inf !else @@ -1505,6 +1550,29 @@ $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARG= ET)/IA32/fTPMInitPeim.inf =20 Vlv2TbltDevicePkg/Application/FirmwareUpdate/FirmwareUpdate.inf =20 +!if $(CAPSULE_ENABLE) + MdeModulePkg/Universal/EsrtDxe/EsrtDxe.inf + + MdeModulePkg/Universal/SystemBiosUpdate/SystemBiosReportDxe.inf + MdeModulePkg/Universal/SystemBiosUpdate/SystemBiosUpdateDxe.inf { + + DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPor= t.inf + PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf + SerialPortLib|$(PLATFORM_PACKAGE)/Library/SerialPortLib/SerialPortLi= b.inf + NULL|SecurityPkg/Library/FmpAuthenticationPkcs7Lib/FmpAuthentication= Pkcs7Lib.inf + } + MdeModulePkg/Application/CapsuleApp/CapsuleApp.inf + + UefiCpuPkg/MicrocodeUpdate/MicrocodeUpdate.inf { + + DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPor= t.inf + PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf + SerialPortLib|$(PLATFORM_PACKAGE)/Library/SerialPortLib/SerialPortLi= b.inf + } + UefiCpuPkg/Application/MicrocodeCapsuleApp/MicrocodeCapsuleApp.inf + +!endif + [BuildOptions] # # Define Build Options both for EDK and EDKII drivers. --=20 2.7.4.windows.1