summaryrefslogtreecommitdiff
path: root/crypto/ppccap.c
diff options
context:
space:
mode:
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);