summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/arch
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libcrypto/arch')
-rw-r--r--src/lib/libcrypto/arch/alpha/Makefile.inc9
-rw-r--r--src/lib/libcrypto/arch/arm/armv4cpuid.S96
-rw-r--r--src/lib/libcrypto/arch/hppa/Makefile.inc9
-rw-r--r--src/lib/libcrypto/arch/powerpc/Makefile.inc8
-rw-r--r--src/lib/libcrypto/arch/powerpc64/Makefile.inc8
5 files changed, 6 insertions, 124 deletions
diff --git a/src/lib/libcrypto/arch/alpha/Makefile.inc b/src/lib/libcrypto/arch/alpha/Makefile.inc
index 3b693c2ad2..9d1eab835c 100644
--- a/src/lib/libcrypto/arch/alpha/Makefile.inc
+++ b/src/lib/libcrypto/arch/alpha/Makefile.inc
@@ -1,4 +1,4 @@
1# $OpenBSD: Makefile.inc,v 1.4 2019/05/11 13:05:24 tb Exp $ 1# $OpenBSD: Makefile.inc,v 1.5 2023/01/17 15:04:27 miod Exp $
2 2
3# alpha-specific libcrypto build rules 3# alpha-specific libcrypto build rules
4 4
@@ -32,10 +32,3 @@ ${f}.S: ${LCRYPTO_SRC}/${dir}/asm/${f}.pl
32 /usr/bin/perl \ 32 /usr/bin/perl \
33 ${LCRYPTO_SRC}/${dir}/asm/${f}.pl > ${.TARGET} 33 ${LCRYPTO_SRC}/${dir}/asm/${f}.pl > ${.TARGET}
34.endfor 34.endfor
35
36CFLAGS+= -DOPENSSL_CPUID_OBJ
37SRCS+= alphacpuid.S
38GENERATED+=alphacpuid.S
39alphacpuid.S: ${LCRYPTO_SRC}/alphacpuid.pl
40 /usr/bin/perl \
41 ${LCRYPTO_SRC}/alphacpuid.pl > ${.TARGET}
diff --git a/src/lib/libcrypto/arch/arm/armv4cpuid.S b/src/lib/libcrypto/arch/arm/armv4cpuid.S
index bb9abafebe..db0b54e496 100644
--- a/src/lib/libcrypto/arch/arm/armv4cpuid.S
+++ b/src/lib/libcrypto/arch/arm/armv4cpuid.S
@@ -9,43 +9,6 @@
9#undef __thumb2__ 9#undef __thumb2__
10#endif 10#endif
11 11
12.align 5
13.globl OPENSSL_atomic_add
14.type OPENSSL_atomic_add,%function
15OPENSSL_atomic_add:
16#if __ARM_ARCH__>=6
17.Ladd: ldrex r2,[r0]
18 add r3,r2,r1
19 strex r2,r3,[r0]
20 cmp r2,#0
21 bne .Ladd
22 mov r0,r3
23 bx lr
24#else
25 stmdb sp!,{r4,r5,r6,lr}
26 ldr r2,.Lspinlock
27 adr r3,.Lspinlock
28 mov r4,r0
29 mov r5,r1
30 add r6,r3,r2 @ &spinlock
31 b .+8
32.Lspin: bl sched_yield
33 mov r0,#-1
34 swp r0,r0,[r6]
35 cmp r0,#0
36 bne .Lspin
37
38 ldr r2,[r4]
39 add r2,r2,r5
40 str r2,[r4]
41 str r0,[r6] @ release spinlock
42 ldmia sp!,{r4,r5,r6,lr}
43 tst lr,#1
44 moveq pc,lr
45.word 0xe12fff1e @ bx lr
46#endif
47.size OPENSSL_atomic_add,.-OPENSSL_atomic_add
48
49#if __ARM_ARCH__>=7 12#if __ARM_ARCH__>=7
50.arch armv7-a 13.arch armv7-a
51.fpu neon 14.fpu neon
@@ -102,64 +65,5 @@ _armv8_pmull_probe:
102.size _armv8_pmull_probe,.-_armv8_pmull_probe 65.size _armv8_pmull_probe,.-_armv8_pmull_probe
103#endif 66#endif
104 67
105.globl OPENSSL_wipe_cpu
106.type OPENSSL_wipe_cpu,%function
107OPENSSL_wipe_cpu:
108#if __ARM_ARCH__>=7
109 ldr r0,.LOPENSSL_armcap
110 adr r1,.LOPENSSL_armcap
111 ldr r0,[r1,r0]
112#ifdef __APPLE__
113 ldr r0,[r0]
114#endif
115#endif
116 eor r2,r2,r2
117 eor r3,r3,r3
118 eor ip,ip,ip
119#if __ARM_ARCH__>=7
120 tst r0,#1
121 beq .Lwipe_done
122 veor q0, q0, q0
123 veor q1, q1, q1
124 veor q2, q2, q2
125 veor q3, q3, q3
126 veor q8, q8, q8
127 veor q9, q9, q9
128 veor q10, q10, q10
129 veor q11, q11, q11
130 veor q12, q12, q12
131 veor q13, q13, q13
132 veor q14, q14, q14
133 veor q15, q15, q15
134.Lwipe_done:
135#endif
136 mov r0,sp
137#if __ARM_ARCH__>=5
138 bx lr
139#else
140 tst lr,#1
141 moveq pc,lr
142.word 0xe12fff1e @ bx lr
143#endif
144.size OPENSSL_wipe_cpu,.-OPENSSL_wipe_cpu
145
146.align 5
147#if __ARM_ARCH__>=7
148.LOPENSSL_armcap:
149.word OPENSSL_armcap_P-.
150#endif
151#if __ARM_ARCH__>=6
152.align 5
153#else
154.Lspinlock:
155.word atomic_add_spinlock-.Lspinlock
156.align 5
157
158.data
159.align 2
160atomic_add_spinlock:
161.word 0
162#endif
163
164.comm OPENSSL_armcap_P,4,4 68.comm OPENSSL_armcap_P,4,4
165.hidden OPENSSL_armcap_P 69.hidden OPENSSL_armcap_P
diff --git a/src/lib/libcrypto/arch/hppa/Makefile.inc b/src/lib/libcrypto/arch/hppa/Makefile.inc
index eb15810f38..76affc391d 100644
--- a/src/lib/libcrypto/arch/hppa/Makefile.inc
+++ b/src/lib/libcrypto/arch/hppa/Makefile.inc
@@ -1,4 +1,4 @@
1# $OpenBSD: Makefile.inc,v 1.12 2023/01/13 17:11:41 miod Exp $ 1# $OpenBSD: Makefile.inc,v 1.13 2023/01/17 15:04:27 miod Exp $
2 2
3# hppa-specific libcrypto build rules 3# hppa-specific libcrypto build rules
4 4
@@ -40,10 +40,3 @@ ${dst}.S: ${LCRYPTO_SRC}/${dir}/asm/${src}.pl
40 /usr/bin/perl \ 40 /usr/bin/perl \
41 ${LCRYPTO_SRC}/${dir}/asm/${src}.pl 32 ${.TARGET} > ${.TARGET} 41 ${LCRYPTO_SRC}/${dir}/asm/${src}.pl 32 ${.TARGET} > ${.TARGET}
42.endfor 42.endfor
43
44CFLAGS+= -DOPENSSL_CPUID_OBJ
45SRCS+= pariscid.S
46GENERATED+=pariscid.S
47pariscid.S: ${LCRYPTO_SRC}/pariscid.pl
48 /usr/bin/perl \
49 ${LCRYPTO_SRC}/pariscid.pl 32 > ${.TARGET}
diff --git a/src/lib/libcrypto/arch/powerpc/Makefile.inc b/src/lib/libcrypto/arch/powerpc/Makefile.inc
index 2682fc9e21..6c168c7989 100644
--- a/src/lib/libcrypto/arch/powerpc/Makefile.inc
+++ b/src/lib/libcrypto/arch/powerpc/Makefile.inc
@@ -1,4 +1,4 @@
1# $OpenBSD: Makefile.inc,v 1.3 2019/05/11 13:05:25 tb Exp $ 1# $OpenBSD: Makefile.inc,v 1.4 2023/01/17 15:04:27 miod Exp $
2 2
3# powerpc-specific libcrypto build rules 3# powerpc-specific libcrypto build rules
4 4
@@ -37,8 +37,4 @@ ${dst}.S: ${LCRYPTO_SRC}/${dir}/asm/${src}.pl
37.endfor 37.endfor
38 38
39#CFLAGS+= -DOPENSSL_CPUID_OBJ # it's commented out in ppccap.c 39#CFLAGS+= -DOPENSSL_CPUID_OBJ # it's commented out in ppccap.c
40SRCS+= ppccpuid.S ppccap.c 40SRCS+= ppccap.c
41GENERATED+=ppccpuid.S
42ppccpuid.S: ${LCRYPTO_SRC}/ppccpuid.pl
43 /usr/bin/perl \
44 ${LCRYPTO_SRC}/ppccpuid.pl linux32 > ${.TARGET}
diff --git a/src/lib/libcrypto/arch/powerpc64/Makefile.inc b/src/lib/libcrypto/arch/powerpc64/Makefile.inc
index 0713b8cd94..51e1c569dc 100644
--- a/src/lib/libcrypto/arch/powerpc64/Makefile.inc
+++ b/src/lib/libcrypto/arch/powerpc64/Makefile.inc
@@ -1,4 +1,4 @@
1# $OpenBSD: Makefile.inc,v 1.4 2020/06/29 15:32:44 kettenis Exp $ 1# $OpenBSD: Makefile.inc,v 1.5 2023/01/17 15:04:27 miod Exp $
2 2
3# powerpc-specific libcrypto build rules 3# powerpc-specific libcrypto build rules
4 4
@@ -38,8 +38,4 @@ ${dst}.S: ${LCRYPTO_SRC}/${dir}/asm/${src}.pl
38.endfor 38.endfor
39 39
40#CFLAGS+= -DOPENSSL_CPUID_OBJ # it's commented out in ppccap.c 40#CFLAGS+= -DOPENSSL_CPUID_OBJ # it's commented out in ppccap.c
41SRCS+= ppccpuid.S ppccap.c 41SRCS+= ppccap.c
42GENERATED+=ppccpuid.S
43ppccpuid.S: ${LCRYPTO_SRC}/ppccpuid.pl
44 /usr/bin/perl \
45 ${LCRYPTO_SRC}/ppccpuid.pl linux32 > ${.TARGET}