2010-11-01 07:30:58 +01:00
|
|
|
## @file
|
|
|
|
# Cryptographic Library Package for UEFI Security Implementation.
|
2019-11-21 18:25:01 +01:00
|
|
|
# PEIM, DXE Driver, and SMM Driver with all crypto services enabled.
|
2010-11-01 07:30:58 +01:00
|
|
|
#
|
2022-12-21 04:04:18 +01:00
|
|
|
# Copyright (c) 2009 - 2022, Intel Corporation. All rights reserved.<BR>
|
2020-03-27 04:08:01 +01:00
|
|
|
# Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All rights reserved.<BR>
|
2021-12-10 05:32:47 +01:00
|
|
|
# Copyright (c) 2022, Loongson Technology Corporation Limited. All rights reserved.<BR>
|
2023-10-04 15:16:58 +02:00
|
|
|
# Copyright (c) 2023, Arm Limited. All rights reserved.<BR>
|
2024-10-30 19:01:49 +01:00
|
|
|
# Copyright (c) 2024, American Megatrends International LLC. All rights reserved.<BR>
|
2019-04-04 01:03:30 +02:00
|
|
|
# SPDX-License-Identifier: BSD-2-Clause-Patent
|
2018-06-27 11:32:13 +02:00
|
|
|
#
|
2010-11-01 07:30:58 +01:00
|
|
|
##
|
|
|
|
|
|
|
|
################################################################################
|
|
|
|
#
|
|
|
|
# Defines Section - statements that will be processed to create a Makefile.
|
|
|
|
#
|
|
|
|
################################################################################
|
|
|
|
[Defines]
|
|
|
|
PLATFORM_NAME = CryptoPkg
|
|
|
|
PLATFORM_GUID = E1063286-6C8C-4c25-AEF0-67A9A5B6E6B6
|
2018-01-22 07:59:21 +01:00
|
|
|
PLATFORM_VERSION = 0.98
|
2010-11-01 07:30:58 +01:00
|
|
|
DSC_SPECIFICATION = 0x00010005
|
2024-08-29 20:00:24 +02:00
|
|
|
SUPPORTED_ARCHITECTURES = IA32|X64|AARCH64|RISCV64|LOONGARCH64
|
2016-01-19 05:04:54 +01:00
|
|
|
BUILD_TARGETS = DEBUG|RELEASE|NOOPT
|
2010-11-01 07:30:58 +01:00
|
|
|
SKUID_IDENTIFIER = DEFAULT
|
|
|
|
|
2019-11-21 18:25:01 +01:00
|
|
|
#
|
|
|
|
# Flavor of PEI, DXE, SMM modules to build.
|
2022-10-05 02:36:41 +02:00
|
|
|
# Must be one of ALL, NONE, MIN_PEI, MIN_DXE_MIN_SMM, TARGET_UINT_TESTS.
|
2019-11-21 18:25:01 +01:00
|
|
|
# Default is ALL that is used for package build verification.
|
|
|
|
# ALL - Build PEIM, DXE, and SMM drivers. Protocols and PPIs
|
|
|
|
# publish all services.
|
|
|
|
# NONE - Build PEIM, DXE, and SMM drivers. Protocols and PPIs
|
|
|
|
# publish no services. Used to verify compiler/linker
|
|
|
|
# optimizations are working correctly.
|
|
|
|
# MIN_PEI - Build PEIM with PPI that publishes minimum required
|
|
|
|
# services.
|
|
|
|
# MIN_DXE_MIN_SMM - Build DXE and SMM drivers with Protocols that publish
|
|
|
|
# minimum required services.
|
2022-10-05 02:36:41 +02:00
|
|
|
# TARGET_UNIT_TESTS - Build target-based unit tests
|
2019-11-21 18:25:01 +01:00
|
|
|
#
|
2022-10-05 02:36:41 +02:00
|
|
|
DEFINE CRYPTO_SERVICES = ALL
|
|
|
|
!if $(CRYPTO_SERVICES) IN "ALL NONE MIN_PEI MIN_DXE_MIN_SMM TARGET_UNIT_TESTS"
|
2019-11-21 18:25:01 +01:00
|
|
|
!else
|
2022-10-05 02:36:41 +02:00
|
|
|
!error CRYPTO_SERVICES must be set to one of ALL NONE MIN_PEI MIN_DXE_MIN_SMM TARGET_UNIT_TESTS.
|
2019-11-21 18:25:01 +01:00
|
|
|
!endif
|
|
|
|
|
2022-10-05 02:36:41 +02:00
|
|
|
#
|
|
|
|
# Define different OUTPUT_DIRECTORY for each CRYPTO_SERVICES profile
|
|
|
|
#
|
|
|
|
!if $(CRYPTO_SERVICES) == ALL
|
|
|
|
OUTPUT_DIRECTORY = Build/CryptoPkg/All
|
|
|
|
!endif
|
|
|
|
!if $(CRYPTO_SERVICES) == NONE
|
|
|
|
OUTPUT_DIRECTORY = Build/CryptoPkg/None
|
|
|
|
!endif
|
|
|
|
!if $(CRYPTO_SERVICES) == MIN_PEI
|
|
|
|
OUTPUT_DIRECTORY = Build/CryptoPkg/MinPei
|
|
|
|
!endif
|
|
|
|
!if $(CRYPTO_SERVICES) == MIN_DXE_MIN_SMM
|
|
|
|
OUTPUT_DIRECTORY = Build/CryptoPkg/MinDxeMinSmm
|
|
|
|
!endif
|
|
|
|
!if $(CRYPTO_SERVICES) == TARGET_UNIT_TESTS
|
|
|
|
OUTPUT_DIRECTORY = Build/CryptoPkg/TagetUnitTests
|
|
|
|
!endif
|
|
|
|
|
|
|
|
#
|
|
|
|
# Define FILE_GUID names/values for CryptoPei, CryptopDxe, and CryptoSmm
|
|
|
|
# drivers that are linked with different OpensslLib instances
|
|
|
|
#
|
|
|
|
DEFINE PEI_CRYPTO_GUID = C693A250-6B36-49B9-B7F3-7283F8136A72
|
|
|
|
DEFINE PEI_STD_GUID = EBD49F5C-6D8B-40D1-A56D-9AFA485A8661
|
|
|
|
DEFINE PEI_FULL_GUID = D51FCE59-6860-49C0-9B35-984470735D17
|
|
|
|
DEFINE PEI_STD_ACCEL_GUID = DCC9CB49-7BE2-47C6-864E-6DCC932360F9
|
|
|
|
DEFINE PEI_FULL_ACCEL_GUID = A10827AD-7598-4955-B661-52EE2B62B057
|
|
|
|
DEFINE DXE_CRYPTO_GUID = 31C17C54-325D-47D5-8622-888098F10E44
|
|
|
|
DEFINE DXE_STD_GUID = ADD6D05A-52A2-437B-98E7-DBFDA89352CD
|
|
|
|
DEFINE DXE_FULL_GUID = AA83B296-F6EA-447F-B013-E80E98629CF8
|
|
|
|
DEFINE DXE_STD_ACCEL_GUID = 9FBDAD27-910C-4229-9EFF-A93BB5FE18C6
|
|
|
|
DEFINE DXE_FULL_ACCEL_GUID = 41A491D1-A972-468B-A299-DABF415A43B7
|
|
|
|
DEFINE SMM_CRYPTO_GUID = 1A1C9E13-5722-4636-AB73-31328EDE8BAF
|
|
|
|
DEFINE SMM_STD_GUID = E4D7D1E3-E886-4412-A442-EFD6F2502DD3
|
|
|
|
DEFINE SMM_FULL_GUID = 1930CE7E-6598-48ED-8AB1-EBE7E85EC254
|
|
|
|
DEFINE SMM_STD_ACCEL_GUID = 828959D3-CEA6-4B79-B1FC-5AFA0D7F2144
|
|
|
|
DEFINE SMM_FULL_ACCEL_GUID = C1760694-AB3A-4532-8C6D-52D8F86EB1AA
|
2024-10-30 19:01:49 +01:00
|
|
|
DEFINE MM_STANDALONE_CRYPTO_GUID = 4E14BAAE-8AA0-4F28-B1F0-53215E4DEA81
|
|
|
|
DEFINE MM_STANDALONE_STD_GUID = FB88FFE8-C6E3-4752-8E85-0865DF7CDB1F
|
|
|
|
DEFINE MM_STANDALONE_FULL_GUID = 4A6F4C6E-6207-4801-9706-B9429936A38C
|
|
|
|
DEFINE MM_STANDALONE_STD_ACCEL_GUID = 9EF13BFA-912E-4589-8D6A-3ECCF1156B5E
|
|
|
|
DEFINE MM_STANDALONE_FULL_ACCEL_GUID = 0A13116A-D6BF-4E4A-90DC-615C4C0A711D
|
|
|
|
|
2022-10-05 02:36:41 +02:00
|
|
|
|
|
|
|
!if $(CRYPTO_SERVICES) == TARGET_UNIT_TESTS
|
2021-02-03 00:20:16 +01:00
|
|
|
!include UnitTestFrameworkPkg/UnitTestFrameworkPkgTarget.dsc.inc
|
2022-10-05 02:36:41 +02:00
|
|
|
!endif
|
2021-02-03 00:20:16 +01:00
|
|
|
|
2010-11-01 07:30:58 +01:00
|
|
|
################################################################################
|
|
|
|
#
|
|
|
|
# Library Class section - list of all Library Classes needed by this Platform.
|
|
|
|
#
|
|
|
|
################################################################################
|
2021-03-12 06:15:04 +01:00
|
|
|
|
|
|
|
!include MdePkg/MdeLibs.dsc.inc
|
|
|
|
|
2010-11-01 07:30:58 +01:00
|
|
|
[LibraryClasses]
|
|
|
|
BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
|
|
|
|
BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
|
2022-10-05 02:36:41 +02:00
|
|
|
DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
|
|
|
|
SafeIntLib|MdePkg/Library/BaseSafeIntLib/BaseSafeIntLib.inf
|
2022-09-23 21:45:51 +02:00
|
|
|
SynchronizationLib|MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf
|
2022-10-05 02:36:41 +02:00
|
|
|
TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTemplate.inf
|
|
|
|
RngLib|MdePkg/Library/BaseRngLibNull/BaseRngLibNull.inf
|
|
|
|
PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
|
|
|
|
DebugLib|MdeModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf
|
|
|
|
DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf
|
|
|
|
OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf
|
|
|
|
HashApiLib|CryptoPkg/Library/BaseHashApiLib/BaseHashApiLib.inf
|
|
|
|
OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf
|
|
|
|
IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
|
|
|
|
|
|
|
|
[LibraryClasses.IA32, LibraryClasses.X64, LibraryClasses.AARCH64]
|
|
|
|
RngLib|MdePkg/Library/BaseRngLib/BaseRngLib.inf
|
2010-11-01 07:30:58 +01:00
|
|
|
|
2014-08-26 17:06:45 +02:00
|
|
|
[LibraryClasses.ARM, LibraryClasses.AARCH64]
|
2022-10-05 02:36:41 +02:00
|
|
|
ArmLib|ArmPkg/Library/ArmLib/ArmBaseLib.inf
|
2011-04-19 18:25:31 +02:00
|
|
|
|
2022-05-16 09:42:16 +02:00
|
|
|
[LibraryClasses.common.SEC]
|
|
|
|
BaseCryptLib|CryptoPkg/Library/BaseCryptLib/SecCryptLib.inf
|
2022-10-05 02:36:41 +02:00
|
|
|
TlsLib|CryptoPkg/Library/TlsLibNull/TlsLibNull.inf
|
2022-05-16 09:42:16 +02:00
|
|
|
|
2010-11-01 07:30:58 +01:00
|
|
|
[LibraryClasses.common.PEIM]
|
2022-10-05 02:36:41 +02:00
|
|
|
PeimEntryPoint|MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf
|
|
|
|
PeiServicesTablePointerLib|MdePkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointerLib.inf
|
|
|
|
PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf
|
|
|
|
MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
|
|
|
|
HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
|
2019-11-21 18:25:01 +01:00
|
|
|
PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf
|
|
|
|
ReportStatusCodeLib|MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf
|
2010-11-01 07:30:58 +01:00
|
|
|
BaseCryptLib|CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf
|
2019-11-21 18:25:01 +01:00
|
|
|
TlsLib|CryptoPkg/Library/TlsLibNull/TlsLibNull.inf
|
|
|
|
|
|
|
|
[LibraryClasses.IA32.PEIM, LibraryClasses.X64.PEIM]
|
|
|
|
PeiServicesTablePointerLib|MdePkg/Library/PeiServicesTablePointerLibIdt/PeiServicesTablePointerLibIdt.inf
|
|
|
|
|
2010-11-01 07:30:58 +01:00
|
|
|
[LibraryClasses.common.DXE_DRIVER]
|
2022-10-05 02:36:41 +02:00
|
|
|
UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
|
|
|
|
UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
|
|
|
|
UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
|
|
|
|
MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
|
2019-11-21 18:25:01 +01:00
|
|
|
ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
|
2022-10-05 02:36:41 +02:00
|
|
|
PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
|
2010-11-01 07:30:58 +01:00
|
|
|
BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
|
2019-11-21 18:25:01 +01:00
|
|
|
TlsLib|CryptoPkg/Library/TlsLib/TlsLib.inf
|
2010-11-01 07:30:58 +01:00
|
|
|
|
2011-08-16 08:46:52 +02:00
|
|
|
[LibraryClasses.common.DXE_SMM_DRIVER]
|
2022-10-05 02:36:41 +02:00
|
|
|
UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
|
|
|
|
UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
|
|
|
|
SmmServicesTableLib|MdePkg/Library/SmmServicesTableLib/SmmServicesTableLib.inf
|
|
|
|
MmServicesTableLib|MdePkg/Library/MmServicesTableLib/MmServicesTableLib.inf
|
|
|
|
MemoryAllocationLib|MdePkg/Library/SmmMemoryAllocationLib/SmmMemoryAllocationLib.inf
|
2019-11-21 18:25:01 +01:00
|
|
|
ReportStatusCodeLib|MdeModulePkg/Library/SmmReportStatusCodeLib/SmmReportStatusCodeLib.inf
|
2022-10-05 02:36:41 +02:00
|
|
|
PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
|
2011-08-16 08:46:52 +02:00
|
|
|
BaseCryptLib|CryptoPkg/Library/BaseCryptLib/SmmCryptLib.inf
|
2019-11-21 18:25:01 +01:00
|
|
|
TlsLib|CryptoPkg/Library/TlsLibNull/TlsLibNull.inf
|
2022-10-05 02:36:41 +02:00
|
|
|
|
2024-10-30 19:01:49 +01:00
|
|
|
[LibraryClasses.common.MM_STANDALONE]
|
|
|
|
BaseCryptLib|CryptoPkg/Library/BaseCryptLib/SmmCryptLib.inf
|
|
|
|
MmServicesTableLib|MdePkg/Library/StandaloneMmServicesTableLib/StandaloneMmServicesTableLib.inf
|
|
|
|
StandaloneMmDriverEntryPoint|MdePkg/Library/StandaloneMmDriverEntryPoint/StandaloneMmDriverEntryPoint.inf
|
|
|
|
TlsLib|CryptoPkg/Library/TlsLibNull/TlsLibNull.inf
|
|
|
|
PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
|
|
|
|
ReportStatusCodeLib|MdePkg/Library/BaseReportStatusCodeLibNull/BaseReportStatusCodeLibNull.inf
|
|
|
|
MemoryAllocationLib|StandaloneMmPkg/Library/StandaloneMmMemoryAllocationLib/StandaloneMmMemoryAllocationLib.inf
|
|
|
|
|
2022-10-05 02:36:41 +02:00
|
|
|
[LibraryClasses.common.UEFI_APPLICATION]
|
|
|
|
UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf
|
|
|
|
UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
|
|
|
|
UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
|
|
|
|
MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
|
|
|
|
ReportStatusCodeLib|MdePkg/Library/BaseReportStatusCodeLibNull/BaseReportStatusCodeLibNull.inf
|
|
|
|
PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
|
2010-11-01 07:30:58 +01:00
|
|
|
|
|
|
|
################################################################################
|
|
|
|
#
|
|
|
|
# Pcd Section - list of all EDK II PCD Entries defined by this Platform
|
|
|
|
#
|
|
|
|
################################################################################
|
|
|
|
[PcdsFixedAtBuild]
|
|
|
|
gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x0f
|
|
|
|
gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000000
|
|
|
|
gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x06
|
|
|
|
|
2022-10-05 02:36:41 +02:00
|
|
|
#
|
|
|
|
# For ALL and TARGET_UINT_TESTS profiles, enable all non-deprecated families
|
|
|
|
# and services in PcdCryptoServiceFamilyEnable.
|
|
|
|
#
|
|
|
|
!if $(CRYPTO_SERVICES) IN "ALL TARGET_UINT_TESTS"
|
|
|
|
[PcdsFixedAtBuild]
|
2020-04-23 08:43:08 +02:00
|
|
|
gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.HmacSha256.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
|
2022-09-23 03:14:51 +02:00
|
|
|
gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.HmacSha384.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
|
2020-04-23 08:43:08 +02:00
|
|
|
gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Pkcs.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
|
|
|
|
gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Dh.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
|
|
|
|
gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Random.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
|
|
|
|
gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Rsa.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
|
|
|
|
gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Sha1.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
|
|
|
|
gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Sha256.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
|
|
|
|
gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Sha384.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
|
|
|
|
gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Sha512.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
|
|
|
|
gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.X509.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
|
2022-09-29 18:32:54 +02:00
|
|
|
gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Aes.Services.GetContextSize | TRUE
|
|
|
|
gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Aes.Services.Init | TRUE
|
|
|
|
gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Aes.Services.CbcEncrypt | TRUE
|
|
|
|
gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Aes.Services.CbcDecrypt | TRUE
|
2020-04-23 08:43:08 +02:00
|
|
|
gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Arc4.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
|
|
|
|
gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Sm3.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
|
|
|
|
gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Hkdf.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
|
|
|
|
gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Tls.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
|
|
|
|
gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.TlsSet.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
|
|
|
|
gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.TlsGet.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
|
2022-09-23 21:45:51 +02:00
|
|
|
gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.RsaPss.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
|
|
|
|
gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.ParallelHash.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
|
|
|
|
gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.AeadAesGcm.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
|
2022-09-07 10:14:35 +02:00
|
|
|
gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Bn.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
|
2022-09-29 18:32:54 +02:00
|
|
|
gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Ec.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
|
2019-11-21 18:25:01 +01:00
|
|
|
!endif
|
|
|
|
|
2022-10-05 02:36:41 +02:00
|
|
|
#
|
|
|
|
# Enable minimum set of families/services in PcdCryptoServiceFamilyEnable
|
|
|
|
# required by typical PEI phase.
|
|
|
|
#
|
2019-11-21 18:25:01 +01:00
|
|
|
!if $(CRYPTO_SERVICES) == MIN_PEI
|
2022-10-05 02:36:41 +02:00
|
|
|
[PcdsFixedAtBuild]
|
2019-11-21 18:25:01 +01:00
|
|
|
gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.HmacSha256.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
|
2022-09-23 03:14:51 +02:00
|
|
|
gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.HmacSha384.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
|
2019-11-21 18:25:01 +01:00
|
|
|
gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Sha1.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
|
|
|
|
gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Sha256.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
|
|
|
|
gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Sha384.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
|
|
|
|
gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Sha512.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
|
|
|
|
gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Sm3.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
|
|
|
|
gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Rsa.Services.Pkcs1Verify | TRUE
|
|
|
|
gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Rsa.Services.New | TRUE
|
|
|
|
gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Rsa.Services.Free | TRUE
|
|
|
|
gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Rsa.Services.SetKey | TRUE
|
|
|
|
gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Pkcs.Services.Pkcs5HashPassword | TRUE
|
2022-12-21 04:04:18 +01:00
|
|
|
gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Aes.Services.GetContextSize | TRUE
|
|
|
|
gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Aes.Services.Init | TRUE
|
|
|
|
gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Aes.Services.CbcEncrypt | TRUE
|
|
|
|
gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Aes.Services.CbcDecrypt | TRUE
|
|
|
|
gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Hkdf.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
|
2019-11-21 18:25:01 +01:00
|
|
|
!endif
|
|
|
|
|
2022-10-05 02:36:41 +02:00
|
|
|
#
|
|
|
|
# Enable minimum set of families/services in PcdCryptoServiceFamilyEnable
|
|
|
|
# required by typical DXE and SMM phases.
|
|
|
|
#
|
2019-11-21 18:25:01 +01:00
|
|
|
!if $(CRYPTO_SERVICES) == MIN_DXE_MIN_SMM
|
2022-10-05 02:36:41 +02:00
|
|
|
[PcdsFixedAtBuild]
|
2019-11-21 18:25:01 +01:00
|
|
|
gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.HmacSha256.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
|
2022-09-23 03:14:51 +02:00
|
|
|
gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.HmacSha384.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
|
2019-11-21 18:25:01 +01:00
|
|
|
gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Pkcs.Services.Pkcs1v2Encrypt | TRUE
|
|
|
|
gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Pkcs.Services.Pkcs5HashPassword | TRUE
|
|
|
|
gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Pkcs.Services.Pkcs7Verify | TRUE
|
|
|
|
gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Pkcs.Services.VerifyEKUsInPkcs7Signature | TRUE
|
|
|
|
gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Pkcs.Services.Pkcs7GetSigners | TRUE
|
|
|
|
gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Pkcs.Services.Pkcs7FreeSigners | TRUE
|
|
|
|
gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Pkcs.Services.AuthenticodeVerify | TRUE
|
|
|
|
gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Random.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
|
|
|
|
gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Rsa.Services.Pkcs1Verify | TRUE
|
|
|
|
gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Rsa.Services.New | TRUE
|
|
|
|
gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Rsa.Services.Free | TRUE
|
|
|
|
gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Rsa.Services.SetKey | TRUE
|
|
|
|
gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Rsa.Services.GetPublicKeyFromX509 | TRUE
|
|
|
|
gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Sha1.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
|
|
|
|
gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Sha256.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
|
|
|
|
gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Sha256.Services.HashAll | FALSE
|
|
|
|
gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.X509.Services.GetSubjectName | TRUE
|
|
|
|
gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.X509.Services.GetCommonName | TRUE
|
|
|
|
gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.X509.Services.GetOrganizationName | TRUE
|
|
|
|
gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.X509.Services.GetTBSCert | TRUE
|
|
|
|
gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Tls.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
|
|
|
|
gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.TlsSet.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
|
|
|
|
gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.TlsGet.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
|
2022-09-29 18:32:54 +02:00
|
|
|
gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Aes.Services.GetContextSize | TRUE
|
2019-11-21 18:25:01 +01:00
|
|
|
gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Aes.Services.Init | TRUE
|
|
|
|
gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Aes.Services.CbcEncrypt | TRUE
|
|
|
|
gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Aes.Services.CbcDecrypt | TRUE
|
2022-09-23 08:32:00 +02:00
|
|
|
gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.AeadAesGcm.Services.Encrypt | TRUE
|
|
|
|
gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.AeadAesGcm.Services.Decrypt | TRUE
|
2022-12-21 04:04:18 +01:00
|
|
|
gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Hkdf.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
|
2019-11-21 18:25:01 +01:00
|
|
|
!endif
|
|
|
|
|
2010-11-01 07:30:58 +01:00
|
|
|
###################################################################################################
|
|
|
|
#
|
|
|
|
# Components Section - list of the modules and components that will be processed by compilation
|
|
|
|
# tools and the EDK II tools to generate PE32/PE32+/Coff image files.
|
|
|
|
#
|
|
|
|
# Note: The EDK II DSC file is not used to specify how compiled binary images get placed
|
|
|
|
# into firmware volume images. This section is just a list of modules to compile from
|
|
|
|
# source into UEFI-compliant binaries.
|
|
|
|
# It is the FDF file that contains information on combining binary files into firmware
|
|
|
|
# volume images, whose concept is beyond UEFI and is described in PI specification.
|
|
|
|
# Binary modules do not need to be listed in this section, as they should be
|
|
|
|
# specified in the FDF file. For example: Shell binary (Shell_Full.efi), FAT binary (Fat.efi),
|
|
|
|
# Logo (Logo.bmp), and etc.
|
|
|
|
# There may also be modules listed in this section that are not required in the FDF file,
|
|
|
|
# When a module listed here is excluded from FDF file, then UEFI-compliant binary will be
|
|
|
|
# generated for it, but the binary will not be put into any firmware volume.
|
|
|
|
#
|
|
|
|
###################################################################################################
|
2020-10-09 00:37:46 +02:00
|
|
|
|
2022-10-05 02:36:41 +02:00
|
|
|
#
|
|
|
|
# If profile is TARGET_UNIT_TESTS, then build target-based unit tests
|
|
|
|
# using the OpensslLib, BaseCryptLib, and TlsLib with the largest set of
|
|
|
|
# available services.
|
|
|
|
#
|
|
|
|
!if $(CRYPTO_SERVICES) == TARGET_UNIT_TESTS
|
|
|
|
[Components.IA32, Components.X64, Components.ARM, Components.AARCH64]
|
|
|
|
#
|
|
|
|
# Target based unit tests
|
|
|
|
#
|
|
|
|
CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TestBaseCryptLibShell.inf {
|
|
|
|
<LibraryClasses>
|
|
|
|
OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLibFull.inf
|
|
|
|
BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
|
|
|
|
TlsLib|CryptoPkg/Library/TlsLib/TlsLib.inf
|
|
|
|
<BuildOptions>
|
|
|
|
MSFT:*_*_*_DLINK_FLAGS = /ALIGN:4096 /FILEALIGN:4096 /SUBSYSTEM:CONSOLE
|
|
|
|
MSFT:DEBUG_*_*_DLINK_FLAGS = /EXPORT:InitializeDriver=$(IMAGE_ENTRY_POINT) /BASE:0x10000
|
|
|
|
MSFT:DEBUG_*_*_DLINK_FLAGS = /EXPORT:InitializeDriver=$(IMAGE_ENTRY_POINT) /BASE:0x10000
|
|
|
|
MSFT:NOOPT_*_*_DLINK_FLAGS = /EXPORT:InitializeDriver=$(IMAGE_ENTRY_POINT) /BASE:0x10000
|
|
|
|
}
|
|
|
|
|
2023-10-04 15:16:58 +02:00
|
|
|
[Components.IA32, Components.X64, Components.AARCH64]
|
2022-10-05 02:36:41 +02:00
|
|
|
CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TestBaseCryptLibShell.inf {
|
|
|
|
<Defines>
|
|
|
|
FILE_GUID = B91B9A95-4D52-4501-A98F-A1711C14ED93
|
|
|
|
<LibraryClasses>
|
|
|
|
OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLibFullAccel.inf
|
|
|
|
BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
|
|
|
|
TlsLib|CryptoPkg/Library/TlsLib/TlsLib.inf
|
|
|
|
<BuildOptions>
|
|
|
|
MSFT:*_*_*_DLINK_FLAGS = /ALIGN:4096 /FILEALIGN:4096 /SUBSYSTEM:CONSOLE
|
|
|
|
MSFT:DEBUG_*_*_DLINK_FLAGS = /EXPORT:InitializeDriver=$(IMAGE_ENTRY_POINT) /BASE:0x10000
|
|
|
|
MSFT:DEBUG_*_*_DLINK_FLAGS = /EXPORT:InitializeDriver=$(IMAGE_ENTRY_POINT) /BASE:0x10000
|
|
|
|
MSFT:NOOPT_*_*_DLINK_FLAGS = /EXPORT:InitializeDriver=$(IMAGE_ENTRY_POINT) /BASE:0x10000
|
|
|
|
}
|
|
|
|
|
|
|
|
[Components.RISCV64]
|
|
|
|
CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TestBaseCryptLibShell.inf {
|
|
|
|
<LibraryClasses>
|
|
|
|
OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf
|
|
|
|
BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
|
|
|
|
TlsLib|CryptoPkg/Library/TlsLib/TlsLib.inf
|
|
|
|
}
|
|
|
|
!endif
|
|
|
|
|
|
|
|
#
|
|
|
|
# If profile is ALL, then do verification build of all library instances.
|
|
|
|
#
|
|
|
|
!if $(CRYPTO_SERVICES) == ALL
|
2010-11-01 07:30:58 +01:00
|
|
|
[Components]
|
2022-10-05 02:36:41 +02:00
|
|
|
#
|
|
|
|
# Build verification of all library instances
|
|
|
|
#
|
2010-11-01 07:30:58 +01:00
|
|
|
CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
|
2022-05-16 09:42:16 +02:00
|
|
|
CryptoPkg/Library/BaseCryptLib/SecCryptLib.inf
|
2010-11-01 07:30:58 +01:00
|
|
|
CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf
|
2019-11-21 18:25:01 +01:00
|
|
|
CryptoPkg/Library/BaseCryptLib/SmmCryptLib.inf
|
2010-11-01 07:30:58 +01:00
|
|
|
CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf
|
2023-08-21 04:25:43 +02:00
|
|
|
CryptoPkg/Library/BaseCryptLibMbedTls/BaseCryptLib.inf
|
|
|
|
CryptoPkg/Library/BaseCryptLibMbedTls/SecCryptLib.inf
|
|
|
|
CryptoPkg/Library/BaseCryptLibMbedTls/PeiCryptLib.inf
|
|
|
|
CryptoPkg/Library/BaseCryptLibMbedTls/SmmCryptLib.inf
|
|
|
|
CryptoPkg/Library/BaseCryptLibMbedTls/RuntimeCryptLib.inf
|
|
|
|
CryptoPkg/Library/BaseCryptLibMbedTls/TestBaseCryptLib.inf
|
|
|
|
CryptoPkg/Library/MbedTlsLib/MbedTlsLib.inf
|
|
|
|
CryptoPkg/Library/MbedTlsLib/MbedTlsLibFull.inf
|
2019-09-25 19:14:09 +02:00
|
|
|
CryptoPkg/Library/BaseCryptLibNull/BaseCryptLibNull.inf
|
2019-10-08 05:28:46 +02:00
|
|
|
CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
|
2016-12-14 03:34:57 +01:00
|
|
|
CryptoPkg/Library/TlsLib/TlsLib.inf
|
2019-09-25 19:14:40 +02:00
|
|
|
CryptoPkg/Library/TlsLibNull/TlsLibNull.inf
|
2019-06-12 04:30:00 +02:00
|
|
|
CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
|
2022-10-05 02:36:41 +02:00
|
|
|
CryptoPkg/Library/OpensslLib/OpensslLib.inf
|
|
|
|
CryptoPkg/Library/OpensslLib/OpensslLibFull.inf
|
2024-09-13 13:00:19 +02:00
|
|
|
CryptoPkg/Library/OpensslLib/OpensslLibSm3.inf
|
2020-02-03 19:18:50 +01:00
|
|
|
CryptoPkg/Library/BaseHashApiLib/BaseHashApiLib.inf
|
2019-11-21 18:25:01 +01:00
|
|
|
CryptoPkg/Library/BaseCryptLibOnProtocolPpi/PeiCryptLib.inf
|
|
|
|
CryptoPkg/Library/BaseCryptLibOnProtocolPpi/DxeCryptLib.inf
|
|
|
|
CryptoPkg/Library/BaseCryptLibOnProtocolPpi/SmmCryptLib.inf
|
2024-10-30 19:01:49 +01:00
|
|
|
CryptoPkg/Library/BaseCryptLibOnProtocolPpi/StandaloneMmCryptLib.inf
|
2022-10-05 02:36:41 +02:00
|
|
|
#
|
|
|
|
# Build verification of target-based unit tests
|
|
|
|
#
|
|
|
|
CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TestBaseCryptLibShell.inf {
|
|
|
|
<LibraryClasses>
|
|
|
|
UnitTestLib|UnitTestFrameworkPkg/Library/UnitTestLib/UnitTestLib.inf
|
|
|
|
UnitTestPersistenceLib|UnitTestFrameworkPkg/Library/UnitTestPersistenceLibNull/UnitTestPersistenceLibNull.inf
|
|
|
|
UnitTestResultReportLib|UnitTestFrameworkPkg/Library/UnitTestResultReportLib/UnitTestResultReportLibConOut.inf
|
|
|
|
OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf
|
|
|
|
BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
|
|
|
|
TlsLib|CryptoPkg/Library/TlsLib/TlsLib.inf
|
|
|
|
}
|
|
|
|
|
2023-10-04 15:16:58 +02:00
|
|
|
[Components.IA32, Components.X64, Components.AARCH64]
|
2022-10-05 02:36:41 +02:00
|
|
|
#
|
2023-10-04 15:16:58 +02:00
|
|
|
# Build verification of IA32/X64/AARCH64 specific libraries
|
2022-10-05 02:36:41 +02:00
|
|
|
#
|
|
|
|
CryptoPkg/Library/OpensslLib/OpensslLibAccel.inf
|
|
|
|
CryptoPkg/Library/OpensslLib/OpensslLibFullAccel.inf
|
2019-11-21 18:25:01 +01:00
|
|
|
!endif
|
|
|
|
|
2022-10-05 02:36:41 +02:00
|
|
|
#
|
|
|
|
# If profile is ALL or NONE or MIN_PEI, then build CryptoPei with all supported
|
|
|
|
# OpensslLib instances.
|
|
|
|
#
|
|
|
|
!if $(CRYPTO_SERVICES) in "ALL NONE MIN_PEI"
|
|
|
|
[Components]
|
|
|
|
#
|
|
|
|
# CryptoPei with OpensslLib instance without SSL or EC services
|
|
|
|
#
|
|
|
|
CryptoPkg/Driver/CryptoPei.inf {
|
|
|
|
<Defines>
|
|
|
|
FILE_GUID = $(PEI_CRYPTO_GUID)
|
|
|
|
<LibraryClasses>
|
|
|
|
OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
|
|
|
|
}
|
|
|
|
#
|
|
|
|
# CryptoPei with OpensslLib instance without EC services
|
|
|
|
#
|
|
|
|
CryptoPkg/Driver/CryptoPei.inf {
|
|
|
|
<Defines>
|
|
|
|
FILE_GUID = $(PEI_STD_GUID)
|
|
|
|
<LibraryClasses>
|
|
|
|
OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf
|
|
|
|
}
|
2019-11-21 18:25:01 +01:00
|
|
|
[Components.IA32, Components.X64, Components.ARM, Components.AARCH64]
|
2022-10-05 02:36:41 +02:00
|
|
|
#
|
|
|
|
# CryptoPei with OpensslLib instance with all services
|
|
|
|
#
|
|
|
|
CryptoPkg/Driver/CryptoPei.inf {
|
|
|
|
<Defines>
|
|
|
|
FILE_GUID = $(PEI_FULL_GUID)
|
|
|
|
<LibraryClasses>
|
|
|
|
OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLibFull.inf
|
|
|
|
}
|
|
|
|
|
2023-10-04 15:16:58 +02:00
|
|
|
[Components.IA32, Components.X64, Components.AARCH64]
|
2022-10-05 02:36:41 +02:00
|
|
|
#
|
2023-10-04 15:16:58 +02:00
|
|
|
# CryptoPei with IA32/X64/AARCH64 performance optimized OpensslLib instance without EC services
|
2022-10-05 02:36:41 +02:00
|
|
|
# IA32/X64 assembly optimizations required larger alignments
|
|
|
|
#
|
|
|
|
CryptoPkg/Driver/CryptoPei.inf {
|
|
|
|
<Defines>
|
|
|
|
FILE_GUID = $(PEI_STD_ACCEL_GUID)
|
|
|
|
<LibraryClasses>
|
|
|
|
OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLibAccel.inf
|
|
|
|
<BuildOptions>
|
|
|
|
MSFT:*_*_IA32_DLINK_FLAGS = /ALIGN:64
|
BaseTools: Add VS2022 XIPFLAGS
BaseTools has a limitation that modules in FVs that are force rebased
must have the same file and section alignment. This is intended for
XIP modules.
VS2019 and previous VS toolchains did not set 4k section alignment,
but VS2022 does, in order for memory protections to be applied to
images. This causes issues when building SEC and PEI modules on
VS2022 as the file alignment is 0x20 but the section alignment
is 0x1000, so BaseTools will fail to generate the FV. One option
is to set the file alignment to 0x1000 for all of these files, but
that is a large waste of space and is not feasible on some platforms
that have limited flash space. The other option is to selectively
set 0x20 as the section alignment for SEC and PEI modules, which is
the approach GCC ARM/AARCH64 took.
This is only an issue for building 64-bit PEI on x86 currently, as
other architectures are not supported by VS2022 in edk2 yet. For IA32,
the section alignment is set to 0x20 and so it matches the file
alignment, however x64 PEI uses the X64 DLINK flags which have 0x1000
set. For other architectures that don't have the PEI/DXE architecture
split, this is also an issue.
This commit is required to use VS2022 as the default CI in edk2, as
OvmfPkgX64.dsc will fail to build. Any platform with 64-bit PEI also
requires this.
This commit also updates CryptoPkg.dsc and SecurityPkg.dsc as they
are setting custom section alignments.
Continuous-integration-options: PatchCheck.ignore-multi-package
Signed-off-by: Oliver Smith-Denny <osde@microsoft.com>
2024-12-03 23:44:02 +01:00
|
|
|
MSFT:*_*_IA32_DLINK_XIPFLAGS = /ALIGN:64
|
2022-10-05 02:36:41 +02:00
|
|
|
MSFT:*_*_X64_DLINK_FLAGS = /ALIGN:256
|
BaseTools: Add VS2022 XIPFLAGS
BaseTools has a limitation that modules in FVs that are force rebased
must have the same file and section alignment. This is intended for
XIP modules.
VS2019 and previous VS toolchains did not set 4k section alignment,
but VS2022 does, in order for memory protections to be applied to
images. This causes issues when building SEC and PEI modules on
VS2022 as the file alignment is 0x20 but the section alignment
is 0x1000, so BaseTools will fail to generate the FV. One option
is to set the file alignment to 0x1000 for all of these files, but
that is a large waste of space and is not feasible on some platforms
that have limited flash space. The other option is to selectively
set 0x20 as the section alignment for SEC and PEI modules, which is
the approach GCC ARM/AARCH64 took.
This is only an issue for building 64-bit PEI on x86 currently, as
other architectures are not supported by VS2022 in edk2 yet. For IA32,
the section alignment is set to 0x20 and so it matches the file
alignment, however x64 PEI uses the X64 DLINK flags which have 0x1000
set. For other architectures that don't have the PEI/DXE architecture
split, this is also an issue.
This commit is required to use VS2022 as the default CI in edk2, as
OvmfPkgX64.dsc will fail to build. Any platform with 64-bit PEI also
requires this.
This commit also updates CryptoPkg.dsc and SecurityPkg.dsc as they
are setting custom section alignments.
Continuous-integration-options: PatchCheck.ignore-multi-package
Signed-off-by: Oliver Smith-Denny <osde@microsoft.com>
2024-12-03 23:44:02 +01:00
|
|
|
MSFT:*_*_X64_DLINK_XIPFLAGS = /ALIGN:256
|
2022-10-05 02:36:41 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
#
|
2023-10-04 15:16:58 +02:00
|
|
|
# CryptoPei with IA32/X64/AARCH64 performance optimized OpensslLib instance all services
|
2022-10-05 02:36:41 +02:00
|
|
|
# IA32/X64 assembly optimizations required larger alignments
|
|
|
|
#
|
2019-11-21 18:25:01 +01:00
|
|
|
CryptoPkg/Driver/CryptoPei.inf {
|
|
|
|
<Defines>
|
2022-10-05 02:36:41 +02:00
|
|
|
FILE_GUID = $(PEI_FULL_ACCEL_GUID)
|
|
|
|
<LibraryClasses>
|
|
|
|
OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLibFullAccel.inf
|
|
|
|
<BuildOptions>
|
2023-08-03 06:37:38 +02:00
|
|
|
MSFT:*_*_IA32_DLINK_FLAGS = /ALIGN:4096
|
BaseTools: Add VS2022 XIPFLAGS
BaseTools has a limitation that modules in FVs that are force rebased
must have the same file and section alignment. This is intended for
XIP modules.
VS2019 and previous VS toolchains did not set 4k section alignment,
but VS2022 does, in order for memory protections to be applied to
images. This causes issues when building SEC and PEI modules on
VS2022 as the file alignment is 0x20 but the section alignment
is 0x1000, so BaseTools will fail to generate the FV. One option
is to set the file alignment to 0x1000 for all of these files, but
that is a large waste of space and is not feasible on some platforms
that have limited flash space. The other option is to selectively
set 0x20 as the section alignment for SEC and PEI modules, which is
the approach GCC ARM/AARCH64 took.
This is only an issue for building 64-bit PEI on x86 currently, as
other architectures are not supported by VS2022 in edk2 yet. For IA32,
the section alignment is set to 0x20 and so it matches the file
alignment, however x64 PEI uses the X64 DLINK flags which have 0x1000
set. For other architectures that don't have the PEI/DXE architecture
split, this is also an issue.
This commit is required to use VS2022 as the default CI in edk2, as
OvmfPkgX64.dsc will fail to build. Any platform with 64-bit PEI also
requires this.
This commit also updates CryptoPkg.dsc and SecurityPkg.dsc as they
are setting custom section alignments.
Continuous-integration-options: PatchCheck.ignore-multi-package
Signed-off-by: Oliver Smith-Denny <osde@microsoft.com>
2024-12-03 23:44:02 +01:00
|
|
|
MSFT:*_*_IA32_DLINK_XIPFLAGS = /ALIGN:4096
|
2023-08-03 06:37:38 +02:00
|
|
|
MSFT:*_*_X64_DLINK_FLAGS = /ALIGN:4096
|
BaseTools: Add VS2022 XIPFLAGS
BaseTools has a limitation that modules in FVs that are force rebased
must have the same file and section alignment. This is intended for
XIP modules.
VS2019 and previous VS toolchains did not set 4k section alignment,
but VS2022 does, in order for memory protections to be applied to
images. This causes issues when building SEC and PEI modules on
VS2022 as the file alignment is 0x20 but the section alignment
is 0x1000, so BaseTools will fail to generate the FV. One option
is to set the file alignment to 0x1000 for all of these files, but
that is a large waste of space and is not feasible on some platforms
that have limited flash space. The other option is to selectively
set 0x20 as the section alignment for SEC and PEI modules, which is
the approach GCC ARM/AARCH64 took.
This is only an issue for building 64-bit PEI on x86 currently, as
other architectures are not supported by VS2022 in edk2 yet. For IA32,
the section alignment is set to 0x20 and so it matches the file
alignment, however x64 PEI uses the X64 DLINK flags which have 0x1000
set. For other architectures that don't have the PEI/DXE architecture
split, this is also an issue.
This commit is required to use VS2022 as the default CI in edk2, as
OvmfPkgX64.dsc will fail to build. Any platform with 64-bit PEI also
requires this.
This commit also updates CryptoPkg.dsc and SecurityPkg.dsc as they
are setting custom section alignments.
Continuous-integration-options: PatchCheck.ignore-multi-package
Signed-off-by: Oliver Smith-Denny <osde@microsoft.com>
2024-12-03 23:44:02 +01:00
|
|
|
MSFT:*_*_X64_DLINK_XIPFLAGS = /ALIGN:4096
|
2024-09-10 12:39:00 +02:00
|
|
|
GCC:*_*_AARCH64_DLINK_XIPFLAGS = -z common-page-size=0x1000
|
2019-11-21 18:25:01 +01:00
|
|
|
}
|
|
|
|
!endif
|
|
|
|
|
2022-10-05 02:36:41 +02:00
|
|
|
#
|
|
|
|
# If profile is ALL or NONE or MIN_DXE_MIN_SMM, then build CryptoDxe and
|
|
|
|
# CryptoSmm using all supported OpensslLib instances.
|
|
|
|
#
|
|
|
|
!if $(CRYPTO_SERVICES) in "ALL NONE MIN_DXE_MIN_SMM"
|
|
|
|
[Components]
|
|
|
|
#
|
|
|
|
# CryptoDxe with OpensslLib instance with no SSL or EC services
|
|
|
|
#
|
|
|
|
CryptoPkg/Driver/CryptoDxe.inf {
|
|
|
|
<Defines>
|
|
|
|
FILE_GUID = $(DXE_CRYPTO_GUID)
|
|
|
|
<LibraryClasses>
|
|
|
|
OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
|
|
|
|
TlsLib|CryptoPkg/Library/TlsLibNull/TlsLibNull.inf
|
|
|
|
}
|
|
|
|
#
|
|
|
|
# CryptoDxe with OpensslLib instance with no EC services
|
|
|
|
#
|
|
|
|
CryptoPkg/Driver/CryptoDxe.inf {
|
|
|
|
<Defines>
|
|
|
|
FILE_GUID = $(DXE_STD_GUID)
|
|
|
|
<LibraryClasses>
|
|
|
|
OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf
|
|
|
|
}
|
|
|
|
[Components.IA32, Components.X64, Components.ARM, Components.AARCH64]
|
|
|
|
#
|
|
|
|
# CryptoDxe with OpensslLib instance with all services
|
|
|
|
#
|
2019-11-21 18:25:01 +01:00
|
|
|
CryptoPkg/Driver/CryptoDxe.inf {
|
|
|
|
<Defines>
|
2022-10-05 02:36:41 +02:00
|
|
|
FILE_GUID = $(DXE_FULL_GUID)
|
|
|
|
<LibraryClasses>
|
|
|
|
OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLibFull.inf
|
2019-11-21 18:25:01 +01:00
|
|
|
}
|
|
|
|
|
2023-10-04 15:16:58 +02:00
|
|
|
[Components.IA32, Components.X64, Components.AARCH64]
|
2022-10-05 02:36:41 +02:00
|
|
|
#
|
2023-10-04 15:16:58 +02:00
|
|
|
# CryptoDxe with IA32/X64/AARCH64 performance optimized OpensslLib instance with no EC services
|
2022-10-05 02:36:41 +02:00
|
|
|
# with TLS feature enabled.
|
|
|
|
# IA32/X64 assembly optimizations required larger alignments
|
|
|
|
#
|
|
|
|
CryptoPkg/Driver/CryptoDxe.inf {
|
|
|
|
<Defines>
|
|
|
|
FILE_GUID = $(DXE_STD_ACCEL_GUID)
|
|
|
|
<LibraryClasses>
|
|
|
|
OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLibAccel.inf
|
|
|
|
<BuildOptions>
|
|
|
|
MSFT:*_*_IA32_DLINK_FLAGS = /ALIGN:64
|
|
|
|
MSFT:*_*_X64_DLINK_FLAGS = /ALIGN:256
|
|
|
|
}
|
|
|
|
#
|
2023-10-04 15:16:58 +02:00
|
|
|
# CryptoDxe with IA32/X64/AARCH64 performance optimized OpensslLib instance with all services.
|
2022-10-05 02:36:41 +02:00
|
|
|
# IA32/X64 assembly optimizations required larger alignments
|
|
|
|
#
|
|
|
|
CryptoPkg/Driver/CryptoDxe.inf {
|
|
|
|
<Defines>
|
|
|
|
FILE_GUID = $(DXE_FULL_ACCEL_GUID)
|
|
|
|
<LibraryClasses>
|
|
|
|
OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLibFullAccel.inf
|
|
|
|
<BuildOptions>
|
2023-08-03 06:37:38 +02:00
|
|
|
MSFT:*_*_IA32_DLINK_FLAGS = /ALIGN:4096
|
|
|
|
MSFT:*_*_X64_DLINK_FLAGS = /ALIGN:4096
|
2024-09-10 12:39:00 +02:00
|
|
|
GCC:*_*_AARCH64_DLINK_XIPFLAGS = -z common-page-size=0x1000
|
2022-10-05 02:36:41 +02:00
|
|
|
}
|
|
|
|
#
|
|
|
|
# CryptoSmm with OpensslLib instance with no SSL or EC services
|
|
|
|
#
|
|
|
|
CryptoPkg/Driver/CryptoSmm.inf {
|
|
|
|
<Defines>
|
|
|
|
FILE_GUID = $(SMM_CRYPTO_GUID)
|
|
|
|
<LibraryClasses>
|
|
|
|
OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
|
|
|
|
}
|
|
|
|
#
|
|
|
|
# CryptoSmm with OpensslLib instance with no SSL services
|
|
|
|
#
|
|
|
|
CryptoPkg/Driver/CryptoSmm.inf {
|
|
|
|
<Defines>
|
|
|
|
FILE_GUID = $(SMM_STD_GUID)
|
|
|
|
<LibraryClasses>
|
|
|
|
OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf
|
|
|
|
}
|
|
|
|
#
|
|
|
|
# CryptoSmm with OpensslLib instance with no all services
|
|
|
|
#
|
|
|
|
CryptoPkg/Driver/CryptoSmm.inf {
|
|
|
|
<Defines>
|
|
|
|
FILE_GUID = $(SMM_FULL_GUID)
|
|
|
|
<LibraryClasses>
|
|
|
|
OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLibFull.inf
|
|
|
|
}
|
|
|
|
#
|
2023-10-04 15:16:58 +02:00
|
|
|
# CryptoSmm with IA32/X64/AARCH64 performance optimized OpensslLib instance with no EC services
|
2022-10-05 02:36:41 +02:00
|
|
|
# IA32/X64 assembly optimizations required larger alignments
|
|
|
|
#
|
2019-11-21 18:25:01 +01:00
|
|
|
CryptoPkg/Driver/CryptoSmm.inf {
|
|
|
|
<Defines>
|
2022-10-05 02:36:41 +02:00
|
|
|
FILE_GUID = $(SMM_STD_ACCEL_GUID)
|
|
|
|
<LibraryClasses>
|
|
|
|
OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLibAccel.inf
|
|
|
|
<BuildOptions>
|
|
|
|
MSFT:*_*_IA32_DLINK_FLAGS = /ALIGN:64
|
|
|
|
MSFT:*_*_X64_DLINK_FLAGS = /ALIGN:256
|
|
|
|
}
|
|
|
|
#
|
2023-10-04 15:16:58 +02:00
|
|
|
# CryptoSmm with IA32/X64/AARCH64 performance optimized OpensslLib instance with all services
|
2022-10-05 02:36:41 +02:00
|
|
|
# IA32/X64 assembly optimizations required larger alignments
|
|
|
|
#
|
|
|
|
CryptoPkg/Driver/CryptoSmm.inf {
|
|
|
|
<Defines>
|
|
|
|
FILE_GUID = $(SMM_FULL_ACCEL_GUID)
|
|
|
|
<LibraryClasses>
|
|
|
|
OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLibFullAccel.inf
|
|
|
|
<BuildOptions>
|
2023-08-03 06:37:38 +02:00
|
|
|
MSFT:*_*_IA32_DLINK_FLAGS = /ALIGN:4096
|
|
|
|
MSFT:*_*_X64_DLINK_FLAGS = /ALIGN:4096
|
2024-09-10 12:39:00 +02:00
|
|
|
GCC:*_*_AARCH64_DLINK_XIPFLAGS = -z common-page-size=0x1000
|
2019-11-21 18:25:01 +01:00
|
|
|
}
|
2024-10-30 19:01:49 +01:00
|
|
|
#
|
|
|
|
# CryptoStandaloneMm with OpensslLib instance with no SSL or EC services
|
|
|
|
#
|
|
|
|
CryptoPkg/Driver/CryptoStandaloneMm.inf {
|
|
|
|
<Defines>
|
|
|
|
FILE_GUID = $(MM_STANDALONE_CRYPTO_GUID)
|
|
|
|
<LibraryClasses>
|
|
|
|
OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
|
|
|
|
}
|
|
|
|
#
|
|
|
|
# CryptoStandaloneMm with OpensslLib instance with no SSL services
|
|
|
|
#
|
|
|
|
CryptoPkg/Driver/CryptoStandaloneMm.inf {
|
|
|
|
<Defines>
|
|
|
|
FILE_GUID = $(MM_STANDALONE_STD_GUID)
|
|
|
|
<LibraryClasses>
|
|
|
|
OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf
|
|
|
|
}
|
|
|
|
#
|
|
|
|
# CryptoStandaloneMm with OpensslLib instance with no all services
|
|
|
|
#
|
|
|
|
CryptoPkg/Driver/CryptoStandaloneMm.inf {
|
|
|
|
<Defines>
|
|
|
|
FILE_GUID = $(MM_STANDALONE_FULL_GUID)
|
|
|
|
<LibraryClasses>
|
|
|
|
OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLibFull.inf
|
|
|
|
}
|
|
|
|
#
|
|
|
|
# CryptoStandaloneMm with IA32/X64/AARCH64 performance optimized OpensslLib instance with no EC services
|
|
|
|
# IA32/X64 assembly optimizations required larger alignments
|
|
|
|
#
|
|
|
|
CryptoPkg/Driver/CryptoStandaloneMm.inf {
|
|
|
|
<Defines>
|
|
|
|
FILE_GUID = $(MM_STANDALONE_STD_ACCEL_GUID)
|
|
|
|
<LibraryClasses>
|
|
|
|
OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLibAccel.inf
|
|
|
|
<BuildOptions>
|
|
|
|
MSFT:*_*_IA32_DLINK_FLAGS = /ALIGN:64
|
|
|
|
MSFT:*_*_X64_DLINK_FLAGS = /ALIGN:256
|
|
|
|
}
|
|
|
|
#
|
|
|
|
# CryptoStandaloneMm with IA32/X64/AARCH64 performance optimized OpensslLib instance with all services
|
|
|
|
# IA32/X64 assembly optimizations required larger alignments
|
|
|
|
#
|
|
|
|
CryptoPkg/Driver/CryptoStandaloneMm.inf {
|
|
|
|
<Defines>
|
|
|
|
FILE_GUID = $(MM_STANDALONE_FULL_ACCEL_GUID)
|
|
|
|
<LibraryClasses>
|
|
|
|
OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLibFullAccel.inf
|
|
|
|
<BuildOptions>
|
|
|
|
MSFT:*_*_IA32_DLINK_FLAGS = /ALIGN:4096
|
|
|
|
MSFT:*_*_X64_DLINK_FLAGS = /ALIGN:4096
|
|
|
|
}
|
2019-11-21 18:25:01 +01:00
|
|
|
!endif
|
2010-11-02 07:06:38 +01:00
|
|
|
|
2016-08-01 08:22:19 +02:00
|
|
|
[BuildOptions]
|
2022-10-05 02:36:41 +02:00
|
|
|
RELEASE_*_*_CC_FLAGS = -DMDEPKG_NDEBUG
|
2016-08-01 08:22:19 +02:00
|
|
|
*_*_*_CC_FLAGS = -D DISABLE_NEW_DEPRECATED_INTERFACES
|