From 1aa9314e3a84b27f74f239155fc0ec3f58b66be0 Mon Sep 17 00:00:00 2001 From: Michael D Kinney Date: Wed, 30 May 2018 16:03:32 -0700 Subject: [PATCH] Vlv2TbltDevicePkg: Update DSC/FDF to use FmpDevicePkg Cc: David Wei Cc: Mang Guo Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Michael D Kinney Reviewed-by: Guo Mang --- Vlv2TbltDevicePkg/FmpBlueSampleDevice.dsc | 61 ++++++++++++++++++++ Vlv2TbltDevicePkg/FmpCertificate.dsc | 28 +++++++++ Vlv2TbltDevicePkg/FmpGreenSampleDevice.dsc | 61 ++++++++++++++++++++ Vlv2TbltDevicePkg/FmpMinnowMaxSystem.dsc | 65 +++++++++++++++++++++ Vlv2TbltDevicePkg/FmpRedSampleDevice.dsc | 61 ++++++++++++++++++++ Vlv2TbltDevicePkg/PlatformCapsule.dsc | 1 + Vlv2TbltDevicePkg/PlatformCapsule.fdf | 23 -------- Vlv2TbltDevicePkg/PlatformCapsuleGcc.fdf | 23 -------- Vlv2TbltDevicePkg/PlatformPkg.dec | 5 ++ Vlv2TbltDevicePkg/PlatformPkg.fdf | 61 ++++++-------------- Vlv2TbltDevicePkg/PlatformPkgConfig.dsc | 19 ++++++- Vlv2TbltDevicePkg/PlatformPkgGcc.fdf | 61 ++++++-------------- Vlv2TbltDevicePkg/PlatformPkgGccX64.dsc | 66 +++++++++------------- Vlv2TbltDevicePkg/PlatformPkgIA32.dsc | 64 +++++++++------------ Vlv2TbltDevicePkg/PlatformPkgX64.dsc | 62 ++++++++------------ 15 files changed, 409 insertions(+), 252 deletions(-) create mode 100644 Vlv2TbltDevicePkg/FmpBlueSampleDevice.dsc create mode 100644 Vlv2TbltDevicePkg/FmpCertificate.dsc create mode 100644 Vlv2TbltDevicePkg/FmpGreenSampleDevice.dsc create mode 100644 Vlv2TbltDevicePkg/FmpMinnowMaxSystem.dsc create mode 100644 Vlv2TbltDevicePkg/FmpRedSampleDevice.dsc diff --git a/Vlv2TbltDevicePkg/FmpBlueSampleDevice.dsc b/Vlv2TbltDevicePkg/FmpBlueSampleDevice.dsc new file mode 100644 index 0000000000..5f59845866 --- /dev/null +++ b/Vlv2TbltDevicePkg/FmpBlueSampleDevice.dsc @@ -0,0 +1,61 @@ +#/** @file +# FmpDxe driver for Blue Sample device firmware update. +# +# Copyright (c) 2018, Intel Corporation. All rights reserved.
+# +# This program and the accompanying materials are licensed and made available under +# the terms and conditions of the BSD License that accompanies this distribution. +# The full text of the license may be found at +# http://opensource.org/licenses/bsd-license.php. +# +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +# +# +#**/ + + FmpDevicePkg/FmpDxe/FmpDxe.inf { + + # + # ESRT and FMP GUID for sample device capsule update + # + FILE_GUID = $(FMP_BLUE_SAMPLE_DEVICE) + + # + # Unicode name string that is used to populate FMP Image Descriptor for this capsule update module + # + gFmpDevicePkgTokenSpaceGuid.PcdFmpDeviceImageIdName|L"Sample Firmware Device" + + # + # ESRT and FMP Lowest Support Version for this capsule update module + # 000.000.000.000 + # + gFmpDevicePkgTokenSpaceGuid.PcdFmpDeviceBuildTimeLowestSupportedVersion|0x00000000 + + gFmpDevicePkgTokenSpaceGuid.PcdFmpDeviceProgressWatchdogTimeInSeconds|2 + + # + # Capsule Update Progress Bar Color. Set to Blue (RGB) (0, 0, 255) + # + gFmpDevicePkgTokenSpaceGuid.PcdFmpDeviceProgressColor|0x000000FF + + # + # Certificates used to authenticate capsule update image + # + !include Vlv2TbltDevicePkg/FmpCertificate.dsc + + + # + # Generic libraries that are used "as is" by all FMP modules + # + FmpPayloadHeaderLib|FmpDevicePkg/Library/FmpPayloadHeaderLibV1/FmpPayloadHeaderLibV1.inf + FmpAuthenticationLib|SecurityPkg/Library/FmpAuthenticationLibPkcs7/FmpAuthenticationLibPkcs7.inf + # + # Platform specific capsule policy library + # + CapsuleUpdatePolicyLib|FmpDevicePkg/Library/CapsuleUpdatePolicyLibNull/CapsuleUpdatePolicyLibNull.inf + # + # Device specific library that processes a capsule and updates the FW storage device + # + FmpDeviceLib|Vlv2TbltDevicePkg/Feature/Capsule/Library/FmpDeviceLibSample/FmpDeviceLib.inf + } diff --git a/Vlv2TbltDevicePkg/FmpCertificate.dsc b/Vlv2TbltDevicePkg/FmpCertificate.dsc new file mode 100644 index 0000000000..c510c90582 --- /dev/null +++ b/Vlv2TbltDevicePkg/FmpCertificate.dsc @@ -0,0 +1,28 @@ +#/** @file +# FMP Certificates shared by multiple FmpDxe drivers for firmware update. +# +# Copyright (c) 2018, Intel Corporation. All rights reserved.
+# +# This program and the accompanying materials are licensed and made available under +# the terms and conditions of the BSD License that accompanies this distribution. +# The full text of the license may be found at +# http://opensource.org/licenses/bsd-license.php. +# +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +# +# +#**/ + +!if $(CAPSULE_PKCS7_CERT) == SAMPLE_DEVELOPMENT_SAMPLE_PRODUCTION + !include Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/SAMPLE_DEVELOPMENT_SAMPLE_PRODUCTION.cer.gFmpDevicePkgTokenSpaceGuid.PcdFmpDevicePkcs7CertBufferXdr.inc +!endif +!if $(CAPSULE_PKCS7_CERT) == SAMPLE_DEVELOPMENT + !include Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/SAMPLE_DEVELOPMENT.cer.gFmpDevicePkgTokenSpaceGuid.PcdFmpDevicePkcs7CertBufferXdr.inc +!endif +!if $(CAPSULE_PKCS7_CERT) == EDKII_TEST + !include BaseTools/Source/Python/Pkcs7Sign/TestRoot.cer.gFmpDevicePkgTokenSpaceGuid.PcdFmpDevicePkcs7CertBufferXdr.inc +!endif +!if $(CAPSULE_PKCS7_CERT) == NEW_ROOT + !include Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/NewRoot.cer.gFmpDevicePkgTokenSpaceGuid.PcdFmpDevicePkcs7CertBufferXdr.inc +!endif diff --git a/Vlv2TbltDevicePkg/FmpGreenSampleDevice.dsc b/Vlv2TbltDevicePkg/FmpGreenSampleDevice.dsc new file mode 100644 index 0000000000..085318fa5d --- /dev/null +++ b/Vlv2TbltDevicePkg/FmpGreenSampleDevice.dsc @@ -0,0 +1,61 @@ +#/** @file +# FmpDxe driver for Green Sample device firmware update. +# +# Copyright (c) 2018, Intel Corporation. All rights reserved.
+# +# This program and the accompanying materials are licensed and made available under +# the terms and conditions of the BSD License that accompanies this distribution. +# The full text of the license may be found at +# http://opensource.org/licenses/bsd-license.php. +# +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +# +# +#**/ + + FmpDevicePkg/FmpDxe/FmpDxe.inf { + + # + # ESRT and FMP GUID for sample device capsule update + # + FILE_GUID = $(FMP_GREEN_SAMPLE_DEVICE) + + # + # Unicode name string that is used to populate FMP Image Descriptor for this capsule update module + # + gFmpDevicePkgTokenSpaceGuid.PcdFmpDeviceImageIdName|L"Sample Firmware Device" + + # + # ESRT and FMP Lowest Support Version for this capsule update module + # 000.000.000.000 + # + gFmpDevicePkgTokenSpaceGuid.PcdFmpDeviceBuildTimeLowestSupportedVersion|0x00000000 + + gFmpDevicePkgTokenSpaceGuid.PcdFmpDeviceProgressWatchdogTimeInSeconds|2 + + # + # Capsule Update Progress Bar Color. Set to Green (RGB) (0, 255, 0) + # + gFmpDevicePkgTokenSpaceGuid.PcdFmpDeviceProgressColor|0x0000FF00 + + # + # Certificates used to authenticate capsule update image + # + !include Vlv2TbltDevicePkg/FmpCertificate.dsc + + + # + # Generic libraries that are used "as is" by all FMP modules + # + FmpPayloadHeaderLib|FmpDevicePkg/Library/FmpPayloadHeaderLibV1/FmpPayloadHeaderLibV1.inf + FmpAuthenticationLib|SecurityPkg/Library/FmpAuthenticationLibPkcs7/FmpAuthenticationLibPkcs7.inf + # + # Platform specific capsule policy library + # + CapsuleUpdatePolicyLib|FmpDevicePkg/Library/CapsuleUpdatePolicyLibNull/CapsuleUpdatePolicyLibNull.inf + # + # Device specific library that processes a capsule and updates the FW storage device + # + FmpDeviceLib|Vlv2TbltDevicePkg/Feature/Capsule/Library/FmpDeviceLibSample/FmpDeviceLib.inf + } diff --git a/Vlv2TbltDevicePkg/FmpMinnowMaxSystem.dsc b/Vlv2TbltDevicePkg/FmpMinnowMaxSystem.dsc new file mode 100644 index 0000000000..3b5d303e9e --- /dev/null +++ b/Vlv2TbltDevicePkg/FmpMinnowMaxSystem.dsc @@ -0,0 +1,65 @@ +#/** @file +# FmpDxe driver for Minnow Max system firmware update. +# +# Copyright (c) 2018, Intel Corporation. All rights reserved.
+# +# This program and the accompanying materials are licensed and made available under +# the terms and conditions of the BSD License that accompanies this distribution. +# The full text of the license may be found at +# http://opensource.org/licenses/bsd-license.php. +# +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +# +# +#**/ + + FmpDevicePkg/FmpDxe/FmpDxe.inf { + + # + # ESRT and FMP GUID for system firmware capsule update + # + FILE_GUID = $(FMP_MINNOW_MAX_SYSTEM) + + # + # Unicode name string that is used to populate FMP Image Descriptor for this capsule update module + # + gFmpDevicePkgTokenSpaceGuid.PcdFmpDeviceImageIdName|L"Minnow Max System Firmware Device" + + # + # ESRT and FMP Lowest Support Version for this capsule update module + # 000.000.000.000 + # + gFmpDevicePkgTokenSpaceGuid.PcdFmpDeviceBuildTimeLowestSupportedVersion|0x00000000 + + gPlatformModuleTokenSpaceGuid.PcdSystemFirmwareFmpLowestSupportedVersion|0x00000000 + gPlatformModuleTokenSpaceGuid.PcdSystemFirmwareFmpVersion|0x00000000 + gPlatformModuleTokenSpaceGuid.PcdSystemFirmwareFmpVersionString|"000.000.000.000" + + gFmpDevicePkgTokenSpaceGuid.PcdFmpDeviceProgressWatchdogTimeInSeconds|4 + + # + # Capsule Update Progress Bar Color. Set to Purple (RGB) (255, 0, 255) + # + gFmpDevicePkgTokenSpaceGuid.PcdFmpDeviceProgressColor|0x00FF00FF + + # + # Certificates used to authenticate capsule update image + # + !include Vlv2TbltDevicePkg/FmpCertificate.dsc + + + # + # Generic libraries that are used "as is" by all FMP modules + # + FmpPayloadHeaderLib|FmpDevicePkg/Library/FmpPayloadHeaderLibV1/FmpPayloadHeaderLibV1.inf + FmpAuthenticationLib|SecurityPkg/Library/FmpAuthenticationLibPkcs7/FmpAuthenticationLibPkcs7.inf + # + # Platform specific capsule policy library + # + CapsuleUpdatePolicyLib|FmpDevicePkg/Library/CapsuleUpdatePolicyLibNull/CapsuleUpdatePolicyLibNull.inf + # + # Device specific library that processes a capsule and updates the FW storage device + # + FmpDeviceLib|Vlv2TbltDevicePkg/Feature/Capsule/Library/FmpDeviceLib/FmpDeviceLib.inf + } diff --git a/Vlv2TbltDevicePkg/FmpRedSampleDevice.dsc b/Vlv2TbltDevicePkg/FmpRedSampleDevice.dsc new file mode 100644 index 0000000000..6e181acf57 --- /dev/null +++ b/Vlv2TbltDevicePkg/FmpRedSampleDevice.dsc @@ -0,0 +1,61 @@ +#/** @file +# FmpDxe driver for Red Sample device firmware update. +# +# Copyright (c) 2018, Intel Corporation. All rights reserved.
+# +# This program and the accompanying materials are licensed and made available under +# the terms and conditions of the BSD License that accompanies this distribution. +# The full text of the license may be found at +# http://opensource.org/licenses/bsd-license.php. +# +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +# +# +#**/ + + FmpDevicePkg/FmpDxe/FmpDxe.inf { + + # + # ESRT and FMP GUID for sample device capsule update + # + FILE_GUID = $(FMP_RED_SAMPLE_DEVICE) + + # + # Unicode name string that is used to populate FMP Image Descriptor for this capsule update module + # + gFmpDevicePkgTokenSpaceGuid.PcdFmpDeviceImageIdName|L"Sample Firmware Device" + + # + # ESRT and FMP Lowest Support Version for this capsule update module + # 000.000.000.000 + # + gFmpDevicePkgTokenSpaceGuid.PcdFmpDeviceBuildTimeLowestSupportedVersion|0x00000000 + + gFmpDevicePkgTokenSpaceGuid.PcdFmpDeviceProgressWatchdogTimeInSeconds|2 + + # + # Capsule Update Progress Bar Color. Set to Blue (RGB) (255, 0, 0) + # + gFmpDevicePkgTokenSpaceGuid.PcdFmpDeviceProgressColor|0x00FF0000 + + # + # Certificates used to authenticate capsule update image + # + !include Vlv2TbltDevicePkg/FmpCertificate.dsc + + + # + # Generic libraries that are used "as is" by all FMP modules + # + FmpPayloadHeaderLib|FmpDevicePkg/Library/FmpPayloadHeaderLibV1/FmpPayloadHeaderLibV1.inf + FmpAuthenticationLib|SecurityPkg/Library/FmpAuthenticationLibPkcs7/FmpAuthenticationLibPkcs7.inf + # + # Platform specific capsule policy library + # + CapsuleUpdatePolicyLib|FmpDevicePkg/Library/CapsuleUpdatePolicyLibNull/CapsuleUpdatePolicyLibNull.inf + # + # Device specific library that processes a capsule and updates the FW storage device + # + FmpDeviceLib|Vlv2TbltDevicePkg/Feature/Capsule/Library/FmpDeviceLibSample/FmpDeviceLib.inf + } diff --git a/Vlv2TbltDevicePkg/PlatformCapsule.dsc b/Vlv2TbltDevicePkg/PlatformCapsule.dsc index a619ed853a..80cda88384 100644 --- a/Vlv2TbltDevicePkg/PlatformCapsule.dsc +++ b/Vlv2TbltDevicePkg/PlatformCapsule.dsc @@ -23,6 +23,7 @@ SUPPORTED_ARCHITECTURES = IA32|X64 BUILD_TARGETS = DEBUG|RELEASE SKUID_IDENTIFIER = DEFAULT + POSTBUILD = Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsuleAll.bat ################################################################################################### # diff --git a/Vlv2TbltDevicePkg/PlatformCapsule.fdf b/Vlv2TbltDevicePkg/PlatformCapsule.fdf index a80a75cf83..a05f6c6e6e 100644 --- a/Vlv2TbltDevicePkg/PlatformCapsule.fdf +++ b/Vlv2TbltDevicePkg/PlatformCapsule.fdf @@ -35,24 +35,10 @@ FILE RAW = AF9C9EB2-12AD-4D3E-A4D4-96F6C9966215 { # PcdEdkiiSystemFirmwareFileGu $(WORKSPACE)/$(OUTPUT_DIRECTORY)/$(TARGET)_$(TOOL_CHAIN_TAG)/FV/Vlv.ROM } -FILE RAW = ce57b167-b0e4-41e8-a897-5f4feb781d40 { # gEdkiiSystemFmpCapsuleDriverFvFileGuid - $(WORKSPACE)/$(OUTPUT_DIRECTORY)/$(TARGET)_$(TOOL_CHAIN_TAG)/FV/CAPSULEDISPATCHFV.Fv - } - FILE RAW = 812136D3-4D3A-433A-9418-29BB9BF78F6E { # gEdkiiSystemFmpCapsuleConfigFileGuid Vlv2TbltDevicePkg/Feature/Capsule/SystemFirmwareUpdateConfig/SystemFirmwareUpdateConfig.ini } -[FmpPayload.FmpPayloadSystemFirmwarePkcs7] -IMAGE_HEADER_INIT_VERSION = 0x02 -IMAGE_TYPE_ID = 4096267b-da0a-42eb-b5eb-fef31d207cb4 # PcdSystemFmpCapsuleImageTypeIdGuid -IMAGE_INDEX = 0x1 -HARDWARE_INSTANCE = 0x0 -MONOTONIC_COUNT = 0x2 -CERTIFICATE_GUID = 4AAFD29D-68DF-49EE-8AA9-347D375665A7 # PKCS7 - -FILE DATA = $(WORKSPACE)/$(OUTPUT_DIRECTORY)/$(TARGET)_$(TOOL_CHAIN_TAG)/FV/SYSTEMFIRMWAREUPDATECARGO.Fv - [FmpPayload.FmpPayloadSystemFirmwareRsa2048] IMAGE_HEADER_INIT_VERSION = 0x02 IMAGE_TYPE_ID = 4096267b-da0a-42eb-b5eb-fef31d207cb4 # PcdSystemFmpCapsuleImageTypeIdGuid @@ -63,14 +49,6 @@ CERTIFICATE_GUID = A7717414-C616-4977-9420-844712A735BF # RSA2048SHA256 FILE DATA = $(WORKSPACE)/$(OUTPUT_DIRECTORY)/$(TARGET)_$(TOOL_CHAIN_TAG)/FV/SYSTEMFIRMWAREUPDATECARGO.Fv -[Capsule.Vlv2FirmwareUpdateCapsuleFmpPkcs7] -CAPSULE_GUID = 6dcbd5ed-e82d-4c44-bda1-7194199ad92a # gEfiFmpCapsuleGuid -CAPSULE_FLAGS = PersistAcrossReset,InitiateReset -CAPSULE_HEADER_SIZE = 0x20 -CAPSULE_HEADER_INIT_VERSION = 0x1 - -FMP_PAYLOAD = FmpPayloadSystemFirmwarePkcs7 - [Capsule.Vlv2Rec] CAPSULE_GUID = 6dcbd5ed-e82d-4c44-bda1-7194199ad92a # gEfiFmpCapsuleGuid CAPSULE_FLAGS = PersistAcrossReset,InitiateReset @@ -78,4 +56,3 @@ CAPSULE_HEADER_SIZE = 0x20 CAPSULE_HEADER_INIT_VERSION = 0x1 FMP_PAYLOAD = FmpPayloadSystemFirmwareRsa2048 - diff --git a/Vlv2TbltDevicePkg/PlatformCapsuleGcc.fdf b/Vlv2TbltDevicePkg/PlatformCapsuleGcc.fdf index f4f396cf4e..b7ea8bf839 100644 --- a/Vlv2TbltDevicePkg/PlatformCapsuleGcc.fdf +++ b/Vlv2TbltDevicePkg/PlatformCapsuleGcc.fdf @@ -35,24 +35,10 @@ FILE RAW = AF9C9EB2-12AD-4D3E-A4D4-96F6C9966215 { # PcdEdkiiSystemFirmwareFileGu $(WORKSPACE)/$(OUTPUT_DIRECTORY)/$(TARGET)_$(TOOL_CHAIN_TAG)/FV/Vlv.ROM } -FILE RAW = ce57b167-b0e4-41e8-a897-5f4feb781d40 { # gEdkiiSystemFmpCapsuleDriverFvFileGuid - $(WORKSPACE)/$(OUTPUT_DIRECTORY)/$(TARGET)_$(TOOL_CHAIN_TAG)/FV/CAPSULEDISPATCHFV.Fv - } - FILE RAW = 812136D3-4D3A-433A-9418-29BB9BF78F6E { # gEdkiiSystemFmpCapsuleConfigFileGuid Vlv2TbltDevicePkg/Feature/Capsule/SystemFirmwareUpdateConfig/SystemFirmwareUpdateConfigGcc.ini } -[FmpPayload.FmpPayloadSystemFirmwarePkcs7] -IMAGE_HEADER_INIT_VERSION = 0x02 -IMAGE_TYPE_ID = 4096267b-da0a-42eb-b5eb-fef31d207cb4 # PcdSystemFmpCapsuleImageTypeIdGuid -IMAGE_INDEX = 0x1 -HARDWARE_INSTANCE = 0x0 -MONOTONIC_COUNT = 0x2 -CERTIFICATE_GUID = 4AAFD29D-68DF-49EE-8AA9-347D375665A7 # PKCS7 - -FILE DATA = $(WORKSPACE)/$(OUTPUT_DIRECTORY)/$(TARGET)_$(TOOL_CHAIN_TAG)/FV/SYSTEMFIRMWAREUPDATECARGO.Fv - [FmpPayload.FmpPayloadSystemFirmwareRsa2048] IMAGE_HEADER_INIT_VERSION = 0x02 IMAGE_TYPE_ID = 4096267b-da0a-42eb-b5eb-fef31d207cb4 # PcdSystemFmpCapsuleImageTypeIdGuid @@ -63,14 +49,6 @@ CERTIFICATE_GUID = A7717414-C616-4977-9420-844712A735BF # RSA2048SHA256 FILE DATA = $(WORKSPACE)/$(OUTPUT_DIRECTORY)/$(TARGET)_$(TOOL_CHAIN_TAG)/FV/SYSTEMFIRMWAREUPDATECARGO.Fv -[Capsule.Vlv2FirmwareUpdateCapsuleFmpPkcs7] -CAPSULE_GUID = 6dcbd5ed-e82d-4c44-bda1-7194199ad92a # gEfiFmpCapsuleGuid -CAPSULE_FLAGS = PersistAcrossReset,InitiateReset -CAPSULE_HEADER_SIZE = 0x20 -CAPSULE_HEADER_INIT_VERSION = 0x1 - -FMP_PAYLOAD = FmpPayloadSystemFirmwarePkcs7 - [Capsule.Vlv2Rec] CAPSULE_GUID = 6dcbd5ed-e82d-4c44-bda1-7194199ad92a # gEfiFmpCapsuleGuid CAPSULE_FLAGS = PersistAcrossReset,InitiateReset @@ -78,4 +56,3 @@ CAPSULE_HEADER_SIZE = 0x20 CAPSULE_HEADER_INIT_VERSION = 0x1 FMP_PAYLOAD = FmpPayloadSystemFirmwareRsa2048 - diff --git a/Vlv2TbltDevicePkg/PlatformPkg.dec b/Vlv2TbltDevicePkg/PlatformPkg.dec index 731fd05ed5..8fccd7f1b1 100644 --- a/Vlv2TbltDevicePkg/PlatformPkg.dec +++ b/Vlv2TbltDevicePkg/PlatformPkg.dec @@ -165,6 +165,11 @@ gPlatformModuleTokenSpaceGuid.PcdBiosRomBase|0xFFC00000|UINT32|0x4000000B gPlatformModuleTokenSpaceGuid.PcdBiosRomSize|0x00400000|UINT32|0x4000000C + # PCDs for System Firmware FMP instance + gPlatformModuleTokenSpaceGuid.PcdSystemFirmwareFmpLowestSupportedVersion|0x00000000|UINT32|0x40000100 + gPlatformModuleTokenSpaceGuid.PcdSystemFirmwareFmpVersion|0x00000000|UINT32|0x40000101 + gPlatformModuleTokenSpaceGuid.PcdSystemFirmwareFmpVersionString|""|VOID*|0x40000102 + [PcdsFeatureFlag] ## This PCD specifies whether StatusCode is reported via ISA Serial port. gEfiSerialPortTokenSpaceGuid.PcdStatusCodeUseIsaSerial|TRUE|BOOLEAN|0x00000020 diff --git a/Vlv2TbltDevicePkg/PlatformPkg.fdf b/Vlv2TbltDevicePkg/PlatformPkg.fdf index 85309650db..b7a0e584de 100644 --- a/Vlv2TbltDevicePkg/PlatformPkg.fdf +++ b/Vlv2TbltDevicePkg/PlatformPkg.fdf @@ -242,7 +242,7 @@ READ_LOCK_CAP = TRUE READ_LOCK_STATUS = TRUE FILE RAW = 197DB236-F856-4924-90F8-CDF12FB875F3 { - $(OUTPUT_DIRECTORY)\$(TARGET)_$(TOOL_CHAIN_TAG)\$(DXE_ARCHITECTURE)\MicrocodeUpdates.bin + $(OUTPUT_DIRECTORY)/$(TARGET)_$(TOOL_CHAIN_TAG)/$(DXE_ARCHITECTURE)/MicrocodeUpdates.bin } !if $(RECOVERY_ENABLE) @@ -413,11 +413,6 @@ INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET INF MdeModulePkg/Universal/PCD/Pei/Pcd.inf -!if $(CAPSULE_ENABLE) || $(RECOVERY_ENABLE) - # FMP image decriptor -INF RuleOverride = FMP_IMAGE_DESC Vlv2TbltDevicePkg/Feature/Capsule/SystemFirmwareDescriptor/SystemFirmwareDescriptor.inf -!endif - [FV.FVMAIN] BlockSize = $(FLASH_BLOCK_SIZE) FvAlignment = 16 @@ -775,14 +770,25 @@ FILE FREEFORM = 878AC2CC-5343-46F2-B563-51F89DAF56BA { !endif !endif -!if $(CAPSULE_ENABLE) || $(MICOCODE_CAPSULE_ENABLE) -INF MdeModulePkg/Universal/EsrtFmpDxe/EsrtFmpDxe.inf -!endif !if $(CAPSULE_ENABLE) -INF SignedCapsulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareReportDxe.inf +INF MdeModulePkg/Universal/EsrtFmpDxe/EsrtFmpDxe.inf + +# +# Minnow Max System Firmware FMP +# +INF FILE_GUID = $(FMP_MINNOW_MAX_SYSTEM) FmpDevicePkg/FmpDxe/FmpDxe.inf + +# +# Sample Device FMP +# +INF FILE_GUID = $(FMP_GREEN_SAMPLE_DEVICE) FmpDevicePkg/FmpDxe/FmpDxe.inf +INF FILE_GUID = $(FMP_BLUE_SAMPLE_DEVICE) FmpDevicePkg/FmpDxe/FmpDxe.inf +INF FILE_GUID = $(FMP_RED_SAMPLE_DEVICE) FmpDevicePkg/FmpDxe/FmpDxe.inf + !endif + !if $(MICOCODE_CAPSULE_ENABLE) -INF UefiCpuPkg/Feature/Capsule/MicrocodeUpdateDxe/MicrocodeUpdateDxe.inf +INF IntelSiliconPkg/Feature/Capsule/MicrocodeUpdateDxe/MicrocodeUpdateDxe.inf !endif !if $(RECOVERY_ENABLE) @@ -792,13 +798,6 @@ FILE FREEFORM = PCD(gEfiSignedCapsulePkgTokenSpaceGuid.PcdEdkiiRsa2048Sha256Test } !endif -!if $(CAPSULE_ENABLE) -FILE FREEFORM = PCD(gEfiSignedCapsulePkgTokenSpaceGuid.PcdEdkiiPkcs7TestPublicKeyFileGuid) { - SECTION RAW = BaseTools/Source/Python/Pkcs7Sign/TestRoot.cer - SECTION UI = "Pkcs7TestRoot" - } -!endif - [FV.FVMAIN_COMPACT] BlockSize = $(FLASH_BLOCK_SIZE) FvAlignment = 16 @@ -861,32 +860,6 @@ READ_STATUS = TRUE READ_LOCK_CAP = TRUE READ_LOCK_STATUS = TRUE - -!if $(CAPSULE_ENABLE) || $(RECOVERY_ENABLE) -[FV.CapsuleDispatchFv] -FvAlignment = 16 -ERASE_POLARITY = 1 -MEMORY_MAPPED = TRUE -STICKY_WRITE = TRUE -LOCK_CAP = TRUE -LOCK_STATUS = TRUE -WRITE_DISABLED_CAP = TRUE -WRITE_ENABLED_CAP = TRUE -WRITE_STATUS = TRUE -WRITE_LOCK_CAP = TRUE -WRITE_LOCK_STATUS = TRUE -READ_DISABLED_CAP = TRUE -READ_ENABLED_CAP = TRUE -READ_STATUS = TRUE -READ_LOCK_CAP = TRUE -READ_LOCK_STATUS = TRUE - -!if $(CAPSULE_ENABLE) -INF SignedCapsulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareUpdateDxe.inf -!endif - -!endif - ################################################################################ # # Rules are use with the [FV] section's module INF type to define diff --git a/Vlv2TbltDevicePkg/PlatformPkgConfig.dsc b/Vlv2TbltDevicePkg/PlatformPkgConfig.dsc index c93ca8a457..672853dda6 100644 --- a/Vlv2TbltDevicePkg/PlatformPkgConfig.dsc +++ b/Vlv2TbltDevicePkg/PlatformPkgConfig.dsc @@ -66,7 +66,7 @@ DEFINE S3_ENABLE = TRUE DEFINE CAPSULE_ENABLE = TRUE DEFINE CAPSULE_RESET_ENABLE = TRUE DEFINE RECOVERY_ENABLE = FALSE -DEFINE MICOCODE_CAPSULE_ENABLE = FALSE +DEFINE MICOCODE_CAPSULE_ENABLE = TRUE DEFINE GOP_DRIVER_ENABLE = TRUE DEFINE DATAHUB_ENABLE = TRUE @@ -94,6 +94,19 @@ DEFINE PCIESC_ENABLE = TRUE # DEFINE SOURCE_DEBUG_ENABLE = FALSE +# +# Capsule Pubic Certificate. Default is EDK_TEST. Options are: +# SAMPLE_DEVELOPMENT - Only signtool SAMPLE_DEVELOPMENT +# SAMPLE_DEVELOPMENT_SAMPLE_PRODUCTION - Both signtool SAMPLE_DEVELOPMENT and SAMPLE_PRODUCTION +# EDKII_TEST - Only openssl EDK II test certificate +# NEW_ROOT - Only openssl new VLV2 certificate +# +DEFINE CAPSULE_PKCS7_CERT = EDKII_TEST - - +# +# Define ESRT GUIDs for Firmware Management Protocol instances +# +DEFINE FMP_MINNOW_MAX_SYSTEM = 4096267b-da0a-42eb-b5eb-fef31d207cb4 +DEFINE FMP_RED_SAMPLE_DEVICE = 72E2945A-00DA-448E-9AA7-075AD840F9D4 +DEFINE FMP_BLUE_SAMPLE_DEVICE = 149DA854-7D19-4FAA-A91E-862EA1324BE6 +DEFINE FMP_GREEN_SAMPLE_DEVICE = 79179BFD-704D-4C90-9E02-0AB8D968C18A diff --git a/Vlv2TbltDevicePkg/PlatformPkgGcc.fdf b/Vlv2TbltDevicePkg/PlatformPkgGcc.fdf index 51a620ea15..eca273e33f 100644 --- a/Vlv2TbltDevicePkg/PlatformPkgGcc.fdf +++ b/Vlv2TbltDevicePkg/PlatformPkgGcc.fdf @@ -123,7 +123,6 @@ SET gUefiCpuPkgTokenSpaceGuid.PcdCpuMicrocodePatchRegionSize = $(FLASH_REGION_VL $(FLASH_REGION_VLVMICROCODE_OFFSET)|$(FLASH_REGION_VLVMICROCODE_SIZE) gPlatformModuleTokenSpaceGuid.PcdFlashMicroCodeAddress|gPlatformModuleTokenSpaceGuid.PcdFlashMicroCodeSize FV = MICROCODE_FV - $(FLASH_REGION_VPD_OFFSET)|$(FLASH_REGION_VPD_SIZE) gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase|gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize FILE = $(WORKSPACE)/Vlv2TbltDevicePkg/Stitch/Gcc/NvStorageVariable.bin @@ -370,11 +369,6 @@ INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET INF MdeModulePkg/Universal/PCD/Pei/Pcd.inf -!if $(CAPSULE_ENABLE) || $(RECOVERY_ENABLE) - # FMP image decriptor -INF RuleOverride = FMP_IMAGE_DESC Vlv2TbltDevicePkg/Feature/Capsule/SystemFirmwareDescriptor/SystemFirmwareDescriptor.inf -!endif - [FV.FVMAIN] BlockSize = $(FLASH_BLOCK_SIZE) FvAlignment = 16 @@ -732,14 +726,25 @@ FILE FREEFORM = 878AC2CC-5343-46F2-B563-51F89DAF56BA { !endif !endif -!if $(CAPSULE_ENABLE) || $(MICOCODE_CAPSULE_ENABLE) -INF MdeModulePkg/Universal/EsrtFmpDxe/EsrtFmpDxe.inf -!endif !if $(CAPSULE_ENABLE) -INF SignedCapsulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareReportDxe.inf +INF MdeModulePkg/Universal/EsrtFmpDxe/EsrtFmpDxe.inf + +# +# Minnow Max System Firmware FMP +# +INF FILE_GUID = $(FMP_MINNOW_MAX_SYSTEM) FmpDevicePkg/FmpDxe/FmpDxe.inf + +# +# Sample Device FMP +# +INF FILE_GUID = $(FMP_GREEN_SAMPLE_DEVICE) FmpDevicePkg/FmpDxe/FmpDxe.inf +INF FILE_GUID = $(FMP_BLUE_SAMPLE_DEVICE) FmpDevicePkg/FmpDxe/FmpDxe.inf +INF FILE_GUID = $(FMP_RED_SAMPLE_DEVICE) FmpDevicePkg/FmpDxe/FmpDxe.inf + !endif + !if $(MICOCODE_CAPSULE_ENABLE) -INF UefiCpuPkg/Feature/Capsule/MicrocodeUpdateDxe/MicrocodeUpdateDxe.inf +INF IntelSiliconPkg/Feature/Capsule/MicrocodeUpdateDxe/MicrocodeUpdateDxe.inf !endif !if $(RECOVERY_ENABLE) @@ -748,13 +753,6 @@ FILE FREEFORM = PCD(gEfiSignedCapsulePkgTokenSpaceGuid.PcdEdkiiRsa2048Sha256Test SECTION UI = "Rsa2048Sha256TestSigningPublicKey" } !endif - -!if $(CAPSULE_ENABLE) -FILE FREEFORM = PCD(gEfiSignedCapsulePkgTokenSpaceGuid.PcdEdkiiPkcs7TestPublicKeyFileGuid) { - SECTION RAW = BaseTools/Source/Python/Pkcs7Sign/TestRoot.cer - SECTION UI = "Pkcs7TestRoot" - } -!endif [FV.FVMAIN_COMPACT] BlockSize = $(FLASH_BLOCK_SIZE) @@ -818,32 +816,6 @@ READ_STATUS = TRUE READ_LOCK_CAP = TRUE READ_LOCK_STATUS = TRUE - -!if $(CAPSULE_ENABLE) || $(RECOVERY_ENABLE) -[FV.CapsuleDispatchFv] -FvAlignment = 16 -ERASE_POLARITY = 1 -MEMORY_MAPPED = TRUE -STICKY_WRITE = TRUE -LOCK_CAP = TRUE -LOCK_STATUS = TRUE -WRITE_DISABLED_CAP = TRUE -WRITE_ENABLED_CAP = TRUE -WRITE_STATUS = TRUE -WRITE_LOCK_CAP = TRUE -WRITE_LOCK_STATUS = TRUE -READ_DISABLED_CAP = TRUE -READ_ENABLED_CAP = TRUE -READ_STATUS = TRUE -READ_LOCK_CAP = TRUE -READ_LOCK_STATUS = TRUE - -!if $(CAPSULE_ENABLE) -INF SignedCapsulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareUpdateDxe.inf -!endif - -!endif - ################################################################################ # # Rules are use with the [FV] section's module INF type to define @@ -1086,4 +1058,3 @@ INF SignedCapsulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareUpdateDxe.inf UI STRING="$(MODULE_NAME)" Optional VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER) } - diff --git a/Vlv2TbltDevicePkg/PlatformPkgGccX64.dsc b/Vlv2TbltDevicePkg/PlatformPkgGccX64.dsc index 8b8a55ae6f..3e3522aee9 100644 --- a/Vlv2TbltDevicePkg/PlatformPkgGccX64.dsc +++ b/Vlv2TbltDevicePkg/PlatformPkgGccX64.dsc @@ -190,7 +190,6 @@ !else CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf !endif - EdkiiSystemCapsuleLib|SignedCapsulePkg/Library/EdkiiSystemCapsuleLib/EdkiiSystemCapsuleLib.inf FmpAuthenticationLib|MdeModulePkg/Library/FmpAuthenticationLibNull/FmpAuthenticationLibNull.inf IniParsingLib|SignedCapsulePkg/Library/IniParsingLib/IniParsingLib.inf PlatformFlashAccessLib|Vlv2TbltDevicePkg/Feature/Capsule/Library/PlatformFlashAccessLib/PlatformFlashAccessLib.inf @@ -336,7 +335,7 @@ DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf SerialPortLib|MdePkg/Library/BaseSerialPortLibNull/BaseSerialPortLibNull.inf !else - DebugLib|IntelFrameworkModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf + DebugLib|MdeModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf SerialPortLib|$(PLATFORM_PACKAGE)/Library/SerialPortLib/SerialPortLib.inf !endif @@ -706,7 +705,23 @@ # gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmStackSize|0x4000 -[PcdsFixedAtBuild.IA32.PEIM, PcdsFixedAtBuild.IA32.PEI_CORE, PcdsFixedAtBuild.IA32.SEC] + # + # Clear unused single certificate PCD + # + gEfiSecurityPkgTokenSpaceGuid.PcdPkcs7CertBuffer|{0} + + # + # Lock all updatable firmware devices at End of DXE + # + gFmpDevicePkgTokenSpaceGuid.PcdFmpDeviceLockEventGuid|{GUID(gEfiEndOfDxeEventGroupGuid)} +# gFmpDevicePkgTokenSpaceGuid.PcdFmpDeviceLockEventGuid|{GUID(gEfiEventReadyToBootGuid)} + + # + # Set PcdFmpDeviceTestKeySha256Digest to {0} to disable test key detection + # +# gFmpDevicePkgTokenSpaceGuid.PcdFmpDeviceTestKeySha256Digest|{0} + +[PcdsFixedAtBuild.IA32] !if $(TARGET) == RELEASE gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x0 gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x3 @@ -910,10 +925,10 @@ gEfiVLVTokenSpaceGuid.PcdCpuSmramCpuDataAddress|0 gEfiVLVTokenSpaceGuid.PcdCpuLockBoxSize|0 -!if $(CAPSULE_ENABLE) || $(RECOVERY_ENABLE) - gEfiSignedCapsulePkgTokenSpaceGuid.PcdEdkiiSystemFirmwareImageDescriptor|{0x0}|VOID*|0x100 - gEfiMdeModulePkgTokenSpaceGuid.PcdSystemFmpCapsuleImageTypeIdGuid|{0x7b, 0x26, 0x96, 0x40, 0x0a, 0xda, 0xeb, 0x42, 0xb5, 0xeb, 0xfe, 0xf3, 0x1d, 0x20, 0x7c, 0xb4} - gEfiSignedCapsulePkgTokenSpaceGuid.PcdEdkiiSystemFirmwareFileGuid|{0xb2, 0x9e, 0x9c, 0xaf, 0xad, 0x12, 0x3e, 0x4d, 0xa4, 0xd4, 0x96, 0xf6, 0xc9, 0x96, 0x62, 0x15} +[PcdsDynamicExDefault.X64.DEFAULT] +!if $(RECOVERY_ENABLE) + gEfiSignedCapsulePkgTokenSpaceGuid.PcdEdkiiSystemFirmwareFileGuid|{GUID("AF9C9EB2-12AD-4D3E-A4D4-96F6C9966215")}|VOID*|0x10 + gEfiMdeModulePkgTokenSpaceGuid.PcdSystemFmpCapsuleImageTypeIdGuid|{GUID("4096267b-da0a-42eb-b5eb-fef31d207cb4")}|VOID*|0x10 !endif [Components.IA32] @@ -937,14 +952,6 @@ } !endif -!if $(CAPSULE_ENABLE) || $(RECOVERY_ENABLE) - # FMP image decriptor - Vlv2TbltDevicePkg/Feature/Capsule/SystemFirmwareDescriptor/SystemFirmwareDescriptor.inf { - - PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf - } -!endif - MdeModulePkg/Core/Pei/PeiMain.inf { !if $(TARGET) == DEBUG @@ -1199,11 +1206,6 @@ $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/fTPMInitPeim.inf DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf SerialPortLib|$(PLATFORM_PACKAGE)/Library/SerialPortLib/SerialPortLib.inf -!if $(CAPSULE_ENABLE) - FmpAuthenticationLib|SecurityPkg/Library/FmpAuthenticationLibPkcs7/FmpAuthenticationLibPkcs7.inf -!else - FmpAuthenticationLib|MdeModulePkg/Library/FmpAuthenticationLibNull/FmpAuthenticationLibNull.inf -!endif !if $(FTPM_ENABLE) == TRUE Tpm2DeviceLib|Vlv2TbltDevicePkg/Library/Tpm2DeviceLibSeCDxe/Tpm2DeviceLibSeC.inf !else @@ -1572,32 +1574,20 @@ $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/fTPMInitPeim.inf !endif !endif - Vlv2TbltDevicePkg/Application/FirmwareUpdate/FirmwareUpdate.inf - !if $(CAPSULE_ENABLE) || $(MICOCODE_CAPSULE_ENABLE) MdeModulePkg/Universal/EsrtFmpDxe/EsrtFmpDxe.inf MdeModulePkg/Application/CapsuleApp/CapsuleApp.inf !endif !if $(CAPSULE_ENABLE) - SignedCapsulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareReportDxe.inf { - - DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf - PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf - SerialPortLib|$(PLATFORM_PACKAGE)/Library/SerialPortLib/SerialPortLib.inf - FmpAuthenticationLib|SecurityPkg/Library/FmpAuthenticationLibPkcs7/FmpAuthenticationLibPkcs7.inf - } - SignedCapsulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareUpdateDxe.inf { - - DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf - PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf - SerialPortLib|$(PLATFORM_PACKAGE)/Library/SerialPortLib/SerialPortLib.inf - FmpAuthenticationLib|SecurityPkg/Library/FmpAuthenticationLibPkcs7/FmpAuthenticationLibPkcs7.inf - } + !include Vlv2TbltDevicePkg/FmpMinnowMaxSystem.dsc + !include Vlv2TbltDevicePkg/FmpGreenSampleDevice.dsc + !include Vlv2TbltDevicePkg/FmpBlueSampleDevice.dsc + !include Vlv2TbltDevicePkg/FmpRedSampleDevice.dsc !endif !if $(MICOCODE_CAPSULE_ENABLE) - UefiCpuPkg/Feature/Capsule/MicrocodeUpdateDxe/MicrocodeUpdateDxe.inf { + IntelSiliconPkg/Feature/Capsule/MicrocodeUpdateDxe/MicrocodeUpdateDxe.inf { DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf @@ -1787,8 +1777,6 @@ $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/fTPMInitPeim.inf [Components.X64] - $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTURE)/SysFwUpdateCapsuleDxe.inf - $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTURE)/I2cBus.inf { gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0xF0000043 diff --git a/Vlv2TbltDevicePkg/PlatformPkgIA32.dsc b/Vlv2TbltDevicePkg/PlatformPkgIA32.dsc index cbdfb1b83a..55c873d565 100644 --- a/Vlv2TbltDevicePkg/PlatformPkgIA32.dsc +++ b/Vlv2TbltDevicePkg/PlatformPkgIA32.dsc @@ -190,7 +190,6 @@ !else CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf !endif - EdkiiSystemCapsuleLib|SignedCapsulePkg/Library/EdkiiSystemCapsuleLib/EdkiiSystemCapsuleLib.inf FmpAuthenticationLib|MdeModulePkg/Library/FmpAuthenticationLibNull/FmpAuthenticationLibNull.inf IniParsingLib|SignedCapsulePkg/Library/IniParsingLib/IniParsingLib.inf PlatformFlashAccessLib|Vlv2TbltDevicePkg/Feature/Capsule/Library/PlatformFlashAccessLib/PlatformFlashAccessLib.inf @@ -706,7 +705,23 @@ # gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmStackSize|0x4000 -[PcdsFixedAtBuild.IA32.PEIM, PcdsFixedAtBuild.IA32.PEI_CORE, PcdsFixedAtBuild.IA32.SEC] + # + # Clear unused single certificate PCD + # + gEfiSecurityPkgTokenSpaceGuid.PcdPkcs7CertBuffer|{0} + + # + # Lock all updatable firmware devices at End of DXE + # + gFmpDevicePkgTokenSpaceGuid.PcdFmpDeviceLockEventGuid|{GUID(gEfiEndOfDxeEventGroupGuid)} +# gFmpDevicePkgTokenSpaceGuid.PcdFmpDeviceLockEventGuid|{GUID(gEfiEventReadyToBootGuid)} + + # + # Set PcdFmpDeviceTestKeySha256Digest to {0} to disable test key detection + # +# gFmpDevicePkgTokenSpaceGuid.PcdFmpDeviceTestKeySha256Digest|{0} + +[PcdsFixedAtBuild.IA32] !if $(TARGET) == RELEASE gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x0 gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x3 @@ -910,10 +925,10 @@ gEfiVLVTokenSpaceGuid.PcdCpuSmramCpuDataAddress|0 gEfiVLVTokenSpaceGuid.PcdCpuLockBoxSize|0 -!if $(CAPSULE_ENABLE) || $(RECOVERY_ENABLE) - gEfiSignedCapsulePkgTokenSpaceGuid.PcdEdkiiSystemFirmwareImageDescriptor|{0x0}|VOID*|0x100 - gEfiMdeModulePkgTokenSpaceGuid.PcdSystemFmpCapsuleImageTypeIdGuid|{0x7b, 0x26, 0x96, 0x40, 0x0a, 0xda, 0xeb, 0x42, 0xb5, 0xeb, 0xfe, 0xf3, 0x1d, 0x20, 0x7c, 0xb4} - gEfiSignedCapsulePkgTokenSpaceGuid.PcdEdkiiSystemFirmwareFileGuid|{0xb2, 0x9e, 0x9c, 0xaf, 0xad, 0x12, 0x3e, 0x4d, 0xa4, 0xd4, 0x96, 0xf6, 0xc9, 0x96, 0x62, 0x15} +[PcdsDynamicExDefault.X64.DEFAULT] +!if $(RECOVERY_ENABLE) + gEfiSignedCapsulePkgTokenSpaceGuid.PcdEdkiiSystemFirmwareFileGuid|{GUID("AF9C9EB2-12AD-4D3E-A4D4-96F6C9966215")}|VOID*|0x10 + gEfiMdeModulePkgTokenSpaceGuid.PcdSystemFmpCapsuleImageTypeIdGuid|{GUID("4096267b-da0a-42eb-b5eb-fef31d207cb4")}|VOID*|0x10 !endif [Components.IA32] @@ -937,14 +952,6 @@ } !endif -!if $(CAPSULE_ENABLE) || $(RECOVERY_ENABLE) - # FMP image decriptor - Vlv2TbltDevicePkg/Feature/Capsule/SystemFirmwareDescriptor/SystemFirmwareDescriptor.inf { - - PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf - } -!endif - MdeModulePkg/Core/Pei/PeiMain.inf { !if $(TARGET) == DEBUG @@ -1187,11 +1194,6 @@ $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/fTPMInitPeim.inf DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf SerialPortLib|$(PLATFORM_PACKAGE)/Library/SerialPortLib/SerialPortLib.inf -!if $(CAPSULE_ENABLE) - FmpAuthenticationLib|SecurityPkg/Library/FmpAuthenticationLibPkcs7/FmpAuthenticationLibPkcs7.inf -!else - FmpAuthenticationLib|MdeModulePkg/Library/FmpAuthenticationLibNull/FmpAuthenticationLibNull.inf -!endif !if $(FTPM_ENABLE) == TRUE Tpm2DeviceLib|Vlv2TbltDevicePkg/Library/Tpm2DeviceLibSeCDxe/Tpm2DeviceLibSeC.inf !else @@ -1560,32 +1562,20 @@ $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/fTPMInitPeim.inf !endif !endif - Vlv2TbltDevicePkg/Application/FirmwareUpdate/FirmwareUpdate.inf - !if $(CAPSULE_ENABLE) || $(MICOCODE_CAPSULE_ENABLE) MdeModulePkg/Universal/EsrtFmpDxe/EsrtFmpDxe.inf MdeModulePkg/Application/CapsuleApp/CapsuleApp.inf !endif !if $(CAPSULE_ENABLE) - SignedCapsulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareReportDxe.inf { - - DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf - PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf - SerialPortLib|$(PLATFORM_PACKAGE)/Library/SerialPortLib/SerialPortLib.inf - FmpAuthenticationLib|SecurityPkg/Library/FmpAuthenticationLibPkcs7/FmpAuthenticationLibPkcs7.inf - } - SignedCapsulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareUpdateDxe.inf { - - DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf - PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf - SerialPortLib|$(PLATFORM_PACKAGE)/Library/SerialPortLib/SerialPortLib.inf - FmpAuthenticationLib|SecurityPkg/Library/FmpAuthenticationLibPkcs7/FmpAuthenticationLibPkcs7.inf - } + !include Vlv2TbltDevicePkg/FmpMinnowMaxSystem.dsc + !include Vlv2TbltDevicePkg/FmpGreenSampleDevice.dsc + !include Vlv2TbltDevicePkg/FmpBlueSampleDevice.dsc + !include Vlv2TbltDevicePkg/FmpRedSampleDevice.dsc !endif !if $(MICOCODE_CAPSULE_ENABLE) - UefiCpuPkg/Feature/Capsule/MicrocodeUpdateDxe/MicrocodeUpdateDxe.inf { + IntelSiliconPkg/Feature/Capsule/MicrocodeUpdateDxe/MicrocodeUpdateDxe.inf { DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf @@ -1776,8 +1766,6 @@ $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/fTPMInitPeim.inf [Components.IA32] - $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTURE)/SysFwUpdateCapsuleDxe.inf - $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTURE)/I2cBus.inf { gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0xF0000043 diff --git a/Vlv2TbltDevicePkg/PlatformPkgX64.dsc b/Vlv2TbltDevicePkg/PlatformPkgX64.dsc index 6396f7aad4..fa6aa63491 100644 --- a/Vlv2TbltDevicePkg/PlatformPkgX64.dsc +++ b/Vlv2TbltDevicePkg/PlatformPkgX64.dsc @@ -190,7 +190,6 @@ !else CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf !endif - EdkiiSystemCapsuleLib|SignedCapsulePkg/Library/EdkiiSystemCapsuleLib/EdkiiSystemCapsuleLib.inf FmpAuthenticationLib|MdeModulePkg/Library/FmpAuthenticationLibNull/FmpAuthenticationLibNull.inf IniParsingLib|SignedCapsulePkg/Library/IniParsingLib/IniParsingLib.inf PlatformFlashAccessLib|Vlv2TbltDevicePkg/Feature/Capsule/Library/PlatformFlashAccessLib/PlatformFlashAccessLib.inf @@ -706,6 +705,22 @@ # gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmStackSize|0x4000 + # + # Clear unused single certificate PCD + # + gEfiSecurityPkgTokenSpaceGuid.PcdPkcs7CertBuffer|{0} + + # + # Lock all updatable firmware devices at End of DXE + # + gFmpDevicePkgTokenSpaceGuid.PcdFmpDeviceLockEventGuid|{GUID(gEfiEndOfDxeEventGroupGuid)} +# gFmpDevicePkgTokenSpaceGuid.PcdFmpDeviceLockEventGuid|{GUID(gEfiEventReadyToBootGuid)} + + # + # Set PcdFmpDeviceTestKeySha256Digest to {0} to disable test key detection + # +# gFmpDevicePkgTokenSpaceGuid.PcdFmpDeviceTestKeySha256Digest|{0} + [PcdsFixedAtBuild.IA32] !if $(TARGET) == RELEASE gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x0 @@ -910,10 +925,10 @@ gEfiVLVTokenSpaceGuid.PcdCpuSmramCpuDataAddress|0 gEfiVLVTokenSpaceGuid.PcdCpuLockBoxSize|0 -!if $(CAPSULE_ENABLE) || $(RECOVERY_ENABLE) - gEfiSignedCapsulePkgTokenSpaceGuid.PcdEdkiiSystemFirmwareImageDescriptor|{0x0}|VOID*|0x100 - gEfiMdeModulePkgTokenSpaceGuid.PcdSystemFmpCapsuleImageTypeIdGuid|{0x7b, 0x26, 0x96, 0x40, 0x0a, 0xda, 0xeb, 0x42, 0xb5, 0xeb, 0xfe, 0xf3, 0x1d, 0x20, 0x7c, 0xb4} - gEfiSignedCapsulePkgTokenSpaceGuid.PcdEdkiiSystemFirmwareFileGuid|{0xb2, 0x9e, 0x9c, 0xaf, 0xad, 0x12, 0x3e, 0x4d, 0xa4, 0xd4, 0x96, 0xf6, 0xc9, 0x96, 0x62, 0x15} +[PcdsDynamicExDefault.X64.DEFAULT] +!if $(RECOVERY_ENABLE) + gEfiSignedCapsulePkgTokenSpaceGuid.PcdEdkiiSystemFirmwareFileGuid|{GUID("AF9C9EB2-12AD-4D3E-A4D4-96F6C9966215")}|VOID*|0x10 + gEfiMdeModulePkgTokenSpaceGuid.PcdSystemFmpCapsuleImageTypeIdGuid|{GUID("4096267b-da0a-42eb-b5eb-fef31d207cb4")}|VOID*|0x10 !endif [Components.IA32] @@ -937,14 +952,6 @@ } !endif -!if $(CAPSULE_ENABLE) || $(RECOVERY_ENABLE) - # FMP image decriptor - Vlv2TbltDevicePkg/Feature/Capsule/SystemFirmwareDescriptor/SystemFirmwareDescriptor.inf { - - PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf - } -!endif - MdeModulePkg/Core/Pei/PeiMain.inf { !if $(TARGET) == DEBUG @@ -1199,11 +1206,6 @@ $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/fTPMInitPeim.inf DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf SerialPortLib|$(PLATFORM_PACKAGE)/Library/SerialPortLib/SerialPortLib.inf -!if $(CAPSULE_ENABLE) - FmpAuthenticationLib|SecurityPkg/Library/FmpAuthenticationLibPkcs7/FmpAuthenticationLibPkcs7.inf -!else - FmpAuthenticationLib|MdeModulePkg/Library/FmpAuthenticationLibNull/FmpAuthenticationLibNull.inf -!endif !if $(FTPM_ENABLE) == TRUE Tpm2DeviceLib|Vlv2TbltDevicePkg/Library/Tpm2DeviceLibSeCDxe/Tpm2DeviceLibSeC.inf !else @@ -1572,32 +1574,20 @@ $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/fTPMInitPeim.inf !endif !endif - Vlv2TbltDevicePkg/Application/FirmwareUpdate/FirmwareUpdate.inf - !if $(CAPSULE_ENABLE) || $(MICOCODE_CAPSULE_ENABLE) MdeModulePkg/Universal/EsrtFmpDxe/EsrtFmpDxe.inf MdeModulePkg/Application/CapsuleApp/CapsuleApp.inf !endif !if $(CAPSULE_ENABLE) - SignedCapsulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareReportDxe.inf { - - DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf - PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf - SerialPortLib|$(PLATFORM_PACKAGE)/Library/SerialPortLib/SerialPortLib.inf - FmpAuthenticationLib|SecurityPkg/Library/FmpAuthenticationLibPkcs7/FmpAuthenticationLibPkcs7.inf - } - SignedCapsulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareUpdateDxe.inf { - - DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf - PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf - SerialPortLib|$(PLATFORM_PACKAGE)/Library/SerialPortLib/SerialPortLib.inf - FmpAuthenticationLib|SecurityPkg/Library/FmpAuthenticationLibPkcs7/FmpAuthenticationLibPkcs7.inf - } + !include Vlv2TbltDevicePkg/FmpMinnowMaxSystem.dsc + !include Vlv2TbltDevicePkg/FmpGreenSampleDevice.dsc + !include Vlv2TbltDevicePkg/FmpBlueSampleDevice.dsc + !include Vlv2TbltDevicePkg/FmpRedSampleDevice.dsc !endif !if $(MICOCODE_CAPSULE_ENABLE) - UefiCpuPkg/Feature/Capsule/MicrocodeUpdateDxe/MicrocodeUpdateDxe.inf { + IntelSiliconPkg/Feature/Capsule/MicrocodeUpdateDxe/MicrocodeUpdateDxe.inf { DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf @@ -1788,8 +1778,6 @@ $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/fTPMInitPeim.inf [Components.X64] - $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTURE)/SysFwUpdateCapsuleDxe.inf - $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTURE)/I2cBus.inf { gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0xF0000043 -- 2.39.2