summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormiod <>2014-05-03 19:38:25 +0000
committermiod <>2014-05-03 19:38:25 +0000
commit5c43c346aa49bcd25c046e12f5f0da2fd975ad93 (patch)
treeec0e95461d0e3faee9e9d5f354ee981479a21e45
parentc2f0c77457f3603343d4234192a020cbe76f79e9 (diff)
downloadopenbsd-5c43c346aa49bcd25c046e12f5f0da2fd975ad93.tar.gz
openbsd-5c43c346aa49bcd25c046e12f5f0da2fd975ad93.tar.bz2
openbsd-5c43c346aa49bcd25c046e12f5f0da2fd975ad93.zip
Enable assembler code for AES, BN (Montgomery), GCM128, SHA1, SHA256 and SHA512.
Note that GCM128 Neon code is currently not built (and thus not tested), as the current toolchain does not support Neon instructions.
-rw-r--r--src/lib/libcrypto/arch/arm/Makefile.inc45
-rw-r--r--src/lib/libcrypto/crypto/arch/arm/Makefile.inc45
2 files changed, 90 insertions, 0 deletions
diff --git a/src/lib/libcrypto/arch/arm/Makefile.inc b/src/lib/libcrypto/arch/arm/Makefile.inc
new file mode 100644
index 0000000000..08179b7283
--- /dev/null
+++ b/src/lib/libcrypto/arch/arm/Makefile.inc
@@ -0,0 +1,45 @@
1# $oPenBSD: Makefile.inc,v 1.2 2014/05/02 18:21:39 miod Exp $
2
3# arm-specific libcrypto build rules
4
5# aes
6SRCS+= aes_cbc.c
7CFLAGS+= -DAES_ASM
8SSLASM+= aes aes-armv4
9# bf
10SRCS+= bf_enc.c
11# bn
12SRCS+= bn_asm.c
13CFLAGS+= -DOPENSSL_BN_ASM_MONT
14SSLASM+= bn armv4-mont
15CFLAGS+= -DOPENSSL_BN_ASM_GF2m
16SSLASM+= bn armv4-gf2m
17# des
18SRCS+= des_enc.c fcrypt_b.c
19# modes
20CFLAGS+= -DGHASH_ASM
21SSLASM+= modes ghash-armv4
22# rc4
23SRCS+= rc4_enc.c rc4_skey.c
24## rc5
25#SRCS+= rc5_enc.c
26# sha
27CFLAGS+= -DSHA1_ASM
28SSLASM+= sha sha1-armv4-large
29CFLAGS+= -DSHA256_ASM
30SSLASM+= sha sha256-armv4
31CFLAGS+= -DSHA512_ASM
32SSLASM+= sha sha512-armv4
33# whrlpool
34SRCS+= wp_block.c
35
36.for dir f in ${SSLASM}
37SRCS+= ${f}.S
38GENERATED+=${f}.S
39${f}.S: ${LCRYPTO_SRC}/${dir}/asm/${f}.pl
40 /usr/bin/perl \
41 ${LCRYPTO_SRC}/${dir}/asm/${f}.pl void ${.TARGET} > ${.TARGET}
42.endfor
43
44CFLAGS+= -DOPENSSL_CPUID_OBJ
45SRCS+= armv4cpuid.S armcap.c
diff --git a/src/lib/libcrypto/crypto/arch/arm/Makefile.inc b/src/lib/libcrypto/crypto/arch/arm/Makefile.inc
new file mode 100644
index 0000000000..08179b7283
--- /dev/null
+++ b/src/lib/libcrypto/crypto/arch/arm/Makefile.inc
@@ -0,0 +1,45 @@
1# $oPenBSD: Makefile.inc,v 1.2 2014/05/02 18:21:39 miod Exp $
2
3# arm-specific libcrypto build rules
4
5# aes
6SRCS+= aes_cbc.c
7CFLAGS+= -DAES_ASM
8SSLASM+= aes aes-armv4
9# bf
10SRCS+= bf_enc.c
11# bn
12SRCS+= bn_asm.c
13CFLAGS+= -DOPENSSL_BN_ASM_MONT
14SSLASM+= bn armv4-mont
15CFLAGS+= -DOPENSSL_BN_ASM_GF2m
16SSLASM+= bn armv4-gf2m
17# des
18SRCS+= des_enc.c fcrypt_b.c
19# modes
20CFLAGS+= -DGHASH_ASM
21SSLASM+= modes ghash-armv4
22# rc4
23SRCS+= rc4_enc.c rc4_skey.c
24## rc5
25#SRCS+= rc5_enc.c
26# sha
27CFLAGS+= -DSHA1_ASM
28SSLASM+= sha sha1-armv4-large
29CFLAGS+= -DSHA256_ASM
30SSLASM+= sha sha256-armv4
31CFLAGS+= -DSHA512_ASM
32SSLASM+= sha sha512-armv4
33# whrlpool
34SRCS+= wp_block.c
35
36.for dir f in ${SSLASM}
37SRCS+= ${f}.S
38GENERATED+=${f}.S
39${f}.S: ${LCRYPTO_SRC}/${dir}/asm/${f}.pl
40 /usr/bin/perl \
41 ${LCRYPTO_SRC}/${dir}/asm/${f}.pl void ${.TARGET} > ${.TARGET}
42.endfor
43
44CFLAGS+= -DOPENSSL_CPUID_OBJ
45SRCS+= armv4cpuid.S armcap.c