Loading crypto/aes/asm/aes-s390x.pl +1 −1 Original line number Diff line number Diff line Loading @@ -1485,7 +1485,7 @@ $code.=<<___; ___ } $code.=<<___; .comm OPENSSL_s390xcap_P,8,8 .comm OPENSSL_s390xcap_P,16,8 .string "AES for s390x, CRYPTOGAMS by <appro\@openssl.org>" ___ Loading crypto/s390xcap.c +6 −6 Original line number Diff line number Diff line Loading @@ -4,7 +4,7 @@ #include <setjmp.h> #include <signal.h> extern unsigned long OPENSSL_s390xcap_P; extern unsigned long OPENSSL_s390xcap_P[]; static sigjmp_buf ill_jmp; static void ill_handler (int sig) { siglongjmp(ill_jmp,sig); } Loading @@ -16,7 +16,9 @@ void OPENSSL_cpuid_setup(void) sigset_t oset; struct sigaction ill_act,oact; if (OPENSSL_s390xcap_P) return; if (OPENSSL_s390xcap_P[0]) return; OPENSSL_s390xcap_P[0] = 1UL<<(8*sizeof(unsigned long)-1); memset(&ill_act,0,sizeof(ill_act)); ill_act.sa_handler = ill_handler; Loading @@ -27,10 +29,8 @@ void OPENSSL_cpuid_setup(void) sigaction (SIGILL,&ill_act,&oact); /* protection against missing store-facility-list-extended */ if (sigsetjmp(ill_jmp,0) == 0) OPENSSL_s390xcap_P = OPENSSL_s390x_facilities(); else OPENSSL_s390xcap_P = 1UL<<63; if (sigsetjmp(ill_jmp,1) == 0) OPENSSL_s390x_facilities(); sigaction (SIGILL,&oact,NULL); sigprocmask(SIG_SETMASK,&oset,NULL); Loading crypto/s390xcpuid.S +9 −5 Original line number Diff line number Diff line Loading @@ -5,10 +5,14 @@ .align 16 OPENSSL_s390x_facilities: lghi %r0,0 .long 0xb2b0f010 # stfle 16(%r15) lg %r2,16(%r15) larl %r1,OPENSSL_s390xcap_P stg %r2,0(%r1) larl %r2,OPENSSL_s390xcap_P stg %r0,8(%r2) .long 0xb2b02000 # stfle 0(%r2) brc 8,.Ldone lghi %r0,1 .long 0xb2b02000 # stfle 0(%r2) .Ldone: lg %r2,0(%r2) br %r14 .size OPENSSL_s390x_facilities,.-OPENSSL_s390x_facilities Loading Loading @@ -89,4 +93,4 @@ OPENSSL_cleanse: .section .init brasl %r14,OPENSSL_cpuid_setup .comm OPENSSL_s390xcap_P,8,8 .comm OPENSSL_s390xcap_P,16,8 crypto/sha/asm/sha1-s390x.pl +1 −1 Original line number Diff line number Diff line Loading @@ -217,7 +217,7 @@ $code.=<<___; br %r14 .size sha1_block_data_order,.-sha1_block_data_order .string "SHA1 block transform for s390x, CRYPTOGAMS by <appro\@openssl.org>" .comm OPENSSL_s390xcap_P,8,8 .comm OPENSSL_s390xcap_P,16,8 ___ $code =~ s/\`([^\`]*)\`/eval $1/gem; Loading crypto/sha/asm/sha512-s390x.pl +1 −1 Original line number Diff line number Diff line Loading @@ -290,7 +290,7 @@ $code.=<<___; br %r14 .size $Func,.-$Func .string "SHA${label} block transform for s390x, CRYPTOGAMS by <appro\@openssl.org>" .comm OPENSSL_s390xcap_P,8,8 .comm OPENSSL_s390xcap_P,16,8 ___ $code =~ s/\`([^\`]*)\`/eval $1/gem; Loading Loading
crypto/aes/asm/aes-s390x.pl +1 −1 Original line number Diff line number Diff line Loading @@ -1485,7 +1485,7 @@ $code.=<<___; ___ } $code.=<<___; .comm OPENSSL_s390xcap_P,8,8 .comm OPENSSL_s390xcap_P,16,8 .string "AES for s390x, CRYPTOGAMS by <appro\@openssl.org>" ___ Loading
crypto/s390xcap.c +6 −6 Original line number Diff line number Diff line Loading @@ -4,7 +4,7 @@ #include <setjmp.h> #include <signal.h> extern unsigned long OPENSSL_s390xcap_P; extern unsigned long OPENSSL_s390xcap_P[]; static sigjmp_buf ill_jmp; static void ill_handler (int sig) { siglongjmp(ill_jmp,sig); } Loading @@ -16,7 +16,9 @@ void OPENSSL_cpuid_setup(void) sigset_t oset; struct sigaction ill_act,oact; if (OPENSSL_s390xcap_P) return; if (OPENSSL_s390xcap_P[0]) return; OPENSSL_s390xcap_P[0] = 1UL<<(8*sizeof(unsigned long)-1); memset(&ill_act,0,sizeof(ill_act)); ill_act.sa_handler = ill_handler; Loading @@ -27,10 +29,8 @@ void OPENSSL_cpuid_setup(void) sigaction (SIGILL,&ill_act,&oact); /* protection against missing store-facility-list-extended */ if (sigsetjmp(ill_jmp,0) == 0) OPENSSL_s390xcap_P = OPENSSL_s390x_facilities(); else OPENSSL_s390xcap_P = 1UL<<63; if (sigsetjmp(ill_jmp,1) == 0) OPENSSL_s390x_facilities(); sigaction (SIGILL,&oact,NULL); sigprocmask(SIG_SETMASK,&oset,NULL); Loading
crypto/s390xcpuid.S +9 −5 Original line number Diff line number Diff line Loading @@ -5,10 +5,14 @@ .align 16 OPENSSL_s390x_facilities: lghi %r0,0 .long 0xb2b0f010 # stfle 16(%r15) lg %r2,16(%r15) larl %r1,OPENSSL_s390xcap_P stg %r2,0(%r1) larl %r2,OPENSSL_s390xcap_P stg %r0,8(%r2) .long 0xb2b02000 # stfle 0(%r2) brc 8,.Ldone lghi %r0,1 .long 0xb2b02000 # stfle 0(%r2) .Ldone: lg %r2,0(%r2) br %r14 .size OPENSSL_s390x_facilities,.-OPENSSL_s390x_facilities Loading Loading @@ -89,4 +93,4 @@ OPENSSL_cleanse: .section .init brasl %r14,OPENSSL_cpuid_setup .comm OPENSSL_s390xcap_P,8,8 .comm OPENSSL_s390xcap_P,16,8
crypto/sha/asm/sha1-s390x.pl +1 −1 Original line number Diff line number Diff line Loading @@ -217,7 +217,7 @@ $code.=<<___; br %r14 .size sha1_block_data_order,.-sha1_block_data_order .string "SHA1 block transform for s390x, CRYPTOGAMS by <appro\@openssl.org>" .comm OPENSSL_s390xcap_P,8,8 .comm OPENSSL_s390xcap_P,16,8 ___ $code =~ s/\`([^\`]*)\`/eval $1/gem; Loading
crypto/sha/asm/sha512-s390x.pl +1 −1 Original line number Diff line number Diff line Loading @@ -290,7 +290,7 @@ $code.=<<___; br %r14 .size $Func,.-$Func .string "SHA${label} block transform for s390x, CRYPTOGAMS by <appro\@openssl.org>" .comm OPENSSL_s390xcap_P,8,8 .comm OPENSSL_s390xcap_P,16,8 ___ $code =~ s/\`([^\`]*)\`/eval $1/gem; Loading