.word 0xe12fff1e @ bx lr
.size OPENSSL_wipe_cpu,.-OPENSSL_wipe_cpu
-.global OPENSSL_instrument_bus
-.type OPENSSL_instrument_bus,%function
-OPENSSL_instrument_bus:
- eor r0,r0,r0
- tst lr,#1
- moveq pc,lr
- .word 0xe12fff1e @ bx lr
-.size OPENSSL_instrument_bus,.-OPENSSL_instrument_bus
-
-.global OPENSSL_instrument_bus2
-.type OPENSSL_instrument_bus2,%function
-OPENSSL_instrument_bus2:
- eor r0,r0,r0
- tst lr,#1
- moveq pc,lr
- .word 0xe12fff1e @ bx lr
-.size OPENSSL_instrument_bus2,.-OPENSSL_instrument_bus2
-
.align 5
.LOPENSSL_armcap:
.word OPENSSL_armcap_P-.LOPENSSL_armcap
ldo 0($sp),$rv
.PROCEND
___
-{
-my ($out,$cnt,$max)=("%r26","%r25","%r24");
-my ($tick,$lasttick)=("%r23","%r22");
-my ($diff,$lastdiff)=("%r21","%r20");
-
-$code.=<<___;
- .EXPORT OPENSSL_instrument_bus,ENTRY,ARGW0=GR,ARGW1=GR
- .ALIGN 8
-OPENSSL_instrument_bus
- .PROC
- .CALLINFO NO_CALLS
- .ENTRY
- copy $cnt,$rv
- mfctl %cr16,$tick
- copy $tick,$lasttick
- ldi 0,$diff
-
- fdc 0($out)
- ldw 0($out),$tick
- add $diff,$tick,$tick
- stw $tick,0($out)
-L\$oop
- mfctl %cr16,$tick
- sub $tick,$lasttick,$diff
- copy $tick,$lasttick
-
- fdc 0($out)
- ldw 0($out),$tick
- add $diff,$tick,$tick
- stw $tick,0($out)
-
- addib,<> -1,$cnt,L\$oop
- addi 4,$out,$out
-
- bv ($rp)
- .EXIT
- sub $rv,$cnt,$rv
- .PROCEND
-
- .EXPORT OPENSSL_instrument_bus2,ENTRY,ARGW0=GR,ARGW1=GR
- .ALIGN 8
-OPENSSL_instrument_bus2
- .PROC
- .CALLINFO NO_CALLS
- .ENTRY
- copy $cnt,$rv
- sub %r0,$cnt,$cnt
-
- mfctl %cr16,$tick
- copy $tick,$lasttick
- ldi 0,$diff
-
- fdc 0($out)
- ldw 0($out),$tick
- add $diff,$tick,$tick
- stw $tick,0($out)
-
- mfctl %cr16,$tick
- sub $tick,$lasttick,$diff
- copy $tick,$lasttick
-L\$oop2
- copy $diff,$lastdiff
- fdc 0($out)
- ldw 0($out),$tick
- add $diff,$tick,$tick
- stw $tick,0($out)
-
- addib,= -1,$max,L\$done2
- nop
-
- mfctl %cr16,$tick
- sub $tick,$lasttick,$diff
- copy $tick,$lasttick
- cmpclr,<> $lastdiff,$diff,$tick
- ldi 1,$tick
-
- ldi 1,%r1
- xor %r1,$tick,$tick
- addb,<> $tick,$cnt,L\$oop2
- shladd,l $tick,2,$out,$out
-L\$done2
- bv ($rp)
- .EXIT
- add $rv,$cnt,$rv
- .PROCEND
-___
-}
$code =~ s/cmpib,\*/comib,/gm if ($SIZE_T==4);
$code =~ s/,\*/,/gm if ($SIZE_T==4);
$code =~ s/\bbv\b/bve/gm if ($SIZE_T==8);
.word 0xe12fff1e @ bx lr
.size OPENSSL_wipe_cpu,.-OPENSSL_wipe_cpu
-.global OPENSSL_instrument_bus
-.type OPENSSL_instrument_bus,%function
-OPENSSL_instrument_bus:
- eor r0,r0,r0
- tst lr,#1
- moveq pc,lr
- .word 0xe12fff1e @ bx lr
-.size OPENSSL_instrument_bus,.-OPENSSL_instrument_bus
-
-.global OPENSSL_instrument_bus2
-.type OPENSSL_instrument_bus2,%function
-OPENSSL_instrument_bus2:
- eor r0,r0,r0
- tst lr,#1
- moveq pc,lr
- .word 0xe12fff1e @ bx lr
-.size OPENSSL_instrument_bus2,.-OPENSSL_instrument_bus2
-
.align 5
.LOPENSSL_armcap:
.word OPENSSL_armcap_P-.LOPENSSL_armcap
ldo 0($sp),$rv
.PROCEND
___
-{
-my ($out,$cnt,$max)=("%r26","%r25","%r24");
-my ($tick,$lasttick)=("%r23","%r22");
-my ($diff,$lastdiff)=("%r21","%r20");
-
-$code.=<<___;
- .EXPORT OPENSSL_instrument_bus,ENTRY,ARGW0=GR,ARGW1=GR
- .ALIGN 8
-OPENSSL_instrument_bus
- .PROC
- .CALLINFO NO_CALLS
- .ENTRY
- copy $cnt,$rv
- mfctl %cr16,$tick
- copy $tick,$lasttick
- ldi 0,$diff
-
- fdc 0($out)
- ldw 0($out),$tick
- add $diff,$tick,$tick
- stw $tick,0($out)
-L\$oop
- mfctl %cr16,$tick
- sub $tick,$lasttick,$diff
- copy $tick,$lasttick
-
- fdc 0($out)
- ldw 0($out),$tick
- add $diff,$tick,$tick
- stw $tick,0($out)
-
- addib,<> -1,$cnt,L\$oop
- addi 4,$out,$out
-
- bv ($rp)
- .EXIT
- sub $rv,$cnt,$rv
- .PROCEND
-
- .EXPORT OPENSSL_instrument_bus2,ENTRY,ARGW0=GR,ARGW1=GR
- .ALIGN 8
-OPENSSL_instrument_bus2
- .PROC
- .CALLINFO NO_CALLS
- .ENTRY
- copy $cnt,$rv
- sub %r0,$cnt,$cnt
-
- mfctl %cr16,$tick
- copy $tick,$lasttick
- ldi 0,$diff
-
- fdc 0($out)
- ldw 0($out),$tick
- add $diff,$tick,$tick
- stw $tick,0($out)
-
- mfctl %cr16,$tick
- sub $tick,$lasttick,$diff
- copy $tick,$lasttick
-L\$oop2
- copy $diff,$lastdiff
- fdc 0($out)
- ldw 0($out),$tick
- add $diff,$tick,$tick
- stw $tick,0($out)
-
- addib,= -1,$max,L\$done2
- nop
-
- mfctl %cr16,$tick
- sub $tick,$lasttick,$diff
- copy $tick,$lasttick
- cmpclr,<> $lastdiff,$diff,$tick
- ldi 1,$tick
-
- ldi 1,%r1
- xor %r1,$tick,$tick
- addb,<> $tick,$cnt,L\$oop2
- shladd,l $tick,2,$out,$out
-L\$done2
- bv ($rp)
- .EXIT
- add $rv,$cnt,$rv
- .PROCEND
-___
-}
$code =~ s/cmpib,\*/comib,/gm if ($SIZE_T==4);
$code =~ s/,\*/,/gm if ($SIZE_T==4);
$code =~ s/\bbv\b/bve/gm if ($SIZE_T==8);