OpenWrt Source Repository
Go to file
Eneas U de Queiroz ee4a0afdcd ipq40xx: use neon crypto drivers
This adds the neon based implementations of AES & SHA256.

For AES, according to the kernel config help:

Use a faster and more secure NEON based implementation of AES in CBC,
CTR and XTS modes.
Bit sliced AES gives around 45% speedup on Cortex-A15 for CTR mode
and for XTS mode encryption, CBC and XTS mode decryption speedup is
around 25%. (CBC encryption speed is not affected by this driver.)
This implementation does not rely on any lookup tables so it is
believed to be invulnerable to cache timing attacks.
...
The observed speedups on ipq40xx are more modest: speedup is around 20%
for CTR mode and for XTS mode encryption, CBC and XTS mode decryption
speedup is around 10%. Measurements were made using tcrypt, with
1024-bytes blocks for CTR & CBC, and 4096-bytes for XTS.
The aes-neon-bs driver uses a fallback for CBC encryption; that fallback
could be either the generic driver written in C, or the scalar arm-asm
one.  Even though aes-arm is 1.9% slower, it is more resilient to timing
attacks (the reason for being slower), so it is being included here.

The neon sha256 module increases performance over the generic module by
33%.

Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
[Enable only ciphers for now, reorder patch in series to help bisect
as new symbols could lead to build failures, 5.4]
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2020-02-28 22:46:09 +01:00
.github build: Update README & github help 2018-07-08 09:41:53 +01:00
config kernel: Use new symbol to deactivate MIPS FPU support 2020-02-28 17:50:46 +01:00
include kernel: Include xt_MASQUERADE for kernel 5.2 and later 2020-02-28 17:50:46 +01:00
package ipq40xx: add support for EnGenius EAP2200 2020-02-28 22:29:10 +01:00
scripts scripts/arm-magic.sh: switch to /bin/sh 2020-01-02 23:59:20 +01:00
target ipq40xx: use neon crypto drivers 2020-02-28 22:46:09 +01:00
toolchain toolchain/binutils: Add binutils 2.34 2020-02-22 16:38:41 +01:00
tools tools/bison: Update to 3.5.1 2020-02-19 22:02:47 +01:00
.gitattributes
.gitignore gitignore: ignore patches in OpenWrt root directory 2019-11-06 00:27:55 +01:00
BSDmakefile
Config.in
LICENSE
Makefile build: add buildinfo as single Makefile target 2019-10-17 14:01:33 +02:00
README build: switch to Python 3 2019-07-26 08:09:16 +02:00
feeds.conf.default feeds: switch git.lede-project.org URLs to git.openwrt.org 2018-01-16 16:59:22 +01:00
rules.mk rules.mk: remove "$(STAGING_DIR)/include" 2019-11-02 20:51:56 +01:00

README

  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 -----------------------------------------------------

This is the buildsystem for the OpenWrt Linux distribution.

To build your own firmware you need a Linux, BSD or MacOSX system (case
sensitive filesystem required). Cygwin is unsupported because of the lack
of a case sensitive file system.

You need gcc, binutils, bzip2, flex, python3.5+, perl, make, find, grep, diff,
unzip, gawk, getopt, subversion, libz-dev and libc headers installed.

1. Run "./scripts/feeds update -a" to obtain all the latest package definitions
defined in feeds.conf / feeds.conf.default

2. Run "./scripts/feeds install -a" to install symlinks for all obtained
packages into package/feeds/

3. Run "make menuconfig" to select your preferred configuration for the
toolchain, target system & firmware packages.

4. Run "make" to build your firmware. This will download all sources, build
the cross-compile toolchain and then cross-compile the Linux kernel & all
chosen applications for your target system.

Sunshine!
	Your OpenWrt Community
	http://www.openwrt.org