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