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-or-later */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  2) #ifndef _PPC64_PPC_ASM_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  3) #define _PPC64_PPC_ASM_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  4) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  5)  *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  6)  * Definitions used by various bits of low-level assembly code on PowerPC.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  7)  *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  8)  * Copyright (C) 1995-1999 Gary Thomas, Paul Mackerras, Cort Dougan.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  9)  */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) /* Condition Register Bit Fields */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) #define	cr0	0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) #define	cr1	1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) #define	cr2	2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) #define	cr3	3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) #define	cr4	4
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) #define	cr5	5
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) #define	cr6	6
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) #define	cr7	7
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) /* General Purpose Registers (GPRs) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) #define	r0	0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) #define	r1	1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) #define	r2	2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) #define	r3	3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) #define	r4	4
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) #define	r5	5
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) #define	r6	6
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) #define	r7	7
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) #define	r8	8
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) #define	r9	9
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) #define	r10	10
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) #define	r11	11
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) #define	r12	12
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) #define	r13	13
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) #define	r14	14
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) #define	r15	15
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) #define	r16	16
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) #define	r17	17
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) #define	r18	18
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) #define	r19	19
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) #define	r20	20
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) #define	r21	21
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) #define	r22	22
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) #define	r23	23
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) #define	r24	24
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) #define	r25	25
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) #define	r26	26
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) #define	r27	27
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) #define	r28	28
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) #define	r29	29
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) #define	r30	30
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) #define	r31	31
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) #define SPRN_TBRL	268
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) #define SPRN_TBRU	269
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) #define SPRN_HSRR0	0x13A	/* Hypervisor Save/Restore 0 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) #define SPRN_HSRR1	0x13B	/* Hypervisor Save/Restore 1 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) #define MSR_LE		0x0000000000000001
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) #define FIXUP_ENDIAN						   \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) 	tdi   0,0,0x48;	  /* Reverse endian of b . + 8		*/ \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) 	b     $+44;	  /* Skip trampoline if endian is good	*/ \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) 	.long 0xa600607d; /* mfmsr r11				*/ \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) 	.long 0x01006b69; /* xori r11,r11,1			*/ \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) 	.long 0x00004039; /* li r10,0				*/ \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) 	.long 0x6401417d; /* mtmsrd r10,1			*/ \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) 	.long 0x05009f42; /* bcl 20,31,$+4			*/ \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73) 	.long 0xa602487d; /* mflr r10				*/ \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74) 	.long 0x14004a39; /* addi r10,r10,20			*/ \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) 	.long 0xa6035a7d; /* mtsrr0 r10				*/ \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76) 	.long 0xa6037b7d; /* mtsrr1 r11				*/ \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77) 	.long 0x2400004c  /* rfid				*/
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79) #ifdef CONFIG_PPC_8xx
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80) #define MFTBL(dest)			mftb dest
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 81) #define MFTBU(dest)			mftbu dest
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 82) #else
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 83) #define MFTBL(dest)			mfspr dest, SPRN_TBRL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 84) #define MFTBU(dest)			mfspr dest, SPRN_TBRU
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 85) #endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 86) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 87) #endif /* _PPC64_PPC_ASM_H */