summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/armv4cpuid.S
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libcrypto/armv4cpuid.S')
-rw-r--r--src/lib/libcrypto/armv4cpuid.S99
1 files changed, 0 insertions, 99 deletions
diff --git a/src/lib/libcrypto/armv4cpuid.S b/src/lib/libcrypto/armv4cpuid.S
deleted file mode 100644
index 5ca979f3b3..0000000000
--- a/src/lib/libcrypto/armv4cpuid.S
+++ /dev/null
@@ -1,99 +0,0 @@
1#include "arm_arch.h"
2
3.text
4.code 32
5
6.align 5
7#if __ARM_ARCH__>=7
8.global _armv7_neon_probe
9.type _armv7_neon_probe,%function
10_armv7_neon_probe:
11 .word 0xf26ee1fe @ vorr q15,q15,q15
12 .word 0xe12fff1e @ bx lr
13.size _armv7_neon_probe,.-_armv7_neon_probe
14#endif
15
16.global OPENSSL_atomic_add
17.type OPENSSL_atomic_add,%function
18OPENSSL_atomic_add:
19#if __ARM_ARCH__>=6
20.Ladd: ldrex r2,[r0]
21 add r3,r2,r1
22 strex r2,r3,[r0]
23 cmp r2,#0
24 bne .Ladd
25 mov r0,r3
26 .word 0xe12fff1e @ bx lr
27#else
28 stmdb sp!,{r4-r6,lr}
29 ldr r2,.Lspinlock
30 adr r3,.Lspinlock
31 mov r4,r0
32 mov r5,r1
33 add r6,r3,r2 @ &spinlock
34 b .+8
35.Lspin: bl sched_yield
36 mov r0,#-1
37 swp r0,r0,[r6]
38 cmp r0,#0
39 bne .Lspin
40
41 ldr r2,[r4]
42 add r2,r2,r5
43 str r2,[r4]
44 str r0,[r6] @ release spinlock
45 ldmia sp!,{r4-r6,lr}
46 tst lr,#1
47 moveq pc,lr
48 .word 0xe12fff1e @ bx lr
49#endif
50.size OPENSSL_atomic_add,.-OPENSSL_atomic_add
51
52.global OPENSSL_wipe_cpu
53.type OPENSSL_wipe_cpu,%function
54OPENSSL_wipe_cpu:
55 ldr r0,.LOPENSSL_armcap
56 adr r1,.LOPENSSL_armcap
57 ldr r0,[r1,r0]
58 eor r2,r2,r2
59 eor r3,r3,r3
60 eor ip,ip,ip
61 tst r0,#1
62 beq .Lwipe_done
63 .word 0xf3000150 @ veor q0, q0, q0
64 .word 0xf3022152 @ veor q1, q1, q1
65 .word 0xf3044154 @ veor q2, q2, q2
66 .word 0xf3066156 @ veor q3, q3, q3
67 .word 0xf34001f0 @ veor q8, q8, q8
68 .word 0xf34221f2 @ veor q9, q9, q9
69 .word 0xf34441f4 @ veor q10, q10, q10
70 .word 0xf34661f6 @ veor q11, q11, q11
71 .word 0xf34881f8 @ veor q12, q12, q12
72 .word 0xf34aa1fa @ veor q13, q13, q13
73 .word 0xf34cc1fc @ veor q14, q14, q14
74 .word 0xf34ee1fe @ veor q15, q15, q15
75.Lwipe_done:
76 mov r0,sp
77 tst lr,#1
78 moveq pc,lr
79 .word 0xe12fff1e @ bx lr
80.size OPENSSL_wipe_cpu,.-OPENSSL_wipe_cpu
81
82.align 5
83.LOPENSSL_armcap:
84.word OPENSSL_armcap_P-.LOPENSSL_armcap
85#if __ARM_ARCH__>=6
86.align 5
87#else
88.Lspinlock:
89.word atomic_add_spinlock-.Lspinlock
90.align 5
91
92.data
93.align 2
94atomic_add_spinlock:
95.word 0
96#endif
97
98.comm OPENSSL_armcap_P,4,4
99.hidden OPENSSL_armcap_P