update compat
[lttv.git] / ltt-usertrace / ltt / ltt-usertrace.h
index d64f4f21a0b6fcaa8cae2775649326bf77603241..4fed3b76b90c0c083f8510b331d1bb3919b105e9 100644 (file)
 
 #include <errno.h>
 #include <syscall.h>
-#include <linux/unistd.h>
-#include <asm/atomic.h>
 #include <string.h>
-#include <sys/types.h>
 #include <stdint.h>
+#include <sys/types.h>
+#include <linux/unistd.h>
+
+#define inline inline __attribute__((always_inline))
+
+#if defined(__powerpc__) || defined(__powerpc64__)
+#ifdef __powerpc64__
+#include <ltt/atomic-ppc64.h>
+#include <ltt/system-ppc64.h>
+#include <asm/timex.h>
+#else
+#include <ltt/ppc_asm-ppc.h>
+#include <ltt/atomic-ppc.h>
+#include <ltt/system-ppc.h>
+#include <ltt/timex-ppc.h>
+#endif
+#elif defined(__x86_64__)
+#include <asm/timex.h>
+#include <asm/bitops.h>
+#include <asm/atomic.h>
+#include <asm/system.h>
+#else
+#include <asm/timex.h>
+#include <asm/atomic.h>
+#endif
 
 #ifndef min
 #define min(a,b) ((a)<(b)?(a):(b))
 #endif
 
-//Put in asm-i486/unistd.h
-#define __NR_ltt_trace_generic 294
-#define __NR_ltt_register_generic      295
+#ifdef i386
+#define __NR_ltt_trace_generic 317
+#define __NR_ltt_register_generic      318
+#undef NR_syscalls
+#define NR_syscalls 319
+#endif
+
+#ifdef __x86_64__
+#define __NR_ltt_trace_generic 279
+#define __NR_ltt_register_generic      280
+#undef NR_syscalls
+#define NR_syscalls 281
+#endif
+
+#ifdef __powerpc__
+#define __NR_ltt_trace_generic 301
+#define __NR_ltt_register_generic      302
+#undef NR_syscalls
+#define NR_syscalls 303
+#endif
 
+#ifdef __powerpc64__
+#define __NR_ltt_trace_generic 301
+#define __NR_ltt_register_generic      302
 #undef NR_syscalls
-#define NR_syscalls 296
+#define NR_syscalls 303
+#endif
+
+
 
 //FIXME : setup for ARM
 //FIXME : setup for MIPS
@@ -56,19 +101,22 @@ struct user_facility_info {
   size_t pointer_size;
   size_t size_t_size;
 };
-
+#if 0
 static inline __attribute__((no_instrument_function)) 
 _syscall5(int, ltt_trace_generic, unsigned int, facility_id,
        unsigned int, event_id, void *, data, size_t, data_size, int, blocking)
 static inline __attribute__((no_instrument_function))
 _syscall2(int, ltt_register_generic, unsigned int *, facility_id,
        const struct user_facility_info *, info)
+#endif //0
+
+#define ltt_register_generic(...)  syscall(__NR_ltt_register_generic, __VA_ARGS__)
+#define ltt_trace_generic(...)  syscall(__NR_ltt_trace_generic, __VA_ARGS__)
 
 #ifndef LTT_PACK
 /* Calculate the offset needed to align the type */
 static inline unsigned int __attribute__((no_instrument_function))
-                                                                                                               ltt_align(size_t align_drift,
-                                      size_t size_of_type)
+       ltt_align(size_t align_drift, size_t size_of_type)
 {
   size_t alignment = min(sizeof(void*), size_of_type);
 
This page took 0.031273 seconds and 4 git commands to generate.