Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  1) /* SPDX-License-Identifier: GPL-2.0 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  2) #include <linux/linkage.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  3) #include <asm/visasm.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  4) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  5) #include "opcodes.h"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  6) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  7) ENTRY(sha256_sparc64_transform)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  8) 	/* %o0 = digest, %o1 = data, %o2 = rounds */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  9) 	VISEntryHalf
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) 	ld	[%o0 + 0x00], %f0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) 	ld	[%o0 + 0x04], %f1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) 	ld	[%o0 + 0x08], %f2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) 	ld	[%o0 + 0x0c], %f3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) 	ld	[%o0 + 0x10], %f4
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) 	ld	[%o0 + 0x14], %f5
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) 	andcc	%o1, 0x7, %g0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) 	ld	[%o0 + 0x18], %f6
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) 	bne,pn	%xcc, 10f
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) 	 ld	[%o0 + 0x1c], %f7
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) 1:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) 	ldd	[%o1 + 0x00], %f8
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) 	ldd	[%o1 + 0x08], %f10
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) 	ldd	[%o1 + 0x10], %f12
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) 	ldd	[%o1 + 0x18], %f14
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) 	ldd	[%o1 + 0x20], %f16
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) 	ldd	[%o1 + 0x28], %f18
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) 	ldd	[%o1 + 0x30], %f20
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) 	ldd	[%o1 + 0x38], %f22
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) 	SHA256
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) 	subcc	%o2, 1, %o2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) 	bne,pt	%xcc, 1b
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) 	 add	%o1, 0x40, %o1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) 5:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) 	st	%f0, [%o0 + 0x00]
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) 	st	%f1, [%o0 + 0x04]
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) 	st	%f2, [%o0 + 0x08]
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) 	st	%f3, [%o0 + 0x0c]
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) 	st	%f4, [%o0 + 0x10]
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) 	st	%f5, [%o0 + 0x14]
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) 	st	%f6, [%o0 + 0x18]
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) 	st	%f7, [%o0 + 0x1c]
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) 	retl
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) 	 VISExitHalf
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) 10:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) 	alignaddr %o1, %g0, %o1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) 	ldd	[%o1 + 0x00], %f10
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) 1:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) 	ldd	[%o1 + 0x08], %f12
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) 	ldd	[%o1 + 0x10], %f14
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) 	ldd	[%o1 + 0x18], %f16
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) 	ldd	[%o1 + 0x20], %f18
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) 	ldd	[%o1 + 0x28], %f20
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) 	ldd	[%o1 + 0x30], %f22
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) 	ldd	[%o1 + 0x38], %f24
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) 	ldd	[%o1 + 0x40], %f26
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) 	faligndata %f10, %f12, %f8
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) 	faligndata %f12, %f14, %f10
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) 	faligndata %f14, %f16, %f12
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) 	faligndata %f16, %f18, %f14
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) 	faligndata %f18, %f20, %f16
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) 	faligndata %f20, %f22, %f18
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) 	faligndata %f22, %f24, %f20
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) 	faligndata %f24, %f26, %f22
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) 	SHA256
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73) 	subcc	%o2, 1, %o2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74) 	fsrc2	%f26, %f10
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) 	bne,pt	%xcc, 1b
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76) 	 add	%o1, 0x40, %o1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78) 	ba,a,pt	%xcc, 5b
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79) ENDPROC(sha256_sparc64_transform)