diff options
author | Patrick Steuer <patrick.steuer@de.ibm.com> | 2017-01-30 17:37:54 +0100 |
---|---|---|
committer | Andy Polyakov <appro@openssl.org> | 2018-10-17 14:02:34 +0200 |
commit | f39ad8dcaa75293968d2633d043de3f5fce4f37b (patch) | |
tree | e4ab52d24eeef68bccaf2aaa83e6d1ce03745988 /crypto/s390xcpuid.pl | |
parent | 9453b196343db579c590130adc63d35d2ff87188 (diff) |
s390x assembly pack: add OPENSSL_s390xcap environment variable.
The OPENSSL_s390xcap environment variable is used to set bits in the s390x
capability vector to zero. This simplifies testing of different code paths.
Signed-off-by: Patrick Steuer <patrick.steuer@de.ibm.com>
Reviewed-by: Andy Polyakov <appro@openssl.org>
Reviewed-by: Rich Salz <rsalz@openssl.org>
Reviewed-by: Richard Levitte <levitte@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/6813)
Diffstat (limited to 'crypto/s390xcpuid.pl')
-rwxr-xr-x | crypto/s390xcpuid.pl | 31 |
1 files changed, 21 insertions, 10 deletions
diff --git a/crypto/s390xcpuid.pl b/crypto/s390xcpuid.pl index ec700a47d9..5e18aef904 100755 --- a/crypto/s390xcpuid.pl +++ b/crypto/s390xcpuid.pl @@ -38,7 +38,26 @@ OPENSSL_s390x_facilities: stg %r0,S390X_STFLE+8(%r4) # wipe capability vectors stg %r0,S390X_STFLE+16(%r4) stg %r0,S390X_STFLE+24(%r4) - stg %r0,S390X_KIMD(%r4) + + .long 0xb2b04000 # stfle 0(%r4) + brc 8,.Ldone + lghi %r0,1 + .long 0xb2b04000 # stfle 0(%r4) + brc 8,.Ldone + lghi %r0,2 + .long 0xb2b04000 # stfle 0(%r4) +.Ldone: + br $ra +.size OPENSSL_s390x_facilities,.-OPENSSL_s390x_facilities + +.globl OPENSSL_s390x_functions +.type OPENSSL_s390x_functions,\@function +.align 16 +OPENSSL_s390x_functions: + lghi %r0,0 + larl %r4,OPENSSL_s390xcap_P + + stg %r0,S390X_KIMD(%r4) # wipe capability vectors stg %r0,S390X_KIMD+8(%r4) stg %r0,S390X_KLMD(%r4) stg %r0,S390X_KLMD+8(%r4) @@ -59,14 +78,6 @@ OPENSSL_s390x_facilities: stg %r0,S390X_KMA(%r4) stg %r0,S390X_KMA+8(%r4) - .long 0xb2b04000 # stfle 0(%r4) - brc 8,.Ldone - lghi %r0,1 - .long 0xb2b04000 # stfle 0(%r4) - brc 8,.Ldone - lghi %r0,2 - .long 0xb2b04000 # stfle 0(%r4) -.Ldone: lmg %r2,%r3,S390X_STFLE(%r4) tmhl %r2,0x4000 # check for message-security-assist jz .Lret @@ -123,7 +134,7 @@ OPENSSL_s390x_facilities: .Lret: br $ra -.size OPENSSL_s390x_facilities,.-OPENSSL_s390x_facilities +.size OPENSSL_s390x_functions,.-OPENSSL_s390x_functions .globl OPENSSL_rdtsc .type OPENSSL_rdtsc,\@function |