| /* SPDX-License-Identifier: GPL-2.0 */ | 
 |  | 
 | #include <linux/linkage.h> | 
 | #include <linux/init.h> | 
 | #include <asm/page.h> | 
 | #include <abi/entry.h> | 
 |  | 
 | __HEAD | 
 | ENTRY(_start) | 
 | 	SETUP_MMU | 
 |  | 
 | 	/* set stack point */ | 
 | 	lrw     r6, init_thread_union + THREAD_SIZE | 
 | 	mov	sp, r6 | 
 |  | 
 | 	jmpi	csky_start | 
 | END(_start) | 
 |  | 
 | #ifdef CONFIG_SMP | 
 | .align 10 | 
 | ENTRY(_start_smp_secondary) | 
 | 	SETUP_MMU | 
 |  | 
 | #ifdef CONFIG_PAGE_OFFSET_80000000 | 
 | 	lrw	r6, secondary_msa1 | 
 | 	ld.w	r6, (r6, 0) | 
 | 	mtcr	r6, cr<31, 15> | 
 | #endif | 
 |  | 
 | 	lrw     r6, secondary_pgd | 
 | 	ld.w	r6, (r6, 0) | 
 | 	mtcr	r6, cr<28, 15> | 
 | 	mtcr	r6, cr<29, 15> | 
 |  | 
 | 	/* set stack point */ | 
 | 	lrw     r6, secondary_stack | 
 | 	ld.w	r6, (r6, 0) | 
 | 	mov	sp, r6 | 
 |  | 
 | 	jmpi	csky_start_secondary | 
 | END(_start_smp_secondary) | 
 | #endif |