summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/arch
diff options
context:
space:
mode:
authorjsing <>2024-08-11 13:02:39 +0000
committerjsing <>2024-08-11 13:02:39 +0000
commitb0dd926baf4bcb43c9b178d7c252489f4434c5a8 (patch)
tree8b15d049ee9ab57d9d0970062ec6f18bd01c002c /src/lib/libcrypto/arch
parent04ef9499c2bc221c90eb7bd81841524c46ffde33 (diff)
downloadopenbsd-b0dd926baf4bcb43c9b178d7c252489f4434c5a8.tar.gz
openbsd-b0dd926baf4bcb43c9b178d7c252489f4434c5a8.tar.bz2
openbsd-b0dd926baf4bcb43c9b178d7c252489f4434c5a8.zip
Provide and use crypto_arch.h.
Provide a per architecture crypto_arch.h - this will be used in a similar manner to bn_arch.h and will allow for architecture specific #defines and static inline functions. Move the HAVE_AES_* and HAVE_RC4_* defines here. ok tb@
Diffstat (limited to 'src/lib/libcrypto/arch')
-rw-r--r--src/lib/libcrypto/arch/aarch64/crypto_arch.h21
-rw-r--r--src/lib/libcrypto/arch/alpha/crypto_arch.h21
-rw-r--r--src/lib/libcrypto/arch/amd64/Makefile.inc9
-rw-r--r--src/lib/libcrypto/arch/amd64/crypto_arch.h34
-rw-r--r--src/lib/libcrypto/arch/arm/Makefile.inc4
-rw-r--r--src/lib/libcrypto/arch/arm/crypto_arch.h30
-rw-r--r--src/lib/libcrypto/arch/hppa/Makefile.inc4
-rw-r--r--src/lib/libcrypto/arch/hppa/crypto_arch.h28
-rw-r--r--src/lib/libcrypto/arch/i386/Makefile.inc9
-rw-r--r--src/lib/libcrypto/arch/i386/crypto_arch.h34
-rw-r--r--src/lib/libcrypto/arch/m88k/crypto_arch.h21
-rw-r--r--src/lib/libcrypto/arch/mips64/Makefile.inc6
-rw-r--r--src/lib/libcrypto/arch/mips64/crypto_arch.h30
-rw-r--r--src/lib/libcrypto/arch/powerpc/crypto_arch.h21
-rw-r--r--src/lib/libcrypto/arch/powerpc64/crypto_arch.h21
-rw-r--r--src/lib/libcrypto/arch/riscv64/crypto_arch.h21
-rw-r--r--src/lib/libcrypto/arch/sh/crypto_arch.h21
-rw-r--r--src/lib/libcrypto/arch/sparc64/Makefile.inc4
-rw-r--r--src/lib/libcrypto/arch/sparc64/crypto_arch.h28
19 files changed, 336 insertions, 31 deletions
diff --git a/src/lib/libcrypto/arch/aarch64/crypto_arch.h b/src/lib/libcrypto/arch/aarch64/crypto_arch.h
new file mode 100644
index 0000000000..a3dd98d0ce
--- /dev/null
+++ b/src/lib/libcrypto/arch/aarch64/crypto_arch.h
@@ -0,0 +1,21 @@
1/* $OpenBSD: crypto_arch.h,v 1.1 2024/08/11 13:02:39 jsing Exp $ */
2/*
3 * Copyright (c) 2024 Joel Sing <jsing@openbsd.org>
4 *
5 * Permission to use, copy, modify, and distribute this software for any
6 * purpose with or without fee is hereby granted, provided that the above
7 * copyright notice and this permission notice appear in all copies.
8 *
9 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 */
17
18#ifndef HEADER_CRYPTO_ARCH_H
19#define HEADER_CRYPTO_ARCH_H
20
21#endif
diff --git a/src/lib/libcrypto/arch/alpha/crypto_arch.h b/src/lib/libcrypto/arch/alpha/crypto_arch.h
new file mode 100644
index 0000000000..a3dd98d0ce
--- /dev/null
+++ b/src/lib/libcrypto/arch/alpha/crypto_arch.h
@@ -0,0 +1,21 @@
1/* $OpenBSD: crypto_arch.h,v 1.1 2024/08/11 13:02:39 jsing Exp $ */
2/*
3 * Copyright (c) 2024 Joel Sing <jsing@openbsd.org>
4 *
5 * Permission to use, copy, modify, and distribute this software for any
6 * purpose with or without fee is hereby granted, provided that the above
7 * copyright notice and this permission notice appear in all copies.
8 *
9 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 */
17
18#ifndef HEADER_CRYPTO_ARCH_H
19#define HEADER_CRYPTO_ARCH_H
20
21#endif
diff --git a/src/lib/libcrypto/arch/amd64/Makefile.inc b/src/lib/libcrypto/arch/amd64/Makefile.inc
index 0cf212b186..dd136f76a7 100644
--- a/src/lib/libcrypto/arch/amd64/Makefile.inc
+++ b/src/lib/libcrypto/arch/amd64/Makefile.inc
@@ -1,4 +1,4 @@
1# $OpenBSD: Makefile.inc,v 1.28 2024/06/04 15:14:45 deraadt Exp $ 1# $OpenBSD: Makefile.inc,v 1.29 2024/08/11 13:02:39 jsing Exp $
2 2
3# amd64-specific libcrypto build rules 3# amd64-specific libcrypto build rules
4 4
@@ -13,11 +13,6 @@ SSLASM+= aes bsaes-x86_64
13CFLAGS+= -DVPAES_ASM 13CFLAGS+= -DVPAES_ASM
14SSLASM+= aes vpaes-x86_64 14SSLASM+= aes vpaes-x86_64
15SSLASM+= aes aesni-x86_64 15SSLASM+= aes aesni-x86_64
16CFLAGS+= -DHAVE_AES_CBC_ENCRYPT_INTERNAL
17CFLAGS+= -DHAVE_AES_SET_ENCRYPT_KEY_INTERNAL
18CFLAGS+= -DHAVE_AES_SET_DECRYPT_KEY_INTERNAL
19CFLAGS+= -DHAVE_AES_ENCRYPT_INTERNAL
20CFLAGS+= -DHAVE_AES_DECRYPT_INTERNAL
21# bn 16# bn
22CFLAGS+= -DOPENSSL_IA32_SSE2 17CFLAGS+= -DOPENSSL_IA32_SSE2
23CFLAGS+= -DRSA_ASM 18CFLAGS+= -DRSA_ASM
@@ -48,8 +43,6 @@ SSLASM+= md5 md5-x86_64
48CFLAGS+= -DGHASH_ASM 43CFLAGS+= -DGHASH_ASM
49SSLASM+= modes ghash-x86_64 44SSLASM+= modes ghash-x86_64
50# rc4 45# rc4
51CFLAGS+= -DHAVE_RC4_INTERNAL
52CFLAGS+= -DHAVE_RC4_SET_KEY_INTERNAL
53SSLASM+= rc4 rc4-x86_64 46SSLASM+= rc4 rc4-x86_64
54# ripemd 47# ripemd
55# sha 48# sha
diff --git a/src/lib/libcrypto/arch/amd64/crypto_arch.h b/src/lib/libcrypto/arch/amd64/crypto_arch.h
new file mode 100644
index 0000000000..8e91c25529
--- /dev/null
+++ b/src/lib/libcrypto/arch/amd64/crypto_arch.h
@@ -0,0 +1,34 @@
1/* $OpenBSD: crypto_arch.h,v 1.1 2024/08/11 13:02:39 jsing Exp $ */
2/*
3 * Copyright (c) 2024 Joel Sing <jsing@openbsd.org>
4 *
5 * Permission to use, copy, modify, and distribute this software for any
6 * purpose with or without fee is hereby granted, provided that the above
7 * copyright notice and this permission notice appear in all copies.
8 *
9 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 */
17
18#ifndef HEADER_CRYPTO_ARCH_H
19#define HEADER_CRYPTO_ARCH_H
20
21#ifndef OPENSSL_NO_ASM
22
23#define HAVE_AES_CBC_ENCRYPT_INTERNAL
24#define HAVE_AES_SET_ENCRYPT_KEY_INTERNAL
25#define HAVE_AES_SET_DECRYPT_KEY_INTERNAL
26#define HAVE_AES_ENCRYPT_INTERNAL
27#define HAVE_AES_DECRYPT_INTERNAL
28
29#define HAVE_RC4_INTERNAL
30#define HAVE_RC4_SET_KEY_INTERNAL
31
32#endif
33
34#endif
diff --git a/src/lib/libcrypto/arch/arm/Makefile.inc b/src/lib/libcrypto/arch/arm/Makefile.inc
index 43c0589eb6..b09b54a564 100644
--- a/src/lib/libcrypto/arch/arm/Makefile.inc
+++ b/src/lib/libcrypto/arch/arm/Makefile.inc
@@ -5,10 +5,6 @@
5# aes 5# aes
6CFLAGS+= -DAES_ASM 6CFLAGS+= -DAES_ASM
7SSLASM+= aes aes-armv4 7SSLASM+= aes aes-armv4
8CFLAGS+= -DHAVE_AES_SET_ENCRYPT_KEY_INTERNAL
9CFLAGS+= -DHAVE_AES_SET_DECRYPT_KEY_INTERNAL
10CFLAGS+= -DHAVE_AES_ENCRYPT_INTERNAL
11CFLAGS+= -DHAVE_AES_DECRYPT_INTERNAL
12# bn 8# bn
13CFLAGS+= -DOPENSSL_BN_ASM_MONT 9CFLAGS+= -DOPENSSL_BN_ASM_MONT
14SSLASM+= bn armv4-mont 10SSLASM+= bn armv4-mont
diff --git a/src/lib/libcrypto/arch/arm/crypto_arch.h b/src/lib/libcrypto/arch/arm/crypto_arch.h
new file mode 100644
index 0000000000..4276dc31ea
--- /dev/null
+++ b/src/lib/libcrypto/arch/arm/crypto_arch.h
@@ -0,0 +1,30 @@
1/* $OpenBSD: crypto_arch.h,v 1.1 2024/08/11 13:02:39 jsing Exp $ */
2/*
3 * Copyright (c) 2024 Joel Sing <jsing@openbsd.org>
4 *
5 * Permission to use, copy, modify, and distribute this software for any
6 * purpose with or without fee is hereby granted, provided that the above
7 * copyright notice and this permission notice appear in all copies.
8 *
9 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 */
17
18#ifndef HEADER_CRYPTO_ARCH_H
19#define HEADER_CRYPTO_ARCH_H
20
21#ifndef OPENSSL_NO_ASM
22
23#define HAVE_AES_SET_ENCRYPT_KEY_INTERNAL
24#define HAVE_AES_SET_DECRYPT_KEY_INTERNAL
25#define HAVE_AES_ENCRYPT_INTERNAL
26#define HAVE_AES_DECRYPT_INTERNAL
27
28#endif
29
30#endif
diff --git a/src/lib/libcrypto/arch/hppa/Makefile.inc b/src/lib/libcrypto/arch/hppa/Makefile.inc
index 9796d3a860..4e2675a600 100644
--- a/src/lib/libcrypto/arch/hppa/Makefile.inc
+++ b/src/lib/libcrypto/arch/hppa/Makefile.inc
@@ -1,12 +1,10 @@
1# $OpenBSD: Makefile.inc,v 1.24 2024/03/29 11:00:57 jsing Exp $ 1# $OpenBSD: Makefile.inc,v 1.25 2024/08/11 13:02:39 jsing Exp $
2 2
3# hppa-specific libcrypto build rules 3# hppa-specific libcrypto build rules
4 4
5# aes 5# aes
6CFLAGS+= -DAES_ASM 6CFLAGS+= -DAES_ASM
7SSLASM+= aes aes-parisc aes-parisc 7SSLASM+= aes aes-parisc aes-parisc
8CFLAGS+= -DHAVE_AES_ENCRYPT_INTERNAL
9CFLAGS+= -DHAVE_AES_DECRYPT_INTERNAL
10# bn 8# bn
11SSLASM+= bn parisc-mont parisc-mont 9SSLASM+= bn parisc-mont parisc-mont
12CFLAGS+= -DOPENSSL_BN_ASM_MONT -DBN_DIV2W 10CFLAGS+= -DOPENSSL_BN_ASM_MONT -DBN_DIV2W
diff --git a/src/lib/libcrypto/arch/hppa/crypto_arch.h b/src/lib/libcrypto/arch/hppa/crypto_arch.h
new file mode 100644
index 0000000000..7f1fc36cac
--- /dev/null
+++ b/src/lib/libcrypto/arch/hppa/crypto_arch.h
@@ -0,0 +1,28 @@
1/* $OpenBSD: crypto_arch.h,v 1.1 2024/08/11 13:02:39 jsing Exp $ */
2/*
3 * Copyright (c) 2024 Joel Sing <jsing@openbsd.org>
4 *
5 * Permission to use, copy, modify, and distribute this software for any
6 * purpose with or without fee is hereby granted, provided that the above
7 * copyright notice and this permission notice appear in all copies.
8 *
9 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 */
17
18#ifndef HEADER_CRYPTO_ARCH_H
19#define HEADER_CRYPTO_ARCH_H
20
21#ifndef OPENSSL_NO_ASM
22
23#define HAVE_AES_ENCRYPT_INTERNAL
24#define HAVE_AES_DECRYPT_INTERNAL
25
26#endif
27
28#endif
diff --git a/src/lib/libcrypto/arch/i386/Makefile.inc b/src/lib/libcrypto/arch/i386/Makefile.inc
index 37f6ba32b9..eeaed44f84 100644
--- a/src/lib/libcrypto/arch/i386/Makefile.inc
+++ b/src/lib/libcrypto/arch/i386/Makefile.inc
@@ -1,4 +1,4 @@
1# $OpenBSD: Makefile.inc,v 1.24 2024/03/29 11:00:57 jsing Exp $ 1# $OpenBSD: Makefile.inc,v 1.25 2024/08/11 13:02:39 jsing Exp $
2 2
3# i386-specific libcrypto build rules 3# i386-specific libcrypto build rules
4 4
@@ -11,11 +11,6 @@ SSLASM+= aes aes-586
11CFLAGS+= -DVPAES_ASM 11CFLAGS+= -DVPAES_ASM
12SSLASM+= aes vpaes-x86 12SSLASM+= aes vpaes-x86
13SSLASM+= aes aesni-x86 13SSLASM+= aes aesni-x86
14CFLAGS+= -DHAVE_AES_CBC_ENCRYPT_INTERNAL
15CFLAGS+= -DHAVE_AES_SET_ENCRYPT_KEY_INTERNAL
16CFLAGS+= -DHAVE_AES_SET_DECRYPT_KEY_INTERNAL
17CFLAGS+= -DHAVE_AES_ENCRYPT_INTERNAL
18CFLAGS+= -DHAVE_AES_DECRYPT_INTERNAL
19# bn 14# bn
20CFLAGS+= -DOPENSSL_IA32_SSE2 15CFLAGS+= -DOPENSSL_IA32_SSE2
21SSLASM+= bn bn-586 16SSLASM+= bn bn-586
@@ -29,8 +24,6 @@ SSLASM+= md5 md5-586
29CFLAGS+= -DGHASH_ASM 24CFLAGS+= -DGHASH_ASM
30SSLASM+= modes ghash-x86 25SSLASM+= modes ghash-x86
31# rc4 26# rc4
32CFLAGS+= -DHAVE_RC4_INTERNAL
33CFLAGS+= -DHAVE_RC4_SET_KEY_INTERNAL
34SSLASM+= rc4 rc4-586 27SSLASM+= rc4 rc4-586
35# sha 28# sha
36CFLAGS+= -DSHA1_ASM 29CFLAGS+= -DSHA1_ASM
diff --git a/src/lib/libcrypto/arch/i386/crypto_arch.h b/src/lib/libcrypto/arch/i386/crypto_arch.h
new file mode 100644
index 0000000000..8e91c25529
--- /dev/null
+++ b/src/lib/libcrypto/arch/i386/crypto_arch.h
@@ -0,0 +1,34 @@
1/* $OpenBSD: crypto_arch.h,v 1.1 2024/08/11 13:02:39 jsing Exp $ */
2/*
3 * Copyright (c) 2024 Joel Sing <jsing@openbsd.org>
4 *
5 * Permission to use, copy, modify, and distribute this software for any
6 * purpose with or without fee is hereby granted, provided that the above
7 * copyright notice and this permission notice appear in all copies.
8 *
9 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 */
17
18#ifndef HEADER_CRYPTO_ARCH_H
19#define HEADER_CRYPTO_ARCH_H
20
21#ifndef OPENSSL_NO_ASM
22
23#define HAVE_AES_CBC_ENCRYPT_INTERNAL
24#define HAVE_AES_SET_ENCRYPT_KEY_INTERNAL
25#define HAVE_AES_SET_DECRYPT_KEY_INTERNAL
26#define HAVE_AES_ENCRYPT_INTERNAL
27#define HAVE_AES_DECRYPT_INTERNAL
28
29#define HAVE_RC4_INTERNAL
30#define HAVE_RC4_SET_KEY_INTERNAL
31
32#endif
33
34#endif
diff --git a/src/lib/libcrypto/arch/m88k/crypto_arch.h b/src/lib/libcrypto/arch/m88k/crypto_arch.h
new file mode 100644
index 0000000000..a3dd98d0ce
--- /dev/null
+++ b/src/lib/libcrypto/arch/m88k/crypto_arch.h
@@ -0,0 +1,21 @@
1/* $OpenBSD: crypto_arch.h,v 1.1 2024/08/11 13:02:39 jsing Exp $ */
2/*
3 * Copyright (c) 2024 Joel Sing <jsing@openbsd.org>
4 *
5 * Permission to use, copy, modify, and distribute this software for any
6 * purpose with or without fee is hereby granted, provided that the above
7 * copyright notice and this permission notice appear in all copies.
8 *
9 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 */
17
18#ifndef HEADER_CRYPTO_ARCH_H
19#define HEADER_CRYPTO_ARCH_H
20
21#endif
diff --git a/src/lib/libcrypto/arch/mips64/Makefile.inc b/src/lib/libcrypto/arch/mips64/Makefile.inc
index 41d6b0e888..9e08b442ac 100644
--- a/src/lib/libcrypto/arch/mips64/Makefile.inc
+++ b/src/lib/libcrypto/arch/mips64/Makefile.inc
@@ -1,14 +1,10 @@
1# $OpenBSD: Makefile.inc,v 1.17 2024/03/29 11:00:57 jsing Exp $ 1# $OpenBSD: Makefile.inc,v 1.18 2024/08/11 13:02:39 jsing Exp $
2 2
3# mips64-specific libcrypto build rules 3# mips64-specific libcrypto build rules
4 4
5# aes 5# aes
6CFLAGS+= -DAES_ASM 6CFLAGS+= -DAES_ASM
7SSLASM+= aes aes-mips aes-mips 7SSLASM+= aes aes-mips aes-mips
8CFLAGS+= -DHAVE_AES_SET_ENCRYPT_KEY_INTERNAL
9CFLAGS+= -DHAVE_AES_SET_DECRYPT_KEY_INTERNAL
10CFLAGS+= -DHAVE_AES_ENCRYPT_INTERNAL
11CFLAGS+= -DHAVE_AES_DECRYPT_INTERNAL
12# bn 8# bn
13SSLASM+= bn mips bn-mips 9SSLASM+= bn mips bn-mips
14SSLASM+= bn mips-mont mips-mont 10SSLASM+= bn mips-mont mips-mont
diff --git a/src/lib/libcrypto/arch/mips64/crypto_arch.h b/src/lib/libcrypto/arch/mips64/crypto_arch.h
new file mode 100644
index 0000000000..4276dc31ea
--- /dev/null
+++ b/src/lib/libcrypto/arch/mips64/crypto_arch.h
@@ -0,0 +1,30 @@
1/* $OpenBSD: crypto_arch.h,v 1.1 2024/08/11 13:02:39 jsing Exp $ */
2/*
3 * Copyright (c) 2024 Joel Sing <jsing@openbsd.org>
4 *
5 * Permission to use, copy, modify, and distribute this software for any
6 * purpose with or without fee is hereby granted, provided that the above
7 * copyright notice and this permission notice appear in all copies.
8 *
9 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 */
17
18#ifndef HEADER_CRYPTO_ARCH_H
19#define HEADER_CRYPTO_ARCH_H
20
21#ifndef OPENSSL_NO_ASM
22
23#define HAVE_AES_SET_ENCRYPT_KEY_INTERNAL
24#define HAVE_AES_SET_DECRYPT_KEY_INTERNAL
25#define HAVE_AES_ENCRYPT_INTERNAL
26#define HAVE_AES_DECRYPT_INTERNAL
27
28#endif
29
30#endif
diff --git a/src/lib/libcrypto/arch/powerpc/crypto_arch.h b/src/lib/libcrypto/arch/powerpc/crypto_arch.h
new file mode 100644
index 0000000000..a3dd98d0ce
--- /dev/null
+++ b/src/lib/libcrypto/arch/powerpc/crypto_arch.h
@@ -0,0 +1,21 @@
1/* $OpenBSD: crypto_arch.h,v 1.1 2024/08/11 13:02:39 jsing Exp $ */
2/*
3 * Copyright (c) 2024 Joel Sing <jsing@openbsd.org>
4 *
5 * Permission to use, copy, modify, and distribute this software for any
6 * purpose with or without fee is hereby granted, provided that the above
7 * copyright notice and this permission notice appear in all copies.
8 *
9 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 */
17
18#ifndef HEADER_CRYPTO_ARCH_H
19#define HEADER_CRYPTO_ARCH_H
20
21#endif
diff --git a/src/lib/libcrypto/arch/powerpc64/crypto_arch.h b/src/lib/libcrypto/arch/powerpc64/crypto_arch.h
new file mode 100644
index 0000000000..a3dd98d0ce
--- /dev/null
+++ b/src/lib/libcrypto/arch/powerpc64/crypto_arch.h
@@ -0,0 +1,21 @@
1/* $OpenBSD: crypto_arch.h,v 1.1 2024/08/11 13:02:39 jsing Exp $ */
2/*
3 * Copyright (c) 2024 Joel Sing <jsing@openbsd.org>
4 *
5 * Permission to use, copy, modify, and distribute this software for any
6 * purpose with or without fee is hereby granted, provided that the above
7 * copyright notice and this permission notice appear in all copies.
8 *
9 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 */
17
18#ifndef HEADER_CRYPTO_ARCH_H
19#define HEADER_CRYPTO_ARCH_H
20
21#endif
diff --git a/src/lib/libcrypto/arch/riscv64/crypto_arch.h b/src/lib/libcrypto/arch/riscv64/crypto_arch.h
new file mode 100644
index 0000000000..a3dd98d0ce
--- /dev/null
+++ b/src/lib/libcrypto/arch/riscv64/crypto_arch.h
@@ -0,0 +1,21 @@
1/* $OpenBSD: crypto_arch.h,v 1.1 2024/08/11 13:02:39 jsing Exp $ */
2/*
3 * Copyright (c) 2024 Joel Sing <jsing@openbsd.org>
4 *
5 * Permission to use, copy, modify, and distribute this software for any
6 * purpose with or without fee is hereby granted, provided that the above
7 * copyright notice and this permission notice appear in all copies.
8 *
9 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 */
17
18#ifndef HEADER_CRYPTO_ARCH_H
19#define HEADER_CRYPTO_ARCH_H
20
21#endif
diff --git a/src/lib/libcrypto/arch/sh/crypto_arch.h b/src/lib/libcrypto/arch/sh/crypto_arch.h
new file mode 100644
index 0000000000..a3dd98d0ce
--- /dev/null
+++ b/src/lib/libcrypto/arch/sh/crypto_arch.h
@@ -0,0 +1,21 @@
1/* $OpenBSD: crypto_arch.h,v 1.1 2024/08/11 13:02:39 jsing Exp $ */
2/*
3 * Copyright (c) 2024 Joel Sing <jsing@openbsd.org>
4 *
5 * Permission to use, copy, modify, and distribute this software for any
6 * purpose with or without fee is hereby granted, provided that the above
7 * copyright notice and this permission notice appear in all copies.
8 *
9 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 */
17
18#ifndef HEADER_CRYPTO_ARCH_H
19#define HEADER_CRYPTO_ARCH_H
20
21#endif
diff --git a/src/lib/libcrypto/arch/sparc64/Makefile.inc b/src/lib/libcrypto/arch/sparc64/Makefile.inc
index c4b303f444..9101d8a89d 100644
--- a/src/lib/libcrypto/arch/sparc64/Makefile.inc
+++ b/src/lib/libcrypto/arch/sparc64/Makefile.inc
@@ -1,12 +1,10 @@
1# $OpenBSD: Makefile.inc,v 1.18 2024/03/29 11:00:57 jsing Exp $ 1# $OpenBSD: Makefile.inc,v 1.19 2024/08/11 13:02:39 jsing Exp $
2 2
3# sparc64-specific libcrypto build rules 3# sparc64-specific libcrypto build rules
4 4
5# aes 5# aes
6CFLAGS+= -DAES_ASM 6CFLAGS+= -DAES_ASM
7SSLASM+= aes aes-sparcv9 aes-sparcv9 7SSLASM+= aes aes-sparcv9 aes-sparcv9
8CFLAGS+= -DHAVE_AES_ENCRYPT_INTERNAL
9CFLAGS+= -DHAVE_AES_DECRYPT_INTERNAL
10# bn 8# bn
11# modes 9# modes
12CFLAGS+= -DGHASH_ASM 10CFLAGS+= -DGHASH_ASM
diff --git a/src/lib/libcrypto/arch/sparc64/crypto_arch.h b/src/lib/libcrypto/arch/sparc64/crypto_arch.h
new file mode 100644
index 0000000000..7f1fc36cac
--- /dev/null
+++ b/src/lib/libcrypto/arch/sparc64/crypto_arch.h
@@ -0,0 +1,28 @@
1/* $OpenBSD: crypto_arch.h,v 1.1 2024/08/11 13:02:39 jsing Exp $ */
2/*
3 * Copyright (c) 2024 Joel Sing <jsing@openbsd.org>
4 *
5 * Permission to use, copy, modify, and distribute this software for any
6 * purpose with or without fee is hereby granted, provided that the above
7 * copyright notice and this permission notice appear in all copies.
8 *
9 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 */
17
18#ifndef HEADER_CRYPTO_ARCH_H
19#define HEADER_CRYPTO_ARCH_H
20
21#ifndef OPENSSL_NO_ASM
22
23#define HAVE_AES_ENCRYPT_INTERNAL
24#define HAVE_AES_DECRYPT_INTERNAL
25
26#endif
27
28#endif