CVS commit: src/crypto/external/bsd/openssl/lib/libcrypto/arch/aarch64

2018-12-09 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Sun Dec  9 21:39:48 UTC 2018

Modified Files:
src/crypto/external/bsd/openssl/lib/libcrypto/arch/aarch64: aes.inc

Log Message:
add new file (Robert Swindells)


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 \
src/crypto/external/bsd/openssl/lib/libcrypto/arch/aarch64/aes.inc

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/crypto/external/bsd/openssl/lib/libcrypto/arch/aarch64/aes.inc
diff -u src/crypto/external/bsd/openssl/lib/libcrypto/arch/aarch64/aes.inc:1.2 src/crypto/external/bsd/openssl/lib/libcrypto/arch/aarch64/aes.inc:1.3
--- src/crypto/external/bsd/openssl/lib/libcrypto/arch/aarch64/aes.inc:1.2	Wed Mar  7 11:05:44 2018
+++ src/crypto/external/bsd/openssl/lib/libcrypto/arch/aarch64/aes.inc	Sun Dec  9 16:39:48 2018
@@ -1,4 +1,6 @@
 .PATH.S: ${.PARSEDIR}
-#AES_SRCS = aesv8-armx.S aes_cbc.c
-#AESCPPFLAGS = -DAES_ASM
+#AES_SRCS = aesv8-armx.S aes_cbc.c vpaes-armv8.S
+#AESCPPFLAGS = -DAES_ASM -DVPAES_ASM
+AES_SRCS = aes_core.c aes_cbc.c vpaes-armv8.S
+AESCPPFLAGS = -DVPAES_ASM
 .include "../../aes.inc"



CVS commit: src/crypto/external/bsd/openssl/lib/libcrypto/arch/aarch64

2018-07-15 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Mon Jul 16 00:08:12 UTC 2018

Modified Files:
src/crypto/external/bsd/openssl/lib/libcrypto/arch/aarch64: crypto.inc

Log Message:
select assembler based on ACTIVE_CC


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 \
src/crypto/external/bsd/openssl/lib/libcrypto/arch/aarch64/crypto.inc

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/crypto/external/bsd/openssl/lib/libcrypto/arch/aarch64/crypto.inc
diff -u src/crypto/external/bsd/openssl/lib/libcrypto/arch/aarch64/crypto.inc:1.2 src/crypto/external/bsd/openssl/lib/libcrypto/arch/aarch64/crypto.inc:1.3
--- src/crypto/external/bsd/openssl/lib/libcrypto/arch/aarch64/crypto.inc:1.2	Wed Mar  7 11:05:44 2018
+++ src/crypto/external/bsd/openssl/lib/libcrypto/arch/aarch64/crypto.inc	Sun Jul 15 20:08:12 2018
@@ -3,6 +3,6 @@ CPUID_SRCS += arm64cpuid.S armcap.c
 CPUID = yes
 ARM_MAX_ARCH=8
 CPPFLAGS += -D__ARM_MAX_ARCH__=${ARM_MAX_ARCH}
-CFLAGS+= -no-integrated-as
+CFLAGS+= ${${ACTIVE_CC} == "clang" :? -no-integrated-as :}
 .include "../../crypto.inc"
 



CVS commit: src/crypto/external/bsd/openssl/lib/libcrypto/arch/aarch64

2018-03-07 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Wed Mar  7 16:05:44 UTC 2018

Modified Files:
src/crypto/external/bsd/openssl/lib/libcrypto/arch/aarch64: Makefile
aes.inc aesv8-armx.S bf.inc bn.inc crypto.inc des.inc
ghashv8-armx.S modes.inc rc4.inc sha.inc sha1-armv8.S
Added Files:
src/crypto/external/bsd/openssl/lib/libcrypto/arch/aarch64:
arm64cpuid.S armv8-mont.S chacha-armv8.S chacha.inc ec.inc
ecp_nistz256-armv8.S poly1305-armv8.S poly1305.inc sha512-armv8.S
vpaes-armv8.S

Log Message:
regen; some assembly files don't work so disable for now.


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 \
src/crypto/external/bsd/openssl/lib/libcrypto/arch/aarch64/Makefile \
src/crypto/external/bsd/openssl/lib/libcrypto/arch/aarch64/aes.inc \
src/crypto/external/bsd/openssl/lib/libcrypto/arch/aarch64/aesv8-armx.S \
src/crypto/external/bsd/openssl/lib/libcrypto/arch/aarch64/bf.inc \
src/crypto/external/bsd/openssl/lib/libcrypto/arch/aarch64/bn.inc \
src/crypto/external/bsd/openssl/lib/libcrypto/arch/aarch64/crypto.inc \
src/crypto/external/bsd/openssl/lib/libcrypto/arch/aarch64/des.inc \
src/crypto/external/bsd/openssl/lib/libcrypto/arch/aarch64/ghashv8-armx.S \
src/crypto/external/bsd/openssl/lib/libcrypto/arch/aarch64/modes.inc \
src/crypto/external/bsd/openssl/lib/libcrypto/arch/aarch64/rc4.inc \
src/crypto/external/bsd/openssl/lib/libcrypto/arch/aarch64/sha.inc \
src/crypto/external/bsd/openssl/lib/libcrypto/arch/aarch64/sha1-armv8.S
cvs rdiff -u -r0 -r1.1 \
src/crypto/external/bsd/openssl/lib/libcrypto/arch/aarch64/arm64cpuid.S \
src/crypto/external/bsd/openssl/lib/libcrypto/arch/aarch64/armv8-mont.S \
src/crypto/external/bsd/openssl/lib/libcrypto/arch/aarch64/chacha-armv8.S \
src/crypto/external/bsd/openssl/lib/libcrypto/arch/aarch64/chacha.inc \
src/crypto/external/bsd/openssl/lib/libcrypto/arch/aarch64/ec.inc \

