CVS commit: src/sys/crypto/aes/arch/arm

2020-11-21 Thread Rin Okuyama
Module Name:src Committed By: rin Date: Sat Nov 21 08:09:21 UTC 2020 Modified Files: src/sys/crypto/aes/arch/arm: aes_neon.c Log Message: Fix build with clang for earmv7hf; loadroundkey() is used only for __aarch64__. To generate a diff of this commit: cvs rdiff -u -r1.5

CVS commit: src/sys/crypto/aes/arch/arm

2020-09-10 Thread Taylor R Campbell
Module Name:src Committed By: riastradh Date: Thu Sep 10 11:31:04 UTC 2020 Modified Files: src/sys/crypto/aes/arch/arm: aes_neon_32.S Log Message: aes neon: Gather mc_forward/backward so we can load 256 bits at once. To generate a diff of this commit: cvs rdiff -u -r1.10

CVS commit: src/sys/crypto/aes/arch/arm

2020-09-10 Thread Taylor R Campbell
Module Name:src Committed By: riastradh Date: Thu Sep 10 11:30:28 UTC 2020 Modified Files: src/sys/crypto/aes/arch/arm: aes_neon_32.S Log Message: aes neon: Hoist dsbd/dsbe address calculation out of loop. To generate a diff of this commit: cvs rdiff -u -r1.9 -r1.10 src/

CVS commit: src/sys/crypto/aes/arch/arm

2020-09-10 Thread Taylor R Campbell
Module Name:src Committed By: riastradh Date: Thu Sep 10 11:30:08 UTC 2020 Modified Files: src/sys/crypto/aes/arch/arm: aes_neon_32.S Log Message: aes neon: Tweak register usage. - Call r12 by its usual name, ip. - No need for r7 or r11=fp at the moment. To generate a d

CVS commit: src/sys/crypto/aes/arch/arm

2020-09-10 Thread Taylor R Campbell
Module Name:src Committed By: riastradh Date: Thu Sep 10 11:29:43 UTC 2020 Modified Files: src/sys/crypto/aes/arch/arm: aes_neon_32.S Log Message: aes neon: Write vtbl with {qN} rather than {d(2N)-d(2N+1)}. Cosmetic; no functional change. To generate a diff of this comm

CVS commit: src/sys/crypto/aes/arch/arm

2020-09-10 Thread Taylor R Campbell
Module Name:src Committed By: riastradh Date: Thu Sep 10 11:29:02 UTC 2020 Modified Files: src/sys/crypto/aes/arch/arm: aes_neon_32.S Log Message: aes neon: Issue 256-bit loads rather than pairs of 128-bit loads. Not sure why I didn't realize you could do this before! Sa

CVS commit: src/sys/crypto/aes/arch/arm

2020-09-08 Thread Taylor R Campbell
Module Name:src Committed By: riastradh Date: Tue Sep 8 23:58:09 UTC 2020 Modified Files: src/sys/crypto/aes/arch/arm: aes_armv8_64.S Log Message: aesarmv8: Reallocate registers to shave off unnecessary MOV. To generate a diff of this commit: cvs rdiff -u -r1.14 -r1.15

CVS commit: src/sys/crypto/aes/arch/arm

2020-09-08 Thread Taylor R Campbell
Module Name:src Committed By: riastradh Date: Tue Sep 8 23:57:43 UTC 2020 Modified Files: src/sys/crypto/aes/arch/arm: aes_armv8_64.S Log Message: aesarmv8: Issue two 4-register ld/st, not four 2-register ld/st. To generate a diff of this commit: cvs rdiff -u -r1.13 -r1

CVS commit: src/sys/crypto/aes/arch/arm

2020-09-08 Thread Taylor R Campbell
Module Name:src Committed By: riastradh Date: Tue Sep 8 23:57:13 UTC 2020 Modified Files: src/sys/crypto/aes/arch/arm: aes_armv8_64.S Log Message: aesarmv8: Adapt aes_armv8_64.S to big-endian. Patch mainly from (and tested by) jakllsch@ with minor tweaks by me. To gene

CVS commit: src/sys/crypto/aes

