From 5aeba10894fc4c1562e7aed43e971c5683997c07 Mon Sep 17 00:00:00 2001 From: Islam Ragimov Date: Fri, 18 Jul 2025 13:57:21 +0100 Subject: [PATCH 1/2] lib: [cmake] remove NASM version check for AArch64 Signed-off-by: Islam Ragimov --- lib/CMakeLists.txt | 70 +++++++++++++++++++++++----------------------- lib/Makefile | 2 +- 2 files changed, 36 insertions(+), 36 deletions(-) diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt index 3de2b16c..42a6116a 100644 --- a/lib/CMakeLists.txt +++ b/lib/CMakeLists.txt @@ -45,47 +45,47 @@ else() if(NOT CMAKE_ASM_NASM_COMPILER_LOADED) message(FATAL_ERROR "Can't find assembler") endif() -endif() -set(NASM_VERSION_REQUIRED "2.14") -set(NASM_VERSION_AVX_IFMA "2.16") -set(NASM_VERSION_SMX_NI "2.16.02") + set(NASM_VERSION_REQUIRED "2.14") + set(NASM_VERSION_AVX_IFMA "2.16") + set(NASM_VERSION_SMX_NI "2.16.02") -execute_process( - COMMAND ${CMAKE_ASM_NASM_COMPILER} -v - OUTPUT_VARIABLE NASM_VERSION_OUTPUT - OUTPUT_STRIP_TRAILING_WHITESPACE) -string(REGEX MATCH "NASM version ([0-9]*.[0-9]*.[0-9]*)" NASM_VERSION - "${NASM_VERSION_OUTPUT}") -if(NASM_VERSION) - if(NASM_VERSION_REQUIRED VERSION_GREATER ${CMAKE_MATCH_1}) - message( - FATAL_ERROR "NASM version must be at least ${NASM_VERSION_REQUIRED}!") - endif() - message(STATUS "NASM version: ${CMAKE_MATCH_1}") - if(NASM_VERSION_AVX_IFMA VERSION_GREATER ${CMAKE_MATCH_1}) - message( - NOTICE - "Minimum required NASM version for AVX-IFMA: ${NASM_VERSION_AVX_IFMA}. AVX-IFMA code not compiled - update NASM." - ) + execute_process( + COMMAND ${CMAKE_ASM_NASM_COMPILER} -v + OUTPUT_VARIABLE NASM_VERSION_OUTPUT + OUTPUT_STRIP_TRAILING_WHITESPACE) + string(REGEX MATCH "NASM version ([0-9]*.[0-9]*.[0-9]*)" NASM_VERSION + "${NASM_VERSION_OUTPUT}") + if(NASM_VERSION) + if(NASM_VERSION_REQUIRED VERSION_GREATER ${CMAKE_MATCH_1}) + message( + FATAL_ERROR "NASM version must be at least ${NASM_VERSION_REQUIRED}!") + endif() + message(STATUS "NASM version: ${CMAKE_MATCH_1}") + if(NASM_VERSION_AVX_IFMA VERSION_GREATER ${CMAKE_MATCH_1}) + message( + NOTICE + "Minimum required NASM version for AVX-IFMA: ${NASM_VERSION_AVX_IFMA}. AVX-IFMA code not compiled - update NASM." + ) + else() + # AVX IFMA supported by NASM + set(AVX_IFMA 1) + endif() + if(NASM_VERSION_SMX_NI VERSION_GREATER ${CMAKE_MATCH_1}) + message( + NOTICE + "Minimum required NASM version for SM3/SM4/SHA512-NI: ${NASM_VERSION_SMX_NI}. SM3/SM4/SHA512-NI code not compiled - update NASM." + ) + else() + # SM3/SM4/SHA512-NI supported by NASM + set(SMX_NI 1) + endif() else() - # AVX IFMA supported by NASM - set(AVX_IFMA 1) - endif() - if(NASM_VERSION_SMX_NI VERSION_GREATER ${CMAKE_MATCH_1}) message( - NOTICE - "Minimum required NASM version for SM3/SM4/SHA512-NI: ${NASM_VERSION_SMX_NI}. SM3/SM4/SHA512-NI code not compiled - update NASM." + WARNING + "Could not parse NASM version string: ${NASM_VERSION_OUTPUT}.\nPlease, be sure that ${CMAKE_ASM_NASM_COMPILER} version is >= ${NASM_VERSION_REQUIRED}" ) - else() - # SM3/SM4/SHA512-NI supported by NASM - set(SMX_NI 1) endif() -else() - message( - WARNING - "Could not parse NASM version string: ${NASM_VERSION_OUTPUT}.\nPlease, be sure that ${CMAKE_ASM_NASM_COMPILER} version is >= ${NASM_VERSION_REQUIRED}" - ) endif() set(CAN_USE_ASSEMBLER 1) diff --git a/lib/Makefile b/lib/Makefile index 5d377933..6e72060c 100644 --- a/lib/Makefile +++ b/lib/Makefile @@ -109,7 +109,6 @@ ifneq ($(NASM_IFMA_GE_REQ),true) $(warning Minimum required NASM version for AVX-IFMA: $(NASM_MAJOR_AVX_IFMA).$(NASM_MINOR_AVX_IFMA). AVX-IFMA code not compiled - update NASM.) AVX_IFMA := n endif # NASM_AVX_IFMA_GET_REQ -endif # x86_64 # Minimum version of NASM with SM3/SM4/SHA512-NI support: 2.16.02 SMX_NI := y @@ -123,6 +122,7 @@ ifneq ($(NASM_SMX_GE_REQ),true) $(warning Minimum required NASM version for SM3/SM4/SHA512-NI: $(NASM_MAJOR_SMX_NI).$(NASM_MINOR_SMX_NI).$(NASM_REV_SMX_NI) SM3/SM4/SHA512-NI code not compiled - update NASM.) SMX_NI := n endif # NASM_SMX_NI_GET_REQ +endif # x86_64 INCLUDE_DIRS := include . no-aesni INCLUDES := $(foreach i,$(INCLUDE_DIRS),-I $i) -- GitLab From 2d66b8a401549e2ed2fd856f89d713dd33a88204 Mon Sep 17 00:00:00 2001 From: Islam Ragimov Date: Wed, 16 Jul 2025 17:35:34 +0100 Subject: [PATCH 2/2] lib: comment unused AES-CMAC part in burst API for AArch64 Signed-off-by: Islam Ragimov --- lib/include/mb_mgr_burst.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/include/mb_mgr_burst.h b/lib/include/mb_mgr_burst.h index 1102c593..94eccebe 100644 --- a/lib/include/mb_mgr_burst.h +++ b/lib/include/mb_mgr_burst.h @@ -970,6 +970,7 @@ submit_burst_sha_x(IMB_MGR *state, IMB_JOB *jobs, const uint32_t n_jobs, const i return completed_jobs; } +#ifndef __aarch64__ __forceinline uint32_t submit_aes_cmac_burst(IMB_MGR *state, IMB_JOB *jobs, const uint32_t n_jobs, const int run_check, const IMB_HASH_ALG hash_alg) @@ -1052,6 +1053,7 @@ submit_aes_cmac_burst(IMB_MGR *state, IMB_JOB *jobs, const uint32_t n_jobs, cons return completed_jobs; } +#endif /* __aarch64__ */ __forceinline uint32_t submit_hash_burst_and_check(IMB_MGR *state, IMB_JOB *jobs, const uint32_t n_jobs, -- GitLab