From nobody Fri Mar 29 18:11:48 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4V5pQF4g1Zz5FNY5; Fri, 29 Mar 2024 18:11:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4V5pQF2VGKz4hF5; Fri, 29 Mar 2024 18:11:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1711735909; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wfWI8JTjd8JdqG/J/yY0DT0BQBltJn2j1vmQ+q7jWjQ=; b=FBj5jOmiDmYjn8MEJ58rqk7W0jiRXNdbLL0Uz240nEa9q40/hKdMdgg1syFSsjYDkvLRrp ioSe0d3i7SKYHJkzWW+JHovI+YLjFcwkrrAtzmYnqrXfDpAoh6y7gLd40hbuVgP3Ak5UY2 WDJ02FE1Mx2ZoQ/wZ6/PHe/umymVNnW/UZEfQ32dkFR+dQIaKcSkkH7IysuFjgiegqAoWD ZRKlyGCkTxxVTkpjTTFteurE7Fpyr0yRQavS0bXfDbrZvl0Wnl65en3uFCd4oGMkQWCYyE bfASy0sqMVtzgJyzyE2+xaVqJ/q++Sns7nagK9u3uVQ4x6AEkMbwyPTttXeumQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1711735909; a=rsa-sha256; cv=none; b=oXy4fBAsTHifQqsItVwxCXtQY2gDza62xMuj1RIYMCij2gugzX5usevdzYFlTDS2O8UgMV v5JcNpfJ13I8Y7pGRfNSvlOGcHUyzQEm5bjo6/LXef2k7U5shwX2b7naji9JRts5UcAyRT emQe1AYhfUad2qPTXEjncoSJq9Cbuem3vnQ4EAGNEP8X1Z+44KTastLoTWmtyo8yZCu4q9 RsLKnbMi5perE57eCFX5PNZ5MmTm1ACqN6cqPl7fHnTBwodHtY6G7l4lhXVyFihoW3fShK 4zqK6krQXzUZqby6wfAb64K3kUpzcz4qH5ASuOpibqu0lzO8kdUZSFtrB2fEDg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1711735909; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wfWI8JTjd8JdqG/J/yY0DT0BQBltJn2j1vmQ+q7jWjQ=; b=lq0hptUd6Y59VGX2iT8zGpS9axPw63U7CY6K1zol1QYyTDrOm73ZHZtqT/df2XCK5axRrZ 4ZQo3RP3O60cY2aXG1+aAWr5tkTtf4F9HuCdMNUEe5ZzUDp9uoXtFpJ454S9+/7Fny/rsA YwD86INYj11FWIkRygMfSKQCMRavNjPww2C71JSnxlNuaSz286HiBQVZOTO9IchyFbYFi1 mzqUjMp9ugep8RtdGCPl/1clY6edzX2noAjWiEwouV6okOV2SFtTtSE7WRoSbynL4mVS80 DnQJiM/VEnVd1KoClR8iHJdh1EAyaAvxoGSE4UN/CiHVoZSqftUoJvfMVDPUiw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4V5pQD5BSBzM3D; Fri, 29 Mar 2024 18:11:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 42TIBmHh078129; Fri, 29 Mar 2024 18:11:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 42TIBmon078126; Fri, 29 Mar 2024 18:11:48 GMT (envelope-from git) Date: Fri, 29 Mar 2024 18:11:48 GMT Message-Id: <202403291811.42TIBmon078126@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: 0b9dffed30ba - stable/14 - ossl: Move arm_arch.h to a common subdirectory List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 0b9dffed30bad28cf9b9d356480f38065db3051f Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=0b9dffed30bad28cf9b9d356480f38065db3051f commit 0b9dffed30bad28cf9b9d356480f38065db3051f Author: Mark Johnston AuthorDate: 2023-12-04 17:29:11 +0000 Commit: Mark Johnston CommitDate: 2024-03-29 13:53:05 +0000 ossl: Move arm_arch.h to a common subdirectory OpenSSL itself keeps only a single copy of this header. Do the same in sys/crypto/openssl to avoid the extra maintenance burden. This requires adjusting the include paths for generated asm files. No functional change intended. Reported by: jrtc27 Reviewed by: jhb MFC after: 3 months Differential Revision: https://reviews.freebsd.org/D42866 (cherry picked from commit e655cc70dfcda5cfedb5a1d9bef1e87d55519f64) --- secure/lib/libcrypto/Makefile.asm | 3 +- sys/conf/files.arm | 23 +++++--- sys/conf/files.arm64 | 6 +-- sys/crypto/openssl/arm/arm_arch.h | 84 ----------------------------- sys/crypto/openssl/arm/ossl_aes_gcm.c | 2 +- sys/crypto/openssl/{aarch64 => }/arm_arch.h | 0 sys/crypto/openssl/ossl_aarch64.c | 2 +- sys/crypto/openssl/ossl_aarch64.h | 2 +- sys/crypto/openssl/ossl_arm.c | 2 +- sys/modules/armv8crypto/Makefile | 3 +- sys/modules/ossl/Makefile | 2 + 11 files changed, 28 insertions(+), 101 deletions(-) diff --git a/secure/lib/libcrypto/Makefile.asm b/secure/lib/libcrypto/Makefile.asm index 644965c1ac1c..d4f7269aa500 100644 --- a/secure/lib/libcrypto/Makefile.asm +++ b/secure/lib/libcrypto/Makefile.asm @@ -46,7 +46,7 @@ ASM= ${SRCS:R:S/$/.S/} sha256-armv8.S 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 @@ ASM= ${SRCS:R:S/$/.S/} 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 index 7e6cb6132a13..fbd294ebdb42 100644 --- a/sys/conf/files.arm +++ b/sys/conf/files.arm @@ -135,15 +135,22 @@ libkern/umoddi3.c standard 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 index baf8734fb38f..6c9f77c2eebd 100644 --- a/sys/conf/files.arm64 +++ b/sys/conf/files.arm64 @@ -119,17 +119,17 @@ dev/iommu/iommu_gas.c optional iommu 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 index 8b7105571d78..000000000000 --- 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 index 71a977c446ae..e51b7b4fbc04 100644 --- a/sys/crypto/openssl/arm/ossl_aes_gcm.c +++ b/sys/crypto/openssl/arm/ossl_aes_gcm.c @@ -15,7 +15,7 @@ #include #include #include -#include +#include #include diff --git a/sys/crypto/openssl/aarch64/arm_arch.h b/sys/crypto/openssl/arm_arch.h similarity index 100% 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.c b/sys/crypto/openssl/ossl_aarch64.c index b53abd905f6d..a9d0b0bbe211 100644 --- a/sys/crypto/openssl/ossl_aarch64.c +++ b/sys/crypto/openssl/ossl_aarch64.c @@ -35,7 +35,7 @@ #include #include -#include +#include /* * Feature bits defined in arm_arch.h diff --git a/sys/crypto/openssl/ossl_aarch64.h b/sys/crypto/openssl/ossl_aarch64.h index f933f862d009..57183aa9ed69 100644 --- a/sys/crypto/openssl/ossl_aarch64.h +++ b/sys/crypto/openssl/ossl_aarch64.h @@ -12,7 +12,7 @@ #include #include -#include +#include /* aesv8-armx.S */ ossl_cipher_encrypt_t aes_v8_cbc_encrypt; diff --git a/sys/crypto/openssl/ossl_arm.c b/sys/crypto/openssl/ossl_arm.c index 74dc25586464..97215007c663 100644 --- a/sys/crypto/openssl/ossl_arm.c +++ b/sys/crypto/openssl/ossl_arm.c @@ -39,7 +39,7 @@ __FBSDID("$FreeBSD$"); #include #include -#include +#include 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 index da8e962c0307..74ea77fbb761 100644 --- 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 @@ SRCS+= device_if.h bus_if.h opt_bus.h cryptodev_if.h 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 index 804ffb5e1b70..9777e0bcfacc 100644 --- a/sys/modules/ossl/Makefile +++ b/sys/modules/ossl/Makefile @@ -61,6 +61,8 @@ SRCS.i386= \ 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