2020-09-08 Thread Taylor R Campbell
Module Name:src Committed By: riastradh Date: Tue Sep 8 22:48:24 UTC 2020 Modified Files: src/sys/crypto/aes: aes_selftest.c src/sys/crypto/aes/arch/x86: aes_sse2_subr.c Log Message: aes(9): Fix edge case in bitsliced SSE2 AES-CBC decryption. Make sure self-tests

CVS commit: src/sys/crypto/aes/arch/arm

2020-08-16 Thread Taylor R Campbell
Module Name:src Committed By: riastradh Date: Sun Aug 16 18:02:03 UTC 2020 Modified Files: src/sys/crypto/aes/arch/arm: aes_neon_32.S files.aesneon Log Message: Fix AES NEON code for big-endian softfp ARM. ...which is how the kernel runs. Switch to using __SOFTFP__ for c

CVS commit: src/sys/crypto/aes

2020-08-09 Thread Rin Okuyama
Module Name:src Committed By: rin Date: Mon Aug 10 06:27:29 UTC 2020 Modified Files: src/sys/crypto/aes: aes_ccm.c Log Message: Add hack to compile aes_ccm_tag() with -O0 for m68k for GCC8. GCC 8 miscompiles aes_ccm_tag() for m68k with optimization level -O[12], which res

CVS commit: src/sys/crypto/aes/arch/arm

2020-08-08 Thread Taylor R Campbell
Module Name:src Committed By: riastradh Date: Sun Aug 9 02:00:57 UTC 2020 Modified Files: src/sys/crypto/aes/arch/arm: aes_neon_subr.c Log Message: Nix outdated comment. I implemented this parallelism a couple weeks ago. To generate a diff of this commit: cvs rdiff -u

CVS commit: src/sys/crypto/aes/arch/arm

2020-07-28 Thread Taylor R Campbell
Module Name:src Committed By: riastradh Date: Tue Jul 28 20:11:09 UTC 2020 Modified Files: src/sys/crypto/aes/arch/arm: aes_neon.c aes_neon_impl.h aes_neon_subr.c arm_neon.h Log Message: Draft 2x vectorized neon vpaes for aarch64. Gives a modest speed boost on

CVS commit: src/sys/crypto/aes/arch/x86

2020-07-28 Thread Taylor R Campbell
Module Name:src Committed By: riastradh Date: Tue Jul 28 14:01:35 UTC 2020 Modified Files: src/sys/crypto/aes/arch/x86: aes_via.c Log Message: Initialize authctr in both branches. I guess I didn't test the unaligned case, weird. To generate a diff of this commit: cvs rd

CVS commit: src/sys/crypto/aes/arch/arm

2020-07-27 Thread Taylor R Campbell
Module Name:src Committed By: riastradh Date: Mon Jul 27 20:54:12 UTC 2020 Modified Files: src/sys/crypto/aes/arch/arm: aes_armv8_64.S Log Message: Issue aese/aesmc and aesd/aesimc in pairs. Advised by the aarch64 optimization guide; increases cgd throughput by about 10%.

CVS commit: src/sys/crypto/aes/arch/arm

2020-07-27 Thread Taylor R Campbell
Module Name:src Committed By: riastradh Date: Mon Jul 27 20:52:11 UTC 2020 Modified Files: src/sys/crypto/aes/arch/arm: aes_neon_32.S Log Message: PIC for aes_neon_32.S. Without this, tests/sys/crypto/aes/t_aes fails to start on armv7 because of R_ARM_ABS32 relocations in

CVS commit: src/sys/crypto/aes

2020-07-27 Thread Taylor R Campbell
Module Name:src Committed By: riastradh Date: Mon Jul 27 20:44:30 UTC 2020 Modified Files: src/sys/crypto/aes: aes_ccm.c aes_ccm.h Log Message: Gather auth[16] and ctr[16] into one authctr[32]. Should appease clang. To generate a diff of this commit: cvs rdiff -u -r1.3

CVS commit: src/sys/crypto/aes

2020-07-25 Thread Taylor R Campbell
Module Name:src Committed By: riastradh Date: Sun Jul 26 04:44:47 UTC 2020 Modified Files: src/sys/crypto/aes: aes_ccm.c Log Message: Ensure aes_ccm module init runs after aes module init. Otherwise the AES implementation might not be selected early enough. To generate

CVS commit: src/sys/crypto/aes/arch/x86

