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));
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
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 */
extern unsigned int systemLogDiags;
extern char debug_buf[];
extern unsigned int debug_boot_arg;
+extern char kernel_uuid[];
#ifdef MACH_KERNEL_PRIVATE
#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;
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