1.text 2 3.set noat 4 5.globl OPENSSL_cpuid_setup 6.ent OPENSSL_cpuid_setup 7OPENSSL_cpuid_setup: 8 .frame $30,0,$26 9 .prologue 0 10 ret ($26) 11.end OPENSSL_cpuid_setup 12 13.globl OPENSSL_wipe_cpu 14.ent OPENSSL_wipe_cpu 15OPENSSL_wipe_cpu: 16 .frame $30,0,$26 17 .prologue 0 18 clr $1 19 clr $2 20 clr $3 21 clr $4 22 clr $5 23 clr $6 24 clr $7 25 clr $8 26 clr $16 27 clr $17 28 clr $18 29 clr $19 30 clr $20 31 clr $21 32 clr $22 33 clr $23 34 clr $24 35 clr $25 36 clr $27 37 clr $at 38 clr $29 39 fclr $f0 40 fclr $f1 41 fclr $f10 42 fclr $f11 43 fclr $f12 44 fclr $f13 45 fclr $f14 46 fclr $f15 47 fclr $f16 48 fclr $f17 49 fclr $f18 50 fclr $f19 51 fclr $f20 52 fclr $f21 53 fclr $f22 54 fclr $f23 55 fclr $f24 56 fclr $f25 57 fclr $f26 58 fclr $f27 59 fclr $f28 60 fclr $f29 61 fclr $f30 62 mov $sp,$0 63 ret ($26) 64.end OPENSSL_wipe_cpu 65 66.globl OPENSSL_atomic_add 67.ent OPENSSL_atomic_add 68OPENSSL_atomic_add: 69 .frame $30,0,$26 70 .prologue 0 711: ldl_l $0,0($16) 72 addl $0,$17,$1 73 stl_c $1,0($16) 74 beq $1,1b 75 addl $0,$17,$0 76 ret ($26) 77.end OPENSSL_atomic_add 78 79.globl OPENSSL_rdtsc 80.ent OPENSSL_rdtsc 81OPENSSL_rdtsc: 82 .frame $30,0,$26 83 .prologue 0 84 rpcc $0 85 ret ($26) 86.end OPENSSL_rdtsc 87 88.globl OPENSSL_cleanse 89.ent OPENSSL_cleanse 90OPENSSL_cleanse: 91 .frame $30,0,$26 92 .prologue 0 93 beq $17,.Ldone 94 and $16,7,$0 95 bic $17,7,$at 96 beq $at,.Little 97 beq $0,.Laligned 98 99.Little: 100 subq $0,8,$0 101 ldq_u $1,0($16) 102 mov $16,$2 103.Lalign: 104 mskbl $1,$16,$1 105 lda $16,1($16) 106 subq $17,1,$17 107 addq $0,1,$0 108 beq $17,.Lout 109 bne $0,.Lalign 110.Lout: stq_u $1,0($2) 111 beq $17,.Ldone 112 bic $17,7,$at 113 beq $at,.Little 114 115.Laligned: 116 stq $31,0($16) 117 subq $17,8,$17 118 lda $16,8($16) 119 bic $17,7,$at 120 bne $at,.Laligned 121 bne $17,.Little 122.Ldone: ret ($26) 123.end OPENSSL_cleanse 124 125.globl CRYPTO_memcmp 126.ent CRYPTO_memcmp 127CRYPTO_memcmp: 128 .frame $30,0,$26 129 .prologue 0 130 xor $0,$0,$0 131 beq $18,.Lno_data 132 133 xor $1,$1,$1 134 nop 135.Loop_cmp: 136 ldq_u $2,0($16) 137 subq $18,1,$18 138 ldq_u $3,0($17) 139 extbl $2,$16,$2 140 lda $16,1($16) 141 extbl $3,$17,$3 142 lda $17,1($17) 143 xor $3,$2,$2 144 or $2,$0,$0 145 bne $18,.Loop_cmp 146 147 subq $31,$0,$0 148 srl $0,63,$0 149.Lno_data: 150 ret ($26) 151.end CRYPTO_memcmp 152.globl OPENSSL_instrument_bus 153.ent OPENSSL_instrument_bus 154OPENSSL_instrument_bus: 155 .frame $30,0,$26 156 .prologue 0 157 mov $17,$0 158 159 rpcc $20 160 mov 0,$21 161 162 ecb ($16) 163 ldl_l $19,0($16) 164 addl $21,$19,$19 165 mov $19,$21 166 stl_c $19,0($16) 167 stl $21,0($16) 168 169.Loop: rpcc $19 170 subq $19,$20,$21 171 mov $19,$20 172 173 ecb ($16) 174 ldl_l $19,0($16) 175 addl $21,$19,$19 176 mov $19,$21 177 stl_c $19,0($16) 178 stl $21,0($16) 179 180 subl $17,1,$17 181 lda $16,4($16) 182 bne $17,.Loop 183 184 ret ($26) 185.end OPENSSL_instrument_bus 186 187.globl OPENSSL_instrument_bus2 188.ent OPENSSL_instrument_bus2 189OPENSSL_instrument_bus2: 190 .frame $30,0,$26 191 .prologue 0 192 mov $17,$0 193 194 rpcc $20 195 mov 0,$21 196 197 ecb ($16) 198 ldl_l $19,0($16) 199 addl $21,$19,$19 200 mov $19,$21 201 stl_c $19,0($16) 202 stl $21,0($16) 203 204 rpcc $19 205 subq $19,$20,$21 206 mov $19,$20 207 mov $21,$22 208.Loop2: 209 ecb ($16) 210 ldl_l $19,0($16) 211 addl $21,$19,$19 212 mov $19,$21 213 stl_c $19,0($16) 214 stl $21,0($16) 215 216 subl $18,1,$18 217 beq $18,.Ldone2 218 219 rpcc $19 220 subq $19,$20,$21 221 mov $19,$20 222 subq $22,$21,$19 223 mov $21,$22 224 cmovne $19,1,$19 225 subl $17,$19,$17 226 s4addq $19,$16,$16 227 bne $17,.Loop2 228 229.Ldone2: 230 subl $0,$17,$0 231 ret ($26) 232.end OPENSSL_instrument_bus2 233