src/crypto/external/bsd/openssl/lib/libcrypto/arch/aarch64/ecp_nistz256-armv8.S 
\
src/crypto/external/bsd/openssl/lib/libcrypto/arch/aarch64/poly1305-armv8.S 
\
src/crypto/external/bsd/openssl/lib/libcrypto/arch/aarch64/poly1305.inc \
src/crypto/external/bsd/openssl/lib/libcrypto/arch/aarch64/sha512-armv8.S \
src/crypto/external/bsd/openssl/lib/libcrypto/arch/aarch64/vpaes-armv8.S

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

diffs are larger than 1MB and have been omitted


CVS commit: src/crypto/external/bsd/openssl/lib/libcrypto/arch/aarch64

2016-10-16 Thread Joerg Sonnenberger
Module Name:src
Committed By:   joerg
Date:   Mon Oct 17 00:24:13 UTC 2016

Added Files:
src/crypto/external/bsd/openssl/lib/libcrypto/arch/aarch64: Makefile
aes.inc aesv8-armx.S bf.inc bn.inc crypto.inc des.inc
ghashv8-armx.S modes.inc rc4.inc sha.inc sha1-armv8.S

Log Message:
Add basic glue for AArch64, including not-yet-used assembler files.


To generate a diff of this commit:
cvs rdiff -u -r0 -r1.1 \
src/crypto/external/bsd/openssl/lib/libcrypto/arch/aarch64/Makefile \
src/crypto/external/bsd/openssl/lib/libcrypto/arch/aarch64/aes.inc \
src/crypto/external/bsd/openssl/lib/libcrypto/arch/aarch64/aesv8-armx.S \
src/crypto/external/bsd/openssl/lib/libcrypto/arch/aarch64/bf.inc \
src/crypto/external/bsd/openssl/lib/libcrypto/arch/aarch64/bn.inc \
src/crypto/external/bsd/openssl/lib/libcrypto/arch/aarch64/crypto.inc \
src/crypto/external/bsd/openssl/lib/libcrypto/arch/aarch64/des.inc \
src/crypto/external/bsd/openssl/lib/libcrypto/arch/aarch64/ghashv8-armx.S \
src/crypto/external/bsd/openssl/lib/libcrypto/arch/aarch64/modes.inc \
src/crypto/external/bsd/openssl/lib/libcrypto/arch/aarch64/rc4.inc \
src/crypto/external/bsd/openssl/lib/libcrypto/arch/aarch64/sha.inc \
src/crypto/external/bsd/openssl/lib/libcrypto/arch/aarch64/sha1-armv8.S

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Added files:

