X-Git-Url: https://git.saurik.com/apple/xnu.git/blobdiff_plain/1c79356b52d46aa6b508fb032f5ae709b1f2897b..5eebf7385fedb1517b66b53c28e5aa6bb0a2be50:/bsd/sys/kdebug.h diff --git a/bsd/sys/kdebug.h b/bsd/sys/kdebug.h index b242cecb4..0f00781f6 100644 --- a/bsd/sys/kdebug.h +++ b/bsd/sys/kdebug.h @@ -29,10 +29,14 @@ #ifndef BSD_SYS_KDEBUG_H #define BSD_SYS_KDEBUG_H +#include #include __BEGIN_DECLS +#ifdef __APPLE_API_UNSTABLE + #include +#include #if defined(KERNEL_BUILD) #include #endif /* KERNEL_BUILD */ @@ -72,6 +76,8 @@ __BEGIN_DECLS #define DBG_TRACE 7 #define DBG_DLIL 8 #define DBG_MISC 20 +#define DBG_DYLD 31 +#define DBG_QT 32 #define DBG_MIG 255 /* **** The Kernel Debug Sub Classes for Mach (DBG_MACH) **** */ @@ -84,6 +90,7 @@ __BEGIN_DECLS #define DBG_MACH_EXCP_DECI 0x09 /* Decrementer Interrupt */ #define DBG_MACH_EXCP_SC 0x0C /* System Calls */ #define DBG_MACH_EXCP_TRACE 0x0D /* Trace exception */ +#define DBG_MACH_EXCP_EMUL 0x0E /* Instruction emulated */ #define DBG_MACH_IHDLR 0x10 /* Interrupt Handlers */ #define DBG_MACH_IPC 0x20 /* Inter Process Comm */ #define DBG_MACH_VM 0x30 /* Virtual Memory */ @@ -97,6 +104,10 @@ __BEGIN_DECLS #define MACH_CALL_CONT 0x3 /* call_continuation() */ #define MACH_CALLOUT 0x4 /* callouts */ #define MACH_STACK_DETACH 0x5 +#define MACH_MAKE_RUNNABLE 0x6 /* make thread runnable */ +#define MACH_PROMOTE 0x7 /* promoted due to resource */ +#define MACH_DEMOTE 0x8 /* promotion undone */ +#define MACH_PREBLOCK_MUTEX 0x9 /* preblocking on mutex */ /* **** The Kernel Debug Sub Classes for Network (DBG_NETWORK) **** */ #define DBG_NETIP 1 /* Internet Protocol */ @@ -122,6 +133,7 @@ __BEGIN_DECLS #define DBG_NETAFP 107 /* Apple Filing Protocol */ #define DBG_NETRTMP 108 /* Routing Table Maintenance Protocol */ #define DBG_NETAURP 109 /* Apple Update Routing Protocol */ +#define DBG_NETIPSEC 128 /* IPsec Protocol */ /* **** The Kernel Debug Sub Classes for IOKIT (DBG_IOKIT) **** */ #define DBG_IOSCSI 1 /* SCSI */ @@ -139,6 +151,7 @@ __BEGIN_DECLS #define DBG_IOCMDQ 13 /* Command queue latencies */ #define DBG_IOMCURS 14 /* Memory Cursor */ #define DBG_IOMDESC 15 /* Memory Descriptors */ +#define DBG_IOPOWER 16 /* Power Managerment */ /* **** The Kernel Debug Sub Classes for Device Drivers (DBG_DRIVERS) **** */ #define DBG_DRVSCSI 1 /* SCSI */ @@ -160,14 +173,29 @@ __BEGIN_DECLS /* The Kernel Debug Sub Classes for File System */ #define DBG_FSRW 1 /* reads and writes to the filesystem */ +#define DBG_DKRW 2 /* reads and writes to the disk */ +#define DBG_FSVN 3 /* vnode operations (inc. locking/unlocking) */ +#define DBG_FSLOOOKUP 4 /* namei and other lookup-related operations */ /* The Kernel Debug Sub Classes for BSD */ #define DBG_BSD_EXCP_SC 0x0C /* System Calls */ +#define DBG_BSD_AIO 0x0D /* aio (POSIX async IO) */ +#define DBG_BSD_SC_EXTENDED_INFO 0x0E /* System Calls, extended info */ /* The Kernel Debug Sub Classes for DBG_TRACE */ #define DBG_TRACE_DATA 0 #define DBG_TRACE_STRING 1 +/* The Kernel Debug Sub Classes for DBG_DYLD */ +#define DBG_DYLD_STRING 5 + +/* The Kernel Debug modifiers for the DBG_DKRW sub class */ +#define DKIO_DONE 0x01 +#define DKIO_READ 0x02 +#define DKIO_ASYNC 0x04 +#define DKIO_META 0x08 +#define DKIO_PAGING 0x10 + /**********************************************************************/ #define KDBG_CODE(Class, SubClass, code) (((Class & 0xff) << 24) | ((SubClass & 0xff) << 16) | ((code & 0x3fff) << 2)) @@ -183,6 +211,8 @@ __BEGIN_DECLS #define TRACEDBG_CODE(SubClass,code) KDBG_CODE(DBG_TRACE, SubClass, code) #define MISCDBG_CODE(SubClass,code) KDBG_CODE(DBG_MISC, SubClass, code) #define DLILDBG_CODE(SubClass,code) KDBG_CODE(DBG_DLIL, SubClass, code) +#define DYLDDBG_CODE(SubClass,code) KDBG_CODE(DBG_DYLD, SubClass, code) +#define QTDBG_CODE(SubClass,code) KDBG_CODE(DBG_QT, SubClass, code) /* Usage: * kernel_debug((KDBG_CODE(DBG_NETWORK, DNET_PROTOCOL, 51) | DBG_FUNC_START), @@ -212,12 +242,22 @@ __BEGIN_DECLS */ extern unsigned int kdebug_enable; +#define KDEBUG_ENABLE_TRACE 0x1 +#define KDEBUG_ENABLE_ENTROPY 0x2 +#define KDEBUG_ENABLE_CHUD 0x4 + #define KERNEL_DEBUG_CONSTANT(x,a,b,c,d,e) \ do { \ if (kdebug_enable) \ kernel_debug(x,a,b,c,d,e); \ } while(0) +#define KERNEL_DEBUG_CONSTANT1(x,a,b,c,d,e) \ +do { \ + if (kdebug_enable) \ + kernel_debug1(x,a,b,c,d,e); \ +} while(0) + extern void kernel_debug(unsigned int debugid, unsigned int arg1, unsigned int arg2, unsigned int arg3, unsigned int arg4, unsigned int arg5); extern void kernel_debug1(unsigned int debugid, unsigned int arg1, unsigned int arg2, unsigned int arg3, unsigned int arg4, unsigned int arg5); @@ -243,16 +283,18 @@ do { \ #endif +#endif /* __APPLE_API_UNSTABLE */ __END_DECLS #ifdef KERNEL_PRIVATE +#ifdef __APPLE_API_PRIVATE /* * private kernel_debug definitions */ typedef struct { -mach_timespec_t timestamp; +uint64_t timestamp; unsigned int arg1; unsigned int arg2; unsigned int arg3; @@ -289,6 +331,7 @@ typedef struct int nolog; int flags; int nkdthreads; + int bufid; } kbufinfo_t; typedef struct @@ -324,6 +367,7 @@ typedef struct #define KDBG_THRMAP 12 #define KDBG_PIDEX 14 #define KDBG_SETRTCDEC 15 +#define KDBG_KDGETENTROPY 16 /* Minimum value allowed when setting decrementer ticks */ #define KDBG_MINRTCDEC 2500 @@ -353,6 +397,7 @@ typedef struct unsigned long pcsample_end; } pcinfo_t; +#endif /* __APPLE_API_PRIVATE */ #endif /* KERNEL_PRIVATE */ #endif /* !BSD_SYS_KDEBUG_H */