diff options
author | miod <> | 2014-05-03 19:38:25 +0000 |
---|---|---|
committer | miod <> | 2014-05-03 19:38:25 +0000 |
commit | 5c43c346aa49bcd25c046e12f5f0da2fd975ad93 (patch) | |
tree | ec0e95461d0e3faee9e9d5f354ee981479a21e45 | |
parent | c2f0c77457f3603343d4234192a020cbe76f79e9 (diff) | |
download | openbsd-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.inc | 45 | ||||
-rw-r--r-- | src/lib/libcrypto/crypto/arch/arm/Makefile.inc | 45 |
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 | ||
6 | SRCS+= aes_cbc.c | ||
7 | CFLAGS+= -DAES_ASM | ||
8 | SSLASM+= aes aes-armv4 | ||
9 | # bf | ||
10 | SRCS+= bf_enc.c | ||
11 | # bn | ||
12 | SRCS+= bn_asm.c | ||
13 | CFLAGS+= -DOPENSSL_BN_ASM_MONT | ||
14 | SSLASM+= bn armv4-mont | ||
15 | CFLAGS+= -DOPENSSL_BN_ASM_GF2m | ||
16 | SSLASM+= bn armv4-gf2m | ||
17 | # des | ||
18 | SRCS+= des_enc.c fcrypt_b.c | ||
19 | # modes | ||
20 | CFLAGS+= -DGHASH_ASM | ||
21 | SSLASM+= modes ghash-armv4 | ||
22 | # rc4 | ||
23 | SRCS+= rc4_enc.c rc4_skey.c | ||
24 | ## rc5 | ||
25 | #SRCS+= rc5_enc.c | ||
26 | # sha | ||
27 | CFLAGS+= -DSHA1_ASM | ||
28 | SSLASM+= sha sha1-armv4-large | ||
29 | CFLAGS+= -DSHA256_ASM | ||
30 | SSLASM+= sha sha256-armv4 | ||
31 | CFLAGS+= -DSHA512_ASM | ||
32 | SSLASM+= sha sha512-armv4 | ||
33 | # whrlpool | ||
34 | SRCS+= wp_block.c | ||
35 | |||
36 | .for dir f in ${SSLASM} | ||
37 | SRCS+= ${f}.S | ||
38 | GENERATED+=${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 | |||
44 | CFLAGS+= -DOPENSSL_CPUID_OBJ | ||
45 | SRCS+= 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 | ||
6 | SRCS+= aes_cbc.c | ||
7 | CFLAGS+= -DAES_ASM | ||
8 | SSLASM+= aes aes-armv4 | ||
9 | # bf | ||
10 | SRCS+= bf_enc.c | ||
11 | # bn | ||
12 | SRCS+= bn_asm.c | ||
13 | CFLAGS+= -DOPENSSL_BN_ASM_MONT | ||
14 | SSLASM+= bn armv4-mont | ||
15 | CFLAGS+= -DOPENSSL_BN_ASM_GF2m | ||
16 | SSLASM+= bn armv4-gf2m | ||
17 | # des | ||
18 | SRCS+= des_enc.c fcrypt_b.c | ||
19 | # modes | ||
20 | CFLAGS+= -DGHASH_ASM | ||
21 | SSLASM+= modes ghash-armv4 | ||
22 | # rc4 | ||
23 | SRCS+= rc4_enc.c rc4_skey.c | ||
24 | ## rc5 | ||
25 | #SRCS+= rc5_enc.c | ||
26 | # sha | ||
27 | CFLAGS+= -DSHA1_ASM | ||
28 | SSLASM+= sha sha1-armv4-large | ||
29 | CFLAGS+= -DSHA256_ASM | ||
30 | SSLASM+= sha sha256-armv4 | ||
31 | CFLAGS+= -DSHA512_ASM | ||
32 | SSLASM+= sha sha512-armv4 | ||
33 | # whrlpool | ||
34 | SRCS+= wp_block.c | ||
35 | |||
36 | .for dir f in ${SSLASM} | ||
37 | SRCS+= ${f}.S | ||
38 | GENERATED+=${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 | |||
44 | CFLAGS+= -DOPENSSL_CPUID_OBJ | ||
45 | SRCS+= armv4cpuid.S armcap.c | ||