1
2
3
4
5
6
7
8
9
10 #define __ASSEMBLY__
11 #include <asm/system.h>
12
13 #define halt .long PAL_halt
14
15 .globl swapper_pg_dir
16 .globl _stext
17 swapper_pg_dir=SWAPPER_PGD
18
19 .set noreorder
20 .globl __start
21 .ent __start
22 _stext:
23 __start:
24 br $27,1f
25 1: ldgp $29,0($27)
26 lda $27,start_kernel
27 jsr $26,($27),start_kernel
28 halt
29 .end __start
30
31 .align 3
32 .globl wrent
33 .ent wrent
34 wrent:
35 .long PAL_wrent
36 ret ($26)
37 .end wrent
38
39 .align 3
40 .globl wrkgp
41 .ent wrkgp
42 wrkgp:
43 .long PAL_wrkgp
44 ret ($26)
45 .end wrkgp
46
47 .align 3
48 .globl wrusp
49 .ent wrusp
50 wrusp:
51 .long PAL_wrusp
52 ret ($26)
53 .end wrusp
54
55 .align 3
56 .globl rdusp
57 .ent rdusp
58 rdusp:
59 .long PAL_rdusp
60 ret ($26)
61 .end rdusp
62
63 .align 3
64 .globl tbi
65 .ent tbi
66 tbi:
67 .long PAL_tbi
68 ret ($26)
69 .end tbi
70
71 .align 3
72 .globl imb
73 .ent imb
74 imb:
75 .long PAL_imb
76 ret ($26)
77 .end imb
78
79 .align 3
80 .globl rdmces
81 .ent rdmces
82 rdmces:
83 call_pal PAL_rdmces
84 ret ($26)
85 .end rdmces
86
87 .align 3
88 .globl wrmces
89 .ent wrmces
90 wrmces:
91 call_pal PAL_wrmces
92 ret ($26)
93 .end wrmces
94
95 #
96
97
98
99
100 #
101 .align 3
102 .globl rdfpcr
103 .ent rdfpcr
104 rdfpcr:
105 lda $30,-0x10($30)
106 stt $f0,0($30)
107 mf_fpcr $f0
108 stt $f0,8($30)
109 ldt $f0,0($30)
110 ldq $0,8($30)
111 lda $30,0x10($30)
112 ret ($26)
113 .end rdfpcr
114
115 .align 3
116 .globl wrfpcr
117 .ent wrfpcr
118 wrfpcr:
119 lda $30,-0x10($30)
120 stt $f0,0($30)
121 stq $16,8($30)
122 ldt $f0,8($30)
123 mt_fpcr $f0
124 ldt $f0,0($30)
125 lda $30,0x10($30)
126 ret ($26)
127 .end wrfpcr