Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F149452487
D42866.1790159218.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
9 KB
Referenced Files
None
Subscribers
None
D42866.1790159218.diff
View Options
diff --git a/secure/lib/libcrypto/Makefile.asm b/secure/lib/libcrypto/Makefile.asm
--- a/secure/lib/libcrypto/Makefile.asm
+++ b/secure/lib/libcrypto/Makefile.asm
@@ -46,7 +46,7 @@
all: ${ASM}
rm -f ${ASM:R:S/$/.s/}
- ${CP} ${LCRYPTO_SRC}/crypto/arm_arch.h arm_arch.h
+ ${CP} ${LCRYPTO_SRC}/crypto/arm_arch.h ../arm_arch.h
CLEANFILES= ${ASM}
.SUFFIXES: .pl
@@ -186,6 +186,7 @@
all: ${ASM}
rm -f ${ASM:R:S/$/.s/}
+ ${CP} ${LCRYPTO_SRC}/crypto/arm_arch.h ../arm_arch.h
CLEANFILES= ${ASM}
.SUFFIXES: .pl
diff --git a/sys/conf/files.arm b/sys/conf/files.arm
--- a/sys/conf/files.arm
+++ b/sys/conf/files.arm
@@ -137,15 +137,22 @@
crypto/openssl/ossl_arm.c optional ossl
crypto/openssl/arm/ossl_aes_gcm.c optional ossl
-crypto/openssl/arm/aes-armv4.S optional ossl
+crypto/openssl/arm/aes-armv4.S optional ossl \
+ compile-with "${NORMAL_C} -I${SRCTOP}/sys/crypto/openssl"
crypto/openssl/arm/bsaes-armv7.S optional ossl \
- compile-with "${CC} -D__KERNEL__ -c ${CFLAGS:N-mgeneral-regs-only} ${WERROR} ${.IMPSRC}"
-crypto/openssl/arm/chacha-armv4.S optional ossl
-crypto/openssl/arm/ghash-armv4.S optional ossl
-crypto/openssl/arm/poly1305-armv4.S optional ossl
-crypto/openssl/arm/sha1-armv4-large.S optional ossl
-crypto/openssl/arm/sha256-armv4.S optional ossl
-crypto/openssl/arm/sha512-armv4.S optional ossl
+ compile-with "${CC} -D__KERNEL__ -c ${CFLAGS:N-mgeneral-regs-only} -I${SRCTOP}/sys/crypto/openssl ${WERROR} ${.IMPSRC}"
+crypto/openssl/arm/chacha-armv4.S optional ossl \
+ compile-with "${NORMAL_C} -I${SRCTOP}/sys/crypto/openssl"
+crypto/openssl/arm/ghash-armv4.S optional ossl \
+ compile-with "${NORMAL_C} -I${SRCTOP}/sys/crypto/openssl"
+crypto/openssl/arm/poly1305-armv4.S optional ossl \
+ compile-with "${NORMAL_C} -I${SRCTOP}/sys/crypto/openssl"
+crypto/openssl/arm/sha1-armv4-large.S optional ossl \
+ compile-with "${NORMAL_C} -I${SRCTOP}/sys/crypto/openssl"
+crypto/openssl/arm/sha256-armv4.S optional ossl \
+ compile-with "${NORMAL_C} -I${SRCTOP}/sys/crypto/openssl"
+crypto/openssl/arm/sha512-armv4.S optional ossl \
+ compile-with "${NORMAL_C} -I${SRCTOP}/sys/crypto/openssl"
# Annapurna support
arm/annapurna/alpine/alpine_ccu.c optional al_ccu fdt
diff --git a/sys/conf/files.arm64 b/sys/conf/files.arm64
--- a/sys/conf/files.arm64
+++ b/sys/conf/files.arm64
@@ -119,17 +119,17 @@
crypto/armv8/armv8_crypto.c optional armv8crypto
armv8_crypto_wrap.o optional armv8crypto \
dependency "$S/crypto/armv8/armv8_crypto_wrap.c" \
- compile-with "${CC} -c ${CFLAGS:C/^-O2$/-O3/:N-nostdinc:N-mgeneral-regs-only} -I$S/crypto/armv8/ ${WERROR} ${NO_WCAST_QUAL} ${CFLAGS:M-march=*:S/^$/-march=armv8-a/}+crypto ${.IMPSRC}" \
+ compile-with "${CC} -c ${CFLAGS:C/^-O2$/-O3/:N-nostdinc:N-mgeneral-regs-only} -I$S/crypto/armv8 ${WERROR} ${NO_WCAST_QUAL} ${CFLAGS:M-march=*:S/^$/-march=armv8-a/}+crypto ${.IMPSRC}" \
no-implicit-rule \
clean "armv8_crypto_wrap.o"
aesv8-armx.o optional armv8crypto | ossl \
dependency "$S/crypto/openssl/aarch64/aesv8-armx.S" \
- compile-with "${CC} -c ${CFLAGS:C/^-O2$/-O3/:N-nostdinc:N-mgeneral-regs-only} -I$S/crypto/armv8/ ${WERROR} ${NO_WCAST_QUAL} ${CFLAGS:M-march=*:S/^$/-march=armv8-a/}+crypto ${.IMPSRC}" \
+ compile-with "${CC} -c ${CFLAGS:C/^-O2$/-O3/:N-nostdinc:N-mgeneral-regs-only} -I$S/crypto/armv8 -I$S/crypto/openssl ${WERROR} ${NO_WCAST_QUAL} ${CFLAGS:M-march=*:S/^$/-march=armv8-a/}+crypto ${.IMPSRC}" \
no-implicit-rule \
clean "aesv8-armx.o"
ghashv8-armx.o optional armv8crypto \
dependency "$S/crypto/openssl/aarch64/ghashv8-armx.S" \
- compile-with "${CC} -c ${CFLAGS:C/^-O2$/-O3/:N-nostdinc:N-mgeneral-regs-only} -I$S/crypto/armv8/ ${WERROR} ${NO_WCAST_QUAL} ${CFLAGS:M-march=*:S/^$/-march=armv8-a/}+crypto ${.IMPSRC}" \
+ compile-with "${CC} -c ${CFLAGS:C/^-O2$/-O3/:N-nostdinc:N-mgeneral-regs-only} -I$S/crypto/armv8 -I$S/crypto/openssl ${WERROR} ${NO_WCAST_QUAL} ${CFLAGS:M-march=*:S/^$/-march=armv8-a/}+crypto ${.IMPSRC}" \
no-implicit-rule \
clean "ghashv8-armx.o"
diff --git a/sys/crypto/openssl/arm/arm_arch.h b/sys/crypto/openssl/arm/arm_arch.h
deleted file mode 100644
--- a/sys/crypto/openssl/arm/arm_arch.h
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * Copyright 2011-2018 The OpenSSL Project Authors. All Rights Reserved.
- *
- * Licensed under the OpenSSL license (the "License"). You may not use
- * this file except in compliance with the License. You can obtain a copy
- * in the file LICENSE in the source distribution or at
- * https://www.openssl.org/source/license.html
- */
-
-#ifndef OSSL_CRYPTO_ARM_ARCH_H
-# define OSSL_CRYPTO_ARM_ARCH_H
-
-# if !defined(__ARM_ARCH__)
-# if defined(__CC_ARM)
-# define __ARM_ARCH__ __TARGET_ARCH_ARM
-# if defined(__BIG_ENDIAN)
-# define __ARMEB__
-# else
-# define __ARMEL__
-# endif
-# elif defined(__GNUC__)
-# if defined(__aarch64__)
-# define __ARM_ARCH__ 8
-# if __BYTE_ORDER__==__ORDER_BIG_ENDIAN__
-# define __ARMEB__
-# else
-# define __ARMEL__
-# endif
- /*
- * Why doesn't gcc define __ARM_ARCH__? Instead it defines
- * bunch of below macros. See all_architectures[] table in
- * gcc/config/arm/arm.c. On a side note it defines
- * __ARMEL__/__ARMEB__ for little-/big-endian.
- */
-# elif defined(__ARM_ARCH)
-# define __ARM_ARCH__ __ARM_ARCH
-# elif defined(__ARM_ARCH_8A__)
-# define __ARM_ARCH__ 8
-# elif defined(__ARM_ARCH_7__) || defined(__ARM_ARCH_7A__) || \
- defined(__ARM_ARCH_7R__)|| defined(__ARM_ARCH_7M__) || \
- defined(__ARM_ARCH_7EM__)
-# define __ARM_ARCH__ 7
-# elif defined(__ARM_ARCH_6__) || defined(__ARM_ARCH_6J__) || \
- defined(__ARM_ARCH_6K__)|| defined(__ARM_ARCH_6M__) || \
- defined(__ARM_ARCH_6Z__)|| defined(__ARM_ARCH_6ZK__) || \
- defined(__ARM_ARCH_6T2__)
-# define __ARM_ARCH__ 6
-# elif defined(__ARM_ARCH_5__) || defined(__ARM_ARCH_5T__) || \
- defined(__ARM_ARCH_5E__)|| defined(__ARM_ARCH_5TE__) || \
- defined(__ARM_ARCH_5TEJ__)
-# define __ARM_ARCH__ 5
-# elif defined(__ARM_ARCH_4__) || defined(__ARM_ARCH_4T__)
-# define __ARM_ARCH__ 4
-# else
-# error "unsupported ARM architecture"
-# endif
-# endif
-# endif
-
-# if !defined(__ARM_MAX_ARCH__)
-# define __ARM_MAX_ARCH__ __ARM_ARCH__
-# endif
-
-# if __ARM_MAX_ARCH__<__ARM_ARCH__
-# error "__ARM_MAX_ARCH__ can't be less than __ARM_ARCH__"
-# elif __ARM_MAX_ARCH__!=__ARM_ARCH__
-# if __ARM_ARCH__<7 && __ARM_MAX_ARCH__>=7 && defined(__ARMEB__)
-# error "can't build universal big-endian binary"
-# endif
-# endif
-
-# ifndef __ASSEMBLER__
-extern unsigned int OPENSSL_armcap_P;
-# endif
-
-# define ARMV7_NEON (1<<0)
-# define ARMV7_TICK (1<<1)
-# define ARMV8_AES (1<<2)
-# define ARMV8_SHA1 (1<<3)
-# define ARMV8_SHA256 (1<<4)
-# define ARMV8_PMULL (1<<5)
-# define ARMV8_SHA512 (1<<6)
-
-#endif
diff --git a/sys/crypto/openssl/arm/ossl_aes_gcm.c b/sys/crypto/openssl/arm/ossl_aes_gcm.c
--- a/sys/crypto/openssl/arm/ossl_aes_gcm.c
+++ b/sys/crypto/openssl/arm/ossl_aes_gcm.c
@@ -15,7 +15,7 @@
#include <crypto/openssl/ossl_arm.h>
#include <crypto/openssl/ossl_aes_gcm.h>
#include <crypto/openssl/ossl_cipher.h>
-#include <crypto/openssl/arm/arm_arch.h>
+#include <crypto/openssl/arm_arch.h>
#include <opencrypto/cryptodev.h>
diff --git a/sys/crypto/openssl/aarch64/arm_arch.h b/sys/crypto/openssl/arm_arch.h
rename from sys/crypto/openssl/aarch64/arm_arch.h
rename to sys/crypto/openssl/arm_arch.h
diff --git a/sys/crypto/openssl/ossl_aarch64.h b/sys/crypto/openssl/ossl_aarch64.h
--- a/sys/crypto/openssl/ossl_aarch64.h
+++ b/sys/crypto/openssl/ossl_aarch64.h
@@ -12,7 +12,7 @@
#include <crypto/openssl/ossl.h>
#include <crypto/openssl/ossl_cipher.h>
-#include <crypto/openssl/aarch64/arm_arch.h>
+#include <crypto/openssl/arm_arch.h>
/* aesv8-armx.S */
ossl_cipher_encrypt_t aes_v8_cbc_encrypt;
diff --git a/sys/crypto/openssl/ossl_aarch64.c b/sys/crypto/openssl/ossl_aarch64.c
--- a/sys/crypto/openssl/ossl_aarch64.c
+++ b/sys/crypto/openssl/ossl_aarch64.c
@@ -35,7 +35,7 @@
#include <crypto/openssl/ossl.h>
#include <crypto/openssl/ossl_cipher.h>
-#include <crypto/openssl/aarch64/arm_arch.h>
+#include <crypto/openssl/arm_arch.h>
/*
* Feature bits defined in arm_arch.h
diff --git a/sys/crypto/openssl/ossl_arm.c b/sys/crypto/openssl/ossl_arm.c
--- a/sys/crypto/openssl/ossl_arm.c
+++ b/sys/crypto/openssl/ossl_arm.c
@@ -39,7 +39,7 @@
#include <crypto/openssl/ossl.h>
#include <crypto/openssl/ossl_cipher.h>
-#include <crypto/openssl/arm/arm_arch.h>
+#include <crypto/openssl/arm_arch.h>
ossl_cipher_setkey_t AES_set_encrypt_key;
ossl_cipher_setkey_t AES_set_decrypt_key;
diff --git a/sys/modules/armv8crypto/Makefile b/sys/modules/armv8crypto/Makefile
--- a/sys/modules/armv8crypto/Makefile
+++ b/sys/modules/armv8crypto/Makefile
@@ -1,4 +1,3 @@
-
.PATH: ${SRCTOP}/sys/crypto/armv8
.PATH: ${SRCTOP}/sys/crypto/openssl/aarch64
@@ -8,6 +7,8 @@
OBJS+= armv8_crypto_wrap.o aesv8-armx.o ghashv8-armx.o
+CFLAGS+=-I${SRCTOP}/sys/crypto/openssl
+
# Remove -nostdinc so we can get the intrinsics.
armv8_crypto_wrap.o: armv8_crypto_wrap.c
${CC} -c ${CFLAGS:C/^-O2$/-O3/:N-nostdinc:N-mgeneral-regs-only} \
diff --git a/sys/modules/ossl/Makefile b/sys/modules/ossl/Makefile
--- a/sys/modules/ossl/Makefile
+++ b/sys/modules/ossl/Makefile
@@ -61,6 +61,8 @@
CFLAGS.bsaes-armv7.S+= -D__KERNEL__
+CFLAGS+= -I${SRCTOP}/sys/crypto/openssl
+
# For arm64, we are forced to rewrite the compiler invocation for the assembly
# files, to remove -mgeneral-regs-only.
${SRCS.aarch64:M*.S:S/S/o/}: ${.TARGET:R}.S
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Wed, Sep 23, 10:26 AM (5 h, 42 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
29878923
Default Alt Text
D42866.1790159218.diff (9 KB)
Attached To
Mode
D42866: ossl: Move arm_arch.h to a common subdirectory
Attached
Detach File
Event Timeline
Log In to Comment