Revision 93ac68bc cpu-all.h
b/cpu-all.h | ||
---|---|---|
188 | 188 |
} |
189 | 189 |
#endif |
190 | 190 |
|
191 |
#elif defined(TARGET_WORDS_BIGENDIAN) && !defined(WORDS_BIGENDIAN) |
|
192 |
|
|
193 |
static inline int lduw(void *ptr) |
|
194 |
{ |
|
195 |
uint8_t *b = (uint8_t *) ptr; |
|
196 |
return (b[0]<<8|b[1]); |
|
197 |
} |
|
198 |
|
|
199 |
static inline int ldsw(void *ptr) |
|
200 |
{ |
|
201 |
int8_t *b = (int8_t *) ptr; |
|
202 |
return (b[0]<<8|b[1]); |
|
203 |
} |
|
204 |
|
|
205 |
static inline int ldl(void *ptr) |
|
206 |
{ |
|
207 |
uint8_t *b = (uint8_t *) ptr; |
|
208 |
return (b[0]<<24|b[1]<<16|b[2]<<8|b[3]); |
|
209 |
} |
|
210 |
|
|
211 |
static inline uint64_t ldq(void *ptr) |
|
212 |
{ |
|
213 |
uint32_t a,b; |
|
214 |
a = ldl (ptr); |
|
215 |
b = ldl (ptr+4); |
|
216 |
return (((uint64_t)a<<32)|b); |
|
217 |
} |
|
218 |
|
|
219 |
static inline void stw(void *ptr, int v) |
|
220 |
{ |
|
221 |
uint8_t *d = (uint8_t *) ptr; |
|
222 |
d[0] = v >> 8; |
|
223 |
d[1] = v; |
|
224 |
} |
|
225 |
|
|
226 |
static inline void stl(void *ptr, int v) |
|
227 |
{ |
|
228 |
uint8_t *d = (uint8_t *) ptr; |
|
229 |
d[0] = v >> 24; |
|
230 |
d[1] = v >> 16; |
|
231 |
d[2] = v >> 8; |
|
232 |
d[3] = v; |
|
233 |
} |
|
234 |
|
|
235 |
static inline void stq(void *ptr, uint64_t v) |
|
236 |
{ |
|
237 |
stl (ptr, v); |
|
238 |
stl (ptr+4, v >> 32); |
|
239 |
} |
|
240 |
|
|
191 | 241 |
#else |
192 | 242 |
|
193 | 243 |
static inline int lduw(void *ptr) |
... | ... | |
297 | 347 |
#define cpu_interrupt cpu_arm_interrupt |
298 | 348 |
#define cpu_signal_handler cpu_arm_signal_handler |
299 | 349 |
|
350 |
#elif defined(TARGET_SPARC) |
|
351 |
|
|
352 |
#define CPUState CPUSPARCState |
|
353 |
#define cpu_init cpu_sparc_init |
|
354 |
#define cpu_exec cpu_sparc_exec |
|
355 |
#define cpu_gen_code cpu_sparc_gen_code |
|
356 |
#define cpu_interrupt cpu_sparc_interrupt |
|
357 |
#define cpu_signal_handler cpu_sparc_signal_handler |
|
358 |
|
|
300 | 359 |
#else |
301 | 360 |
|
302 | 361 |
#error unsupported target CPU |
Also available in: Unified diff