Use 64-bit masks
authorMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Sat, 29 Oct 2022 00:36:02 +0000 (20:36 -0400)
committerMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Sat, 29 Oct 2022 00:36:02 +0000 (20:36 -0400)
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
include/side/macros.h
src/side.c

index 58df0413f2862156fa72f38b43169e9fa05b980d..2f2181252eb2ffa660210a548b86dc43b81f4fda 100644 (file)
                (type *)((char *)__ptr - offsetof(type, member));       \
        })
 
+#if defined(__SIZEOF_LONG__)
+#define SIDE_BITS_PER_LONG     (__SIZEOF_LONG__ * 8)
+#elif defined(_LP64)
+#define SIDE_BITS_PER_LONG     64
+#else
+#define SIDE_BITS_PER_LONG     32
+#endif
+
 #endif /* _SIDE_MACROS_H */
index 9d2ef5738479956bd3a3ac264db3164c61d09655..32994c1115366a5c70b7bb106afd712dd91fc300 100644 (file)
 #include "list.h"
 
 /* Top 8 bits reserved for kernel tracer use. */
-#define SIDE_EVENT_ENABLED_KERNEL_MASK                 0xFF000000
-#define SIDE_EVENT_ENABLED_KERNEL_USER_EVENT_MASK      0x80000000
+#if SIDE_BITS_PER_LONG == 64
+# define SIDE_EVENT_ENABLED_KERNEL_MASK                        0xFF00000000000000ULL
+# define SIDE_EVENT_ENABLED_KERNEL_USER_EVENT_MASK     0x8000000000000000ULL
+
+/* Allow 2^56 tracer references on an event. */
+# define SIDE_EVENT_ENABLED_USER_MASK                  0x00FFFFFFFFFFFFFFULL
+#else
+# define SIDE_EVENT_ENABLED_KERNEL_MASK                        0xFF000000UL
+# define SIDE_EVENT_ENABLED_KERNEL_USER_EVENT_MASK     0x80000000UL
 
 /* Allow 2^24 tracer references on an event. */
-#define SIDE_EVENT_ENABLED_USER_MASK                   0x00FFFFFF
+# define SIDE_EVENT_ENABLED_USER_MASK                  0x00FFFFFFUL
+#endif
 
 struct side_events_register_handle {
        struct side_list_node node;
This page took 0.026478 seconds and 4 git commands to generate.