| /xnu-11215/doc/building/ |
| H A D | xnu_version.md | 8 version number for the kernel being built. All other instances of the kernel 13 The buildsystem (`makedefs/MakeInc.kernel`) generates the `xnuVersion` file by 33 * `J` represents the kernel major version number (integer) 34 * `N` represents the kernel minor version number (integer) 35 * `R` represents the kernel revision number (integer) 36 * `S` represents the kernel build stage (one of `d`, `a`, `b`, or `r`) 37 * `L` represents the kernel pre-release level (integer) 41 The correct way to make use of the kernel version within kernel code or a
|
| H A D | bound_checks.md | 5 which, in the case of the kernel, means panicking the system. While panicking 18 system's configuration `files` under each kernel component. For instance, one of 66 for all other kernel configurations failing bounds checks generate a telemetry event 69 generate a telemetry event instead of panicking; for all other kernel configurations 87 that your changes did not impact kernel functionality. 130 the kernel is still probably livable. A kernel that is unlivable due to panics 140 certain conditions can still result in an un-livable kernel (for instance,
|
| /xnu-11215/config/ |
| H A D | README.DEBUG-kernel.txt | 1 This directory contains a universal DEBUG kernel, built for 32-bit and 2 64-bit Intel. It includes a dSYM bundle for remote kernel debugging 3 and live kernel debugging. 7 !!!WARNING!!! These steps will overwrite the default kernel and 10 To install the DEBUG kernel, do: 26 With the DEBUG kernel installed, set "kmem=1" in your "boot-args" 30 (gdb) target darwin-kernel 36 <arch> should reflect the currently booted kernel architecture, either
|
| H A D | MASTER | 93 options KCTL_TEST # kernel control test # <kctl_test> 95 # secure_kernel - secure kernel from user programs 99 # 4.4 general kernel 103 options PROFILE # kernel profiling # <profile> 162 profile # build a profiling kernel # <profile> 186 # configurable kernel event related resources 282 # configurable kernel message buffer size 603 # available when the kernel is being debugged. 617 options KDEBUG # kernel tracing # <kdebug> 629 # kernel performance tracing [all …]
|
| /xnu-11215/doc/mach_ipc/ |
| H A D | kmsg.md | 4 IPC kmsg is the kernel representation of an in flight Mach IPC 9 IPC kmsg have a complex in memory layout that is designed to separate kernel 73 and a Mach message in the kernel can be split in 3 separate non contiguous 75 - its header + descriptors (which contain kernel pointers in kernel); 219 the size of user and kernel descriptors aren't the same and the kernel has to 350 the size of user and kernel descriptors aren't the same and the kernel has to 359 use PAC in order to check the integrity of kernel messages. 378 For example, here is how a port descriptor type looks like in kernel: 410 ### Descriptor signing (kernel extensions) 412 On macOS where kernel extensions exist and use the arm64e slice, [all …]
|
| /xnu-11215/ |
| H A D | README.md | 15 * `libkdd` - source for user library for parsing kernel data like kernel chunked data. 17 * `osfmk` - Mach kernel based subsystems 55 This will also create a bootable image, kernel.[config], and a kernel binary 56 with symbols, kernel.[config].unstripped. 143 So you can setup new kernel as 190 So if the kernel panic's you can easily power reboot and recover back to original kernel. 251 for kernel extensions - 330 to everyone for kernel extensions. 401 kernel and Apple internal kernel extensions and omitted from user 489 Use LLDB to debug the kernel: [all …]
|
| /xnu-11215/makedefs/ |
| H A D | MakeInc.kernel | 5 # MakeInc.kernel augments the single-architecture 7 # to assembling and linking a kernel. 118 # kernel.unstripped.noctf Unstripped kernel with no CTF 119 # kernel.ctf CTF from the dSYM associated with kernel.unstripped.noctf 120 # kernel.unstripped kernel.unstripped.noctf merged with kernel.ctf (Debug Rich Executabl… 121 # kernel Stripped kernel.unstripped.noctf merged with kernel.ctf (Final Kerne… 123 # Note: "kernel" here is a placeholder for the actual name of the kernel which 135 # Strip the kernel and merge in the CTF 139 @echo "built kernel at $@" 375 # If the timestamp indicates the DSTROOT kernel is out of [all …]
|
| H A D | MakeInc.top | 16 # a kernel or perform actions other than 36 # Default to current kernel architecture 121 # default kernel configuration = DEFAULT_KERNEL_CONFIG 405 # invalidate current kernel in $(SYMROOT). Timestamp must be +1 from a previous kernel build 423 # Install kernel header files 430 # Install machine independent kernel header files 442 # Install machine dependent kernel header files 454 # Install kernel header files 492 # Install machine dependent kernel header files 566 # Install kernel files [all …]
|
| H A D | MakeInc.def | 326 # probes from the kernel. 480 # Which kernel configurations are built with KCOV enabled. 538 -fsanitize=kernel-hwaddress \ 687 # a KASAN kernel + runtime, but linked against a DEVELOPMENT kernel cache. 740 LDFLAGS_KERNEL_SDK = -L$(SDKROOT)/usr/local/lib/kernel -L$(SDKROOT)/usr/local/lib/kernel/platform 942 # (and not the static kernel cache / kcgen) 946 -Wl,-kernel 950 -Wl,-kernel 970 # Default runtime libraries to be linked with the kernel 1056 # boot-arg when building the kernel with code coverage enabled. [all …]
|
| H A D | MakeInc.dir | 79 # Install machine independent kernel header files 84 # Install machine dependent kernel header files 89 # Install machine independent kernel header files 94 # Install machine dependent kernel header files
|
| /xnu-11215/tests/ |
| H A D | mach_continuous_time.c | 43 bool kernel = false; variable 51 if (kernel) { 57 kernel = !kernel; 76 bool kernel = false; variable 84 if (kernel) { 90 kernel = !kernel;
|
| H A D | stackshot_block_owner_14362384.m | 243 * exist in the kernel (to determine if we're running with CONFIG_XNUPOST defined). Else, 273 T_ASSERT_POSIX_SUCCESS(ret, "sysctl: %s kernel mutex", action_name); 288 "Context should match unslid location of mutex in kernel memory"); 387 T_ASSERT_POSIX_SUCCESS(ret, "sysctl: %s kernel rwlock", action_name); 399 T_QUIET; T_ASSERT_POSIX_SUCCESS(ret, "Getting unslid location of kernel rwlock"); 449 // acquires a kernel rwlock for writing, and then waits on a kernel semaphore. 506 * Uses a debug sysctl to initialize a kernel mutex. 508 * The 'waiting' thread grabs this kernel mutex, and immediately waits on a kernel semaphore. 509 * The 'grabbing' thread just attempts to lock the kernel mutex. 510 * When the semaphore is signalled, the 'waiting' thread will unlock the kernel mutex, [all …]
|
| H A D | ecc_test_helper.c | 134 kernel, enumerator 156 testCase(kernel), 312 case kernel: in main()
|
| /xnu-11215/libkdd/ |
| H A D | README.md | 4 This project allows for dynamic data to be passed from the kernel to userspace tools without bindin… 5 …n. The `libkdd` library provides convenient API for parsing and interpreting `kernel chunked data`. 44 extensible data format is that kernel can decide to put more information as required without requir… 72 If a given kernel data type is complex and requires adding multiple optional fields inside a contai… 87 With the self describing nature of format, the kernel provider can describe a data type (uniquely i… 89 Following is an example of how we can describe a kernel specific struct sample_disk_io_stats in buf…
|
| /xnu-11215/libkern/libkern/ |
| H A D | version.h.template | 31 * of the kernel 36 * of the kernel 41 * stage, and prerelease level of the kernel 46 * of the kernel 63 * configuration of the kernel, e.g., development or release */
|
| /xnu-11215/osfmk/kperf/ |
| H A D | callstack.c | 598 boolean_t kernel = FALSE; in chudxnu_thread_get_callstack64_internal() local 624 kernel = PSR64_IS_KERNEL(state->cpsr); in chudxnu_thread_get_callstack64_internal() 627 if (!user_only && !kernel) { in chudxnu_thread_get_callstack64_internal() 660 BUF_VERB(PERF_CS_BACKTRACE | DBG_FUNC_START, kernel, 0); in chudxnu_thread_get_callstack64_internal() 686 if (kernel) { in chudxnu_thread_get_callstack64_internal() 742 buffer[bufferIndex++] = chudxnu_vm_unslide(pc, kernel); in chudxnu_thread_get_callstack64_internal() 778 kernel = PSR_IS_KERNEL(state->cpsr); in chudxnu_thread_get_callstack64_internal() 781 if (!user_only && !kernel) { in chudxnu_thread_get_callstack64_internal() 813 BUF_VERB(PERF_CS_BACKTRACE | DBG_FUNC_START, kernel, 1); in chudxnu_thread_get_callstack64_internal() 839 if (kernel) { in chudxnu_thread_get_callstack64_internal() [all …]
|
| /xnu-11215/tools/lldbmacros/tests/lldbtest/ |
| H A D | testcase.py | 147 def kernel(): member in LLDBTestCase 151 kernel = ( 156 return next(kernel, None)
|
| /xnu-11215/doc/allocators/ |
| H A D | api-basics.md | 3 The right way to allocate memory in the kernel. 29 in the kernel, from a security perspective. 33 The kernel sometimes needs to provide persistent allocations that depend on 43 these allocations results in a kernel panic. 67 will never fail (the kernel will instead panic if no memory can be found). 73 The first blessed way to allocate memory in the kernel is by using zones. 116 kernel pointers (like `vm_offset_t`,`vm_address_t`, `uintptr_t`, ...), 132 kernel extensions must define `KALLOC_TYPE_STRICT_SIZE_CHECK` to turn 158 contain kernel pointers. If your untyped allocation contains kernel pointers 160 the kernel pointers and the second that is untyped and data-only. [all …]
|
| /xnu-11215/tools/lldbmacros/ |
| H A D | README.md | 4 A. How to use lldb for kernel debugging 5 B. Design of lldb kernel debugging platform. 18 F. Development and Debugging on lldb kernel debugging platform. 23 A. How to use lldb for kernel debugging 53 …In case if you are working with older kernel files you can load kernel specific commands by doing - 74 B. Design of lldb kernel debugging platform. 81 | | |--lldb core--| | | <-- interacts with remote kernel or corefile. 107 |-plugins/ # Holds plugins for kernel commands. 383 * Do a clean build of kernel from xnu top level directory. 403 F. Development and Debugging on lldb kernel debugging platform. [all …]
|
| /xnu-11215/osfmk/x86_64/ |
| H A D | kpc_x86.c | 620 bool kernel = (cs & SEL_PL) != SEL_PL_U; in get_interrupted_pc() local 621 *kernel_out = kernel; in get_interrupted_pc() 629 if (kernel) { in get_interrupted_pc() 639 bool kernel = false; in kpc_sample_kperf_x86() local 640 uintptr_t pc = get_interrupted_pc(&kernel); in kpc_sample_kperf_x86() 641 kperf_kpc_flags_t flags = kernel ? KPC_KERNEL_PC : 0; in kpc_sample_kperf_x86()
|
| /xnu-11215/san/memory/ |
| H A D | kasan-blacklist-arm64 | 3 [kernel-hwaddress|address] 30 [kernel-hwaddress]
|
| /xnu-11215/osfmk/tests/ |
| H A D | README.md | 3 The tests directories osfmk/tests and bsd/tests include set of tests that run in kernel at boot-tim… 8 …* Automatically skips tests that are designed to panic kernel for on-desk testing, but run in BATs… 12 ## How to run kernel POST 15 * set boot-args to include "```kernPOST=0x1```"" to enable kernel testing on boot. 31 Adding a new kernel POST test is very simple. Here are a few steps and guidelines for adding tests. 73 …* **Note**: Please make sure your test does a proper cleanup of state. The kernel is expected to c…
|
| /xnu-11215/tools/lldbmacros/tests/lldb_tests/ |
| H A D | test_process.py | 95 kernel = [ 101 self.assertSetEqual(set(macro), set(kernel),
|
| /xnu-11215/doc/arm/ |
| H A D | sme.md | 149 xnu has in-kernel SIMD instructions<sup>[4](#xnu_simd_footnote)</sup> which 153 Hence, anytime xnu enters the kernel with `PSTATE.SM` set, it saves the current 155 these values during kernel exit. These operations occur in an assembly-only 160 Since the kernel may interrupt *itself*, kernel code is forbidden from entering 162 `TPIDR2_EL0`, `ZA`, or `ZT0` during kernel entry and exit, since there are no 163 in-kernel SME operations that could clobber them. 188 As noted above, xnu saves `SVCR` on kernel entry and uses it to restore 189 `PSTATE.SM` on kernel exit. Hence `machine_restore_sme_context()` updates 192 or `P` register files, since these will be updated on kernel exit. 213 `ZA` state. (Recall that `PSTATE.SM` was previously cleared on kernel entry.)
|
| /xnu-11215/osfmk/mach/ |
| H A D | host_priv.defs | 60 * Matchmaker definitions file for Mach kernel interface. 92 * Get boot configuration information from kernel. 176 * Obsolete interfaces, removed from kernel 323 * If this value is already set, the kernel will discard its 337 * it is a special purpose port intended for kernel clients. User 345 * Perform an operation with a kernel extension, on the kext loading system,
|