]> git.saurik.com Git - apple/xnu.git/blobdiff - osfmk/kern/debug.h
xnu-1699.24.23.tar.gz
[apple/xnu.git] / osfmk / kern / debug.h
index 308435ece684501fc7a48d4f017dd3f6a63253fc..66702bc161d028efb3c7ac3d82962ea18c10687a 100644 (file)
@@ -40,8 +40,10 @@ struct thread_snapshot {
        uint32_t                nkern_frames;
        uint32_t                nuser_frames;
        uint64_t                wait_event;
-       uint64_t                continuation;
+       uint64_t                continuation;
        uint64_t                thread_id;
+       uint64_t                user_time;
+       uint64_t                system_time;
        int32_t                 state;
        char                    ss_flags;
 } __attribute__ ((packed));
@@ -50,6 +52,13 @@ struct task_snapshot {
        uint32_t                snapshot_magic;
        int32_t                 pid;
        uint32_t                nloadinfos;
+       uint64_t                user_time_in_terminated_threads;
+       uint64_t                system_time_in_terminated_threads;
+       int                             suspend_count; 
+       int                             task_size;    // pages
+       int                             faults;         // number of page faults
+       int                             pageins;        // number of actual pageins
+       int                             cow_faults;     // number of copy-on-write faults
        char                    ss_flags;
        /* We restrict ourselves to a statically defined
         * (current as of 2009) length for the
@@ -59,19 +68,34 @@ struct task_snapshot {
        char                    p_comm[17];
 } __attribute__ ((packed));
 
+
+struct mem_snapshot {
+       uint32_t        snapshot_magic;
+       uint32_t        free_pages;
+       uint32_t        active_pages;
+       uint32_t        inactive_pages;
+       uint32_t        purgeable_pages;
+       uint32_t        wired_pages;
+       uint32_t        speculative_pages;
+       uint32_t        throttled_pages;
+} __attribute__((packed));
+
 enum {
        kUser64_p = 0x1,
        kKernel64_p = 0x2,
-       kHasDispatchSerial = 0x4
+       kHasDispatchSerial = 0x4,
+       kTerminatedSnapshot = 0x8
 };
 
 enum {
-    STACKSHOT_GET_DQ = 0x1,
-    STACKSHOT_SAVE_LOADINFO = 0x2
+       STACKSHOT_GET_DQ = 0x1,
+       STACKSHOT_SAVE_LOADINFO = 0x2,
+       STACKSHOT_GET_GLOBAL_MEM_STATS = 0x4
 };
 
 #define STACKSHOT_THREAD_SNAPSHOT_MAGIC 0xfeedface
 #define STACKSHOT_TASK_SNAPSHOT_MAGIC 0xdecafbad
+#define STACKSHOT_MEM_SNAPSHOT_MAGIC  0xabcddcba
 
 #endif /* __APPLE_API_UNSTABLE */
 #endif /* __APPLE_API_PRIVATE */
@@ -81,6 +105,7 @@ enum {
 extern unsigned int    systemLogDiags;
 extern char debug_buf[];
 extern unsigned int    debug_boot_arg;
+extern char kernel_uuid[];
 
 #ifdef MACH_KERNEL_PRIVATE
 
@@ -93,12 +118,12 @@ extern unsigned int     current_debugger;
 #define KDP_CUR_DB      0x1
 #define KDB_CUR_DB      0x2
 
-extern unsigned int     active_debugger;
+extern unsigned int    active_debugger;
 extern unsigned int    debug_mode; 
 extern unsigned int    disable_debug_output; 
 
-extern unsigned int     panicDebugging;
-extern unsigned int    logPanicDataToScreen;
+extern unsigned int    panicDebugging;
+extern unsigned int    logPanicDataToScreen;
 
 extern int db_run_mode;
 
@@ -130,7 +155,9 @@ void        unpackA(char *inbuf, uint32_t length);
 
 void   panic_display_system_configuration(void);
 void   panic_display_zprint(void);
-
+#if CONFIG_ZLEAKS
+void   panic_display_ztrace(void);
+#endif /* CONFIG_ZLEAKS */
 #endif /* MACH_KERNEL_PRIVATE */
 
 #define DB_HALT                0x1