openssl: use assembler version of aes on arm - nearly doubles aes encryption performance
SVN-Revision: 18790
This commit is contained in:
		| @@ -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 | ||||
| ifeq ($(BOARD),ixp4xx) | ||||
| OPENSSL_OPTIONS:= shared no-ec no-err no-hw no-threads zlib-dynamic \ | ||||
| 					no-sse2 no-perlasm --with-cryptodev | ||||
| 					no-sse2 --with-cryptodev | ||||
| else | ||||
| 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 | ||||
|  | ||||
|  | ||||
| define Build/Configure | ||||
| 	(cd $(PKG_BUILD_DIR); \ | ||||
| @@ -100,21 +104,25 @@ define Build/Compile | ||||
| 	$(MAKE) -C $(PKG_BUILD_DIR) \ | ||||
| 		MAKEDEPPROG="$(TARGET_CROSS)gcc" \ | ||||
| 		OPENWRT_OPTIMIZATION_FLAGS="$(TARGET_CFLAGS)" \ | ||||
| 		$(OPENSSL_MAKEFLAGS) \ | ||||
| 		depend | ||||
| 	$(MAKE) -C $(PKG_BUILD_DIR) \ | ||||
| 		CC="$(TARGET_CC)" \ | ||||
| 		AR="$(TARGET_CROSS)ar r" \ | ||||
| 		RANLIB="$(TARGET_CROSS)ranlib" \ | ||||
| 		OPENWRT_OPTIMIZATION_FLAGS="$(TARGET_CFLAGS)" \ | ||||
| 		$(OPENSSL_MAKEFLAGS) \ | ||||
| 		all build-shared | ||||
| 	# Work around openssl build bug to link libssl.so with libcrypto.so. | ||||
| 	-rm $(PKG_BUILD_DIR)/libssl.so.*.*.* | ||||
| 	$(MAKE) -C $(PKG_BUILD_DIR) \ | ||||
| 		CC="$(TARGET_CC)" \ | ||||
| 		OPENWRT_OPTIMIZATION_FLAGS="$(TARGET_CFLAGS)" \ | ||||
| 		$(OPENSSL_MAKEFLAGS) \ | ||||
| 		do_linux-shared | ||||
| 	$(MAKE) -C $(PKG_BUILD_DIR) \ | ||||
| 		INSTALL_PREFIX="$(PKG_INSTALL_DIR)" \ | ||||
| 		$(OPENSSL_MAKEFLAGS) \ | ||||
| 		install | ||||
| 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 > $@ | ||||
|   | ||||
|  | ||||
		Reference in New Issue
	
	Block a user
	 Felix Fietkau
					Felix Fietkau