aboutsummaryrefslogtreecommitdiff
path: root/openssl/crypto/s390xcpuid.S
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2010-03-30 12:36:28 +0000
committermarha <marha@users.sourceforge.net>2010-03-30 12:36:28 +0000
commitff48c0d9098080b51ea12710029135916d117806 (patch)
tree96e6af9caf170ba21a1027b24e306a07e27d7b75 /openssl/crypto/s390xcpuid.S
parentbb731f5ac92655c4860a41fa818a7a63005f8369 (diff)
downloadvcxsrv-ff48c0d9098080b51ea12710029135916d117806.tar.gz
vcxsrv-ff48c0d9098080b51ea12710029135916d117806.tar.bz2
vcxsrv-ff48c0d9098080b51ea12710029135916d117806.zip
svn merge -r514:HEAD ^/branches/released .
Diffstat (limited to 'openssl/crypto/s390xcpuid.S')
-rw-r--r--openssl/crypto/s390xcpuid.S16
1 files changed, 9 insertions, 7 deletions
diff --git a/openssl/crypto/s390xcpuid.S b/openssl/crypto/s390xcpuid.S
index 8500133ad..b053c6a28 100644
--- a/openssl/crypto/s390xcpuid.S
+++ b/openssl/crypto/s390xcpuid.S
@@ -1,12 +1,5 @@
.text
-.globl OPENSSL_cpuid_setup
-.type OPENSSL_cpuid_setup,@function
-.align 16
-OPENSSL_cpuid_setup:
- br %r14 # reserved for future
-.size OPENSSL_cpuid_setup,.-OPENSSL_cpuid_setup
-
.globl OPENSSL_s390x_facilities
.type OPENSSL_s390x_facilities,@function
.align 16
@@ -14,6 +7,8 @@ OPENSSL_s390x_facilities:
lghi %r0,0
.long 0xb2b0f010 # stfle 16(%r15)
lg %r2,16(%r15)
+ larl %r1,OPENSSL_s390xcap_P
+ stg %r2,0(%r1)
br %r14
.size OPENSSL_s390x_facilities,.-OPENSSL_s390x_facilities
@@ -67,6 +62,8 @@ OPENSSL_cleanse:
lghi %r0,0
clgr %r3,%r4
jh .Lot
+ clgr %r3,%r0
+ bcr 8,%r14
.Little:
stc %r0,0(%r2)
la %r2,1(%r2)
@@ -88,3 +85,8 @@ OPENSSL_cleanse:
jnz .Little
br %r14
.size OPENSSL_cleanse,.-OPENSSL_cleanse
+
+.section .init
+ brasl %r14,OPENSSL_cpuid_setup
+
+.comm OPENSSL_s390xcap_P,8,8