From: sanumesh Date: Wed, 29 May 2024 16:09:26 +0000 (-0500) Subject: enable AES-XTS optimization for AIX in 3.0 branch X-Git-Tag: openssl-3.1.7~106 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=080723d45e62a1068aedb861d3aac67905fddbaa;p=thirdparty%2Fopenssl.git enable AES-XTS optimization for AIX in 3.0 branch Reviewed-by: Paul Dale Reviewed-by: Tomas Mraz (Merged from https://github.com/openssl/openssl/pull/24531) (cherry picked from commit 443823b51c3cfa2f4c427bf89c3ec121eaaf96e9) --- diff --git a/crypto/aes/build.info b/crypto/aes/build.info index 9bd3c390e8f..a0591276757 100644 --- a/crypto/aes/build.info +++ b/crypto/aes/build.info @@ -38,7 +38,11 @@ IF[{- !$disabled{asm} -}] $AESASM_parisc20_64=$AESASM_parisc11 $AESDEF_parisc20_64=$AESDEF_parisc11 + IF[{- $target{sys_id} ne "MACOSX" -}] $AESASM_ppc32=aes_core.c aes_cbc.c aes-ppc.s vpaes-ppc.s aesp8-ppc.s + ELSE + $AESASM_ppc32=aes_core.c aes_cbc.c aes-ppc.s vpaes-ppc.s + ENDIF $AESDEF_ppc32=AES_ASM VPAES_ASM $AESASM_ppc64=$AESASM_ppc32 $AESDEF_ppc64=$AESDEF_ppc32 diff --git a/include/crypto/aes_platform.h b/include/crypto/aes_platform.h index 87c35255438..eed030d2ade 100644 --- a/include/crypto/aes_platform.h +++ b/include/crypto/aes_platform.h @@ -65,6 +65,7 @@ void AES_xts_decrypt(const unsigned char *inp, unsigned char *out, size_t len, # ifdef VPAES_ASM # define VPAES_CAPABLE (OPENSSL_ppccap_P & PPC_ALTIVEC) # endif +# if !defined(OPENSSL_SYS_MACOSX) # define HWAES_CAPABLE (OPENSSL_ppccap_P & PPC_CRYPTO207) # define HWAES_set_encrypt_key aes_p8_set_encrypt_key # define HWAES_set_decrypt_key aes_p8_set_decrypt_key @@ -74,6 +75,7 @@ void AES_xts_decrypt(const unsigned char *inp, unsigned char *out, size_t len, # define HWAES_ctr32_encrypt_blocks aes_p8_ctr32_encrypt_blocks # define HWAES_xts_encrypt aes_p8_xts_encrypt # define HWAES_xts_decrypt aes_p8_xts_decrypt +# endif /* OPENSSL_SYS_MACOSX */ # if !defined(OPENSSL_SYS_AIX) && !defined(OPENSSL_SYS_MACOSX) # define PPC_AES_GCM_CAPABLE (OPENSSL_ppccap_P & PPC_MADD300) # define AES_GCM_ENC_BYTES 128