123456789101112131415161718192021222324252627282930313233343536373839404142 |
- Fix for lemote.
- --- libdrm-2.4.20.orig/xf86drm.h 2010-03-06 00:21:13.000000000 +0100
- +++ libdrm-2.4.20/xf86drm.h 2010-06-12 20:43:01.324916826 +0200
- @@ -374,6 +374,29 @@ typedef struct _drmSetVersion {
- : "memory"); \
- } while (0)
-
- +#elif defined(__mips__)
- +
- +#define DRM_CAS(lock, old, new, ret) \
- + do { \
- + __asm__ __volatile__( \
- + " .set mips3;.set noreorder;\n" \
- + " sync; \n" \
- + " ll %1, %0;\n" \
- + " bne %1, %2, 1f;\n" \
- + " li %1, 1; \n" \
- + " move %1, %3; \n" \
- + " sc %1, %0;\n" \
- + " xori %1, %1, 1\n" \
- + "1: \n" \
- + " .set mips0; .set reorder;\n" \
- + : "=m" (__drm_dummy_lock(lock)),\
- + "=&r" (ret) \
- + : "r" (old), \
- + "r" (new) \
- + : "memory","$8" \
- + ); \
- + } while(0)
- +
- #elif defined(__sparc__)
-
- #define DRM_CAS(lock,old,new,__ret) \
- @@ -457,7 +480,7 @@ do { register unsigned int __old __asm("
-
- #if defined(__alpha__)
- #define DRM_CAS_RESULT(_result) long _result
- -#elif defined(__powerpc__)
- +#elif defined(__powerpc__) || defined(__mips__)
- #define DRM_CAS_RESULT(_result) int _result
- #else
- #define DRM_CAS_RESULT(_result) char _result
|