Annotation of sys/arch/m88k/m88k/m88110_mmu.S, Revision 1.1.1.1
1.1 nbrk 1: # $OpenBSD: m88110_mmu.S,v 1.2 2004/06/22 04:54:54 miod Exp $
2: /*
3: * Copyright (c) 2000 Steve Murphree, Jr.
4: * All rights reserved.
5: *
6: * Redistribution and use in source and binary forms, with or without
7: * modification, are permitted provided that the following conditions
8: * are met:
9: * 1. Redistributions of source code must retain the above copyright
10: * notice, this list of conditions and the following disclaimer.
11: * 2. Redistributions in binary form must reproduce the above copyright
12: * notice, this list of conditions and the following disclaimer in the
13: * documentation and/or other materials provided with the distribution.
14: * 3. All advertising materials mentioning features or use of this software
15: * must display the following acknowledgement:
16: * This product includes software developed by Steve Murphree, Jr.
17: * 4. The name of the author may not be used to endorse or promote products
18: * derived from this software without specific prior written permission
19: *
20: * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
21: * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
22: * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
23: * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
24: * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
25: * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
26: * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
27: * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
28: * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
29: * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30: *
31: */
32:
33: #include <machine/asm.h>
34:
35: /* set routines */
36: text
37: align 4096 /* sigh */
38:
39: ENTRY(set_icmd)
40: FLUSH_PIPELINE
41: jmp.n r1
42: stcr r2, ICMD
43:
44: ENTRY(set_ictl)
45: FLUSH_PIPELINE
46: stcr r2, ICTL
47: NOP
48: FLUSH_PIPELINE
49: jmp r1
50:
51: ENTRY(set_isar)
52: jmp.n r1
53: stcr r2, ISAR
54:
55: ENTRY(set_isap)
56: FLUSH_PIPELINE
57: NOP
58: stcr r2, ISAP
59: jmp r1
60:
61: ENTRY(set_iuap)
62: FLUSH_PIPELINE
63: NOP
64: stcr r2, IUAP
65: jmp r1
66:
67: ENTRY(set_iir)
68: jmp.n r1
69: stcr r2, IIR
70:
71: ENTRY(set_ibp)
72: jmp.n r1
73: stcr r2, IBP
74:
75: ENTRY(set_ippu)
76: jmp.n r1
77: stcr r2, IPPU
78:
79: ENTRY(set_ippl)
80: jmp.n r1
81: stcr r2, IPPL
82:
83: ENTRY(set_isr)
84: jmp.n r1
85: stcr r2, ISR
86:
87: ENTRY(set_dcmd)
88: FLUSH_PIPELINE
89: jmp.n r1
90: stcr r2, DCMD
91:
92: ENTRY(set_dctl)
93: FLUSH_PIPELINE
94: stcr r2, DCTL
95: NOP
96: FLUSH_PIPELINE
97: jmp r1
98:
99: ENTRY(set_dsar)
100: stcr r2, DSAR
101: NOP
102: jmp r1
103:
104: ENTRY(set_dsap)
105: FLUSH_PIPELINE
106: NOP
107: stcr r2, DSAP
108: FLUSH_PIPELINE
109: NOP
110: jmp r1
111:
112: ENTRY(set_duap)
113: FLUSH_PIPELINE
114: NOP
115: stcr r2, DUAP
116: FLUSH_PIPELINE
117: NOP
118: jmp r1
119:
120: ENTRY(set_dir)
121: jmp.n r1
122: stcr r2, DIR
123:
124: ENTRY(set_dbp)
125: jmp.n r1
126: stcr r2, DBP
127:
128: ENTRY(set_dppu)
129: jmp.n r1
130: stcr r2, DPPU
131:
132: ENTRY(set_dppl)
133: jmp.n r1
134: stcr r2, DPPL
135:
136: ENTRY(set_dsr)
137: jmp.n r1
138: stcr r2, DSR
139:
140: /* get routines */
141: ENTRY(get_icmd)
142: jmp.n r1
143: ldcr r2, ICMD
144:
145: ENTRY(get_ictl)
146: jmp.n r1
147: ldcr r2, ICTL
148:
149: ENTRY(get_isar)
150: jmp.n r1
151: ldcr r2, ISAR
152:
153: ENTRY(get_isap)
154: jmp.n r1
155: ldcr r2, ISAP
156:
157: ENTRY(get_iuap)
158: jmp.n r1
159: ldcr r2, IUAP
160:
161: ENTRY(get_iir)
162: jmp.n r1
163: ldcr r2, IIR
164:
165: ENTRY(get_ibp)
166: jmp.n r1
167: ldcr r2, IBP
168:
169: ENTRY(get_ippu)
170: jmp.n r1
171: ldcr r2, IPPU
172:
173: ENTRY(get_ippl)
174: jmp.n r1
175: ldcr r2, IPPL
176:
177: ENTRY(get_isr)
178: jmp.n r1
179: ldcr r2, ISR
180:
181: ENTRY(get_dcmd)
182: jmp.n r1
183: ldcr r2, DCMD
184:
185: ENTRY(get_dctl)
186: jmp.n r1
187: ldcr r2, DCTL
188:
189: ENTRY(get_dsar)
190: jmp.n r1
191: ldcr r2, DSAR
192:
193: ENTRY(get_dsap)
194: jmp.n r1
195: ldcr r2, DSAP
196:
197: ENTRY(get_duap)
198: jmp.n r1
199: ldcr r2, DUAP
200:
201: ENTRY(get_dir)
202: jmp.n r1
203: ldcr r2, DIR
204:
205: ENTRY(get_dbp)
206: jmp.n r1
207: ldcr r2, DBP
208:
209: ENTRY(get_dppu)
210: jmp.n r1
211: ldcr r2, DPPU
212:
213: ENTRY(get_dppl)
214: jmp.n r1
215: ldcr r2, DPPL
216:
217: ENTRY(get_dsr)
218: jmp.n r1
219: ldcr r2, DSR
CVSweb