X-Git-Url: https://git.openssl.org/gitweb/?p=openssl.git;a=blobdiff_plain;f=crypto%2Fppccap.c;h=4c5e88d3a0c830b2da1bc9ffb616e4c16e223f8e;hp=d78bfbcdbb88265e1906ba03fa1b92280dcc9f34;hb=de51e830a637862ecd86b1feb848312366072dd1;hpb=b9e87d07cb60240ac7a602550df64b66ee998789 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);