diff options
author | Andy Polyakov <appro@openssl.org> | 2016-04-15 16:39:22 +0200 |
---|---|---|
committer | Andy Polyakov <appro@openssl.org> | 2016-04-25 11:53:45 +0200 |
commit | 670ad0fbf6ebcf113e278d8174081a7e2d2fa44c (patch) | |
tree | b113688a273d8dcc2e70148a4265c5fd8a6c381c /crypto/sha/asm/sha1-s390x.pl | |
parent | crypto/sparc_arch.h: reserve more SPARCv9 capability bits. (diff) | |
download | openssl-670ad0fbf6ebcf113e278d8174081a7e2d2fa44c.tar.xz openssl-670ad0fbf6ebcf113e278d8174081a7e2d2fa44c.zip |
s390x assembly pack: cache capability query results.
IBM argues that in certain scenarios capability query is really
expensive. At the same time it's asserted that query results can
be safely cached, because disabling CPACF is incompatible with
reboot-free operation.
Reviewed-by: Tim Hudson <tjh@openssl.org>
Diffstat (limited to 'crypto/sha/asm/sha1-s390x.pl')
-rw-r--r-- | crypto/sha/asm/sha1-s390x.pl | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/crypto/sha/asm/sha1-s390x.pl b/crypto/sha/asm/sha1-s390x.pl index a62cc31892..003ba7647e 100644 --- a/crypto/sha/asm/sha1-s390x.pl +++ b/crypto/sha/asm/sha1-s390x.pl @@ -168,10 +168,7 @@ $code.=<<___ if ($kimdfunc); lg %r0,0(%r1) tmhl %r0,0x4000 # check for message-security assist jz .Lsoftware - lghi %r0,0 - la %r1,`2*$SIZE_T`($sp) - .long 0xb93e0002 # kimd %r0,%r2 - lg %r0,`2*$SIZE_T`($sp) + lg %r0,16(%r1) # check kimd capabilities tmhh %r0,`0x8000>>$kimdfunc` jz .Lsoftware lghi %r0,$kimdfunc @@ -238,7 +235,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,16,8 +.comm OPENSSL_s390xcap_P,80,8 ___ $code =~ s/\`([^\`]*)\`/eval $1/gem; |