OLD | NEW |
(Empty) | |
| 1 .text |
| 2 |
| 3 .globl OPENSSL_s390x_facilities |
| 4 .type OPENSSL_s390x_facilities,@function |
| 5 .align 16 |
| 6 OPENSSL_s390x_facilities: |
| 7 lghi %r0,0 |
| 8 .long 0xb2b0f010 # stfle 16(%r15) |
| 9 lg %r2,16(%r15) |
| 10 larl %r1,OPENSSL_s390xcap_P |
| 11 stg %r2,0(%r1) |
| 12 br %r14 |
| 13 .size OPENSSL_s390x_facilities,.-OPENSSL_s390x_facilities |
| 14 |
| 15 .globl OPENSSL_rdtsc |
| 16 .type OPENSSL_rdtsc,@function |
| 17 .align 16 |
| 18 OPENSSL_rdtsc: |
| 19 stck 16(%r15) |
| 20 lg %r2,16(%r15) |
| 21 br %r14 |
| 22 .size OPENSSL_rdtsc,.-OPENSSL_rdtsc |
| 23 |
| 24 .globl OPENSSL_atomic_add |
| 25 .type OPENSSL_atomic_add,@function |
| 26 .align 16 |
| 27 OPENSSL_atomic_add: |
| 28 l %r1,0(%r2) |
| 29 .Lspin: lr %r0,%r1 |
| 30 ar %r0,%r3 |
| 31 cs %r1,%r0,0(%r2) |
| 32 brc 4,.Lspin |
| 33 lgfr %r2,%r0 # OpenSSL expects the new value |
| 34 br %r14 |
| 35 .size OPENSSL_atomic_add,.-OPENSSL_atomic_add |
| 36 |
| 37 .globl OPENSSL_wipe_cpu |
| 38 .type OPENSSL_wipe_cpu,@function |
| 39 .align 16 |
| 40 OPENSSL_wipe_cpu: |
| 41 xgr %r0,%r0 |
| 42 xgr %r1,%r1 |
| 43 lgr %r2,%r15 |
| 44 xgr %r3,%r3 |
| 45 xgr %r4,%r4 |
| 46 lzdr %f0 |
| 47 lzdr %f1 |
| 48 lzdr %f2 |
| 49 lzdr %f3 |
| 50 lzdr %f4 |
| 51 lzdr %f5 |
| 52 lzdr %f6 |
| 53 lzdr %f7 |
| 54 br %r14 |
| 55 .size OPENSSL_wipe_cpu,.-OPENSSL_wipe_cpu |
| 56 |
| 57 .globl OPENSSL_cleanse |
| 58 .type OPENSSL_cleanse,@function |
| 59 .align 16 |
| 60 OPENSSL_cleanse: |
| 61 lghi %r4,15 |
| 62 lghi %r0,0 |
| 63 clgr %r3,%r4 |
| 64 jh .Lot |
| 65 clgr %r3,%r0 |
| 66 bcr 8,%r14 |
| 67 .Little: |
| 68 stc %r0,0(%r2) |
| 69 la %r2,1(%r2) |
| 70 brctg %r3,.Little |
| 71 br %r14 |
| 72 .align 4 |
| 73 .Lot: tmll %r2,7 |
| 74 jz .Laligned |
| 75 stc %r0,0(%r2) |
| 76 la %r2,1(%r2) |
| 77 brctg %r3,.Lot |
| 78 .Laligned: |
| 79 srlg %r4,%r3,3 |
| 80 .Loop: stg %r0,0(%r2) |
| 81 la %r2,8(%r2) |
| 82 brctg %r4,.Loop |
| 83 lghi %r4,7 |
| 84 ngr %r3,%r4 |
| 85 jnz .Little |
| 86 br %r14 |
| 87 .size OPENSSL_cleanse,.-OPENSSL_cleanse |
| 88 |
| 89 .section .init |
| 90 brasl %r14,OPENSSL_cpuid_setup |
| 91 |
| 92 .comm OPENSSL_s390xcap_P,8,8 |
OLD | NEW |