openssl: use assembler version of aes on arm - nearly doubles aes encryption performance
SVN-Revision: 18790
This commit is contained in:
parent
6a90a35f2b
commit
cff27487bb
2 changed files with 24 additions and 3 deletions
|
@ -71,12 +71,16 @@ OPENSSL_NO_CIPHERS:= no-idea no-md2 no-mdc2 no-rc5 no-sha0 no-smime \
|
||||||
no-rmd160 no-aes192 no-ripemd no-camellia no-ans1 no-krb5
|
no-rmd160 no-aes192 no-ripemd no-camellia no-ans1 no-krb5
|
||||||
ifeq ($(BOARD),ixp4xx)
|
ifeq ($(BOARD),ixp4xx)
|
||||||
OPENSSL_OPTIONS:= shared no-ec no-err no-hw no-threads zlib-dynamic \
|
OPENSSL_OPTIONS:= shared no-ec no-err no-hw no-threads zlib-dynamic \
|
||||||
no-sse2 no-perlasm --with-cryptodev
|
no-sse2 --with-cryptodev
|
||||||
else
|
else
|
||||||
OPENSSL_OPTIONS:= shared no-ec no-err no-hw no-threads zlib-dynamic \
|
OPENSSL_OPTIONS:= shared no-ec no-err no-hw no-threads zlib-dynamic \
|
||||||
no-engines no-sse2 no-perlasm
|
no-engines no-sse2
|
||||||
|
endif
|
||||||
|
ifdef CONFIG_arm
|
||||||
|
OPENSSL_MAKEFLAGS := AES_ASM_OBJ="aes-armv4.o aes_cbc.o"
|
||||||
|
else
|
||||||
|
OPENSSL_OPTIONS += no-perlasm
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
||||||
define Build/Configure
|
define Build/Configure
|
||||||
(cd $(PKG_BUILD_DIR); \
|
(cd $(PKG_BUILD_DIR); \
|
||||||
|
@ -100,21 +104,25 @@ define Build/Compile
|
||||||
$(MAKE) -C $(PKG_BUILD_DIR) \
|
$(MAKE) -C $(PKG_BUILD_DIR) \
|
||||||
MAKEDEPPROG="$(TARGET_CROSS)gcc" \
|
MAKEDEPPROG="$(TARGET_CROSS)gcc" \
|
||||||
OPENWRT_OPTIMIZATION_FLAGS="$(TARGET_CFLAGS)" \
|
OPENWRT_OPTIMIZATION_FLAGS="$(TARGET_CFLAGS)" \
|
||||||
|
$(OPENSSL_MAKEFLAGS) \
|
||||||
depend
|
depend
|
||||||
$(MAKE) -C $(PKG_BUILD_DIR) \
|
$(MAKE) -C $(PKG_BUILD_DIR) \
|
||||||
CC="$(TARGET_CC)" \
|
CC="$(TARGET_CC)" \
|
||||||
AR="$(TARGET_CROSS)ar r" \
|
AR="$(TARGET_CROSS)ar r" \
|
||||||
RANLIB="$(TARGET_CROSS)ranlib" \
|
RANLIB="$(TARGET_CROSS)ranlib" \
|
||||||
OPENWRT_OPTIMIZATION_FLAGS="$(TARGET_CFLAGS)" \
|
OPENWRT_OPTIMIZATION_FLAGS="$(TARGET_CFLAGS)" \
|
||||||
|
$(OPENSSL_MAKEFLAGS) \
|
||||||
all build-shared
|
all build-shared
|
||||||
# Work around openssl build bug to link libssl.so with libcrypto.so.
|
# Work around openssl build bug to link libssl.so with libcrypto.so.
|
||||||
-rm $(PKG_BUILD_DIR)/libssl.so.*.*.*
|
-rm $(PKG_BUILD_DIR)/libssl.so.*.*.*
|
||||||
$(MAKE) -C $(PKG_BUILD_DIR) \
|
$(MAKE) -C $(PKG_BUILD_DIR) \
|
||||||
CC="$(TARGET_CC)" \
|
CC="$(TARGET_CC)" \
|
||||||
OPENWRT_OPTIMIZATION_FLAGS="$(TARGET_CFLAGS)" \
|
OPENWRT_OPTIMIZATION_FLAGS="$(TARGET_CFLAGS)" \
|
||||||
|
$(OPENSSL_MAKEFLAGS) \
|
||||||
do_linux-shared
|
do_linux-shared
|
||||||
$(MAKE) -C $(PKG_BUILD_DIR) \
|
$(MAKE) -C $(PKG_BUILD_DIR) \
|
||||||
INSTALL_PREFIX="$(PKG_INSTALL_DIR)" \
|
INSTALL_PREFIX="$(PKG_INSTALL_DIR)" \
|
||||||
|
$(OPENSSL_MAKEFLAGS) \
|
||||||
install
|
install
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
|
13
package/openssl/patches/310-arm_asm.patch
Normal file
13
package/openssl/patches/310-arm_asm.patch
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
--- a/crypto/aes/Makefile
|
||||||
|
+++ b/crypto/aes/Makefile
|
||||||
|
@@ -47,6 +47,9 @@ lib: $(LIBOBJ)
|
||||||
|
|
||||||
|
$(LIBOBJ): $(LIBSRC)
|
||||||
|
|
||||||
|
+aes-armv4.s: asm/aes-armv4.pl
|
||||||
|
+ $(PERL) $^ > $@
|
||||||
|
+
|
||||||
|
aes-ia64.s: asm/aes-ia64.S
|
||||||
|
$(CC) $(CFLAGS) -E asm/aes-ia64.S > $@
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue