api: make api_gcc.h a superset of the other headers
authorPaolo Bonzini <pbonzini@redhat.com>
Tue, 16 Aug 2011 10:41:06 +0000 (06:41 -0400)
committerMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Tue, 16 Aug 2011 10:41:06 +0000 (06:41 -0400)
After this patch the only differences are:

- for_each_tid is now defined in api_x86.h

- HAVE_CPU_SET_T and HAVE_SCHED_SETAFFINITY are now defined in api_ppc.h

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
tests/api_gcc.h
tests/api_ppc.h

index 93b72442cab1f37dd7f7dd4b69560ed2e86a77ed..9874334b1bd4838a1263837a80db6afb46d8a8ba 100644 (file)
@@ -27,6 +27,8 @@
  * to redistribute under later versions of GPL might not be available.
  */
 
+#include <urcu/arch.h>
+
 #ifndef __always_inline
 #define __always_inline inline
 #endif
@@ -162,8 +164,8 @@ typedef pthread_t thread_id_t;
 
 #define NR_THREADS 128
 
-#define __THREAD_ID_MAP_EMPTY 0
-#define __THREAD_ID_MAP_WAITING 1
+#define __THREAD_ID_MAP_EMPTY ((thread_id_t) 0)
+#define __THREAD_ID_MAP_WAITING ((thread_id_t) 1)
 thread_id_t __thread_id_map[NR_THREADS];
 spinlock_t __thread_id_map_mutex;
 
@@ -175,6 +177,11 @@ spinlock_t __thread_id_map_mutex;
                if ((__thread_id_map[t] != __THREAD_ID_MAP_EMPTY) && \
                    (__thread_id_map[t] != __THREAD_ID_MAP_WAITING))
 
+#define for_each_tid(t, tid) \
+       for (t = 0; t < NR_THREADS; t++) \
+               if ((((tid) = __thread_id_map[t]) != __THREAD_ID_MAP_EMPTY) && \
+                   ((tid) != __THREAD_ID_MAP_WAITING))
+
 pthread_key_t thread_id_key;
 
 static int __smp_thread_id(void)
index cd3f2f3add5b7341856939703cba96bb0d89953c..255cb89bfb1100e3c9f50e11b0747752d433ccd0 100644 (file)
@@ -74,8 +74,6 @@
  * Machine parameters.
  */
 
-#define CONFIG_PPC64
-
 #define ____cacheline_internodealigned_in_smp \
        __attribute__((__aligned__(CAA_CACHE_LINE_SIZE)))
 
This page took 0.027104 seconds and 4 git commands to generate.