diff options
Diffstat (limited to 'src/lib/libcrypto/armv4cpuid.S')
| -rw-r--r-- | src/lib/libcrypto/armv4cpuid.S | 99 |
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 | ||
| 18 | OPENSSL_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 | ||
| 54 | OPENSSL_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 | ||
| 94 | atomic_add_spinlock: | ||
| 95 | .word 0 | ||
| 96 | #endif | ||
| 97 | |||
| 98 | .comm OPENSSL_armcap_P,4,4 | ||
| 99 | .hidden OPENSSL_armcap_P | ||
