CryptoPkg: Enable Openssl Accel builds for AARCH64

Enable the following modules builds for AARCH64:
- OpensslLibAccel.inf
- OpensslLibFullAccel.inf

Signed-off-by: Pierre Gondois <pierre.gondois@arm.com>
This commit is contained in:
Pierre Gondois 2023-10-04 15:16:58 +02:00 committed by mergify[bot]
parent 368f9b62a2
commit a679ceca97
2 changed files with 19 additions and 18 deletions

View File

@ -5,6 +5,7 @@
# Copyright (c) 2009 - 2022, Intel Corporation. All rights reserved.<BR> # Copyright (c) 2009 - 2022, Intel Corporation. All rights reserved.<BR>
# Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All rights reserved.<BR> # Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All rights reserved.<BR>
# Copyright (c) 2022, Loongson Technology Corporation Limited. All rights reserved.<BR> # Copyright (c) 2022, Loongson Technology Corporation Limited. All rights reserved.<BR>
# Copyright (c) 2023, Arm Limited. All rights reserved.<BR>
# SPDX-License-Identifier: BSD-2-Clause-Patent # SPDX-License-Identifier: BSD-2-Clause-Patent
# #
## ##
@ -327,7 +328,7 @@
MSFT:NOOPT_*_*_DLINK_FLAGS = /EXPORT:InitializeDriver=$(IMAGE_ENTRY_POINT) /BASE:0x10000 MSFT:NOOPT_*_*_DLINK_FLAGS = /EXPORT:InitializeDriver=$(IMAGE_ENTRY_POINT) /BASE:0x10000
} }
[Components.IA32, Components.X64] [Components.IA32, Components.X64, Components.AARCH64]
CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TestBaseCryptLibShell.inf { CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TestBaseCryptLibShell.inf {
<Defines> <Defines>
FILE_GUID = B91B9A95-4D52-4501-A98F-A1711C14ED93 FILE_GUID = B91B9A95-4D52-4501-A98F-A1711C14ED93
@ -396,9 +397,9 @@
TlsLib|CryptoPkg/Library/TlsLib/TlsLib.inf TlsLib|CryptoPkg/Library/TlsLib/TlsLib.inf
} }
[Components.IA32, Components.X64] [Components.IA32, Components.X64, Components.AARCH64]
# #
# Build verification of IA32/X64 specific libraries # Build verification of IA32/X64/AARCH64 specific libraries
# #
CryptoPkg/Library/OpensslLib/OpensslLibAccel.inf CryptoPkg/Library/OpensslLib/OpensslLibAccel.inf
CryptoPkg/Library/OpensslLib/OpensslLibFullAccel.inf CryptoPkg/Library/OpensslLib/OpensslLibFullAccel.inf
@ -439,9 +440,9 @@
OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLibFull.inf OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLibFull.inf
} }
[Components.IA32, Components.X64] [Components.IA32, Components.X64, Components.AARCH64]
# #
# CryptoPei with IA32/X64 performance optimized OpensslLib instance without EC services # CryptoPei with IA32/X64/AARCH64 performance optimized OpensslLib instance without EC services
# IA32/X64 assembly optimizations required larger alignments # IA32/X64 assembly optimizations required larger alignments
# #
CryptoPkg/Driver/CryptoPei.inf { CryptoPkg/Driver/CryptoPei.inf {
@ -455,7 +456,7 @@
} }
# #
# CryptoPei with IA32/X64 performance optimized OpensslLib instance all services # CryptoPei with IA32/X64/AARCH64 performance optimized OpensslLib instance all services
# IA32/X64 assembly optimizations required larger alignments # IA32/X64 assembly optimizations required larger alignments
# #
CryptoPkg/Driver/CryptoPei.inf { CryptoPkg/Driver/CryptoPei.inf {
@ -505,9 +506,9 @@
OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLibFull.inf OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLibFull.inf
} }
[Components.IA32, Components.X64] [Components.IA32, Components.X64, Components.AARCH64]
# #
# CryptoDxe with IA32/X64 performance optimized OpensslLib instance with no EC services # CryptoDxe with IA32/X64/AARCH64 performance optimized OpensslLib instance with no EC services
# with TLS feature enabled. # with TLS feature enabled.
# IA32/X64 assembly optimizations required larger alignments # IA32/X64 assembly optimizations required larger alignments
# #
@ -521,7 +522,7 @@
MSFT:*_*_X64_DLINK_FLAGS = /ALIGN:256 MSFT:*_*_X64_DLINK_FLAGS = /ALIGN:256
} }
# #
# CryptoDxe with IA32/X64 performance optimized OpensslLib instance with all services. # CryptoDxe with IA32/X64/AARCH64 performance optimized OpensslLib instance with all services.
# IA32/X64 assembly optimizations required larger alignments # IA32/X64 assembly optimizations required larger alignments
# #
CryptoPkg/Driver/CryptoDxe.inf { CryptoPkg/Driver/CryptoDxe.inf {
@ -561,7 +562,7 @@
OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLibFull.inf OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLibFull.inf
} }
# #
# CryptoSmm with IA32/X64 performance optimized OpensslLib instance with no EC services # CryptoSmm with IA32/X64/AARCH64 performance optimized OpensslLib instance with no EC services
# IA32/X64 assembly optimizations required larger alignments # IA32/X64 assembly optimizations required larger alignments
# #
CryptoPkg/Driver/CryptoSmm.inf { CryptoPkg/Driver/CryptoSmm.inf {
@ -574,7 +575,7 @@
MSFT:*_*_X64_DLINK_FLAGS = /ALIGN:256 MSFT:*_*_X64_DLINK_FLAGS = /ALIGN:256
} }
# #
# CryptoSmm with IA32/X64 performance optimized OpensslLib instance with all services # CryptoSmm with IA32/X64/AARCH64 performance optimized OpensslLib instance with all services
# IA32/X64 assembly optimizations required larger alignments # IA32/X64 assembly optimizations required larger alignments
# #
CryptoPkg/Driver/CryptoSmm.inf { CryptoPkg/Driver/CryptoSmm.inf {

View File

@ -246,13 +246,13 @@ specific set of enabled cryptographic services. If ECC services are not
required, then the size can be reduced by using OpensslLib.inf instead of required, then the size can be reduced by using OpensslLib.inf instead of
`OpensslLibFull.inf`. Performance optimization requires a size increase. `OpensslLibFull.inf`. Performance optimization requires a size increase.
| OpensslLib Instance | SSL | ECC | Perf Opt | CPU Arch | Size | | OpensslLib Instance | SSL | ECC | Perf Opt | CPU Arch | Size |
|:------------------------|:---:|:---:|:--------:|:--------:|:-----:| |:------------------------|:---:|:---:|:--------:|:----------------:|:-----:|
| OpensslLibCrypto.inf | N | N | N | All | +0K | | OpensslLibCrypto.inf | N | N | N | All | +0K |
| OpensslLib.inf | Y | N | N | All | +0K | | OpensslLib.inf | Y | N | N | All | +0K |
| OpensslLibAccel.inf | Y | N | Y | IA32/X64 | +20K | | OpensslLibAccel.inf | Y | N | Y | IA32/X64/AARCH64 | +20K |
| OpensslLibFull.inf | Y | Y | N | All | +115K | | OpensslLibFull.inf | Y | Y | N | All | +115K |
| OpensslLibFullAccel.inf | Y | Y | Y | IA32/X64 | +135K | | OpensslLibFullAccel.inf | Y | Y | Y | IA32/X64/AARCH64 | +135K |
### SEC Phase Library Mappings ### SEC Phase Library Mappings