2020-07-25 Thread Taylor R Campbell
Module Name:src Committed By: riastradh Date: Sat Jul 25 22:45:10 UTC 2020 Modified Files: src/sys/crypto/aes/arch/x86: immintrin.h Log Message: Add some Intel intrinsics for ChaCha. _mm_load1_ps _mm_loadu_si128 _mm_movelh_ps _mm_slli_epi32 _mm_storeu_si128 _mm_unpackhi_e

CVS commit: src/sys/crypto/aes/arch/x86

2020-07-25 Thread Taylor R Campbell
Module Name:src Committed By: riastradh Date: Sat Jul 25 22:44:32 UTC 2020 Modified Files: src/sys/crypto/aes/arch/x86: immintrin.h Log Message: Fix target attribute on _mm_movehl_ps, fix clang _mm_unpacklo_epi64. - _mm_movehl_ps is available in SSE2, no need for SSSE3. -

CVS commit: src/sys/crypto/aes/arch/arm

2020-07-25 Thread Taylor R Campbell
Module Name:src Committed By: riastradh Date: Sat Jul 25 22:42:31 UTC 2020 Modified Files: src/sys/crypto/aes/arch/arm: arm_neon.h Log Message: Fix missing clang big-endian case. To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.5 src/sys/crypto/aes/arch/arm/arm_

CVS commit: src/sys/crypto/aes/arch/arm

2020-07-25 Thread Taylor R Campbell
Module Name:src Committed By: riastradh Date: Sat Jul 25 22:43:01 UTC 2020 Modified Files: src/sys/crypto/aes/arch/arm: arm_neon.h Log Message: Add 32-bit load, store, and shift intrinsics. vld1q_u32 vst1q_u32 vshlq_n_u32 vshrq_n_u32 To generate a diff of this commit: c

CVS commit: src/sys/crypto/aes

2020-07-25 Thread Taylor R Campbell
Module Name:src Committed By: riastradh Date: Sat Jul 25 22:42:03 UTC 2020 Modified Files: src/sys/crypto/aes: aes_impl.c Log Message: Make aes boot message verbose-only. To generate a diff of this commit: cvs rdiff -u -r1.7 -r1.8 src/sys/crypto/aes/aes_impl.c Please no

CVS commit: src/sys/crypto/aes

2020-07-25 Thread Taylor R Campbell
Module Name:src Committed By: riastradh Date: Sat Jul 25 22:36:42 UTC 2020 Modified Files: src/sys/crypto/aes: aes_impl.c aes_selftest.c Log Message: Remove now-needless AES-CCM fallback logic. These paths are no longer exercised because all of the aes_impls now do the AE

CVS commit: src/sys/crypto/aes/arch/arm

2020-07-25 Thread Taylor R Campbell
Module Name:src Committed By: riastradh Date: Sat Jul 25 22:36:06 UTC 2020 Modified Files: src/sys/crypto/aes/arch/arm: aes_neon.h aes_neon_impl.c aes_neon_subr.c arm_neon.h Log Message: Implement AES-CCM with NEON. To generate a diff of this commit: cvs rdif

CVS commit: src/sys/crypto/aes/arch/arm

2020-07-25 Thread Taylor R Campbell
Module Name:src Committed By: riastradh Date: Sat Jul 25 22:32:09 UTC 2020 Modified Files: src/sys/crypto/aes/arch/arm: aes_armv8_64.S Log Message: Invert some loops to save a branch instruction on every iteration. To generate a diff of this commit: cvs rdiff -u -r1.6 -r

CVS commit: src/sys/crypto/aes/arch/x86

2020-07-25 Thread Taylor R Campbell
Module Name:src Committed By: riastradh Date: Sat Jul 25 22:31:32 UTC 2020 Modified Files: src/sys/crypto/aes/arch/x86: aes_via.c Log Message: Implement AES-CCM with VIA ACE. To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.5 src/sys/crypto/aes/arch/x86/aes_via.

CVS commit: src/sys/crypto/aes/arch/x86

2020-07-25 Thread Taylor R Campbell
Module Name:src Committed By: riastradh Date: Sat Jul 25 22:31:04 UTC 2020 Modified Files: src/sys/crypto/aes/arch/x86: aes_ssse3.h aes_ssse3_impl.c aes_ssse3_subr.c immintrin.h Log Message: Implement AES-CCM with SSSE3. To generate a diff of this commit: cvs

