From d1984abcb9a9fa7fe0b1e6ee13e71d943718bda8 Mon Sep 17 00:00:00 2001 From: Ronald Cron Date: Tue, 26 Aug 2014 15:06:45 +0000 Subject: [PATCH] CryptoPkg: Add support of AARCH64 architecture Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ronald Cron Reviewed-By: Olivier Martin Reviewed-By: Long, Qin git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15913 6f19259b-4bc3-4df7-8a09-765794883524 --- CryptoPkg/CryptoPkg.dsc | 7 ++++--- CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf | 5 ++++- CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf | 5 ++++- CryptoPkg/Library/BaseCryptLib/SmmCryptLib.inf | 5 ++++- CryptoPkg/Library/OpensslLib/OpensslLib.inf | 3 ++- 5 files changed, 18 insertions(+), 7 deletions(-) diff --git a/CryptoPkg/CryptoPkg.dsc b/CryptoPkg/CryptoPkg.dsc index 80e37067bb..2f69b72e8b 100644 --- a/CryptoPkg/CryptoPkg.dsc +++ b/CryptoPkg/CryptoPkg.dsc @@ -23,7 +23,7 @@ PLATFORM_VERSION = 0.93 DSC_SPECIFICATION = 0x00010005 OUTPUT_DIRECTORY = Build/CryptoPkg - SUPPORTED_ARCHITECTURES = IA32|X64|IPF|ARM + SUPPORTED_ARCHITECTURES = IA32|X64|IPF|ARM|AARCH64 BUILD_TARGETS = DEBUG|RELEASE SKUID_IDENTIFIER = DEFAULT @@ -51,11 +51,12 @@ IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf -[LibraryClasses.ARM] +[LibraryClasses.ARM, LibraryClasses.AARCH64] # # It is not possible to prevent the ARM compiler for generic intrinsic functions. # This library provides the instrinsic functions generate by a given compiler. - # [LibraryClasses.ARM] and NULL mean link this library into all ARM images. + # [LibraryClasses.ARM, LibraryClasses.AARCH64] and NULL mean link this library + # into all ARM and AARCH64 images. # NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf diff --git a/CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf b/CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf index 95a76f23fe..bea2e2b8c6 100644 --- a/CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf +++ b/CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf @@ -28,7 +28,7 @@ # # The following information is for reference only and not required by the build tools. # -# VALID_ARCHITECTURES = IA32 X64 IPF ARM +# VALID_ARCHITECTURES = IA32 X64 IPF ARM AARCH64 # [Sources] @@ -85,6 +85,9 @@ [Sources.ARM] Rand/CryptRand.c +[Sources.AARCH64] + Rand/CryptRand.c + [Packages] MdePkg/MdePkg.dec CryptoPkg/CryptoPkg.dec diff --git a/CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf b/CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf index 535ad514c6..3cf0965738 100644 --- a/CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf +++ b/CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf @@ -34,7 +34,7 @@ # # The following information is for reference only and not required by the build tools. # -# VALID_ARCHITECTURES = IA32 X64 IPF ARM +# VALID_ARCHITECTURES = IA32 X64 IPF ARM AARCH64 # [Sources] @@ -90,6 +90,9 @@ [Sources.ARM] Rand/CryptRand.c +[Sources.AARCH64] + Rand/CryptRand.c + [Packages] MdePkg/MdePkg.dec CryptoPkg/CryptoPkg.dec diff --git a/CryptoPkg/Library/BaseCryptLib/SmmCryptLib.inf b/CryptoPkg/Library/BaseCryptLib/SmmCryptLib.inf index b966ecc46b..7669ff3e80 100644 --- a/CryptoPkg/Library/BaseCryptLib/SmmCryptLib.inf +++ b/CryptoPkg/Library/BaseCryptLib/SmmCryptLib.inf @@ -34,7 +34,7 @@ # # The following information is for reference only and not required by the build tools. # -# VALID_ARCHITECTURES = IA32 X64 +# VALID_ARCHITECTURES = IA32 X64 ARM AARCH64 # [Sources] @@ -90,6 +90,9 @@ [Sources.ARM] Rand/CryptRand.c +[Sources.AARCH64] + Rand/CryptRand.c + [Packages] MdePkg/MdePkg.dec CryptoPkg/CryptoPkg.dec diff --git a/CryptoPkg/Library/OpensslLib/OpensslLib.inf b/CryptoPkg/Library/OpensslLib/OpensslLib.inf index 5bf4282c8d..6cfc67d03c 100644 --- a/CryptoPkg/Library/OpensslLib/OpensslLib.inf +++ b/CryptoPkg/Library/OpensslLib/OpensslLib.inf @@ -51,7 +51,7 @@ # # -# VALID_ARCHITECTURES = IA32 X64 IPF ARM +# VALID_ARCHITECTURES = IA32 X64 IPF ARM AARCH64 # [Sources] @@ -657,6 +657,7 @@ GCC:*_*_X64_CC_FLAGS = -U_WIN32 -U_WIN64 $(OPENSSL_FLAGS) $(OPENSSL_EXFLAGS) -w -DSIXTY_FOUR_BIT GCC:*_*_IPF_CC_FLAGS = -U_WIN32 -U_WIN64 $(OPENSSL_FLAGS) $(OPENSSL_EXFLAGS) -w -DSIXTY_FOUR_BIT GCC:*_*_ARM_CC_FLAGS = $(OPENSSL_FLAGS) $(OPENSSL_EXFLAGS) -w -DTHIRTY_TWO_BIT + GCC:*_*_AARCH64_CC_FLAGS = $(OPENSSL_FLAGS) $(OPENSSL_EXFLAGS) -w -DSIXTY_FOUR_BIT # suppress the following warnings in openssl so we don't break the build with warnings-as-errors: # 1295: Deprecated declaration - give arg types