summaryrefslogtreecommitdiff
path: root/crypto/ppccap.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/ppccap.c
parenta5510df3374a5bd21fa843d9d2b85924c2568756 (diff)
downloadopenssl-new-de51e830a637862ecd86b1feb848312366072dd1.tar.gz
Engage POWER8 AES support.
Diffstat (limited to 'crypto/ppccap.c')
-rw-r--r--crypto/ppccap.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/crypto/ppccap.c b/crypto/ppccap.c
index d78bfbcdbb..4c5e88d3a0 100644
--- a/crypto/ppccap.c
+++ b/crypto/ppccap.c
@@ -12,6 +12,7 @@
#define PPC_FPU64 (1<<0)
#define PPC_ALTIVEC (1<<1)
+#define PPC_CRYPTO207 (1<<2)
unsigned int OPENSSL_ppccap_P = 0;
@@ -58,6 +59,7 @@ static void ill_handler (int sig) { siglongjmp(ill_jmp,sig); }
void OPENSSL_ppc64_probe(void);
void OPENSSL_altivec_probe(void);
+void OPENSSL_crypto207_probe(void);
void OPENSSL_cpuid_setup(void)
{
@@ -128,6 +130,11 @@ void OPENSSL_cpuid_setup(void)
{
OPENSSL_altivec_probe();
OPENSSL_ppccap_P |= PPC_ALTIVEC;
+ if (sigsetjmp(ill_jmp,1) == 0)
+ {
+ OPENSSL_crypto207_probe();
+ OPENSSL_ppccap_P |= PPC_CRYPTO207;
+ }
}
sigaction (SIGILL,&ill_oact,NULL);