repo: https://github.com/T-head-Semi/linux commit: b1313fe517ca3703119dcc99ef3bbf75ab42bcfb Change-Id: I6cbb35294024ea3a66140e311f4bb705fd7fd626
37 lines
587 B
ArmAsm
37 lines
587 B
ArmAsm
/* 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
|
|
|
|
/* copy msa1 from CPU0 */
|
|
lrw r6, secondary_msa1
|
|
ld.w r6, (r6, 0)
|
|
mtcr r6, cr<31, 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
|