]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blob - gas/config/tc-m68851.h
White space and comments only. The devo tree prior to this delta is
[thirdparty/binutils-gdb.git] / gas / config / tc-m68851.h
1
2 /*
3 * pmmu.h
4 */
5
6 /* I suppose we have to copyright this file. Someone on the net sent it
7 to us as part of the changes for the m68851 Memory Management Unit */
8
9 /* Copyright (C) 1987 Free Software Foundation, Inc.
10
11 This file is part of Gas, the GNU Assembler.
12
13 The GNU assembler is distributed in the hope that it will be
14 useful, but WITHOUT ANY WARRANTY. No author or distributor
15 accepts responsibility to anyone for the consequences of using it
16 or for whether it serves any particular purpose or works at all,
17 unless he says so in writing. Refer to the GNU Assembler General
18 Public License for full details.
19
20 Everyone is granted permission to copy, modify and redistribute
21 the GNU Assembler, but only under the conditions described in the
22 GNU Assembler General Public License. A copy of this license is
23 supposed to have been given to you along with the GNU Assembler
24 so you can know your rights and responsibilities. It should be
25 in a file named COPYING. Among other things, the copyright
26 notice and this notice must be preserved on all copies. */
27
28 #ifdef m68851
29
30 /*
31 I didn't use much imagination in choosing the
32 following codes, so many of them aren't very
33 mnemonic. -rab
34
35 P pmmu register
36 Possible values:
37 000 TC Translation Control reg
38 100 CAL Current Access Level
39 101 VAL Validate Access Level
40 110 SCC Stack Change Control
41 111 AC Access Control
42
43 W wide pmmu registers
44 Possible values:
45 001 DRP Dma Root Pointer
46 010 SRP Supervisor Root Pointer
47 011 CRP Cpu Root Pointer
48
49 f function code register
50 0 SFC
51 1 DFC
52
53 V VAL register only
54
55 X BADx, BACx
56 100 BAD Breakpoint Acknowledge Data
57 101 BAC Breakpoint Acknowledge Control
58
59 Y PSR
60 Z PCSR
61
62 | memory (modes 2-6, 7.*)
63
64 */
65
66 /*
67 * these defines should be in m68k.c but
68 * i put them here to keep all the m68851 stuff
69 * together -rab
70 * JF--Make sure these #s don't clash with the ones in m68k.c
71 * That would be BAD.
72 */
73 #define TC (FPS+1) /* 48 */
74 #define DRP (TC+1) /* 49 */
75 #define SRP (DRP+1) /* 50 */
76 #define CRP (SRP+1) /* 51 */
77 #define CAL (CRP+1) /* 52 */
78 #define VAL (CAL+1) /* 53 */
79 #define SCC (VAL+1) /* 54 */
80 #define AC (SCC+1) /* 55 */
81 #define BAD (AC+1) /* 56,57,58,59, 60,61,62,63 */
82 #define BAC (BAD+8) /* 64,65,66,67, 68,69,70,71 */
83 #define PSR (BAC+8) /* 72 */
84 #define PCSR (PSR+1) /* 73 */
85
86 /* name */ /* opcode */ /* match */ /* args */
87
88 {"pbac", one(0xf0c7), one(0xffbf), "Bc"},
89 {"pbacw", one(0xf087), one(0xffbf), "Bc"},
90 {"pbas", one(0xf0c6), one(0xffbf), "Bc"},
91 {"pbasw", one(0xf086), one(0xffbf), "Bc"},
92 {"pbbc", one(0xf0c1), one(0xffbf), "Bc"},
93 {"pbbcw", one(0xf081), one(0xffbf), "Bc"},
94 {"pbbs", one(0xf0c0), one(0xffbf), "Bc"},
95 {"pbbsw", one(0xf080), one(0xffbf), "Bc"},
96 {"pbcc", one(0xf0cf), one(0xffbf), "Bc"},
97 {"pbccw", one(0xf08f), one(0xffbf), "Bc"},
98 {"pbcs", one(0xf0ce), one(0xffbf), "Bc"},
99 {"pbcsw", one(0xf08e), one(0xffbf), "Bc"},
100 {"pbgc", one(0xf0cd), one(0xffbf), "Bc"},
101 {"pbgcw", one(0xf08d), one(0xffbf), "Bc"},
102 {"pbgs", one(0xf0cc), one(0xffbf), "Bc"},
103 {"pbgsw", one(0xf08c), one(0xffbf), "Bc"},
104 {"pbic", one(0xf0cb), one(0xffbf), "Bc"},
105 {"pbicw", one(0xf08b), one(0xffbf), "Bc"},
106 {"pbis", one(0xf0ca), one(0xffbf), "Bc"},
107 {"pbisw", one(0xf08a), one(0xffbf), "Bc"},
108 {"pblc", one(0xf0c3), one(0xffbf), "Bc"},
109 {"pblcw", one(0xf083), one(0xffbf), "Bc"},
110 {"pbls", one(0xf0c2), one(0xffbf), "Bc"},
111 {"pblsw", one(0xf082), one(0xffbf), "Bc"},
112 {"pbsc", one(0xf0c5), one(0xffbf), "Bc"},
113 {"pbscw", one(0xf085), one(0xffbf), "Bc"},
114 {"pbss", one(0xf0c4), one(0xffbf), "Bc"},
115 {"pbssw", one(0xf084), one(0xffbf), "Bc"},
116 {"pbwc", one(0xf0c9), one(0xffbf), "Bc"},
117 {"pbwcw", one(0xf089), one(0xffbf), "Bc"},
118 {"pbws", one(0xf0c8), one(0xffbf), "Bc"},
119 {"pbwsw", one(0xf088), one(0xffbf), "Bc"},
120
121
122 {"pdbac", two(0xf048, 0x0007), two(0xfff8, 0xffff), "DsBw"},
123 {"pdbas", two(0xf048, 0x0006), two(0xfff8, 0xffff), "DsBw"},
124 {"pdbbc", two(0xf048, 0x0001), two(0xfff8, 0xffff), "DsBw"},
125 {"pdbbs", two(0xf048, 0x0000), two(0xfff8, 0xffff), "DsBw"},
126 {"pdbcc", two(0xf048, 0x000f), two(0xfff8, 0xffff), "DsBw"},
127 {"pdbcs", two(0xf048, 0x000e), two(0xfff8, 0xffff), "DsBw"},
128 {"pdbgc", two(0xf048, 0x000d), two(0xfff8, 0xffff), "DsBw"},
129 {"pdbgs", two(0xf048, 0x000c), two(0xfff8, 0xffff), "DsBw"},
130 {"pdbic", two(0xf048, 0x000b), two(0xfff8, 0xffff), "DsBw"},
131 {"pdbis", two(0xf048, 0x000a), two(0xfff8, 0xffff), "DsBw"},
132 {"pdblc", two(0xf048, 0x0003), two(0xfff8, 0xffff), "DsBw"},
133 {"pdbls", two(0xf048, 0x0002), two(0xfff8, 0xffff), "DsBw"},
134 {"pdbsc", two(0xf048, 0x0005), two(0xfff8, 0xffff), "DsBw"},
135 {"pdbss", two(0xf048, 0x0004), two(0xfff8, 0xffff), "DsBw"},
136 {"pdbwc", two(0xf048, 0x0009), two(0xfff8, 0xffff), "DsBw"},
137 {"pdbws", two(0xf048, 0x0008), two(0xfff8, 0xffff), "DsBw"},
138
139 {"pflusha", two(0xf000, 0x2400), two(0xffff, 0xffff), "" },
140
141 {"pflush", two(0xf000, 0x3010), two(0xffc0, 0xfe10), "T3T9" },
142 {"pflush", two(0xf000, 0x3810), two(0xffc0, 0xfe10), "T3T9&s" },
143 {"pflush", two(0xf000, 0x3008), two(0xffc0, 0xfe18), "D3T9" },
144 {"pflush", two(0xf000, 0x3808), two(0xffc0, 0xfe18), "D3T9&s" },
145 {"pflush", two(0xf000, 0x3000), two(0xffc0, 0xfe1e), "f3T9" },
146 {"pflush", two(0xf000, 0x3800), two(0xffc0, 0xfe1e), "f3T9&s" },
147
148 {"pflushs", two(0xf000, 0x3410), two(0xfff8, 0xfe10), "T3T9" },
149 {"pflushs", two(0xf000, 0x3c00), two(0xfff8, 0xfe00), "T3T9&s" },
150 {"pflushs", two(0xf000, 0x3408), two(0xfff8, 0xfe18), "D3T9" },
151 {"pflushs", two(0xf000, 0x3c08), two(0xfff8, 0xfe18), "D3T9&s" },
152 {"pflushs", two(0xf000, 0x3400), two(0xfff8, 0xfe1e), "f3T9" },
153 {"pflushs", two(0xf000, 0x3c00), two(0xfff8, 0xfe1e), "f3T9&s"},
154
155 {"pflushr", two(0xf000, 0xa000), two(0xffc0, 0xffff), "|s" },
156
157 {"ploadr", two(0xf000, 0x2210), two(0xffc0, 0xfff0), "T3&s" },
158 {"ploadr", two(0xf000, 0x2208), two(0xffc0, 0xfff8), "D3&s" },
159 {"ploadr", two(0xf000, 0x2200), two(0xffc0, 0xfffe), "f3&s" },
160 {"ploadw", two(0xf000, 0x2010), two(0xffc0, 0xfff0), "T3&s" },
161 {"ploadw", two(0xf000, 0x2008), two(0xffc0, 0xfff8), "D3&s" },
162 {"ploadw", two(0xf000, 0x2000), two(0xffc0, 0xfffe), "f3&s" },
163
164 /* TC, CRP, DRP, SRP, CAL, VAL, SCC, AC */
165 {"pmove", two(0xf000, 0x4000), two(0xffc0, 0xe3ff), "*sP8" },
166 {"pmove", two(0xf000, 0x4200), two(0xffc0, 0xe3ff), "P8%s" },
167 {"pmove", two(0xf000, 0x4000), two(0xffc0, 0xe3ff), "|sW8" },
168 {"pmove", two(0xf000, 0x4200), two(0xffc0, 0xe3ff), "W8~s" },
169
170 /* BADx, BACx */
171 {"pmove", two(0xf000, 0x6200), two(0xffc0, 0xe3e3), "*sX3" },
172 {"pmove", two(0xf000, 0x6000), two(0xffc0, 0xe3e3), "X3%s" },
173
174 /* PSR, PCSR */
175 /* {"pmove", two(0xf000, 0x6100), two(oxffc0, oxffff), "*sZ8" }, */
176 {"pmove", two(0xf000, 0x6000), two(0xffc0, 0xffff), "*sY8" },
177 {"pmove", two(0xf000, 0x6200), two(0xffc0, 0xffff), "Y8%s" },
178 {"pmove", two(0xf000, 0x6600), two(0xffc0, 0xffff), "Z8%s" },
179
180 {"prestore", one(0xf140), one(0xffc0), "&s"},
181 {"prestore", one(0xf158), one(0xfff8), "+s"},
182 {"psave", one(0xf100), one(0xffc0), "&s"},
183 {"psave", one(0xf100), one(0xffc0), "+s"},
184
185 {"psac", two(0xf040, 0x0007), two(0xffc0, 0xffff), "@s"},
186 {"psas", two(0xf040, 0x0006), two(0xffc0, 0xffff), "@s"},
187 {"psbc", two(0xf040, 0x0001), two(0xffc0, 0xffff), "@s"},
188 {"psbs", two(0xf040, 0x0000), two(0xffc0, 0xffff), "@s"},
189 {"pscc", two(0xf040, 0x000f), two(0xffc0, 0xffff), "@s"},
190 {"pscs", two(0xf040, 0x000e), two(0xffc0, 0xffff), "@s"},
191 {"psgc", two(0xf040, 0x000d), two(0xffc0, 0xffff), "@s"},
192 {"psgs", two(0xf040, 0x000c), two(0xffc0, 0xffff), "@s"},
193 {"psic", two(0xf040, 0x000b), two(0xffc0, 0xffff), "@s"},
194 {"psis", two(0xf040, 0x000a), two(0xffc0, 0xffff), "@s"},
195 {"pslc", two(0xf040, 0x0003), two(0xffc0, 0xffff), "@s"},
196 {"psls", two(0xf040, 0x0002), two(0xffc0, 0xffff), "@s"},
197 {"pssc", two(0xf040, 0x0005), two(0xffc0, 0xffff), "@s"},
198 {"psss", two(0xf040, 0x0004), two(0xffc0, 0xffff), "@s"},
199 {"pswc", two(0xf040, 0x0009), two(0xffc0, 0xffff), "@s"},
200 {"psws", two(0xf040, 0x0008), two(0xffc0, 0xffff), "@s"},
201
202 {"ptestr", two(0xf000, 0x8210), two(0xffc0, 0xe3f0), "T3&sQ8" },
203 {"ptestr", two(0xf000, 0x8310), two(0xffc0, 0xe310), "T3&sQ8A9" },
204 {"ptestr", two(0xf000, 0x8208), two(0xffc0, 0xe3f8), "D3&sQ8" },
205 {"ptestr", two(0xf000, 0x8308), two(0xffc0, 0xe318), "D3&sQ8A9" },
206 {"ptestr", two(0xf000, 0x8200), two(0xffc0, 0xe3fe), "f3&sQ8" },
207 {"ptestr", two(0xf000, 0x8300), two(0xffc0, 0xe31e), "f3&sQ8A9" },
208
209 {"ptestw", two(0xf000, 0x8010), two(0xffc0, 0xe3f0), "T3&sQ8" },
210 {"ptestw", two(0xf000, 0x8110), two(0xffc0, 0xe310), "T3&sQ8A9" },
211 {"ptestw", two(0xf000, 0x8008), two(0xffc0, 0xe3f8), "D3&sQ8" },
212 {"ptestw", two(0xf000, 0x8108), two(0xffc0, 0xe318), "D3&sQ8A9" },
213 {"ptestw", two(0xf000, 0x8000), two(0xffc0, 0xe3fe), "f3&sQ8" },
214 {"ptestw", two(0xf000, 0x8100), two(0xffc0, 0xe31e), "f3&sQ8A9" },
215
216 {"ptrapacw", two(0xf07a, 0x0007), two(0xffff, 0xffff), "#w"},
217 {"ptrapacl", two(0xf07b, 0x0007), two(0xffff, 0xffff), "#l"},
218 {"ptrapac", two(0xf07c, 0x0007), two(0xffff, 0xffff), ""},
219
220 {"ptrapasw", two(0xf07a, 0x0006), two(0xffff, 0xffff), "#w"},
221 {"ptrapasl", two(0xf07b, 0x0006), two(0xffff, 0xffff), "#l"},
222 {"ptrapas", two(0xf07c, 0x0006), two(0xffff, 0xffff), ""},
223
224 {"ptrapbcw", two(0xf07a, 0x0001), two(0xffff, 0xffff), "#w"},
225 {"ptrapbcl", two(0xf07b, 0x0001), two(0xffff, 0xffff), "#l"},
226 {"ptrapbc", two(0xf07c, 0x0001), two(0xffff, 0xffff), ""},
227
228 {"ptrapbsw", two(0xf07a, 0x0000), two(0xffff, 0xffff), "#w"},
229 {"ptrapbsl", two(0xf07b, 0x0000), two(0xffff, 0xffff), "#l"},
230 {"ptrapbs", two(0xf07c, 0x0000), two(0xffff, 0xffff), ""},
231
232 {"ptrapccw", two(0xf07a, 0x000f), two(0xffff, 0xffff), "#w"},
233 {"ptrapccl", two(0xf07b, 0x000f), two(0xffff, 0xffff), "#l"},
234 {"ptrapcc", two(0xf07c, 0x000f), two(0xffff, 0xffff), ""},
235
236 {"ptrapcsw", two(0xf07a, 0x000e), two(0xffff, 0xffff), "#w"},
237 {"ptrapcsl", two(0xf07b, 0x000e), two(0xffff, 0xffff), "#l"},
238 {"ptrapcs", two(0xf07c, 0x000e), two(0xffff, 0xffff), ""},
239
240 {"ptrapgcw", two(0xf07a, 0x000d), two(0xffff, 0xffff), "#w"},
241 {"ptrapgcl", two(0xf07b, 0x000d), two(0xffff, 0xffff), "#l"},
242 {"ptrapgc", two(0xf07c, 0x000d), two(0xffff, 0xffff), ""},
243
244 {"ptrapgsw", two(0xf07a, 0x000c), two(0xffff, 0xffff), "#w"},
245 {"ptrapgsl", two(0xf07b, 0x000c), two(0xffff, 0xffff), "#l"},
246 {"ptrapgs", two(0xf07c, 0x000c), two(0xffff, 0xffff), ""},
247
248 {"ptrapicw", two(0xf07a, 0x000b), two(0xffff, 0xffff), "#w"},
249 {"ptrapicl", two(0xf07b, 0x000b), two(0xffff, 0xffff), "#l"},
250 {"ptrapic", two(0xf07c, 0x000b), two(0xffff, 0xffff), ""},
251
252 {"ptrapisw", two(0xf07a, 0x000a), two(0xffff, 0xffff), "#w"},
253 {"ptrapisl", two(0xf07b, 0x000a), two(0xffff, 0xffff), "#l"},
254 {"ptrapis", two(0xf07c, 0x000a), two(0xffff, 0xffff), ""},
255
256 {"ptraplcw", two(0xf07a, 0x0003), two(0xffff, 0xffff), "#w"},
257 {"ptraplcl", two(0xf07b, 0x0003), two(0xffff, 0xffff), "#l"},
258 {"ptraplc", two(0xf07c, 0x0003), two(0xffff, 0xffff), ""},
259
260 {"ptraplsw", two(0xf07a, 0x0002), two(0xffff, 0xffff), "#w"},
261 {"ptraplsl", two(0xf07b, 0x0002), two(0xffff, 0xffff), "#l"},
262 {"ptrapls", two(0xf07c, 0x0002), two(0xffff, 0xffff), ""},
263
264 {"ptrapscw", two(0xf07a, 0x0005), two(0xffff, 0xffff), "#w"},
265 {"ptrapscl", two(0xf07b, 0x0005), two(0xffff, 0xffff), "#l"},
266 {"ptrapsc", two(0xf07c, 0x0005), two(0xffff, 0xffff), ""},
267
268 {"ptrapssw", two(0xf07a, 0x0004), two(0xffff, 0xffff), "#w"},
269 {"ptrapssl", two(0xf07b, 0x0004), two(0xffff, 0xffff), "#l"},
270 {"ptrapss", two(0xf07c, 0x0004), two(0xffff, 0xffff), ""},
271
272 {"ptrapwcw", two(0xf07a, 0x0009), two(0xffff, 0xffff), "#w"},
273 {"ptrapwcl", two(0xf07b, 0x0009), two(0xffff, 0xffff), "#l"},
274 {"ptrapwc", two(0xf07c, 0x0009), two(0xffff, 0xffff), ""},
275
276 {"ptrapwsw", two(0xf07a, 0x0008), two(0xffff, 0xffff), "#w"},
277 {"ptrapwsl", two(0xf07b, 0x0008), two(0xffff, 0xffff), "#l"},
278 {"ptrapws", two(0xf07c, 0x0008), two(0xffff, 0xffff), ""},
279
280 {"pvalid", two(0xf000, 0x2800), two(0xffc0, 0xffff), "Vs&s"},
281 {"pvalid", two(0xf000, 0x2c00), two(0xffc0, 0xfff8), "A3&s" },
282
283 #endif /* m68851 */
284 /* end pmmu.h */