summaryrefslogtreecommitdiff
path: root/lib/libcrypto/arch/powerpc
diff options
context:
space:
mode:
authorMiod Vallat <miod@cvs.openbsd.org>2014-05-03 11:41:06 +0000
committerMiod Vallat <miod@cvs.openbsd.org>2014-05-03 11:41:06 +0000
commit8741fb3d2a8cd824e9a2a126884e6cca87df0d3f (patch)
tree1cd1a5059e095dd0dc73e08825e61c7b57c67f2c /lib/libcrypto/arch/powerpc
parent8924af87c22ba05f23d96fdb82ce9e7d3772e12b (diff)
Enable assembler bits for BN (Montgomery), SHA1 and SHA256.
Assembler bits for AES remain commented out as they run slower than the C code.
Diffstat (limited to 'lib/libcrypto/arch/powerpc')
-rw-r--r--lib/libcrypto/arch/powerpc/Makefile.inc44
1 files changed, 44 insertions, 0 deletions
diff --git a/lib/libcrypto/arch/powerpc/Makefile.inc b/lib/libcrypto/arch/powerpc/Makefile.inc
new file mode 100644
index 00000000000..b6ef263046f
--- /dev/null
+++ b/lib/libcrypto/arch/powerpc/Makefile.inc
@@ -0,0 +1,44 @@
+# $OpenBSD: Makefile.inc,v 1.1 2014/05/03 11:41:05 miod Exp $
+
+# powerpc-specific libcrypto build rules
+
+# aes
+SRCS+= aes_core.c aes_cbc.c
+# slower than C code
+#CFLAGS+= -DAES_ASM
+#SSLASM+= aes aes-ppc aes-ppc
+# bf
+SRCS+= bf_enc.c
+# bn
+SSLASM+= bn ppc bn-ppc
+SSLASM+= bn ppc-mont ppc-mont # bn_mul_mont_int
+#SSLASM+= bn ppc64-mont ppc64-mont # bn_mul_mont_fpu64
+CFLAGS+= -DOPENSSL_BN_ASM_MONT
+# des
+SRCS+= des_enc.c fcrypt_b.c
+# rc4
+SRCS+= rc4_enc.c rc4_skey.c
+## rc5
+#SRCS+= rc5_enc.c
+# sha
+CFLAGS+= -DSHA1_ASM
+SSLASM+= sha sha1-ppc sha1-ppc
+CFLAGS+= -DSHA256_ASM
+SSLASM+= sha sha512-ppc sha256-ppc
+# whrlpool
+SRCS+= wp_block.c
+
+.for dir src dst in ${SSLASM}
+SRCS+= ${dst}.S
+GENERATED+=${dst}.S
+${dst}.S: ${LCRYPTO_SRC}/${dir}/asm/${src}.pl
+ /usr/bin/perl \
+ ${LCRYPTO_SRC}/${dir}/asm/${src}.pl linux32 ${.TARGET} > ${.TARGET}
+.endfor
+
+#CFLAGS+= -DOPENSSL_CPUID_OBJ # it's commented out in ppccap.c
+SRCS+= ppccpuid.S ppccap.c
+GENERATED+=ppccpuid.S
+ppccpuid.S: ${LCRYPTO_SRC}/ppccpuid.pl
+ /usr/bin/perl \
+ ${LCRYPTO_SRC}/ppccpuid.pl linux32 > ${.TARGET}