Engage SHA256/512 for PowerISA 2.07.
This commit is contained in:
parent
eaa4820471
commit
cd1922cde0
@ -140,7 +140,7 @@ my $armv4_asm="armcap.o armv4cpuid.o:bn_asm.o armv4-mont.o armv4-gf2m.o::aes_cbc
|
|||||||
my $aarch64_asm="armcap.o arm64cpuid.o mem_clr.o:::aes_core.o aes_cbc.o aesv8-armx.o:::sha1-armv8.o sha256-armv8.o sha512-armv8.o:::::::ghashv8-armx.o:";
|
my $aarch64_asm="armcap.o arm64cpuid.o mem_clr.o:::aes_core.o aes_cbc.o aesv8-armx.o:::sha1-armv8.o sha256-armv8.o sha512-armv8.o:::::::ghashv8-armx.o:";
|
||||||
my $parisc11_asm="pariscid.o:bn_asm.o parisc-mont.o::aes_core.o aes_cbc.o aes-parisc.o:::sha1-parisc.o sha256-parisc.o sha512-parisc.o::rc4-parisc.o:::::ghash-parisc.o::32";
|
my $parisc11_asm="pariscid.o:bn_asm.o parisc-mont.o::aes_core.o aes_cbc.o aes-parisc.o:::sha1-parisc.o sha256-parisc.o sha512-parisc.o::rc4-parisc.o:::::ghash-parisc.o::32";
|
||||||
my $parisc20_asm="pariscid.o:pa-risc2W.o parisc-mont.o::aes_core.o aes_cbc.o aes-parisc.o:::sha1-parisc.o sha256-parisc.o sha512-parisc.o::rc4-parisc.o:::::ghash-parisc.o::64";
|
my $parisc20_asm="pariscid.o:pa-risc2W.o parisc-mont.o::aes_core.o aes_cbc.o aes-parisc.o:::sha1-parisc.o sha256-parisc.o sha512-parisc.o::rc4-parisc.o:::::ghash-parisc.o::64";
|
||||||
my $ppc64_asm="ppccpuid.o ppccap.o:bn-ppc.o ppc-mont.o ppc64-mont.o::aes_core.o aes_cbc.o aes-ppc.o vpaes-ppc.o aesp8-ppc.o:::sha1-ppc.o sha256-ppc.o sha512-ppc.o::::::::";
|
my $ppc64_asm="ppccpuid.o ppccap.o:bn-ppc.o ppc-mont.o ppc64-mont.o::aes_core.o aes_cbc.o aes-ppc.o vpaes-ppc.o aesp8-ppc.o:::sha1-ppc.o sha256-ppc.o sha512-ppc.o sha256p8-ppc.o sha512p8-ppc.o::::::::";
|
||||||
my $ppc32_asm=$ppc64_asm;
|
my $ppc32_asm=$ppc64_asm;
|
||||||
my $no_asm=":::::::::::::::void";
|
my $no_asm=":::::::::::::::void";
|
||||||
|
|
||||||
|
20
TABLE
20
TABLE
@ -905,7 +905,7 @@ $des_obj =
|
|||||||
$aes_obj = aes_core.o aes_cbc.o aes-ppc.o vpaes-ppc.o aesp8-ppc.o
|
$aes_obj = aes_core.o aes_cbc.o aes-ppc.o vpaes-ppc.o aesp8-ppc.o
|
||||||
$bf_obj =
|
$bf_obj =
|
||||||
$md5_obj =
|
$md5_obj =
|
||||||
$sha1_obj = sha1-ppc.o sha256-ppc.o sha512-ppc.o
|
$sha1_obj = sha1-ppc.o sha256-ppc.o sha512-ppc.o sha256p8-ppc.o sha512p8-ppc.o
|
||||||
$cast_obj =
|
$cast_obj =
|
||||||
$rc4_obj =
|
$rc4_obj =
|
||||||
$rmd160_obj =
|
$rmd160_obj =
|
||||||
@ -938,7 +938,7 @@ $des_obj =
|
|||||||
$aes_obj = aes_core.o aes_cbc.o aes-ppc.o vpaes-ppc.o aesp8-ppc.o
|
$aes_obj = aes_core.o aes_cbc.o aes-ppc.o vpaes-ppc.o aesp8-ppc.o
|
||||||
$bf_obj =
|
$bf_obj =
|
||||||
$md5_obj =
|
$md5_obj =
|
||||||
$sha1_obj = sha1-ppc.o sha256-ppc.o sha512-ppc.o
|
$sha1_obj = sha1-ppc.o sha256-ppc.o sha512-ppc.o sha256p8-ppc.o sha512p8-ppc.o
|
||||||
$cast_obj =
|
$cast_obj =
|
||||||
$rc4_obj =
|
$rc4_obj =
|
||||||
$rmd160_obj =
|
$rmd160_obj =
|
||||||
@ -1004,7 +1004,7 @@ $des_obj =
|
|||||||
$aes_obj = aes_core.o aes_cbc.o aes-ppc.o vpaes-ppc.o aesp8-ppc.o
|
$aes_obj = aes_core.o aes_cbc.o aes-ppc.o vpaes-ppc.o aesp8-ppc.o
|
||||||
$bf_obj =
|
$bf_obj =
|
||||||
$md5_obj =
|
$md5_obj =
|
||||||
$sha1_obj = sha1-ppc.o sha256-ppc.o sha512-ppc.o
|
$sha1_obj = sha1-ppc.o sha256-ppc.o sha512-ppc.o sha256p8-ppc.o sha512p8-ppc.o
|
||||||
$cast_obj =
|
$cast_obj =
|
||||||
$rc4_obj =
|
$rc4_obj =
|
||||||
$rmd160_obj =
|
$rmd160_obj =
|
||||||
@ -1037,7 +1037,7 @@ $des_obj =
|
|||||||
$aes_obj = aes_core.o aes_cbc.o aes-ppc.o vpaes-ppc.o aesp8-ppc.o
|
$aes_obj = aes_core.o aes_cbc.o aes-ppc.o vpaes-ppc.o aesp8-ppc.o
|
||||||
$bf_obj =
|
$bf_obj =
|
||||||
$md5_obj =
|
$md5_obj =
|
||||||
$sha1_obj = sha1-ppc.o sha256-ppc.o sha512-ppc.o
|
$sha1_obj = sha1-ppc.o sha256-ppc.o sha512-ppc.o sha256p8-ppc.o sha512p8-ppc.o
|
||||||
$cast_obj =
|
$cast_obj =
|
||||||
$rc4_obj =
|
$rc4_obj =
|
||||||
$rmd160_obj =
|
$rmd160_obj =
|
||||||
@ -1466,7 +1466,7 @@ $des_obj =
|
|||||||
$aes_obj = aes_core.o aes_cbc.o aes-ppc.o vpaes-ppc.o aesp8-ppc.o
|
$aes_obj = aes_core.o aes_cbc.o aes-ppc.o vpaes-ppc.o aesp8-ppc.o
|
||||||
$bf_obj =
|
$bf_obj =
|
||||||
$md5_obj =
|
$md5_obj =
|
||||||
$sha1_obj = sha1-ppc.o sha256-ppc.o sha512-ppc.o
|
$sha1_obj = sha1-ppc.o sha256-ppc.o sha512-ppc.o sha256p8-ppc.o sha512p8-ppc.o
|
||||||
$cast_obj =
|
$cast_obj =
|
||||||
$rc4_obj =
|
$rc4_obj =
|
||||||
$rmd160_obj =
|
$rmd160_obj =
|
||||||
@ -1499,7 +1499,7 @@ $des_obj =
|
|||||||
$aes_obj = aes_core.o aes_cbc.o aes-ppc.o vpaes-ppc.o aesp8-ppc.o
|
$aes_obj = aes_core.o aes_cbc.o aes-ppc.o vpaes-ppc.o aesp8-ppc.o
|
||||||
$bf_obj =
|
$bf_obj =
|
||||||
$md5_obj =
|
$md5_obj =
|
||||||
$sha1_obj = sha1-ppc.o sha256-ppc.o sha512-ppc.o
|
$sha1_obj = sha1-ppc.o sha256-ppc.o sha512-ppc.o sha256p8-ppc.o sha512p8-ppc.o
|
||||||
$cast_obj =
|
$cast_obj =
|
||||||
$rc4_obj =
|
$rc4_obj =
|
||||||
$rmd160_obj =
|
$rmd160_obj =
|
||||||
@ -2192,7 +2192,7 @@ $des_obj =
|
|||||||
$aes_obj = aes_core.o aes_cbc.o aes-ppc.o vpaes-ppc.o aesp8-ppc.o
|
$aes_obj = aes_core.o aes_cbc.o aes-ppc.o vpaes-ppc.o aesp8-ppc.o
|
||||||
$bf_obj =
|
$bf_obj =
|
||||||
$md5_obj =
|
$md5_obj =
|
||||||
$sha1_obj = sha1-ppc.o sha256-ppc.o sha512-ppc.o
|
$sha1_obj = sha1-ppc.o sha256-ppc.o sha512-ppc.o sha256p8-ppc.o sha512p8-ppc.o
|
||||||
$cast_obj =
|
$cast_obj =
|
||||||
$rc4_obj =
|
$rc4_obj =
|
||||||
$rmd160_obj =
|
$rmd160_obj =
|
||||||
@ -4535,7 +4535,7 @@ $des_obj =
|
|||||||
$aes_obj = aes_core.o aes_cbc.o aes-ppc.o vpaes-ppc.o aesp8-ppc.o
|
$aes_obj = aes_core.o aes_cbc.o aes-ppc.o vpaes-ppc.o aesp8-ppc.o
|
||||||
$bf_obj =
|
$bf_obj =
|
||||||
$md5_obj =
|
$md5_obj =
|
||||||
$sha1_obj = sha1-ppc.o sha256-ppc.o sha512-ppc.o
|
$sha1_obj = sha1-ppc.o sha256-ppc.o sha512-ppc.o sha256p8-ppc.o sha512p8-ppc.o
|
||||||
$cast_obj =
|
$cast_obj =
|
||||||
$rc4_obj =
|
$rc4_obj =
|
||||||
$rmd160_obj =
|
$rmd160_obj =
|
||||||
@ -4568,7 +4568,7 @@ $des_obj =
|
|||||||
$aes_obj = aes_core.o aes_cbc.o aes-ppc.o vpaes-ppc.o aesp8-ppc.o
|
$aes_obj = aes_core.o aes_cbc.o aes-ppc.o vpaes-ppc.o aesp8-ppc.o
|
||||||
$bf_obj =
|
$bf_obj =
|
||||||
$md5_obj =
|
$md5_obj =
|
||||||
$sha1_obj = sha1-ppc.o sha256-ppc.o sha512-ppc.o
|
$sha1_obj = sha1-ppc.o sha256-ppc.o sha512-ppc.o sha256p8-ppc.o sha512p8-ppc.o
|
||||||
$cast_obj =
|
$cast_obj =
|
||||||
$rc4_obj =
|
$rc4_obj =
|
||||||
$rmd160_obj =
|
$rmd160_obj =
|
||||||
@ -4601,7 +4601,7 @@ $des_obj =
|
|||||||
$aes_obj = aes_core.o aes_cbc.o aes-ppc.o vpaes-ppc.o aesp8-ppc.o
|
$aes_obj = aes_core.o aes_cbc.o aes-ppc.o vpaes-ppc.o aesp8-ppc.o
|
||||||
$bf_obj =
|
$bf_obj =
|
||||||
$md5_obj =
|
$md5_obj =
|
||||||
$sha1_obj = sha1-ppc.o sha256-ppc.o sha512-ppc.o
|
$sha1_obj = sha1-ppc.o sha256-ppc.o sha512-ppc.o sha256p8-ppc.o sha512p8-ppc.o
|
||||||
$cast_obj =
|
$cast_obj =
|
||||||
$rc4_obj =
|
$rc4_obj =
|
||||||
$rmd160_obj =
|
$rmd160_obj =
|
||||||
|
@ -54,6 +54,22 @@ int bn_mul_mont(BN_ULONG *rp, const BN_ULONG *ap, const BN_ULONG *bp, const BN_U
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
void sha256_block_p8(void *ctx,const void *inp,size_t len);
|
||||||
|
void sha256_block_ppc(void *ctx,const void *inp,size_t len);
|
||||||
|
void sha256_block_data_order(void *ctx,const void *inp,size_t len)
|
||||||
|
{
|
||||||
|
OPENSSL_ppccap_P&PPC_CRYPTO207? sha256_block_p8(ctx,inp,len):
|
||||||
|
sha256_block_ppc(ctx,inp,len);
|
||||||
|
}
|
||||||
|
|
||||||
|
void sha512_block_p8(void *ctx,const void *inp,size_t len);
|
||||||
|
void sha512_block_ppc(void *ctx,const void *inp,size_t len);
|
||||||
|
void sha512_block_data_order(void *ctx,const void *inp,size_t len)
|
||||||
|
{
|
||||||
|
OPENSSL_ppccap_P&PPC_CRYPTO207? sha512_block_p8(ctx,inp,len):
|
||||||
|
sha512_block_ppc(ctx,inp,len);
|
||||||
|
}
|
||||||
|
|
||||||
static sigjmp_buf ill_jmp;
|
static sigjmp_buf ill_jmp;
|
||||||
static void ill_handler (int sig) { siglongjmp(ill_jmp,sig); }
|
static void ill_handler (int sig) { siglongjmp(ill_jmp,sig); }
|
||||||
|
|
||||||
|
@ -77,6 +77,8 @@ sha512-sparcv9.S:asm/sha512-sparcv9.pl; $(PERL) asm/sha512-sparcv9.pl $@ $(CFLAG
|
|||||||
sha1-ppc.s: asm/sha1-ppc.pl; $(PERL) asm/sha1-ppc.pl $(PERLASM_SCHEME) $@
|
sha1-ppc.s: asm/sha1-ppc.pl; $(PERL) asm/sha1-ppc.pl $(PERLASM_SCHEME) $@
|
||||||
sha256-ppc.s: asm/sha512-ppc.pl; $(PERL) asm/sha512-ppc.pl $(PERLASM_SCHEME) $@
|
sha256-ppc.s: asm/sha512-ppc.pl; $(PERL) asm/sha512-ppc.pl $(PERLASM_SCHEME) $@
|
||||||
sha512-ppc.s: asm/sha512-ppc.pl; $(PERL) asm/sha512-ppc.pl $(PERLASM_SCHEME) $@
|
sha512-ppc.s: asm/sha512-ppc.pl; $(PERL) asm/sha512-ppc.pl $(PERLASM_SCHEME) $@
|
||||||
|
sha256p8-ppc.s: asm/sha512p8-ppc.pl; $(PERL) asm/sha512p8-ppc.pl $(PERLASM_SCHEME) $@
|
||||||
|
sha512p8-ppc.s: asm/sha512p8-ppc.pl; $(PERL) asm/sha512p8-ppc.pl $(PERLASM_SCHEME) $@
|
||||||
|
|
||||||
sha1-parisc.s: asm/sha1-parisc.pl; $(PERL) asm/sha1-parisc.pl $(PERLASM_SCHEME) $@
|
sha1-parisc.s: asm/sha1-parisc.pl; $(PERL) asm/sha1-parisc.pl $(PERLASM_SCHEME) $@
|
||||||
sha256-parisc.s:asm/sha512-parisc.pl; $(PERL) asm/sha512-parisc.pl $(PERLASM_SCHEME) $@
|
sha256-parisc.s:asm/sha512-parisc.pl; $(PERL) asm/sha512-parisc.pl $(PERLASM_SCHEME) $@
|
||||||
|
@ -65,7 +65,7 @@ die "can't locate ppc-xlate.pl";
|
|||||||
open STDOUT,"| $^X $xlate $flavour $output" || die "can't call $xlate: $!";
|
open STDOUT,"| $^X $xlate $flavour $output" || die "can't call $xlate: $!";
|
||||||
|
|
||||||
if ($output =~ /512/) {
|
if ($output =~ /512/) {
|
||||||
$func="sha512_block_data_order";
|
$func="sha512_block_ppc";
|
||||||
$SZ=8;
|
$SZ=8;
|
||||||
@Sigma0=(28,34,39);
|
@Sigma0=(28,34,39);
|
||||||
@Sigma1=(14,18,41);
|
@Sigma1=(14,18,41);
|
||||||
@ -77,7 +77,7 @@ if ($output =~ /512/) {
|
|||||||
$ROR="rotrdi";
|
$ROR="rotrdi";
|
||||||
$SHR="srdi";
|
$SHR="srdi";
|
||||||
} else {
|
} else {
|
||||||
$func="sha256_block_data_order";
|
$func="sha256_block_ppc";
|
||||||
$SZ=4;
|
$SZ=4;
|
||||||
@Sigma0=( 2,13,22);
|
@Sigma0=( 2,13,22);
|
||||||
@Sigma1=( 6,11,25);
|
@Sigma1=( 6,11,25);
|
||||||
|
Loading…
Reference in New Issue
Block a user