summaryrefslogtreecommitdiffstats
path: root/crypto/evp/e_aes.c
diff options
context:
space:
mode:
authorAndy Polyakov <appro@openssl.org>2014-06-01 23:38:11 +0200
committerAndy Polyakov <appro@openssl.org>2014-06-01 23:38:11 +0200
commitde51e830a637862ecd86b1feb848312366072dd1 (patch)
tree909835b193e87e7d39daf8c06c24e6ef49ad783f /crypto/evp/e_aes.c
parenta5510df3374a5bd21fa843d9d2b85924c2568756 (diff)
Engage POWER8 AES support.
Diffstat (limited to 'crypto/evp/e_aes.c')
-rw-r--r--crypto/evp/e_aes.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/crypto/evp/e_aes.c b/crypto/evp/e_aes.c
index 6ba452593b..51714a4a4f 100644
--- a/crypto/evp/e_aes.c
+++ b/crypto/evp/e_aes.c
@@ -154,9 +154,17 @@ void AES_xts_decrypt(const char *inp,char *out,size_t len,
const unsigned char iv[16]);
#endif
-#if defined(VPAES_ASM) && (defined(__powerpc__) || defined(__ppc__) || defined(_ARCH_PPC))
+#if defined(OPENSSL_CPUID_OBJ) && (defined(__powerpc__) || defined(__ppc__) || defined(_ARCH_PPC))
extern unsigned int OPENSSL_ppccap_P;
-#define VPAES_CAPABLE (OPENSSL_ppccap_P&(1<<1))
+# ifdef VPAES_ASM
+# define VPAES_CAPABLE (OPENSSL_ppccap_P&(1<<1))
+# endif
+# define HWAES_CAPABLE (OPENSSL_ppccap_P&(1<<2))
+# define HWAES_set_encrypt_key aes_p8_set_encrypt_key
+# define HWAES_set_decrypt_key aes_p8_set_decrypt_key
+# define HWAES_encrypt aes_p8_encrypt
+# define HWAES_decrypt aes_p8_decrypt
+# define HWAES_cbc_encrypt aes_p8_cbc_encrypt
#endif
#if defined(AES_ASM) && !defined(I386_ONLY) && ( \