]> git.saurik.com Git - apple/xnu.git/blobdiff - libkern/os/trace_internal.h
xnu-7195.50.7.100.1.tar.gz
[apple/xnu.git] / libkern / os / trace_internal.h
index 3c5b311167cb60ac410378fcdc647765c34dd8ec..8073b0772f2b636e32ae9566581110239a79b6b0 100644 (file)
 
 #include <os/log.h>
 #include <uuid/uuid.h>
+#include <kern/assert.h>
 #include <firehose/firehose_types_private.h>
 
 __BEGIN_DECLS
 
-typedef union {
-    struct {
-#if __LP64__
-        uintptr_t pc : 48;
-#else
-        uintptr_t pc;
-#endif
-        // not encoded
-        firehose_tracepoint_flags_t flags;
-        uintptr_t dso;
-        uuid_t uuid;
-    };
-
-    uint32_t offset;
-    uint64_t vlocation : 48; // we never use the full 64-bits
-
-#if defined(__LP64__)
-    uint8_t encode_value[6]; // 48-bits
-#else
-    uint8_t encode_value[sizeof(uintptr_t)];
-#endif
-} os_trace_location_u;
-
-typedef os_trace_location_u *os_trace_location_t;
-
 OS_ALWAYS_INLINE
 inline uint32_t
 _os_trace_offset(const void *dso, const void *addr, _firehose_tracepoint_flags_activity_t flags __unused)
 {
-    return (uint32_t) ((uintptr_t)addr - (uintptr_t)dso);
+       assert((uintptr_t)addr >= (uintptr_t)dso);
+       return (uint32_t) ((uintptr_t)addr - (uintptr_t)dso);
 }
 
 bool