Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/arch/csky/kernel/head.S
26424 views
1
/* SPDX-License-Identifier: GPL-2.0 */
2
3
#include <linux/linkage.h>
4
#include <linux/init.h>
5
#include <asm/page.h>
6
#include <abi/entry.h>
7
8
__HEAD
9
ENTRY(_start)
10
SETUP_MMU
11
12
/* set stack point */
13
lrw r6, init_thread_union + THREAD_SIZE
14
mov sp, r6
15
16
jmpi csky_start
17
END(_start)
18
19
#ifdef CONFIG_SMP
20
.align 10
21
ENTRY(_start_smp_secondary)
22
SETUP_MMU
23
24
#ifdef CONFIG_PAGE_OFFSET_80000000
25
lrw r6, secondary_msa1
26
ld.w r6, (r6, 0)
27
mtcr r6, cr<31, 15>
28
#endif
29
30
lrw r6, secondary_pgd
31
ld.w r6, (r6, 0)
32
mtcr r6, cr<28, 15>
33
mtcr r6, cr<29, 15>
34
35
/* set stack point */
36
lrw r6, secondary_stack
37
ld.w r6, (r6, 0)
38
mov sp, r6
39
40
jmpi csky_start_secondary
41
END(_start_smp_secondary)
42
#endif
43
44