]> git.proxmox.com Git - mirror_edk2.git/blobdiff - QuarkPlatformPkg/Quark.dsc
QuarkPlatformPkg: Add UefiBootManagerLib to fix Shell build failure
[mirror_edk2.git] / QuarkPlatformPkg / Quark.dsc
index c87bb176e9e8ebada84e8ee0460d87fc5730f22d..025653eee5088d29bff213bd9333cd3a7aa34c42 100644 (file)
@@ -2,7 +2,7 @@
 # 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 - 2017 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
@@ -39,6 +39,8 @@
   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
@@ -93,6 +95,7 @@
   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
   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
   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
+!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
+\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
   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
 [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
   #\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
   }\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
       gEfiMdePkgTokenSpaceGuid.PcdUefiLibMaxPrintBufferSize|8000\r
   }\r
 \r
+!if $(CAPSULE_ENABLE)\r
+  MdeModulePkg/Universal/EsrtDxe/EsrtDxe.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