Commit f4efd1660326ee85023c980abc533143dee8228d
1 parent
f48f3ede
Revert incorrect part of r4574 to avoid unaligned traps with i386 target
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5209 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
1 changed file
with
0 additions
and
38 deletions
cpu-all.h
| ... | ... | @@ -233,15 +233,6 @@ static inline int lduw_le_p(void *ptr) |
| 233 | 233 | int val; |
| 234 | 234 | __asm__ __volatile__ ("lhbrx %0,0,%1" : "=r" (val) : "r" (ptr)); |
| 235 | 235 | return val; |
| 236 | -#elif defined(__sparc__) | |
| 237 | -#ifndef ASI_PRIMARY_LITTLE | |
| 238 | -#define ASI_PRIMARY_LITTLE 0x88 | |
| 239 | -#endif | |
| 240 | - | |
| 241 | - int val; | |
| 242 | - __asm__ __volatile__ ("lduha [%1] %2, %0" : "=r" (val) : "r" (ptr), | |
| 243 | - "i" (ASI_PRIMARY_LITTLE)); | |
| 244 | - return val; | |
| 245 | 236 | #else |
| 246 | 237 | uint8_t *p = ptr; |
| 247 | 238 | return p[0] | (p[1] << 8); |
| ... | ... | @@ -254,11 +245,6 @@ static inline int ldsw_le_p(void *ptr) |
| 254 | 245 | int val; |
| 255 | 246 | __asm__ __volatile__ ("lhbrx %0,0,%1" : "=r" (val) : "r" (ptr)); |
| 256 | 247 | return (int16_t)val; |
| 257 | -#elif defined(__sparc__) | |
| 258 | - int val; | |
| 259 | - __asm__ __volatile__ ("ldsha [%1] %2, %0" : "=r" (val) : "r" (ptr), | |
| 260 | - "i" (ASI_PRIMARY_LITTLE)); | |
| 261 | - return val; | |
| 262 | 248 | #else |
| 263 | 249 | uint8_t *p = ptr; |
| 264 | 250 | return (int16_t)(p[0] | (p[1] << 8)); |
| ... | ... | @@ -271,11 +257,6 @@ static inline int ldl_le_p(void *ptr) |
| 271 | 257 | int val; |
| 272 | 258 | __asm__ __volatile__ ("lwbrx %0,0,%1" : "=r" (val) : "r" (ptr)); |
| 273 | 259 | return val; |
| 274 | -#elif defined(__sparc__) | |
| 275 | - int val; | |
| 276 | - __asm__ __volatile__ ("lduwa [%1] %2, %0" : "=r" (val) : "r" (ptr), | |
| 277 | - "i" (ASI_PRIMARY_LITTLE)); | |
| 278 | - return val; | |
| 279 | 260 | #else |
| 280 | 261 | uint8_t *p = ptr; |
| 281 | 262 | return p[0] | (p[1] << 8) | (p[2] << 16) | (p[3] << 24); |
| ... | ... | @@ -284,27 +265,17 @@ static inline int ldl_le_p(void *ptr) |
| 284 | 265 | |
| 285 | 266 | static inline uint64_t ldq_le_p(void *ptr) |
| 286 | 267 | { |
| 287 | -#if defined(__sparc__) | |
| 288 | - uint64_t val; | |
| 289 | - __asm__ __volatile__ ("ldxa [%1] %2, %0" : "=r" (val) : "r" (ptr), | |
| 290 | - "i" (ASI_PRIMARY_LITTLE)); | |
| 291 | - return val; | |
| 292 | -#else | |
| 293 | 268 | uint8_t *p = ptr; |
| 294 | 269 | uint32_t v1, v2; |
| 295 | 270 | v1 = ldl_le_p(p); |
| 296 | 271 | v2 = ldl_le_p(p + 4); |
| 297 | 272 | return v1 | ((uint64_t)v2 << 32); |
| 298 | -#endif | |
| 299 | 273 | } |
| 300 | 274 | |
| 301 | 275 | static inline void stw_le_p(void *ptr, int v) |
| 302 | 276 | { |
| 303 | 277 | #ifdef __powerpc__ |
| 304 | 278 | __asm__ __volatile__ ("sthbrx %1,0,%2" : "=m" (*(uint16_t *)ptr) : "r" (v), "r" (ptr)); |
| 305 | -#elif defined(__sparc__) | |
| 306 | - __asm__ __volatile__ ("stha %1, [%2] %3" : "=m" (*(uint16_t *)ptr) : "r" (v), | |
| 307 | - "r" (ptr), "i" (ASI_PRIMARY_LITTLE)); | |
| 308 | 279 | #else |
| 309 | 280 | uint8_t *p = ptr; |
| 310 | 281 | p[0] = v; |
| ... | ... | @@ -316,9 +287,6 @@ static inline void stl_le_p(void *ptr, int v) |
| 316 | 287 | { |
| 317 | 288 | #ifdef __powerpc__ |
| 318 | 289 | __asm__ __volatile__ ("stwbrx %1,0,%2" : "=m" (*(uint32_t *)ptr) : "r" (v), "r" (ptr)); |
| 319 | -#elif defined(__sparc__) | |
| 320 | - __asm__ __volatile__ ("stwa %1, [%2] %3" : "=m" (*(uint32_t *)ptr) : "r" (v), | |
| 321 | - "r" (ptr), "i" (ASI_PRIMARY_LITTLE)); | |
| 322 | 290 | #else |
| 323 | 291 | uint8_t *p = ptr; |
| 324 | 292 | p[0] = v; |
| ... | ... | @@ -330,15 +298,9 @@ static inline void stl_le_p(void *ptr, int v) |
| 330 | 298 | |
| 331 | 299 | static inline void stq_le_p(void *ptr, uint64_t v) |
| 332 | 300 | { |
| 333 | -#if defined(__sparc__) | |
| 334 | - __asm__ __volatile__ ("stxa %1, [%2] %3" : "=m" (*(uint64_t *)ptr) : "r" (v), | |
| 335 | - "r" (ptr), "i" (ASI_PRIMARY_LITTLE)); | |
| 336 | -#undef ASI_PRIMARY_LITTLE | |
| 337 | -#else | |
| 338 | 301 | uint8_t *p = ptr; |
| 339 | 302 | stl_le_p(p, (uint32_t)v); |
| 340 | 303 | stl_le_p(p + 4, v >> 32); |
| 341 | -#endif | |
| 342 | 304 | } |
| 343 | 305 | |
| 344 | 306 | /* float access */ | ... | ... |