|
|
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.7 (Berkeley) 6/24/90";
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 $8,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, "_ffs\n",
111: " movl (sp)+,r1\n\
112: ffs r1,r0\n\
113: bgeq 1f\n\
114: mnegl $1,r0\n\
115: 1:\n\
116: incl r0\n" },
117:
118: { 2, "__insque\n",
119: " movl (sp)+,r0\n\
120: movl (sp)+,r1\n\
121: insque (r0),(r1)\n" },
122:
123: { 1, "__remque\n",
124: " movl (sp)+,r1\n\
125: remque (r1)\n" },
126:
127: { 2, "_imin\n",
128: " movl (sp)+,r0\n\
129: movl (sp)+,r1\n\
130: cmpl r0,r1\n\
131: bleq 1f\n\
132: movl r1,r0\n\
133: 1:\n" },
134:
135: { 2, "_imax\n",
136: " movl (sp)+,r0\n\
137: movl (sp)+,r1\n\
138: cmpl r0,r1\n\
139: bgeq 1f\n\
140: movl r1,r0\n\
141: 1:\n" },
142:
143: { 2, "_min\n",
144: " movl (sp)+,r0\n\
145: movl (sp)+,r1\n\
146: cmpl r0,r1\n\
147: blequ 1f\n\
148: movl r1,r0\n\
149: 1:\n" },
150:
151: { 2, "_max\n",
152: " movl (sp)+,r0\n\
153: movl (sp)+,r1\n\
154: cmpl r0,r1\n\
155: bgequ 1f\n\
156: movl r1,r0\n\
157: 1:\n" },
158:
159: { 2, "__movow\n",
160: " movl (sp)+,r1\n\
161: movl (sp)+,r0\n\
162: movow r0,(r1)\n" },
163:
164: { 2, "__movob\n",
165: " movl (sp)+,r1\n\
166: movl (sp)+,r0\n\
167: movob r0,(r1)\n" },
168:
169: { 0, "_movpsl\n",
170: " movpsl r0\n" },
171:
172: { 0, "", "" }
173: };
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.