Commit | Line | Data |
---|---|---|
05e3da35 KB |
1 | /*- |
2 | * Copyright (c) 1984 The Regents of the University of California. | |
3 | * All rights reserved. | |
4 | * | |
5 | * %sccs.include.redist.c% | |
f566e19b SL |
6 | */ |
7 | ||
8 | #ifndef lint | |
05e3da35 KB |
9 | static char sccsid[] = "@(#)langpats.c 1.8 (Berkeley) %G%"; |
10 | #endif /* not lint */ | |
f566e19b SL |
11 | |
12 | #include "inline.h" | |
13 | ||
14 | /* | |
15 | * Pattern table for kernel specific routines. | |
16 | * These patterns are based on the old asm.sed script. | |
17 | */ | |
18 | struct pats language_ptab[] = { | |
19 | ||
23808d85 | 20 | { 0, "_spl0\n", |
bd1e6d2e SL |
21 | " mfpr $8,r0\n\ |
22 | mtpr $0,$8\n" }, | |
23 | ||
23808d85 | 24 | { 0, "_spl1\n", |
bd1e6d2e SL |
25 | " mfpr $8,r0\n\ |
26 | mtpr $0x11,$8\n" }, | |
27 | ||
23808d85 | 28 | { 0, "_spl3\n", |
bd1e6d2e SL |
29 | " mfpr $8,r0\n\ |
30 | mtpr $0x13,$8\n" }, | |
31 | ||
9cfac8b3 SL |
32 | { 0, "_spl4\n", |
33 | " mfpr $8,r0\n\ | |
34 | mtpr $0x14,$8\n" }, | |
35 | ||
36 | { 0, "_spl5\n", | |
37 | " mfpr $8,r0\n\ | |
38 | mtpr $0x15,$8\n" }, | |
39 | ||
23808d85 | 40 | { 0, "_spl7\n", |
bd1e6d2e SL |
41 | " mfpr $8,r0\n\ |
42 | mtpr $0x17,$8\n" }, | |
43 | ||
23808d85 | 44 | { 0, "_spl8\n", |
bd1e6d2e SL |
45 | " mfpr $8,r0\n\ |
46 | mtpr $0x18,$8\n" }, | |
47 | ||
23808d85 | 48 | { 0, "_splimp\n", |
bd1e6d2e SL |
49 | " mfpr $8,r0\n\ |
50 | mtpr $0x18,$8\n" }, | |
51 | ||
23808d85 | 52 | { 0, "_splsoftclock\n", |
b8f9af77 | 53 | " mfpr $8,r0\n\ |
bd1e6d2e SL |
54 | mtpr $0x8,$8\n" }, |
55 | ||
23808d85 | 56 | { 0, "_splnet\n", |
bd1e6d2e SL |
57 | " mfpr $8,r0\n\ |
58 | mtpr $0xc,$8\n" }, | |
59 | ||
23808d85 | 60 | { 0, "_splbio\n", |
bd1e6d2e SL |
61 | " mfpr $8,r0\n\ |
62 | mtpr $0x18,$8\n" }, | |
63 | ||
23808d85 | 64 | { 0, "_spltty\n", |
bd1e6d2e SL |
65 | " mfpr $8,r0\n\ |
66 | mtpr $0x18,$8\n" }, | |
67 | ||
23808d85 | 68 | { 0, "_splclock\n", |
bd1e6d2e SL |
69 | " mfpr $8,r0\n\ |
70 | mtpr $0x18,$8\n" }, | |
71 | ||
23808d85 | 72 | { 0, "_splhigh\n", |
bd1e6d2e SL |
73 | " mfpr $8,r0\n\ |
74 | mtpr $0x18,$8\n" }, | |
75 | ||
23808d85 | 76 | { 1, "_splx\n", |
bd1e6d2e SL |
77 | " movl (sp)+,r1\n\ |
78 | mfpr $8,r0\n\ | |
79 | mtpr r1,$8\n" }, | |
80 | ||
23808d85 | 81 | { 1, "_mfpr\n", |
bd1e6d2e SL |
82 | " movl (sp)+,r1\n\ |
83 | mfpr r1,r0\n" }, | |
84 | ||
23808d85 | 85 | { 2, "_mtpr\n", |
bd1e6d2e SL |
86 | " movl (sp)+,r1\n\ |
87 | movl (sp)+,r0\n\ | |
88 | mtpr r0,r1\n" }, | |
89 | ||
90 | #ifdef notdef | |
23808d85 | 91 | { 1, "_uncache\n", |
bd1e6d2e SL |
92 | " movl (sp)+,r1\n\ |
93 | mtpr r1,$0x1c\n" }, | |
94 | #endif | |
95 | ||
23808d85 | 96 | { 0, "_setsoftclock\n", |
bd1e6d2e SL |
97 | " mtpr $0x8,$0x10\n" }, |
98 | ||
23808d85 | 99 | { 1, "_fuibyte\n", |
bd1e6d2e SL |
100 | " callf $8,_fubyte\n" }, |
101 | ||
23808d85 | 102 | { 1, "_fuiword\n", |
bd1e6d2e SL |
103 | " callf $8,_fuword\n" }, |
104 | ||
23808d85 | 105 | { 2, "_suibyte\n", |
bd1e6d2e SL |
106 | " callf $12,_subyte\n" }, |
107 | ||
23808d85 | 108 | { 2, "_suiword\n", |
bd1e6d2e SL |
109 | " callf $12,_suword\n" }, |
110 | ||
23808d85 | 111 | { 1, "_ffs\n", |
bd1e6d2e SL |
112 | " movl (sp)+,r1\n\ |
113 | ffs r1,r0\n\ | |
114 | bgeq 1f\n\ | |
115 | mnegl $1,r0\n\ | |
116 | 1:\n\ | |
117 | incl r0\n" }, | |
118 | ||
23808d85 | 119 | { 2, "__insque\n", |
bd1e6d2e SL |
120 | " movl (sp)+,r0\n\ |
121 | movl (sp)+,r1\n\ | |
122 | insque (r0),(r1)\n" }, | |
123 | ||
23808d85 | 124 | { 1, "__remque\n", |
bd1e6d2e SL |
125 | " movl (sp)+,r1\n\ |
126 | remque (r1)\n" }, | |
127 | ||
23808d85 | 128 | { 2, "_imin\n", |
bd1e6d2e SL |
129 | " movl (sp)+,r0\n\ |
130 | movl (sp)+,r1\n\ | |
131 | cmpl r0,r1\n\ | |
132 | bleq 1f\n\ | |
133 | movl r1,r0\n\ | |
134 | 1:\n" }, | |
135 | ||
23808d85 | 136 | { 2, "_imax\n", |
bd1e6d2e SL |
137 | " movl (sp)+,r0\n\ |
138 | movl (sp)+,r1\n\ | |
139 | cmpl r0,r1\n\ | |
140 | bgeq 1f\n\ | |
141 | movl r1,r0\n\ | |
142 | 1:\n" }, | |
143 | ||
23808d85 | 144 | { 2, "_min\n", |
bd1e6d2e SL |
145 | " movl (sp)+,r0\n\ |
146 | movl (sp)+,r1\n\ | |
147 | cmpl r0,r1\n\ | |
148 | blequ 1f\n\ | |
149 | movl r1,r0\n\ | |
150 | 1:\n" }, | |
151 | ||
23808d85 | 152 | { 2, "_max\n", |
bd1e6d2e SL |
153 | " movl (sp)+,r0\n\ |
154 | movl (sp)+,r1\n\ | |
155 | cmpl r0,r1\n\ | |
156 | bgequ 1f\n\ | |
157 | movl r1,r0\n\ | |
158 | 1:\n" }, | |
159 | ||
23808d85 | 160 | { 2, "__movow\n", |
bd1e6d2e SL |
161 | " movl (sp)+,r1\n\ |
162 | movl (sp)+,r0\n\ | |
163 | movow r0,(r1)\n" }, | |
164 | ||
23808d85 | 165 | { 2, "__movob\n", |
bd1e6d2e SL |
166 | " movl (sp)+,r1\n\ |
167 | movl (sp)+,r0\n\ | |
168 | movob r0,(r1)\n" }, | |
f566e19b | 169 | |
4b16afff SL |
170 | { 0, "_movpsl\n", |
171 | " movpsl r0\n" }, | |
172 | ||
23808d85 | 173 | { 0, "", "" } |
f566e19b | 174 | }; |