# Clanton Peak CRB platform with 32-bit DXE for 4MB/8MB flash devices.\r
#\r
# This package provides Clanton Peak CRB platform specific modules.\r
-# Copyright (c) 2013 - 2016 Intel Corporation.\r
+# Copyright (c) 2013 - 2019 Intel Corporation.\r
#\r
-# This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution. The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+# SPDX-License-Identifier: BSD-2-Clause-Patent\r
#\r
##\r
\r
DEFINE SOURCE_DEBUG_ENABLE = FALSE\r
DEFINE PERFORMANCE_ENABLE = FALSE\r
DEFINE LOGGING = FALSE\r
+ DEFINE CAPSULE_ENABLE = FALSE\r
+ DEFINE RECOVERY_ENABLE = FALSE\r
\r
#\r
# Galileo board. Options are [GEN1, GEN2]\r
CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuExceptionHandlerLib.inf\r
IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf\r
PciLib|MdePkg/Library/BasePciLibPciExpress/BasePciLibPciExpress.inf\r
+ PciSegmentLib|MdePkg/Library/BasePciSegmentLibPci/BasePciSegmentLibPci.inf\r
PciCf8Lib|MdePkg/Library/BasePciCf8Lib/BasePciCf8Lib.inf\r
PciExpressLib|MdePkg/Library/BasePciExpressLib/BasePciExpressLib.inf\r
CacheMaintenanceLib|MdePkg/Library/BaseCacheMaintenanceLib/BaseCacheMaintenanceLib.inf\r
HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf\r
UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf\r
DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf\r
- UefiDecompressLib|IntelFrameworkModulePkg/Library/BaseUefiTianoCustomDecompressLib/BaseUefiTianoCustomDecompressLib.inf\r
+ UefiDecompressLib|MdeModulePkg/Library/BaseUefiTianoCustomDecompressLib/BaseUefiTianoCustomDecompressLib.inf\r
PeiServicesTablePointerLib|MdePkg/Library/PeiServicesTablePointerLibIdt/PeiServicesTablePointerLibIdt.inf\r
PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf\r
DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf\r
DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf\r
UefiCpuLib|UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib.inf\r
SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf\r
+ UefiBootManagerLib|MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf\r
\r
#\r
# Generic Modules\r
PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf\r
!endif\r
\r
-!if $(SECURE_BOOT_ENABLE) || $(MEASURED_BOOT_ENABLE)\r
+ ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf\r
+ FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf\r
+\r
OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf\r
IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf\r
BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf\r
-!endif\r
\r
!if $(SECURE_BOOT_ENABLE)\r
PlatformSecureLib|QuarkPlatformPkg/Library/PlatformSecureLib/PlatformSecureLib.inf\r
#\r
MtrrLib|QuarkSocPkg/QuarkNorthCluster/Library/MtrrLib/MtrrLib.inf\r
LocalApicLib|UefiCpuPkg/Library/BaseXApicLib/BaseXApicLib.inf\r
+ MpInitLib|UefiCpuPkg/Library/MpInitLib/DxeMpInitLib.inf\r
\r
#\r
# Quark North Cluster\r
#\r
# Quark Platform\r
#\r
- RecoveryOemHookLib|QuarkPlatformPkg/Library/RecoveryOemHookLib/RecoveryOemHookLib.inf\r
PlatformSecLib|QuarkPlatformPkg/Library/PlatformSecLib/PlatformSecLib.inf\r
PlatformPcieHelperLib|QuarkPlatformPkg/Library/PlatformPcieHelperLib/PlatformPcieHelperLib.inf\r
PlatformHelperLib|QuarkPlatformPkg/Library/PlatformHelperLib/DxePlatformHelperLib.inf\r
\r
+!if $(CAPSULE_ENABLE)\r
+ CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibFmp/DxeCapsuleLib.inf\r
+ BmpSupportLib|MdeModulePkg/Library/BaseBmpSupportLib/BaseBmpSupportLib.inf\r
+ SafeIntLib|MdePkg/Library/BaseSafeIntLib/BaseSafeIntLib.inf\r
+!else\r
+ CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf\r
+!endif\r
+\r
+ EdkiiSystemCapsuleLib|SignedCapsulePkg/Library/EdkiiSystemCapsuleLib/EdkiiSystemCapsuleLib.inf\r
+ FmpAuthenticationLib|MdeModulePkg/Library/FmpAuthenticationLibNull/FmpAuthenticationLibNull.inf\r
+ IniParsingLib|SignedCapsulePkg/Library/IniParsingLib/IniParsingLib.inf\r
+ PlatformFlashAccessLib|QuarkPlatformPkg/Feature/Capsule/Library/PlatformFlashAccessLib/PlatformFlashAccessLibDxe.inf\r
+ DisplayUpdateProgressLib|MdeModulePkg/Library/DisplayUpdateProgressLibText/DisplayUpdateProgressLibText.inf\r
+\r
[LibraryClasses.common.SEC]\r
#\r
# SEC specific phase\r
TimerLib|PcAtChipsetPkg/Library/AcpiTimerLib/BaseAcpiTimerLib.inf\r
PlatformHelperLib|QuarkPlatformPkg/Library/PlatformHelperLib/PeiPlatformHelperLib.inf\r
CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/SecPeiCpuExceptionHandlerLib.inf\r
-!if $(SECURE_BOOT_ENABLE) || $(MEASURED_BOOT_ENABLE)\r
+ MpInitLib|UefiCpuPkg/Library/MpInitLib/PeiMpInitLib.inf\r
BaseCryptLib|CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf\r
-!endif\r
!if $(PERFORMANCE_ENABLE)\r
PerformanceLib|MdeModulePkg/Library/PeiPerformanceLib/PeiPerformanceLib.inf\r
!endif\r
!endif\r
\r
[LibraryClasses.IA32.DXE_SMM_DRIVER]\r
+ MmServicesTableLib|MdePkg/Library/MmServicesTableLib/MmServicesTableLib.inf\r
SmmServicesTableLib|MdePkg/Library/SmmServicesTableLib/SmmServicesTableLib.inf\r
ReportStatusCodeLib|MdeModulePkg/Library/SmmReportStatusCodeLib/SmmReportStatusCodeLib.inf\r
MemoryAllocationLib|MdePkg/Library/SmmMemoryAllocationLib/SmmMemoryAllocationLib.inf\r
PciLib|MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf\r
CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/SmmCpuExceptionHandlerLib.inf\r
SmmMemLib|MdePkg/Library/SmmMemLib/SmmMemLib.inf\r
-!if $(SECURE_BOOT_ENABLE) || $(MEASURED_BOOT_ENABLE)\r
BaseCryptLib|CryptoPkg/Library/BaseCryptLib/SmmCryptLib.inf\r
-!endif\r
!if $(PERFORMANCE_ENABLE)\r
PerformanceLib|MdeModulePkg/Library/SmmPerformanceLib/SmmPerformanceLib.inf\r
!endif\r
BaseCryptLib|CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf\r
!endif\r
\r
+!if $(CAPSULE_ENABLE)\r
+ CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibFmp/DxeRuntimeCapsuleLib.inf\r
+!endif\r
+\r
[LibraryClasses.IA32.UEFI_DRIVER,LibraryClasses.IA32.UEFI_APPLICATION]\r
PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
\r
\r
gEfiMdeModulePkgTokenSpaceGuid.PcdConInConnectOnDemand|FALSE\r
\r
+!if $(RECOVERY_ENABLE)\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdRecoveryFileName|L"QUARKREC.Cap"\r
+!endif\r
+\r
+ #\r
+ # Quark does not support LFENCE. Use CPUID as speculation barrier\r
+ #\r
+ gEfiMdePkgTokenSpaceGuid.PcdSpeculationBarrierType|0x02\r
+\r
[PcdsPatchableInModule]\r
gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x803000C7\r
gEfiMdeModulePkgTokenSpaceGuid.PcdVpdBaseAddress|0x0\r
gQuarkPlatformTokenSpaceGuid.PcdUserIsPhysicallyPresent|FALSE\r
gQuarkPlatformTokenSpaceGuid.PcdSpiFlashDeviceSize|0\r
\r
+!if $(CAPSULE_ENABLE) || $(RECOVERY_ENABLE)\r
+ gEfiSignedCapsulePkgTokenSpaceGuid.PcdEdkiiSystemFirmwareImageDescriptor|{0x0}|VOID*|0x100\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdSystemFmpCapsuleImageTypeIdGuid|{0xc0, 0x20, 0xaf, 0x62, 0x16, 0x70, 0x4a, 0x42, 0x9b, 0xf8, 0x9c, 0xcc, 0x86, 0x58, 0x40, 0x90}\r
+ gEfiSignedCapsulePkgTokenSpaceGuid.PcdEdkiiSystemFirmwareFileGuid|{0x59, 0x3A, 0xD8, 0x14, 0x10, 0xA8, 0x56, 0x45, 0x81, 0x92, 0x1C, 0x0A, 0x59, 0x3C, 0x06, 0x5C}\r
+!endif\r
+\r
!if $(MEASURED_BOOT_ENABLE)\r
#\r
# TPM1.2 { 0x8b01e5b6, 0x4f19, 0x46e8, { 0xab, 0x93, 0x1c, 0x53, 0x67, 0x1b, 0x90, 0xcc } }\r
!endif\r
}\r
\r
+!if $(CAPSULE_ENABLE) || $(RECOVERY_ENABLE)\r
+ # FMP image decriptor\r
+ QuarkPlatformPkg/Feature/Capsule/SystemFirmwareDescriptor/SystemFirmwareDescriptor.inf\r
+!endif\r
+\r
#\r
# PEI Core\r
#\r
# Trusted Platform Module\r
#\r
!if $(MEASURED_BOOT_ENABLE)\r
- SecurityPkg/Tcg/TrEEConfig/TrEEConfigPei.inf\r
+ SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigPei.inf\r
SecurityPkg/Tcg/TcgPei/TcgPei.inf\r
!endif\r
\r
#\r
# Recovery\r
#\r
+!if $(RECOVERY_ENABLE)\r
QuarkSocPkg/QuarkSouthCluster/Usb/Common/Pei/UsbPei.inf\r
MdeModulePkg/Bus/Pci/EhciPei/EhciPei.inf\r
QuarkSocPkg/QuarkSouthCluster/Usb/Ohci/Pei/OhciPei.inf\r
MdeModulePkg/Bus/Usb/UsbBusPei/UsbBusPei.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
+ }\r
+!endif\r
\r
[Components.IA32]\r
#\r
NULL|MdeModulePkg/Library/VarCheckPcdLib/VarCheckPcdLib.inf\r
}\r
\r
- MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf {\r
- <LibraryClasses>\r
- GenericBdsLib|IntelFrameworkModulePkg/Library/GenericBdsLib/GenericBdsLib.inf\r
- CapsuleLib|IntelFrameworkModulePkg/Library/DxeCapsuleLib/DxeCapsuleLib.inf\r
- }\r
+ MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf\r
MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf\r
MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystemRuntimeDxe.inf\r
PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe.inf\r
#\r
MdeModulePkg/Universal/BdsDxe/BdsDxe.inf {\r
<LibraryClasses>\r
- UefiBootManagerLib|MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf\r
PlatformBootManagerLib|QuarkPlatformPkg/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf\r
+!if $(CAPSULE_ENABLE)\r
+ FmpAuthenticationLib|SecurityPkg/Library/FmpAuthenticationLibPkcs7/FmpAuthenticationLibPkcs7.inf\r
+!else\r
+ FmpAuthenticationLib|MdeModulePkg/Library/FmpAuthenticationLibNull/FmpAuthenticationLibNull.inf\r
+!endif\r
}\r
MdeModulePkg/Application/UiApp/UiApp.inf {\r
<LibraryClasses>\r
NULL|MdeModulePkg/Library/BootManagerUiLib/BootManagerUiLib.inf\r
NULL|MdeModulePkg/Library/BootMaintenanceManagerUiLib/BootMaintenanceManagerUiLib.inf\r
\r
- UefiBootManagerLib|MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf\r
PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf\r
}\r
\r
MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf\r
MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf\r
FatPkg/EnhancedFatDxe/Fat.inf\r
-!if $(PERFORMANCE_ENABLE)\r
- MdeModulePkg/Universal/FvSimpleFileSystemDxe/FvSimpleFileSystemDxe.inf\r
-!endif\r
\r
#\r
# Capsule update\r
# Performance Application\r
#\r
!if $(PERFORMANCE_ENABLE)\r
- PerformancePkg/Dp_App/Dp.inf {\r
- <LibraryClasses>\r
- ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf\r
- FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf\r
+ ShellPkg/DynamicCommand/DpDynamicCommand/DpDynamicCommand.inf {\r
+ <PcdsFixedAtBuild>\r
+ gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE\r
}\r
!endif\r
\r
+ #\r
+ # Force Recovery Application\r
+ #\r
+ QuarkPlatformPkg/Application/ForceRecovery/ForceRecovery.inf\r
+\r
ShellPkg/Application/Shell/Shell.inf {\r
<LibraryClasses>\r
ShellCommandLib|ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.inf\r
NULL|ShellPkg/Library/UefiShellInstall1CommandsLib/UefiShellInstall1CommandsLib.inf\r
NULL|ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.inf\r
HandleParsingLib|ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.inf\r
- ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf\r
- FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf\r
PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf\r
BcfgCommandLib|ShellPkg/Library/UefiShellBcfgCommandLib/UefiShellBcfgCommandLib.inf\r
\r
gEfiMdePkgTokenSpaceGuid.PcdUefiLibMaxPrintBufferSize|8000\r
}\r
\r
+!if $(CAPSULE_ENABLE)\r
+ MdeModulePkg/Universal/EsrtFmpDxe/EsrtFmpDxe.inf\r
+\r
+ SignedCapsulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareReportDxe.inf {\r
+ <LibraryClasses>\r
+ FmpAuthenticationLib|SecurityPkg/Library/FmpAuthenticationLibPkcs7/FmpAuthenticationLibPkcs7.inf\r
+ }\r
+ SignedCapsulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareUpdateDxe.inf {\r
+ <LibraryClasses>\r
+ FmpAuthenticationLib|SecurityPkg/Library/FmpAuthenticationLibPkcs7/FmpAuthenticationLibPkcs7.inf\r
+ }\r
+\r
+ MdeModulePkg/Application/CapsuleApp/CapsuleApp.inf {\r
+ <LibraryClasses>\r
+ PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf\r
+ }\r
+!endif\r
+\r
[BuildOptions.common.EDKII.DXE_RUNTIME_DRIVER]\r
MSFT:*_*_*_DLINK_FLAGS = /ALIGN:4096\r
+\r
+# Force PE/COFF sections to be aligned at 4KB boundaries to support page level protection of DXE_SMM_DRIVER/SMM_CORE modules\r
+[BuildOptions.common.EDKII.DXE_SMM_DRIVER, BuildOptions.common.EDKII.SMM_CORE]\r
+ MSFT:*_*_*_DLINK_FLAGS = /ALIGN:4096\r
+ GCC:*_*_*_DLINK_FLAGS = -z common-page-size=0x1000\r
+\r