1
2
3
4
5
6
7
8 #include <asm/pal.h>
9
10 .set noreorder
11 .globl __start
12 .ent __start
13 __start:
14 br $29,2f
15 2: ldgp $29,0($29)
16 jsr $26,start_kernel
17 call_pal PAL_halt
18 .end __start
19
20 .align 5
21 .globl wrent
22 .ent wrent
23 wrent:
24 .prologue 0
25 call_pal PAL_wrent
26 ret ($26)
27 .end wrent
28
29 .align 5
30 .globl wrkgp
31 .ent wrkgp
32 wrkgp:
33 .prologue 0
34 call_pal PAL_wrkgp
35 ret ($26)
36 .end wrkgp
37
38 .align 5
39 .globl switch_to_osf_pal
40 .ent switch_to_osf_pal
41 switch_to_osf_pal:
42 subq $30,128,$30
43 .frame $30,128,$26
44 stq $26,0($30)
45 stq $1,8($30)
46 stq $2,16($30)
47 stq $3,24($30)
48 stq $4,32($30)
49 stq $5,40($30)
50 stq $6,48($30)
51 stq $7,56($30)
52 stq $8,64($30)
53 stq $9,72($30)
54 stq $10,80($30)
55 stq $11,88($30)
56 stq $12,96($30)
57 stq $13,104($30)
58 stq $14,112($30)
59 stq $15,120($30)
60 .prologue 0
61
62 stq $30,0($17)
63
64 bis $30,$30,$20
65 br $17,1f
66
67 ldq $26,0($30)
68 ldq $1,8($30)
69 ldq $2,16($30)
70 ldq $3,24($30)
71 ldq $4,32($30)
72 ldq $5,40($30)
73 ldq $6,48($30)
74 ldq $7,56($30)
75 ldq $8,64($30)
76 ldq $9,72($30)
77 ldq $10,80($30)
78 ldq $11,88($30)
79 ldq $12,96($30)
80 ldq $13,104($30)
81 ldq $14,112($30)
82 ldq $15,120($30)
83 addq $30,128,$30
84 ret ($26)
85 1: call_pal PAL_swppal
86 .end switch_to_osf_pal
87
88 .align 3
89 .globl tbi
90 .ent tbi
91 tbi:
92 .prologue 0
93 call_pal PAL_tbi
94 ret ($26)
95 .end tbi
96
97 .align 3
98 .globl halt
99 .ent halt
100 halt:
101 .prologue 0
102 call_pal PAL_halt
103 .end halt
104
105
106 .align 3
107 .globl move_stack
108 .ent move_stack
109 move_stack:
110 .prologue 0
111 lda $0, 0x1fff($31)
112 and $0, $30, $1
113 or $1, $16, $16
114 mov $30, $1
115 mov $16, $2
116 1: ldq $3, 0($1)
117 addq $1, 8, $1
118 stq $3, 0($2)
119 and $0, $1, $4
120 addq $2, 8, $2
121 bne $4, 1b
122 mov $16, $30
123 ret ($26)
124 .end move_stack