1
2
3
4
5
6
7
8
9
10#include <linux/init.h>
11#include <asm/system.h>
12#include <asm/asm-offsets.h>
13
14__HEAD
15.globl swapper_pg_dir
16.globl _stext
17swapper_pg_dir=SWAPPER_PGD
18
19 .set noreorder
20 .globl __start
21 .ent __start
22_stext:
23__start:
24 .prologue 0
25 br $27,1f
261: ldgp $29,0($27)
27
28 lda $8,init_thread_union
29
30 lda $30,0x4000 - SIZEOF_PT_REGS($8)
31
32 jsr $26,start_kernel
33 call_pal PAL_halt
34 .end __start
35
36#ifdef CONFIG_SMP
37 .align 3
38 .globl __smp_callin
39 .ent __smp_callin
40
41
42
43
44__smp_callin:
45 .prologue 1
46 ldgp $29,0($27)
47
48 call_pal PAL_rduniq
49 mov $0,$16
50 call_pal PAL_swpctx
51
52 lda $8,0x3fff
53 bic $30,$8,$8
54
55 jsr $26,smp_callin
56 call_pal PAL_halt
57 .end __smp_callin
58#endif
59
60
61
62
63
64
65
66 .align 3
67 .globl cserve_ena
68 .ent cserve_ena
69cserve_ena:
70 .prologue 0
71 bis $16,$16,$17
72 lda $16,52($31)
73 call_pal PAL_cserve
74 ret ($26)
75 .end cserve_ena
76
77 .align 3
78 .globl cserve_dis
79 .ent cserve_dis
80cserve_dis:
81 .prologue 0
82 bis $16,$16,$17
83 lda $16,53($31)
84 call_pal PAL_cserve
85 ret ($26)
86 .end cserve_dis
87
88
89
90
91
92
93
94 .align 3
95 .globl halt
96 .ent halt
97halt:
98 .prologue 0
99 call_pal PAL_halt
100 .end halt
101