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) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  3) #define EMITS_PT_NOTE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  4) #define RO_EXCEPTION_TABLE_ALIGN	16
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  5) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  6) #include <asm-generic/vmlinux.lds.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  7) #include <asm/thread_info.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  8) #include <asm/cache.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  9) #include <asm/page.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) #include <asm/setup.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) OUTPUT_FORMAT("elf64-alpha")
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) OUTPUT_ARCH(alpha)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) ENTRY(__start)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) PHDRS { text PT_LOAD; note PT_NOTE; }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) jiffies = jiffies_64;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) SECTIONS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) #ifdef CONFIG_ALPHA_LEGACY_START_ADDRESS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) 	. = 0xfffffc0000310000;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) #else
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) 	. = 0xfffffc0001010000;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) #endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) 	_text = .;	/* Text and read-only data */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) 	.text : {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) 		HEAD_TEXT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) 		TEXT_TEXT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) 		SCHED_TEXT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) 		CPUIDLE_TEXT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) 		LOCK_TEXT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) 		*(.fixup)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) 		*(.gnu.warning)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) 	} :text
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) 	swapper_pg_dir = SWAPPER_PGD;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) 	_etext = .;	/* End of text section */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) 	RO_DATA(4096)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) 	/* Will be freed after init */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) 	__init_begin = ALIGN(PAGE_SIZE);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) 	INIT_TEXT_SECTION(PAGE_SIZE)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) 	INIT_DATA_SECTION(16)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) 	PERCPU_SECTION(L1_CACHE_BYTES)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) 	/* Align to THREAD_SIZE rather than PAGE_SIZE here so any padding page
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) 	   needed for the THREAD_SIZE aligned init_task gets freed after init */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) 	. = ALIGN(THREAD_SIZE);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) 	__init_end = .;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) 	/* Freed after init ends here */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) 	_sdata = .;	/* Start of rw data section */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) 	_data = .;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) 	RW_DATA(L1_CACHE_BYTES, PAGE_SIZE, THREAD_SIZE)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) 	.got : {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) 		*(.got)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) 	}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) 	.sdata : {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) 		*(.sdata)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) 	}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) 	_edata = .;	/* End of data section */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) 	BSS_SECTION(0, 0, 0)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) 	_end = .;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) 	.mdebug 0 : {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) 		*(.mdebug)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) 	}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) 	.note 0 : {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) 		*(.note)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) 	}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73) 	STABS_DEBUG
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74) 	DWARF_DEBUG
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) 	ELF_DETAILS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77) 	DISCARDS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78) }