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