Commit Graph

12 Commits

Author SHA1 Message Date
jakllsch 3eade4a405 Acknowledge clang warning for NEON cipher code on aarch64eb
We've already made the nonportable vector initializations portable; the
code works on aarch64eb.
2020-09-08 17:35:27 +00:00
riastradh 7f7b51ca34 Make the AES and ChaCha NEON tests work in softfloat userland.
(`Softfloat' here refers to the ABI, which of course may be running
on a CPU with NEON.)
2020-08-17 16:26:02 +00:00
martin 9c197a80ad Restrict the NEON code to v7hf - the softfloat toolchain does not like
it (nor is it likely to work if there is no FPU present).
2020-08-16 15:52:14 +00:00
riastradh 7a8eb9a111 Implement 4-way vectorization of ChaCha for armv7 NEON.
cgd performance is not as good as I was hoping (~4% improvement over
chacha_ref.c) but it should improve substantially more if we let the
cgd worker thread keep fpu state so we don't have to pay the cost of
isb and zero-the-fpu on every 512-byte cgd block.
2020-07-28 20:08:48 +00:00
riastradh dadf58c832 It's __ARM_NEON, not __ARM_NEON__, sometimes, apparently. 2020-07-27 20:59:53 +00:00
riastradh f7b532dd9f Enable ChaCha NEON code on armv7 too.
The 4-blocks-at-a-time assembly helper is disabled for now; adapting
it to armv7 is going to be a little annoying with only 16 128-bit
vector registers.

(Should also do a fifth block in the integer registers for 320 bytes
at a time.)
2020-07-27 20:51:29 +00:00
riastradh ed8eacd373 Sort includes. 2020-07-26 14:01:14 +00:00
martin 9c03d654a9 Add missing include to fix the build on architectures w/o any special
accelerated AES implementation.
2020-07-26 12:43:27 +00:00
riastradh 59613b8a1a Add kernel ChaCha test to exercise all available implementations. 2020-07-25 22:53:38 +00:00
riastradh 36d44afd5a Implement AES-CCM with ARMv8.5-AES. 2020-07-25 22:33:04 +00:00
riastradh 341c574011 Pass the requisite -msse options for i386. 2020-07-01 09:58:29 +00:00
riastradh bd9707e06e New test sys/crypto/aes/t_aes.
Runs aes_selftest on all kernel AES implementations supported on the
current hardware, not just the preferred one.
2020-06-30 20:32:10 +00:00