mark 32 bit support as broken
[ust.git] / libust / relay.h
index cb5c43847d273f6fa3c19232416b8b5f28b5524a..0e1827912b4870472088ed51f07d32d4e9fe42e6 100644 (file)
@@ -213,18 +213,26 @@ static inline struct buf_page *ltt_relay_cache_page(struct rchan_buf *buf,
 }
 
 //ust// #ifdef CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS
- static inline void ltt_relay_do_copy(void *dest, const void *src, size_t len)
+static inline void ltt_relay_do_copy(void *dest, const void *src, size_t len)
 {
+       union {
+               const void *src;
+               const u8 *src8;
+               const u16 *src16;
+               const u32 *src32;
+               const u64 *src64;
+       } u = { .src = src };
+
        switch (len) {
        case 0: break;
-       case 1: *(u8 *)dest = *(const u8 *)src;
+       case 1: *(u8 *)dest = *u.src8;
                break;
-       case 2: *(u16 *)dest = *(const u16 *)src;
+       case 2: *(u16 *)dest = *u.src16;
                break;
-       case 4: *(u32 *)dest = *(const u32 *)src;
+       case 4: *(u32 *)dest = *u.src32;
                break;
 //ust// #if (BITS_PER_LONG == 64)
-       case 8: *(u64 *)dest = *(const u64 *)src;
+       case 8: *(u64 *)dest = *u.src64;
                break;
 //ust// #endif
        default:
@@ -309,7 +317,7 @@ static inline int ltt_relay_write(struct rchan_buf *buf, size_t offset,
  * CONFIG_LTT_RELAY kernel API, ltt/ltt-relay-alloc.c
  */
 
-struct rchan *ltt_relay_open(const char *base_filename,
+extern struct rchan *ltt_relay_open(const char *base_filename,
                         struct dentry *parent,
                         size_t subbuf_size,
                         size_t n_subbufs,
@@ -367,8 +375,15 @@ struct ltt_channel_buf_struct {
        local_t commit_seq[0] ____cacheline_aligned;
 } ____cacheline_aligned;
 
-int ltt_do_get_subbuf(struct rchan_buf *buf, struct ltt_channel_buf_struct *ltt_buf, long *pconsumed_old);
+extern int ltt_do_get_subbuf(struct rchan_buf *buf, struct ltt_channel_buf_struct *ltt_buf, long *pconsumed_old);
+
+extern int ltt_do_put_subbuf(struct rchan_buf *buf, struct ltt_channel_buf_struct *ltt_buf, u32 uconsumed_old);
+
+extern void init_ustrelay_transport(void);
 
-int ltt_do_put_subbuf(struct rchan_buf *buf, struct ltt_channel_buf_struct *ltt_buf, u32 uconsumed_old);
+/*static*/ /* inline */ notrace void ltt_commit_slot(
+               struct ltt_channel_struct *ltt_channel,
+               void **transport_data, long buf_offset,
+               size_t data_size, size_t slot_size);
 
 #endif /* _LINUX_LTT_RELAY_H */
This page took 0.022429 seconds and 4 git commands to generate.