summaryrefslogtreecommitdiffstats
path: root/crypto/s390xcpuid.S
diff options
context:
space:
mode:
authorAndy Polyakov <appro@openssl.org>2010-01-19 12:24:59 +0000
committerAndy Polyakov <appro@openssl.org>2010-01-19 12:24:59 +0000
commit91fdacb2c34e05f0a31fd3b51b4cb59538157682 (patch)
tree5a93d149d14cc5d69b8fe88fb9677b6b7c2f8e06 /crypto/s390xcpuid.S
parentd582c98d8f3b1c953a990305ba00201c8c122a55 (diff)
s390x assembler update: add support for run-time facility detection.
Diffstat (limited to 'crypto/s390xcpuid.S')
-rw-r--r--crypto/s390xcpuid.S14
1 files changed, 7 insertions, 7 deletions
diff --git a/crypto/s390xcpuid.S b/crypto/s390xcpuid.S
index 8500133ad0..aa704c033a 100644
--- a/crypto/s390xcpuid.S
+++ b/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
@@ -88,3 +83,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