diff options
author | Andy Polyakov <appro@openssl.org> | 2007-05-15 06:36:17 +0000 |
---|---|---|
committer | Andy Polyakov <appro@openssl.org> | 2007-05-15 06:36:17 +0000 |
commit | e1197694806e1181e1152054db3a518519be96a6 (patch) | |
tree | f77455c6b716f188c4760b71077b9c8cee98847a /crypto | |
parent | b2dba9bf1f8f73376b9c1f0904a86996c728b236 (diff) |
Add alphacpuid.s
Diffstat (limited to 'crypto')
-rw-r--r-- | crypto/alphacpuid.s | 116 |
1 files changed, 116 insertions, 0 deletions
diff --git a/crypto/alphacpuid.s b/crypto/alphacpuid.s new file mode 100644 index 0000000000..53f6a1a1e5 --- /dev/null +++ b/crypto/alphacpuid.s @@ -0,0 +1,116 @@ +.text + +.set noat + +.globl OPENSSL_wipe_cpu +.ent OPENSSL_wipe_cpu +OPENSSL_wipe_cpu: + .frame $30,0,$26 + .prologue 0 + clr $1 + clr $2 + clr $3 + clr $4 + clr $5 + clr $6 + clr $7 + clr $8 + clr $16 + clr $17 + clr $18 + clr $19 + clr $20 + clr $21 + clr $22 + clr $23 + clr $24 + clr $25 + clr $27 + clr $at + clr $29 + fclr $f0 + fclr $f1 + fclr $f10 + fclr $f11 + fclr $f12 + fclr $f13 + fclr $f14 + fclr $f15 + fclr $f16 + fclr $f17 + fclr $f18 + fclr $f19 + fclr $f20 + fclr $f21 + fclr $f22 + fclr $f23 + fclr $f24 + fclr $f25 + fclr $f26 + fclr $f27 + fclr $f28 + fclr $f29 + fclr $f30 + mov $sp,$0 + ret ($26) +.end OPENSSL_wipe_cpu + +.globl OPENSSL_atomic_add +.ent OPENSSL_atomic_add +OPENSSL_atomic_add: + .frame $30,0,$26 + .prologue 0 +1: ldl_l $0,($16) + addl $0,$17,$1 + stl_c $1,($16) + beq $1,1b + addl $0,$17,$0 + ret ($26) +.end OPENSSL_atomic_add + +.globl OPENSSL_rdtsc +.ent OPENSSL_rdtsc +OPENSSL_rdtsc: + .frame $30,0,$26 + .prologue 0 + rpcc $0 + ret ($26) +.end OPENSSL_rdtsc + +.globl OPENSSL_cleanse +.ent OPENSSL_cleanse +OPENSSL_cleanse: + .frame $30,0,$26 + .prologue 0 + and $16,7,$0 + bic $17,7,$at + beq $at,.Little + beq $0,.Laligned + +.Little: + ldq_u $1,0($16) + mov $16,$2 +.Lalign: + mskbl $1,$16,$1 + lda $16,1($16) + subq $17,1,$17 + subq $0,1,$0 + beq $17,.Lout + bne $0,.Lalign +.Lout: stq_u $1,0($2) + beq $17,.Ldone + bic $17,7,$at + mov $17,$0 + beq $at,.Little + +.Laligned: + stq $31,0($16) + subq $17,8,$17 + lda $16,8($16) + bic $17,7,$at + bne $at,.Laligned + beq $17,.Ldone + mov $17,$0 + br .Little +.Ldone: ret ($26) +.end OPENSSL_cleanse |