Commit b6a8c26b60b864ca33136a740befd84532b8030f
1 parent
3fafcb48
Delete obsolete file.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4761 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
1 changed file
with
0 additions
and
269 deletions
target-mips/op_mem.c deleted
100644 → 0
1 | -/* | |
2 | - * MIPS emulation memory micro-operations for qemu. | |
3 | - * | |
4 | - * Copyright (c) 2004-2005 Jocelyn Mayer | |
5 | - * | |
6 | - * This library is free software; you can redistribute it and/or | |
7 | - * modify it under the terms of the GNU Lesser General Public | |
8 | - * License as published by the Free Software Foundation; either | |
9 | - * version 2 of the License, or (at your option) any later version. | |
10 | - * | |
11 | - * This library is distributed in the hope that it will be useful, | |
12 | - * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
13 | - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
14 | - * Lesser General Public License for more details. | |
15 | - * | |
16 | - * You should have received a copy of the GNU Lesser General Public | |
17 | - * License along with this library; if not, write to the Free Software | |
18 | - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
19 | - */ | |
20 | - | |
21 | -/* "half" load and stores. We must do the memory access inline, | |
22 | - or fault handling won't work. */ | |
23 | - | |
24 | -#ifdef TARGET_WORDS_BIGENDIAN | |
25 | -#define GET_LMASK(v) ((v) & 3) | |
26 | -#define GET_OFFSET(addr, offset) (addr + (offset)) | |
27 | -#else | |
28 | -#define GET_LMASK(v) (((v) & 3) ^ 3) | |
29 | -#define GET_OFFSET(addr, offset) (addr - (offset)) | |
30 | -#endif | |
31 | - | |
32 | -void glue(op_lwl, MEMSUFFIX) (void) | |
33 | -{ | |
34 | - target_ulong tmp; | |
35 | - | |
36 | - tmp = glue(ldub, MEMSUFFIX)(T0); | |
37 | - T1 = (T1 & 0x00FFFFFF) | (tmp << 24); | |
38 | - | |
39 | - if (GET_LMASK(T0) <= 2) { | |
40 | - tmp = glue(ldub, MEMSUFFIX)(GET_OFFSET(T0, 1)); | |
41 | - T1 = (T1 & 0xFF00FFFF) | (tmp << 16); | |
42 | - } | |
43 | - | |
44 | - if (GET_LMASK(T0) <= 1) { | |
45 | - tmp = glue(ldub, MEMSUFFIX)(GET_OFFSET(T0, 2)); | |
46 | - T1 = (T1 & 0xFFFF00FF) | (tmp << 8); | |
47 | - } | |
48 | - | |
49 | - if (GET_LMASK(T0) == 0) { | |
50 | - tmp = glue(ldub, MEMSUFFIX)(GET_OFFSET(T0, 3)); | |
51 | - T1 = (T1 & 0xFFFFFF00) | tmp; | |
52 | - } | |
53 | - T1 = (int32_t)T1; | |
54 | - FORCE_RET(); | |
55 | -} | |
56 | - | |
57 | -void glue(op_lwr, MEMSUFFIX) (void) | |
58 | -{ | |
59 | - target_ulong tmp; | |
60 | - | |
61 | - tmp = glue(ldub, MEMSUFFIX)(T0); | |
62 | - T1 = (T1 & 0xFFFFFF00) | tmp; | |
63 | - | |
64 | - if (GET_LMASK(T0) >= 1) { | |
65 | - tmp = glue(ldub, MEMSUFFIX)(GET_OFFSET(T0, -1)); | |
66 | - T1 = (T1 & 0xFFFF00FF) | (tmp << 8); | |
67 | - } | |
68 | - | |
69 | - if (GET_LMASK(T0) >= 2) { | |
70 | - tmp = glue(ldub, MEMSUFFIX)(GET_OFFSET(T0, -2)); | |
71 | - T1 = (T1 & 0xFF00FFFF) | (tmp << 16); | |
72 | - } | |
73 | - | |
74 | - if (GET_LMASK(T0) == 3) { | |
75 | - tmp = glue(ldub, MEMSUFFIX)(GET_OFFSET(T0, -3)); | |
76 | - T1 = (T1 & 0x00FFFFFF) | (tmp << 24); | |
77 | - } | |
78 | - T1 = (int32_t)T1; | |
79 | - FORCE_RET(); | |
80 | -} | |
81 | - | |
82 | -void glue(op_swl, MEMSUFFIX) (void) | |
83 | -{ | |
84 | - glue(stb, MEMSUFFIX)(T0, (uint8_t)(T1 >> 24)); | |
85 | - | |
86 | - if (GET_LMASK(T0) <= 2) | |
87 | - glue(stb, MEMSUFFIX)(GET_OFFSET(T0, 1), (uint8_t)(T1 >> 16)); | |
88 | - | |
89 | - if (GET_LMASK(T0) <= 1) | |
90 | - glue(stb, MEMSUFFIX)(GET_OFFSET(T0, 2), (uint8_t)(T1 >> 8)); | |
91 | - | |
92 | - if (GET_LMASK(T0) == 0) | |
93 | - glue(stb, MEMSUFFIX)(GET_OFFSET(T0, 3), (uint8_t)T1); | |
94 | - | |
95 | - FORCE_RET(); | |
96 | -} | |
97 | - | |
98 | -void glue(op_swr, MEMSUFFIX) (void) | |
99 | -{ | |
100 | - glue(stb, MEMSUFFIX)(T0, (uint8_t)T1); | |
101 | - | |
102 | - if (GET_LMASK(T0) >= 1) | |
103 | - glue(stb, MEMSUFFIX)(GET_OFFSET(T0, -1), (uint8_t)(T1 >> 8)); | |
104 | - | |
105 | - if (GET_LMASK(T0) >= 2) | |
106 | - glue(stb, MEMSUFFIX)(GET_OFFSET(T0, -2), (uint8_t)(T1 >> 16)); | |
107 | - | |
108 | - if (GET_LMASK(T0) == 3) | |
109 | - glue(stb, MEMSUFFIX)(GET_OFFSET(T0, -3), (uint8_t)(T1 >> 24)); | |
110 | - | |
111 | - FORCE_RET(); | |
112 | -} | |
113 | - | |
114 | -#if defined(TARGET_MIPS64) | |
115 | -/* "half" load and stores. We must do the memory access inline, | |
116 | - or fault handling won't work. */ | |
117 | - | |
118 | -#ifdef TARGET_WORDS_BIGENDIAN | |
119 | -#define GET_LMASK64(v) ((v) & 7) | |
120 | -#else | |
121 | -#define GET_LMASK64(v) (((v) & 7) ^ 7) | |
122 | -#endif | |
123 | - | |
124 | -void glue(op_ldl, MEMSUFFIX) (void) | |
125 | -{ | |
126 | - uint64_t tmp; | |
127 | - | |
128 | - tmp = glue(ldub, MEMSUFFIX)(T0); | |
129 | - T1 = (T1 & 0x00FFFFFFFFFFFFFFULL) | (tmp << 56); | |
130 | - | |
131 | - if (GET_LMASK64(T0) <= 6) { | |
132 | - tmp = glue(ldub, MEMSUFFIX)(GET_OFFSET(T0, 1)); | |
133 | - T1 = (T1 & 0xFF00FFFFFFFFFFFFULL) | (tmp << 48); | |
134 | - } | |
135 | - | |
136 | - if (GET_LMASK64(T0) <= 5) { | |
137 | - tmp = glue(ldub, MEMSUFFIX)(GET_OFFSET(T0, 2)); | |
138 | - T1 = (T1 & 0xFFFF00FFFFFFFFFFULL) | (tmp << 40); | |
139 | - } | |
140 | - | |
141 | - if (GET_LMASK64(T0) <= 4) { | |
142 | - tmp = glue(ldub, MEMSUFFIX)(GET_OFFSET(T0, 3)); | |
143 | - T1 = (T1 & 0xFFFFFF00FFFFFFFFULL) | (tmp << 32); | |
144 | - } | |
145 | - | |
146 | - if (GET_LMASK64(T0) <= 3) { | |
147 | - tmp = glue(ldub, MEMSUFFIX)(GET_OFFSET(T0, 4)); | |
148 | - T1 = (T1 & 0xFFFFFFFF00FFFFFFULL) | (tmp << 24); | |
149 | - } | |
150 | - | |
151 | - if (GET_LMASK64(T0) <= 2) { | |
152 | - tmp = glue(ldub, MEMSUFFIX)(GET_OFFSET(T0, 5)); | |
153 | - T1 = (T1 & 0xFFFFFFFFFF00FFFFULL) | (tmp << 16); | |
154 | - } | |
155 | - | |
156 | - if (GET_LMASK64(T0) <= 1) { | |
157 | - tmp = glue(ldub, MEMSUFFIX)(GET_OFFSET(T0, 6)); | |
158 | - T1 = (T1 & 0xFFFFFFFFFFFF00FFULL) | (tmp << 8); | |
159 | - } | |
160 | - | |
161 | - if (GET_LMASK64(T0) == 0) { | |
162 | - tmp = glue(ldub, MEMSUFFIX)(GET_OFFSET(T0, 7)); | |
163 | - T1 = (T1 & 0xFFFFFFFFFFFFFF00ULL) | tmp; | |
164 | - } | |
165 | - | |
166 | - FORCE_RET(); | |
167 | -} | |
168 | - | |
169 | -void glue(op_ldr, MEMSUFFIX) (void) | |
170 | -{ | |
171 | - uint64_t tmp; | |
172 | - | |
173 | - tmp = glue(ldub, MEMSUFFIX)(T0); | |
174 | - T1 = (T1 & 0xFFFFFFFFFFFFFF00ULL) | tmp; | |
175 | - | |
176 | - if (GET_LMASK64(T0) >= 1) { | |
177 | - tmp = glue(ldub, MEMSUFFIX)(GET_OFFSET(T0, -1)); | |
178 | - T1 = (T1 & 0xFFFFFFFFFFFF00FFULL) | (tmp << 8); | |
179 | - } | |
180 | - | |
181 | - if (GET_LMASK64(T0) >= 2) { | |
182 | - tmp = glue(ldub, MEMSUFFIX)(GET_OFFSET(T0, -2)); | |
183 | - T1 = (T1 & 0xFFFFFFFFFF00FFFFULL) | (tmp << 16); | |
184 | - } | |
185 | - | |
186 | - if (GET_LMASK64(T0) >= 3) { | |
187 | - tmp = glue(ldub, MEMSUFFIX)(GET_OFFSET(T0, -3)); | |
188 | - T1 = (T1 & 0xFFFFFFFF00FFFFFFULL) | (tmp << 24); | |
189 | - } | |
190 | - | |
191 | - if (GET_LMASK64(T0) >= 4) { | |
192 | - tmp = glue(ldub, MEMSUFFIX)(GET_OFFSET(T0, -4)); | |
193 | - T1 = (T1 & 0xFFFFFF00FFFFFFFFULL) | (tmp << 32); | |
194 | - } | |
195 | - | |
196 | - if (GET_LMASK64(T0) >= 5) { | |
197 | - tmp = glue(ldub, MEMSUFFIX)(GET_OFFSET(T0, -5)); | |
198 | - T1 = (T1 & 0xFFFF00FFFFFFFFFFULL) | (tmp << 40); | |
199 | - } | |
200 | - | |
201 | - if (GET_LMASK64(T0) >= 6) { | |
202 | - tmp = glue(ldub, MEMSUFFIX)(GET_OFFSET(T0, -6)); | |
203 | - T1 = (T1 & 0xFF00FFFFFFFFFFFFULL) | (tmp << 48); | |
204 | - } | |
205 | - | |
206 | - if (GET_LMASK64(T0) == 7) { | |
207 | - tmp = glue(ldub, MEMSUFFIX)(GET_OFFSET(T0, -7)); | |
208 | - T1 = (T1 & 0x00FFFFFFFFFFFFFFULL) | (tmp << 56); | |
209 | - } | |
210 | - | |
211 | - FORCE_RET(); | |
212 | -} | |
213 | - | |
214 | -void glue(op_sdl, MEMSUFFIX) (void) | |
215 | -{ | |
216 | - glue(stb, MEMSUFFIX)(T0, (uint8_t)(T1 >> 56)); | |
217 | - | |
218 | - if (GET_LMASK64(T0) <= 6) | |
219 | - glue(stb, MEMSUFFIX)(GET_OFFSET(T0, 1), (uint8_t)(T1 >> 48)); | |
220 | - | |
221 | - if (GET_LMASK64(T0) <= 5) | |
222 | - glue(stb, MEMSUFFIX)(GET_OFFSET(T0, 2), (uint8_t)(T1 >> 40)); | |
223 | - | |
224 | - if (GET_LMASK64(T0) <= 4) | |
225 | - glue(stb, MEMSUFFIX)(GET_OFFSET(T0, 3), (uint8_t)(T1 >> 32)); | |
226 | - | |
227 | - if (GET_LMASK64(T0) <= 3) | |
228 | - glue(stb, MEMSUFFIX)(GET_OFFSET(T0, 4), (uint8_t)(T1 >> 24)); | |
229 | - | |
230 | - if (GET_LMASK64(T0) <= 2) | |
231 | - glue(stb, MEMSUFFIX)(GET_OFFSET(T0, 5), (uint8_t)(T1 >> 16)); | |
232 | - | |
233 | - if (GET_LMASK64(T0) <= 1) | |
234 | - glue(stb, MEMSUFFIX)(GET_OFFSET(T0, 6), (uint8_t)(T1 >> 8)); | |
235 | - | |
236 | - if (GET_LMASK64(T0) <= 0) | |
237 | - glue(stb, MEMSUFFIX)(GET_OFFSET(T0, 7), (uint8_t)T1); | |
238 | - | |
239 | - FORCE_RET(); | |
240 | -} | |
241 | - | |
242 | -void glue(op_sdr, MEMSUFFIX) (void) | |
243 | -{ | |
244 | - glue(stb, MEMSUFFIX)(T0, (uint8_t)T1); | |
245 | - | |
246 | - if (GET_LMASK64(T0) >= 1) | |
247 | - glue(stb, MEMSUFFIX)(GET_OFFSET(T0, -1), (uint8_t)(T1 >> 8)); | |
248 | - | |
249 | - if (GET_LMASK64(T0) >= 2) | |
250 | - glue(stb, MEMSUFFIX)(GET_OFFSET(T0, -2), (uint8_t)(T1 >> 16)); | |
251 | - | |
252 | - if (GET_LMASK64(T0) >= 3) | |
253 | - glue(stb, MEMSUFFIX)(GET_OFFSET(T0, -3), (uint8_t)(T1 >> 24)); | |
254 | - | |
255 | - if (GET_LMASK64(T0) >= 4) | |
256 | - glue(stb, MEMSUFFIX)(GET_OFFSET(T0, -4), (uint8_t)(T1 >> 32)); | |
257 | - | |
258 | - if (GET_LMASK64(T0) >= 5) | |
259 | - glue(stb, MEMSUFFIX)(GET_OFFSET(T0, -5), (uint8_t)(T1 >> 40)); | |
260 | - | |
261 | - if (GET_LMASK64(T0) >= 6) | |
262 | - glue(stb, MEMSUFFIX)(GET_OFFSET(T0, -6), (uint8_t)(T1 >> 48)); | |
263 | - | |
264 | - if (GET_LMASK64(T0) == 7) | |
265 | - glue(stb, MEMSUFFIX)(GET_OFFSET(T0, -7), (uint8_t)(T1 >> 56)); | |
266 | - | |
267 | - FORCE_RET(); | |
268 | -} | |
269 | -#endif /* TARGET_MIPS64 */ |