CVS commit: src/sys/crypto/aes/arch/x86

2020-07-25 Thread Taylor R Campbell
Module Name:src Committed By: riastradh Date: Sat Jul 25 22:29:56 UTC 2020 Modified Files: src/sys/crypto/aes/arch/x86: aes_sse2.h aes_sse2_impl.c aes_sse2_subr.c Log Message: Implement AES-CCM with SSE2. To generate a diff of this commit: cvs rdiff -u -r1.3 -r1.4 src/sy

CVS commit: src/sys/crypto/aes/arch/x86

2020-07-25 Thread Taylor R Campbell
Module Name:src Committed By: riastradh Date: Sat Jul 25 22:29:06 UTC 2020 Modified Files: src/sys/crypto/aes/arch/x86: aes_ni.c aes_ni.h aes_ni_64.S Log Message: Implement AES-CCM with x86 AES-NI. To generate a diff of this commit: cvs rdiff -u -r1.3 -r1.4 src/sys/crypt

CVS commit: src/sys/crypto/aes

2020-07-25 Thread Taylor R Campbell
Module Name:src Committed By: riastradh Date: Sat Jul 25 22:28:27 UTC 2020 Modified Files: src/sys/crypto/aes: aes_bear.c Log Message: Implement AES-CCM with BearSSL's bitsliced 32-bit aes_ct. To generate a diff of this commit: cvs rdiff -u -r1.3 -r1.4 src/sys/crypto/aes

CVS commit: src/sys/crypto/aes

2020-07-25 Thread Taylor R Campbell
Module Name:src Committed By: riastradh Date: Sat Jul 25 22:27:53 UTC 2020 Modified Files: src/sys/crypto/aes: aes_ccm.c aes_impl.c aes_impl.h aes_selftest.c Log Message: Push CBC-MAC and CCM block updates into the aes_impl API. This should help reduce the setup and teard

CVS commit: src/sys/crypto/aes

2020-07-25 Thread Taylor R Campbell
Module Name:src Committed By: riastradh Date: Sat Jul 25 22:15:55 UTC 2020 Modified Files: src/sys/crypto/aes: files.aes Added Files: src/sys/crypto/aes: aes_ccm.c aes_ccm.h aes_ccm_mbuf.c aes_ccm_mbuf.h Log Message: New aes_ccm API. Intended for use in net80211 f

CVS commit: src/sys/crypto/aes/arch/x86

2020-07-25 Thread Taylor R Campbell
Module Name:src Committed By: riastradh Date: Sat Jul 25 22:11:05 UTC 2020 Modified Files: src/sys/crypto/aes/arch/x86: aes_ni_64.S Log Message: Invert some loops to save a jmp instruction on each iteration. No semantic change intended. To generate a diff of this commit

CVS commit: src/sys/crypto/aes/arch/arm

2020-07-23 Thread Ryo Shimizu
Module Name:src Committed By: ryo Date: Thu Jul 23 11:33:01 UTC 2020 Modified Files: src/sys/crypto/aes/arch/arm: arm_neon.h Log Message: fix build with llvm/clang. To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 src/sys/crypto/aes/arch/arm/arm_neon.h Please

CVS commit: src/sys/crypto/aes/arch/arm

2020-07-21 Thread Taylor R Campbell
Module Name:src Committed By: riastradh Date: Wed Jul 22 06:15:21 UTC 2020 Modified Files: src/sys/crypto/aes/arch/arm: aes_armv8_64.S Log Message: Fix register name in comment. Some time ago I reallocated the registers to avoid inadvertently clobbering the callee-saves v

CVS commit: src/sys/crypto/aes/arch/arm

2020-07-19 Thread Ryo Shimizu
Module Name:src Committed By: ryo Date: Sun Jul 19 07:32:43 UTC 2020 Modified Files: src/sys/crypto/aes/arch/arm: aes_armv8_64.S Log Message: fix build with clang/llvm. clang aarch64 assembler doesn't accept optional number of lanes of vector register. (but ARMARM says t

CVS commit: src/sys/crypto/aes/arch/arm

