]> git.saurik.com Git - apple/xnu.git/blobdiff - tools/lldbmacros/misc.py
xnu-6153.121.1.tar.gz
[apple/xnu.git] / tools / lldbmacros / misc.py
index effb5ea289e72321456faf5dae215b12288498fa..414a4e11d59d5c6a1acea015ffda144e8deb3b49 100755 (executable)
@@ -738,6 +738,7 @@ def DumpRawTraceFile(cmd_args=[], cmd_options={}):
 
     if lp64 :
         KDBG_TIMESTAMP_MASK = 0xffffffffffffffff
+        KDBG_CPU_SHIFT      = 0
     else :
         KDBG_TIMESTAMP_MASK = 0x00ffffffffffffff
         KDBG_CPU_SHIFT      = 56
@@ -942,10 +943,24 @@ def DumpRawTraceFile(cmd_args=[], cmd_options={}):
             # XXX condition here is on __LP64__
             if lp64 :
                 tempbuf += struct.pack('QQQQQQIIQ', 
-                        e.timestamp, e.arg1, e.arg2, e.arg3, e.arg4, e.arg5, e.debugid, e.cpuid, e.unused)
+                        unsigned(e.timestamp),
+                        unsigned(e.arg1),
+                        unsigned(e.arg2),
+                        unsigned(e.arg3),
+                        unsigned(e.arg4),
+                        unsigned(e.arg5),
+                        unsigned(e.debugid),
+                        unsigned(e.cpuid),
+                        unsigned(e.unused))
             else :
-                tempbuf += struct.pack('QIIIIII', 
-                        e.timestamp, e.arg1, e.arg2, e.arg3, e.arg4, e.arg5, e.debugid)
+                tempbuf += struct.pack('QIIIIII',
+                        unsigned(e.timestamp),
+                        unsigned(e.arg1),
+                        unsigned(e.arg2),
+                        unsigned(e.arg3),
+                        unsigned(e.arg4),
+                        unsigned(e.arg5),
+                        unsigned(e.debugid))
 
             # Watch for out of order timestamps
             if earliest_time < (htab[min_kdbp].kd_prev_timebase & KDBG_TIMESTAMP_MASK) :
@@ -953,7 +968,8 @@ def DumpRawTraceFile(cmd_args=[], cmd_options={}):
                 htab[min_kdbp].kd_prev_timebase += 1
 
                 e.timestamp = htab[min_kdbp].kd_prev_timebase & KDBG_TIMESTAMP_MASK
-                e.timestamp |= (min_cpu << KDBG_CPU_SHIFT)
+                if not lp64:
+                    e.timestamp |= (min_cpu << KDBG_CPU_SHIFT)
             else :
                 htab[min_kdbp].kd_prev_timebase = earliest_time