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) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  2)  * arch/xtensa/boot/boot-elf/bootstrap.S
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  3)  *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  4)  * Low-level exception handling
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  5)  *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  6)  * This file is subject to the terms and conditions of the GNU General Public
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  7)  * License.  See the file "COPYING" in the main directory of this archive
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  8)  * for more details.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  9)  *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10)  * Copyright (C) 2004 - 2013 by Tensilica Inc.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11)  *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12)  * Chris Zankel <chris@zankel.net>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13)  * Marc Gauthier <marc@tensilica.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14)  * Piet Delaney <piet@tensilica.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15)  */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) #include <asm/bootparam.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) #include <asm/initialize_mmu.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) #include <asm/vectors.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) #include <linux/linkage.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) 	.section	.ResetVector.text, "ax"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) 	.global         _ResetVector
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) 	.global         reset
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) _ResetVector:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) 	_j _SetupMMU
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) 	.begin  no-absolute-literals
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) 	.literal_position
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) #ifdef CONFIG_PARSE_BOOTPARAM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) 	.align 4
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) _bootparam:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) 	.short	BP_TAG_FIRST
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) 	.short	4
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) 	.long	BP_VERSION
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) 	.short	BP_TAG_LAST
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) 	.short	0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) 	.long	0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) #endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) 	.align  4
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) _SetupMMU:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) 	movi	a0, 0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) 	wsr	a0, windowbase
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) 	rsync
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) 	movi	a0, 1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) 	wsr	a0, windowstart
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) 	rsync
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) 	movi	a0, 0x1F
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) 	wsr	a0, ps
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) 	rsync
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) #ifndef CONFIG_INITIALIZE_XTENSA_MMU_INSIDE_VMLINUX
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) 	initialize_mmu
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) #endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) 	rsil    a0, XCHAL_DEBUGLEVEL-1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) 	rsync
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) reset:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) #if defined(CONFIG_INITIALIZE_XTENSA_MMU_INSIDE_VMLINUX) && \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) 	XCHAL_HAVE_PTP_MMU && XCHAL_HAVE_SPANNING_WAY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) 	movi	a0, CONFIG_KERNEL_LOAD_ADDRESS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) #else
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) 	movi	a0, KERNELOFFSET
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) #endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) #ifdef CONFIG_PARSE_BOOTPARAM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) 	movi	a2, _bootparam
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) #else
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) 	movi	a2, 0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) #endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73) 	movi	a3, 0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74) 	movi	a4, 0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) 	jx      a0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77) 	.end    no-absolute-literals