2020-06-30 Thread Taylor R Campbell
Module Name:src Committed By: riastradh Date: Tue Jun 30 23:06:02 UTC 2020 Modified Files: src/sys/crypto/aes/arch/arm: aes_armv8_64.S Log Message: Reallocate registers to avoid abusing callee-saves registers, v8-v15. Forgot to consult the AAPCS before committing this bef

CVS commit: src/sys/crypto/aes/arch/arm

2020-06-30 Thread Taylor R Campbell
Module Name:src Committed By: riastradh Date: Tue Jun 30 21:53:39 UTC 2020 Modified Files: src/sys/crypto/aes/arch/arm: aes_armv8_64.S Log Message: Use `.arch_extension aes' for aese/aesmc/aesd/aesimc. Unlike `.arch_extension crypto', this works with clang; both work with

CVS commit: src/sys/crypto/aes/arch

2020-06-30 Thread Taylor R Campbell
Module Name:src Committed By: riastradh Date: Tue Jun 30 21:41:04 UTC 2020 Modified Files: src/sys/crypto/aes/arch/arm: aes_armv8_64.S src/sys/crypto/aes/arch/x86: aes_ni_64.S Log Message: Use .p2align rather than .align. Apparently on arm, .align is actually an a

CVS commit: src/sys/crypto/aes/arch/arm

2020-06-30 Thread Taylor R Campbell
Module Name:src Committed By: riastradh Date: Tue Jun 30 21:24:00 UTC 2020 Modified Files: src/sys/crypto/aes/arch/arm: arm_neon.h Log Message: Tweak clang neon intrinsics so they build. (this file is still a kludge) To generate a diff of this commit: cvs rdiff -u -r1.1

CVS commit: src/sys/crypto/aes/arch/arm

2020-06-30 Thread Taylor R Campbell
Module Name:src Committed By: riastradh Date: Tue Jun 30 17:03:14 UTC 2020 Modified Files: src/sys/crypto/aes/arch/arm: files.aesneon Log Message: Limit aes_neon to cpu_cortex | aarch64. We won't use it on any other systems, and it doesn't build without NEON anyway. Veri

CVS commit: src/sys/crypto/aes

2020-06-30 Thread Taylor R Campbell
Module Name:src Committed By: riastradh Date: Tue Jun 30 16:21:17 UTC 2020 Modified Files: src/sys/crypto/aes: aes_impl.c Log Message: New sysctl node hw.aes_impl for selected AES implementation. To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 src/sys/crypto/

CVS commit: src/sys/crypto/aes/arch/arm

2020-06-29 Thread Taylor R Campbell
Module Name:src Committed By: riastradh Date: Mon Jun 29 23:57:56 UTC 2020 Modified Files: src/sys/crypto/aes/arch/arm: aes_neon.c files.aesneon Added Files: src/sys/crypto/aes/arch/arm: aes_neon_32.S Log Message: Provide hand-written AES NEON assembly for arm32.

CVS commit: src/sys/crypto/aes/arch/x86

2020-06-29 Thread Taylor R Campbell
Module Name:src Committed By: riastradh Date: Mon Jun 29 23:50:05 UTC 2020 Modified Files: src/sys/crypto/aes/arch/x86: aes_sse2.h aes_sse2_impl.c aes_sse2_impl.h files.aessse2 Added Files: src/sys/crypto/aes/arch/x86: aes_sse2_subr.c Log Message: Split

CVS commit: src/sys/crypto/aes/arch/x86

2020-06-29 Thread Taylor R Campbell
Module Name:src Committed By: riastradh Date: Mon Jun 29 23:41:35 UTC 2020 Modified Files: src/sys/crypto/aes/arch/x86: aes_via.c Log Message: VIA AES: Batch AES-XTS computation into eight blocks at a time. Experimental -- performance improvement is not clearly worth the

CVS commit: src/sys/crypto/aes

2020-06-29 Thread Taylor R Campbell
Module Name:src Committed By: riastradh Date: Mon Jun 29 23:36:59 UTC 2020 Modified Files: src/sys/crypto/aes: aes_bear.h aes_ct.c aes_ct_dec.c aes_impl.c Log Message: Provide the standard AES key schedule. Different AES implementations prefer different variations on it,