summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/arch/i386
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/i386
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/i386')
-rw-r--r--src/lib/libcrypto/arch/i386/Makefile.inc9
-rw-r--r--src/lib/libcrypto/arch/i386/crypto_arch.h34
2 files changed, 35 insertions, 8 deletions
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