| /xnu-11215/osfmk/mach_debug/ |
| H A D | mach_debug_types.defs | 15 * Please obtain a copy of the License at 49 * School of Computer Science 73 type mach_zone_name_t = struct[80] of char; 76 type mach_zone_info_t = struct[8] of uint64_t; 82 type zone_btrecord_t = struct[16] of uint64_t; 85 type hash_info_bucket_t = struct[1] of natural_t; 88 type ipc_info_space_t = struct[6] of natural_t; 91 type ipc_info_name_t = struct[7] of natural_t; 97 type vm_info_region_t = struct[10] of natural_t; 101 type vm_info_object_t = struct[21] of natural_t; [all …]
|
| /xnu-11215/osfmk/mach/ |
| H A D | mach_types.defs | 15 * Please obtain a copy of the License at 49 * School of Computer Science 59 * is included in support of clause 2.2 (b) of the Apple Public License, 229 type task_array_t = ^array[] of task_t; 230 type thread_array_t = ^array[] of thread_t; 232 type act_params_t = array[6] of int; 345 * bytes instead of number of integer_t, for example. 595 array[*:32] of exception_handler_t; 601 array[*:32] of exception_behavior_t; 604 array[*:32] of thread_state_flavor_t; [all …]
|
| H A D | vm_map.defs | 15 * Please obtain a copy of the License at 49 * School of Computer Science 140 * address space of the target task. 177 * of the virtual address space of the target task. 189 * Returns the contents of the specified range of the 211 * Writes the contents of the specified range of the 223 * Copy the contents of the source range of the virtual 239 * Returns the contents of the specified range of the 262 * of the virtual address space of the target task. 330 * Map portion of a task's address space. [all …]
|
| H A D | mach_vm.defs | 15 * Please obtain a copy of the License at 49 * School of Computer Science 158 * for the specified range of the virtual address 194 * of the virtual address space of the target address space. 210 * Returns the contents of the specified range of the 240 * Writes the contents of the specified range of the 256 * Copy the contents of the source range of the virtual 276 * Returns the contents of the specified range of the 307 * of the virtual address space of the target task. 387 * Map portion of a task's address space. [all …]
|
| /xnu-11215/iokit/DriverKit/ |
| H A D | IOExtensiblePaniclog.iig | 15 * Please obtain a copy of the License at 67 * @param uuid The UUID of the handle. 72 * @return True in case of success. False in case of an error. 81 * in case of a panic. 91 * @return True in case of success. False in case of an error. 103 * @return 0 in case of success. Negative in case of an error. 115 * @return 0 in case of success. Negative in case of an error. 124 * @return 0 in case of success. Negative in case of an error. 139 * @return 0 in case of success. Negative in case of an error. 149 * @return 0 in case of success. Negative in case of an error. [all …]
|
| H A D | IOBufferMemoryDescriptor.iig | 6 * This file contains Original Code and/or Modifications of Original Code 10 * may not be used to create, or enable the creation or redistribution of, 11 * unlawful or unlicensed copies of an Apple operating system, or to 12 * circumvent, violate, or enable the circumvention or violation of, any 13 * terms of an Apple operating system software license agreement. 15 * Please obtain a copy of the License at 59 * to set the direction of the i/o 60 * @param capacity Maximum length of the memory buffer. The descriptor has no valid data 81 * @brief Obtain the address and length of the memory buffer. 89 * @brief Set the valid length of the memory buffer. [all …]
|
| H A D | IOUserClient.iig | 6 * This file contains Original Code and/or Modifications of Original Code 10 * may not be used to create, or enable the creation or redistribution of, 11 * unlawful or unlicensed copies of an Apple operating system, or to 12 * circumvent, violate, or enable the circumvention or violation of, any 13 * terms of an Apple operating system software license agreement. 15 * Please obtain a copy of the License at 85 * @field scalarInput Array of scalars from caller. 221 * @param asyncData An array of scalar data to be sent. 239 * of this method. 250 * the client task of the user client. [all …]
|
| H A D | IOMemoryDescriptor.iig | 6 * This file contains Original Code and/or Modifications of Original Code 10 * may not be used to create, or enable the creation or redistribution of, 11 * unlawful or unlicensed copies of an Apple operating system, or to 12 * circumvent, violate, or enable the circumvention or violation of, any 13 * terms of an Apple operating system software license agreement. 15 * Please obtain a copy of the License at 108 * @brief Obtain the length of the memory described. 117 * @brief Create a mapping of the memory in the callers address space. 126 * @param offset Start offset of the mapping in the descriptor. 149 * @param length Length of the memory. [all …]
|
| H A D | IODMACommand.iig | 6 * This file contains Original Code and/or Modifications of Original Code 11 * unlawful or unlicensed copies of an Apple operating system, or to 12 * circumvent, violate, or enable the circumvention or violation of, any 13 * terms of an Apple operating system software license agreement. 15 * Please obtain a copy of the License at 83 * duration of the I/O, and completed when the I/O is finished. 126 * @param flags Returned bit mask of flags 130 and number of valid segments returned 155 * @brief Obtain the parameters of a DMA preparation. 157 * @param length Returned length of the preparation. [all …]
|
| /xnu-11215/ |
| H A D | APPLE_LICENSE | 17 the grantor of rights, (i) claims of patents that are now or hereafter 72 (50%) or more of the outstanding shares or beneficial ownership of 92 (b) You must include a copy of this License with every copy of Source 108 notice in Exhibit A in each file of the Source Code of all Your 186 Original Code under the terms of any subsequent version of this 237 or as part of the name of products derived from the Original Code or 260 days of becoming aware of such breach; 278 indemnity or damages of any sort solely as a result of terminating 320 and intent of the parties, and the remainder of this License will 324 enforceability of either of those Sections, this License will [all …]
|
| /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 78 /* Build-time value of VERSION_MAJOR */ 81 /* Build-time value of VERSION_MINOR */ 84 /* Build-time value of VERSION_VARIANT */ 87 /* Build-time value of VERSION_REVISION */ 90 /* Build-time value of VERSION_STAGE */ 99 /* Build-time value of OSTYPE */ [all …]
|
| /xnu-11215/doc/building/ |
| H A D | xnu_build_consolidation.md | 27 of the SoC-specific aspects of the KernelCache are abstracted by the KEXTs. Things that pertain to … 38 All of these problems can be solved through a mix of relying more heavily on device tree informatio… 46 and number of set/ways. XNU needs most of this information to perform set/way clean/invalidate oper… 55 of tunables at boot time. 59 * On a specific core type of a specific SoC. 60 * On a subset of all of the CPU revisions. 63 This has led in the past to a number of nested, conditionally-compiled blocks of code that are not … 75 All of the macros live in the 64-bit version of `proc_reg.h`, and are SoC-agnostic; they simply che… 91 advertised through the `AIDR_EL1` register. One of the changes is the addition of a function, 97 One of the aspects that until now has been hardcoded in XNU is the system topology: number of cores… [all …]
|
| /xnu-11215/doc/lifecycle/ |
| H A D | hibernation.md | 9 This document discusses the design and implementation of XNU hibernation. The 11 works in XNU; a detailed discussion of S2R is beyond the scope of this 59 bitmaps of type `hibernate_bitmap_t`. There is one page bitmap per range of 95 read the file, regardless of the underlying filesystem. 104 Instead, a number of sections of the kernel are written: 114 * The portions of XNU (code and data) that are stored directly to the 131 * The image header records the values of `mach_absolute_time()` and 147 details" section of this document. 182 are readable/writable as necessary, and all of the rest of memory is mapped 244 file. The details of this lifecycle are beyond the scope of this document, but [all …]
|
| /xnu-11215/bsd/crypto/doc/ |
| H A D | KernelCrypto.txt | 21 * as the author of the parts of the library used. 22 * This can be in the form of a textual message at program startup or 28 * 1. Redistributions of source code must retain the copyright 29 * notice, this list of conditions and the following disclaimer. 72 1. distributions of this source code include the above copyright 73 notice, this list of conditions and the following disclaimer; 76 notice, this list of conditions and the following disclaimer 102 1. distributions of this source code include the above copyright 103 notice, this list of conditions and the following disclaimer; 106 notice, this list of conditions and the following disclaimer [all …]
|
| /xnu-11215/doc/vm/ |
| H A D | memorystatus_notify.md | 8 creation of a dispatch source of type `DISPATCH_SOURCE_TYPE_MEMORYPRESSURE`. 27 `memorystatus_vm_pressure_level`. There are 5 distinct levels of pressure: 48 In other words, `AVAILABLE_NON_COMPRESSED_MEMORY` tracks all of the memory on 81 The jetsam control loop monitors a different measure of "available" memory 83 This available page count is the subset of `AVAILABLE_NON_COMPRESSED_MEMORY` 85 purgeable). Jetsam monitors the ratio of these fully-reclaimable pages to 89 The design goals of jetsam and vm_pressure can be thought of in the following 92 Jetsam attempts to maintain a sufficiently large pool of 95 5%/10%/15% of max_mem. 98 the working set of processes. On a healthy system, this should be at least a [all …]
|
| /xnu-11215/osfmk/conf/ |
| H A D | copyright.osf | 16 # source of this software. 21 # distribution of the derivative work, (2) clearly notify users 24 # publicly and prominently acknowledged as the source of this software. 26 # Any Licensee wishing to make commercial use of the Software should 29 # integration of all or part of the source code into a product for 30 # sale or license by or on behalf of Licensee to third parties, or 31 # (2) distribution of the binary code or source code to third parties 33 # on behalf of Licensee. 42 # not limited to, export control laws, and the terms of this license. 45 # of its terms. Licensee may be held legally responsible for any [all …]
|
| /xnu-11215/doc/mach_ipc/ |
| H A D | kmsg.md | 4 IPC kmsg is the kernel representation of an in flight Mach IPC 16 IPC kmsg is meant to wrap a Mach message, which is made of 4 different parts, 17 some of them optional: 20 count and array of descriptors follows; 123 inline buffer of the kmsg is used to fit all parts of the mach message this way: 226 DriverKit replies, with a fixed size of 0x17c0 bytes. Note that because of this, 288 also allocated out of line, this way: 359 use PAC in order to check the integrity of kernel messages. 365 amount of primitives. 429 of in flight messages have signed descriptors at rest. [all …]
|
| /xnu-11215/doc/allocators/ |
| H A D | read-only.md | 7 The Read-Only Allocator is an extension of the zone allocator that facilitates 16 The purpose of the Read-Only Allocator is to protect security- 24 bypasses obstacles standing in the way of the desired data. 26 By necessity, we store lots of data on the heap that informs the various 40 trade some of this ease of access in exchange for stronger guarantees on the 41 integrity of the data. 47 of targeting that data towards the cost of seizing control of kernel 68 On Point 2: by storing a back reference on the read-only side of 1:1 103 Think of this as a special `memcpy` to write into your elements. 105 over the entirety of an element: simply passes an offset of zero and size [all …]
|
| H A D | api-basics.md | 12 objects of fixed size. 15 allocator implemented as a collection of zones of fixed size, and overflowing to 143 and the rules of "fixed-sized types" above apply to them. 153 of an array. 220 <td>Arrays of fixed-sized type</td> 248 <td>Header-prefixed arrays of fixed-sized type</td> 292 All subclasses of `OSObject` must declare and define one of IOKit's 334 declaration and then provide their definition out of line: 350 automatically provide the implementation of the operators for all of its children: 353 ### The case of `operator new[]` [all …]
|
| /xnu-11215/doc/observability/ |
| H A D | mt_stackshot.md | 3 Stackshot has been retrofitted to take advantage of multiple CPUs. This document 4 details the design of multithreaded stackshot. 19 the debugger trap instead of spinning, and determine if they are eligible to 25 populating queues of tasks to be put into the stackshot and collecting bits of 35 It is important to note that since stackshot happens outside of the context of 52 such as the amount of time spent waiting for the queue and the number of tasks / 60 as the number of tasks and threads on the system, the flags passed, sizes of 80 used and the amount of buffer space allocated from other clusters. 85 one should be ahead of time. Because of this, allocate kcdata buffers in 123 of extra data. This allows for basic tracing of stackshot's execution on each [all …]
|
| /xnu-11215/doc/primitives/ |
| H A D | string-handling.md | 3 xnu implements most POSIX C string functions, including the inherited subset of 5 of these functions, including the more modern `strl` functions, confusing or 8 failings of POSIX C string functions, xnu's `strbuf` functions, and their 14 * use `strl*` when you have the length of _one_ string, and the other is 52 because they don't care about the bounds of the output buffer. Most or all of 57 is no danger of writing out of bounds (out of not writing at all). 122 If the destination array of `strbufcpy` or `strbufcat` has a size of 0, they 136 // lots of __unsafe! 208 flavor of indexable pointers instead of having conversions from and to 233 of -fbounds-safety to guide you to the best choice, as a rule of thumb, you [all …]
|
| H A D | atomics.md | 1 XNU use of Atomics and Memory Barriers 11 pitfalls in the handling of atomics in C. 13 It is assumed that the reader has a decent understanding of 36 The dangers and pitfalls of C11's `<stdatomic.h>` 54 a huge cost in terms of memory barriers. 62 out of loops, ... 118 Best practices for the use of atomics in XNU 145 High level overview of `os_atomic_*` interfaces 199 operation and not the original value of `*p`. 252 Instead of a typical CAS-loop in C11: [all …]
|
| /xnu-11215/osfmk/device/ |
| H A D | device_types.defs | 6 * This file contains Original Code and/or Modifications of Original Code 11 * unlawful or unlicensed copies of an Apple operating system, or to 13 * terms of an Apple operating system software license agreement. 15 * Please obtain a copy of the License at 38 * notice and this permission notice appear in all copies of the 46 * Carnegie Mellon requests users of this software to return to 49 * School of Computer Science 79 type dev_status_t = array[*:1024] of int; 81 type io_buf_ptr_t = ^array[] of MACH_MSG_TYPE_INTEGER_8; 82 type io_buf_ptr_inband_t= array[*:128] of char; [all …]
|
| /xnu-11215/doc/scheduler/ |
| H A D | sched_clutch_edge.md | 64 …eduler deals with a fixed small number of runnable buckets in the worst case, it is easy to config… 68 …tion. Thread groups represent a collection of threads working on behalf of a specific workload. T… 82 …ains the amount of time threads were pending execution for this clutch bucket group. This value is… 83 * **Clutch Bucket Group CPU Time**: Maintains the CPU time used by all threads of this clutch bucke… 136 …riority is simply the deadline of the root bucket which is calculated by adding the WCEL of the bu… 148 * Calculate the ratio of CPU blocked and CPU used for the clutch bucket. 186 …nfluence the width of the system (in terms of number of clusters), while retaining the scheduler's… 218 …can dynamically update the weights and properties of the edge matrix dynamically to change the wid… 227 …of runnable and running threads of a higher or equal QoS that are enqueued or running on the clust… 228 … metric tracks the average execution latency of threads at a particular QoS. This value tracks the… [all …]
|
| /xnu-11215/osfmk/lockd/ |
| H A D | lockd_mach.defs | 6 * This file contains Original Code and/or Modifications of Original Code 10 * may not be used to create, or enable the creation or redistribution of, 11 * unlawful or unlicensed copies of an Apple operating system, or to 12 * circumvent, violate, or enable the circumvention or violation of, any 13 * terms of an Apple operating system software license agreement. 15 * Please obtain a copy of the License at 39 type sock_storage = array [32] of uint32_t; 40 type xcred = array [19] of uint32_t; 41 type nfs_handle = array [64] of uint8_t;
|