Revision 8bba3ea1 cpu-all.h
b/cpu-all.h | ||
---|---|---|
206 | 206 |
* user : user mode access using soft MMU |
207 | 207 |
* kernel : kernel mode access using soft MMU |
208 | 208 |
*/ |
209 |
static inline int ldub_p(void *ptr) |
|
209 |
static inline int ldub_p(const void *ptr)
|
|
210 | 210 |
{ |
211 | 211 |
return *(uint8_t *)ptr; |
212 | 212 |
} |
213 | 213 |
|
214 |
static inline int ldsb_p(void *ptr) |
|
214 |
static inline int ldsb_p(const void *ptr)
|
|
215 | 215 |
{ |
216 | 216 |
return *(int8_t *)ptr; |
217 | 217 |
} |
... | ... | |
227 | 227 |
#if defined(WORDS_BIGENDIAN) || defined(WORDS_ALIGNED) |
228 | 228 |
|
229 | 229 |
/* conservative code for little endian unaligned accesses */ |
230 |
static inline int lduw_le_p(void *ptr) |
|
230 |
static inline int lduw_le_p(const void *ptr)
|
|
231 | 231 |
{ |
232 | 232 |
#ifdef __powerpc__ |
233 | 233 |
int val; |
... | ... | |
239 | 239 |
#endif |
240 | 240 |
} |
241 | 241 |
|
242 |
static inline int ldsw_le_p(void *ptr) |
|
242 |
static inline int ldsw_le_p(const void *ptr)
|
|
243 | 243 |
{ |
244 | 244 |
#ifdef __powerpc__ |
245 | 245 |
int val; |
... | ... | |
251 | 251 |
#endif |
252 | 252 |
} |
253 | 253 |
|
254 |
static inline int ldl_le_p(void *ptr) |
|
254 |
static inline int ldl_le_p(const void *ptr)
|
|
255 | 255 |
{ |
256 | 256 |
#ifdef __powerpc__ |
257 | 257 |
int val; |
... | ... | |
263 | 263 |
#endif |
264 | 264 |
} |
265 | 265 |
|
266 |
static inline uint64_t ldq_le_p(void *ptr) |
|
266 |
static inline uint64_t ldq_le_p(const void *ptr)
|
|
267 | 267 |
{ |
268 | 268 |
uint8_t *p = ptr; |
269 | 269 |
uint32_t v1, v2; |
... | ... | |
305 | 305 |
|
306 | 306 |
/* float access */ |
307 | 307 |
|
308 |
static inline float32 ldfl_le_p(void *ptr) |
|
308 |
static inline float32 ldfl_le_p(const void *ptr)
|
|
309 | 309 |
{ |
310 | 310 |
union { |
311 | 311 |
float32 f; |
... | ... | |
325 | 325 |
stl_le_p(ptr, u.i); |
326 | 326 |
} |
327 | 327 |
|
328 |
static inline float64 ldfq_le_p(void *ptr) |
|
328 |
static inline float64 ldfq_le_p(const void *ptr)
|
|
329 | 329 |
{ |
330 | 330 |
CPU_DoubleU u; |
331 | 331 |
u.l.lower = ldl_le_p(ptr); |
... | ... | |
343 | 343 |
|
344 | 344 |
#else |
345 | 345 |
|
346 |
static inline int lduw_le_p(void *ptr) |
|
346 |
static inline int lduw_le_p(const void *ptr)
|
|
347 | 347 |
{ |
348 | 348 |
return *(uint16_t *)ptr; |
349 | 349 |
} |
350 | 350 |
|
351 |
static inline int ldsw_le_p(void *ptr) |
|
351 |
static inline int ldsw_le_p(const void *ptr)
|
|
352 | 352 |
{ |
353 | 353 |
return *(int16_t *)ptr; |
354 | 354 |
} |
355 | 355 |
|
356 |
static inline int ldl_le_p(void *ptr) |
|
356 |
static inline int ldl_le_p(const void *ptr)
|
|
357 | 357 |
{ |
358 | 358 |
return *(uint32_t *)ptr; |
359 | 359 |
} |
360 | 360 |
|
361 |
static inline uint64_t ldq_le_p(void *ptr) |
|
361 |
static inline uint64_t ldq_le_p(const void *ptr)
|
|
362 | 362 |
{ |
363 | 363 |
return *(uint64_t *)ptr; |
364 | 364 |
} |
... | ... | |
380 | 380 |
|
381 | 381 |
/* float access */ |
382 | 382 |
|
383 |
static inline float32 ldfl_le_p(void *ptr) |
|
383 |
static inline float32 ldfl_le_p(const void *ptr)
|
|
384 | 384 |
{ |
385 | 385 |
return *(float32 *)ptr; |
386 | 386 |
} |
387 | 387 |
|
388 |
static inline float64 ldfq_le_p(void *ptr) |
|
388 |
static inline float64 ldfq_le_p(const void *ptr)
|
|
389 | 389 |
{ |
390 | 390 |
return *(float64 *)ptr; |
391 | 391 |
} |
... | ... | |
403 | 403 |
|
404 | 404 |
#if !defined(WORDS_BIGENDIAN) || defined(WORDS_ALIGNED) |
405 | 405 |
|
406 |
static inline int lduw_be_p(void *ptr) |
|
406 |
static inline int lduw_be_p(const void *ptr)
|
|
407 | 407 |
{ |
408 | 408 |
#if defined(__i386__) |
409 | 409 |
int val; |
... | ... | |
418 | 418 |
#endif |
419 | 419 |
} |
420 | 420 |
|
421 |
static inline int ldsw_be_p(void *ptr) |
|
421 |
static inline int ldsw_be_p(const void *ptr)
|
|
422 | 422 |
{ |
423 | 423 |
#if defined(__i386__) |
424 | 424 |
int val; |
... | ... | |
433 | 433 |
#endif |
434 | 434 |
} |
435 | 435 |
|
436 |
static inline int ldl_be_p(void *ptr) |
|
436 |
static inline int ldl_be_p(const void *ptr)
|
|
437 | 437 |
{ |
438 | 438 |
#if defined(__i386__) || defined(__x86_64__) |
439 | 439 |
int val; |
... | ... | |
448 | 448 |
#endif |
449 | 449 |
} |
450 | 450 |
|
451 |
static inline uint64_t ldq_be_p(void *ptr) |
|
451 |
static inline uint64_t ldq_be_p(const void *ptr)
|
|
452 | 452 |
{ |
453 | 453 |
uint32_t a,b; |
454 | 454 |
a = ldl_be_p(ptr); |
... | ... | |
494 | 494 |
|
495 | 495 |
/* float access */ |
496 | 496 |
|
497 |
static inline float32 ldfl_be_p(void *ptr) |
|
497 |
static inline float32 ldfl_be_p(const void *ptr)
|
|
498 | 498 |
{ |
499 | 499 |
union { |
500 | 500 |
float32 f; |
... | ... | |
514 | 514 |
stl_be_p(ptr, u.i); |
515 | 515 |
} |
516 | 516 |
|
517 |
static inline float64 ldfq_be_p(void *ptr) |
|
517 |
static inline float64 ldfq_be_p(const void *ptr)
|
|
518 | 518 |
{ |
519 | 519 |
CPU_DoubleU u; |
520 | 520 |
u.l.upper = ldl_be_p(ptr); |
... | ... | |
532 | 532 |
|
533 | 533 |
#else |
534 | 534 |
|
535 |
static inline int lduw_be_p(void *ptr) |
|
535 |
static inline int lduw_be_p(const void *ptr)
|
|
536 | 536 |
{ |
537 | 537 |
return *(uint16_t *)ptr; |
538 | 538 |
} |
539 | 539 |
|
540 |
static inline int ldsw_be_p(void *ptr) |
|
540 |
static inline int ldsw_be_p(const void *ptr)
|
|
541 | 541 |
{ |
542 | 542 |
return *(int16_t *)ptr; |
543 | 543 |
} |
544 | 544 |
|
545 |
static inline int ldl_be_p(void *ptr) |
|
545 |
static inline int ldl_be_p(const void *ptr)
|
|
546 | 546 |
{ |
547 | 547 |
return *(uint32_t *)ptr; |
548 | 548 |
} |
549 | 549 |
|
550 |
static inline uint64_t ldq_be_p(void *ptr) |
|
550 |
static inline uint64_t ldq_be_p(const void *ptr)
|
|
551 | 551 |
{ |
552 | 552 |
return *(uint64_t *)ptr; |
553 | 553 |
} |
... | ... | |
569 | 569 |
|
570 | 570 |
/* float access */ |
571 | 571 |
|
572 |
static inline float32 ldfl_be_p(void *ptr) |
|
572 |
static inline float32 ldfl_be_p(const void *ptr)
|
|
573 | 573 |
{ |
574 | 574 |
return *(float32 *)ptr; |
575 | 575 |
} |
576 | 576 |
|
577 |
static inline float64 ldfq_be_p(void *ptr) |
|
577 |
static inline float64 ldfq_be_p(const void *ptr)
|
|
578 | 578 |
{ |
579 | 579 |
return *(float64 *)ptr; |
580 | 580 |
} |
Also available in: Unified diff