Home
last modified time | relevance | path

Searched refs:kernel (Results 1 – 25 of 117) sorted by relevance

12345

/xnu-11215/doc/building/
H A Dxnu_version.md8 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 Dbound_checks.md5 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 DREADME.DEBUG-kernel.txt1 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 DMASTER93 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 Dkmsg.md4 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 DREADME.md15 * `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 DMakeInc.kernel5 # 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 DMakeInc.top16 # 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 DMakeInc.def326 # 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 DMakeInc.dir79 # 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 Dmach_continuous_time.c43 bool kernel = false; variable
51 if (kernel) {
57 kernel = !kernel;
76 bool kernel = false; variable
84 if (kernel) {
90 kernel = !kernel;
H A Dstackshot_block_owner_14362384.m243 * 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 Decc_test_helper.c134 kernel, enumerator
156 testCase(kernel),
312 case kernel: in main()
/xnu-11215/libkdd/
H A DREADME.md4 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 Dversion.h.template31 * 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 Dcallstack.c598 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 Dtestcase.py147 def kernel(): member in LLDBTestCase
151 kernel = (
156 return next(kernel, None)
/xnu-11215/doc/allocators/
H A Dapi-basics.md3 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 DREADME.md4 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 Dkpc_x86.c620 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 Dkasan-blacklist-arm643 [kernel-hwaddress|address]
30 [kernel-hwaddress]
/xnu-11215/osfmk/tests/
H A DREADME.md3 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 Dtest_process.py95 kernel = [
101 self.assertSetEqual(set(macro), set(kernel),
/xnu-11215/doc/arm/
H A Dsme.md149 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 Dhost_priv.defs60 * 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,

12345