Index: src/crypto/external/bsd/openssl/lib/libcrypto/arch/aarch64/Makefile
diff -u /dev/null src/crypto/external/bsd/openssl/lib/libcrypto/arch/aarch64/Makefile:1.1
--- /dev/null	Mon Oct 17 00:24:13 2016
+++ src/crypto/external/bsd/openssl/lib/libcrypto/arch/aarch64/Makefile	Mon Oct 17 00:24:13 2016
@@ -0,0 +1,14 @@
+#	$NetBSD: Makefile,v 1.1 2016/10/17 00:24:13 joerg Exp $
+
+.include "bsd.own.mk"
+
+CRYPTODIST=${NETBSDSRCDIR}/crypto
+.include "${NETBSDSRCDIR}/crypto/Makefile.openssl"
+
+regen:
+	for i in ${OPENSSLSRC}/crypto/aes/asm/aesv8-armx.pl \
+		 ${OPENSSLSRC}/crypto/modes/asm/ghashv8-armx.pl \
+		 ${OPENSSLSRC}/crypto/sha/asm/sha1-armv8.pl; do \
+		j=$$(basename $$i .pl).S; \
+		perl $$i > $$j; \
+	done
Index: src/crypto/external/bsd/openssl/lib/libcrypto/arch/aarch64/aes.inc
diff -u /dev/null src/crypto/external/bsd/openssl/lib/libcrypto/arch/aarch64/aes.inc:1.1
--- /dev/null	Mon Oct 17 00:24:13 2016
+++ src/crypto/external/bsd/openssl/lib/libcrypto/arch/aarch64/aes.inc	Mon Oct 17 00:24:13 2016
@@ -0,0 +1,4 @@
+.PATH.S: ${.PARSEDIR}
+#AES_SRCS = aesv8-armx.S
+#AESCPPFLAGS = -DAES_ASM
+.include "../../aes.inc"
Index: src/crypto/external/bsd/openssl/lib/libcrypto/arch/aarch64/aesv8-armx.S
diff -u /dev/null src/crypto/external/bsd/openssl/lib/libcrypto/arch/aarch64/aesv8-armx.S:1.1
--- /dev/null	Mon Oct 17 00:24:13 2016
+++ src/crypto/external/bsd/openssl/lib/libcrypto/arch/aarch64/aesv8-armx.S	Mon Oct 17 00:24:13 2016
@@ -0,0 +1,754 @@
+#include "arm_arch.h"
+
+#if __ARM_MAX_ARCH__>=7
+.text
+.arch	armv7-a
+.fpu	neon
+.code	32
+.align	5
+rcon:
+.long	0x01,0x01,0x01,0x01
+.long	0x0c0f0e0d,0x0c0f0e0d,0x0c0f0e0d,0x0c0f0e0d	@ rotate-n-splat
+.long	0x1b,0x1b,0x1b,0x1b
+
+.globl	aes_v8_set_encrypt_key
+.type	aes_v8_set_encrypt_key,%function
+.align	5
+aes_v8_set_encrypt_key:
+.Lenc_key:
+	mov	r3,#-1
+	cmp	r0,#0
+	beq	.Lenc_key_abort
+	cmp	r2,#0
+	beq	.Lenc_key_abort
+	mov	r3,#-2
+	cmp	r1,#128
+	blt	.Lenc_key_abort
+	cmp	r1,#256
+	bgt	.Lenc_key_abort
+	tst	r1,#0x3f
+	bne	.Lenc_key_abort
+
+	adr	r3,rcon
+	cmp	r1,#192
+
+	veor	q0,q0,q0
+	vld1.8	{q3},[r0]!
+	mov	r1,#8		@ reuse r1
+	vld1.32	{q1,q2},[r3]!
+
+	blt	.Loop128
+	beq	.L192
+	b	.L256
+
+.align	4
+.Loop128:
+	vtbl.8	d20,{q3},d4
+	vtbl.8	d21,{q3},d5
+	vext.8	q9,q0,q3,#12
+	vst1.32	{q3},[r2]!
+	.byte	0x00,0x43,0xf0,0xf3	@ aese q10,q0
+	subs	r1,r1,#1
+
+	veor	q3,q3,q9
+	vext.8	q9,q0,q9,#12
+	veor	q3,q3,q9
+	vext.8	q9,q0,q9,#12
+	 veor	q10,q10,q1
+	veor	q3,q3,q9
+	vshl.u8	q1,q1,#1
+	veor	q3,q3,q10
+	bne	.Loop128
+
+	vld1.32	{q1},[r3]
+
+	vtbl.8	d20,{q3},d4
+	vtbl.8	d21,{q3},d5
+	vext.8	q9,q0,q3,#12
+	vst1.32	{q3},[r2]!
+	.byte	0x00,0x43,0xf0,0xf3	@ aese q10,q0
+
+	veor	q3,q3,q9
+	vext.8	q9,q0,q9,#12
+	veor	q3,q3,q9
+	vext.8	q9,q0,q9,#12
+	 veor	q10,q10,q1
+	veor	q3,q3,q9
+	vshl.u8	q1,q1,#1
+	veor	q3,q3,q10
+
+	vtbl.8	d20,{q3},d4
+	vtbl.8	d21,{q3},d5
+	vext.8	q9,q0,q3,#12
+	vst1.32	{q3},[r2]!
+	.byte	0x00,0x43,0xf0,0xf3	@ aese q10,q0
+
+	veor	q3,q3,q9
+	vext.8	q9,q0,q9,#12
+	veor	q3,q3,q9
+	vext.8	q9,q0,q9,#12
+	 veor	q10,q10,q1
+	veor	q3,q3,q9
+	veor	q3,q3,q10
+	vst1.32	{q3},[r2]
+	add	r2,r2,#0x50
+
+	mov	r12,#10
+	b	.Ldone
+
+.align	4
+.L192:
+	vld1.8	{d16},[r0]!
+	vmov.i8	q10,#8			@ borrow q10
+	vst1.32	{q3},[r2]!
+	vsub.i8	q2,q2,q10	@ adjust the mask
+
+.Loop192:
+	vtbl.8	d20,{q8},d4
+	vtbl.8	d21,{q8},d5
+	vext.8	q9,q0,q3,#12
+	vst1.32	{d16},[r2]!
+	.byte	0x00,0x43,0xf0,0xf3	@ aese q10,q0
+	subs	r1,r1,#1
+
+	veor	q3,q3,q9
+	vext.8	q9,q0,q9,#12
+	veor	q3,q3,q9
+	vext.8	q9,q0,q9,#12
+	veor	q3,q3,q9
+
+