diff options
Diffstat (limited to 'drivers/builtin_openssl/crypto/pariscid.pl')
-rw-r--r-- | drivers/builtin_openssl/crypto/pariscid.pl | 225 |
1 files changed, 0 insertions, 225 deletions
diff --git a/drivers/builtin_openssl/crypto/pariscid.pl b/drivers/builtin_openssl/crypto/pariscid.pl deleted file mode 100644 index bfc56fdc7f..0000000000 --- a/drivers/builtin_openssl/crypto/pariscid.pl +++ /dev/null @@ -1,225 +0,0 @@ -#!/usr/bin/env perl - -$flavour = shift; -$output = shift; -open STDOUT,">$output"; - -if ($flavour =~ /64/) { - $LEVEL ="2.0W"; - $SIZE_T =8; - $ST ="std"; -} else { - $LEVEL ="1.1"; - $SIZE_T =4; - $ST ="stw"; -} - -$rp="%r2"; -$sp="%r30"; -$rv="%r28"; - -$code=<<___; - .LEVEL $LEVEL - .SPACE \$TEXT\$ - .SUBSPA \$CODE\$,QUAD=0,ALIGN=8,ACCESS=0x2C,CODE_ONLY - - .EXPORT OPENSSL_cpuid_setup,ENTRY - .ALIGN 8 -OPENSSL_cpuid_setup - .PROC - .CALLINFO NO_CALLS - .ENTRY - bv ($rp) - .EXIT - nop - .PROCEND - - .EXPORT OPENSSL_rdtsc,ENTRY - .ALIGN 8 -OPENSSL_rdtsc - .PROC - .CALLINFO NO_CALLS - .ENTRY - mfctl %cr16,$rv - bv ($rp) - .EXIT - nop - .PROCEND - - .EXPORT OPENSSL_wipe_cpu,ENTRY - .ALIGN 8 -OPENSSL_wipe_cpu - .PROC - .CALLINFO NO_CALLS - .ENTRY - xor %r0,%r0,%r1 - fcpy,dbl %fr0,%fr4 - xor %r0,%r0,%r19 - fcpy,dbl %fr0,%fr5 - xor %r0,%r0,%r20 - fcpy,dbl %fr0,%fr6 - xor %r0,%r0,%r21 - fcpy,dbl %fr0,%fr7 - xor %r0,%r0,%r22 - fcpy,dbl %fr0,%fr8 - xor %r0,%r0,%r23 - fcpy,dbl %fr0,%fr9 - xor %r0,%r0,%r24 - fcpy,dbl %fr0,%fr10 - xor %r0,%r0,%r25 - fcpy,dbl %fr0,%fr11 - xor %r0,%r0,%r26 - fcpy,dbl %fr0,%fr22 - xor %r0,%r0,%r29 - fcpy,dbl %fr0,%fr23 - xor %r0,%r0,%r31 - fcpy,dbl %fr0,%fr24 - fcpy,dbl %fr0,%fr25 - fcpy,dbl %fr0,%fr26 - fcpy,dbl %fr0,%fr27 - fcpy,dbl %fr0,%fr28 - fcpy,dbl %fr0,%fr29 - fcpy,dbl %fr0,%fr30 - fcpy,dbl %fr0,%fr31 - bv ($rp) - .EXIT - ldo 0($sp),$rv - .PROCEND -___ -{ -my $inp="%r26"; -my $len="%r25"; - -$code.=<<___; - .EXPORT OPENSSL_cleanse,ENTRY,ARGW0=GR,ARGW1=GR - .ALIGN 8 -OPENSSL_cleanse - .PROC - .CALLINFO NO_CALLS - .ENTRY - cmpib,*= 0,$len,L\$done - nop - cmpib,*>>= 15,$len,L\$ittle - ldi $SIZE_T-1,%r1 - -L\$align - and,*<> $inp,%r1,%r28 - b,n L\$aligned - stb %r0,0($inp) - ldo -1($len),$len - b L\$align - ldo 1($inp),$inp - -L\$aligned - andcm $len,%r1,%r28 -L\$ot - $ST %r0,0($inp) - addib,*<> -$SIZE_T,%r28,L\$ot - ldo $SIZE_T($inp),$inp - - and,*<> $len,%r1,$len - b,n L\$done -L\$ittle - stb %r0,0($inp) - addib,*<> -1,$len,L\$ittle - ldo 1($inp),$inp -L\$done - bv ($rp) - .EXIT - nop - .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); -print $code; -close STDOUT; - |