Home
last modified time | relevance | path

Searched refs:be (Results 1 – 25 of 182) sorted by relevance

12345678

/xnu-11417.121.6/iokit/DriverKit/
H A DOSAction.iig10 * may not be used to create, or enable the creation or redistribution of,
43 * OSAction is an object that represents a callback to be be invoked.
47 * State associated with the callback may be allocated and stored for the creator of the object.
56 …* through the 'action' parameter with a +1 retain count to be released by the caller. See IOReturn…
68 …* a TYPE attribute, so there should not be any need to directly call OSAction::Create…
69 …* @param target OSObject to receive the callback. This object will be retained until the OSA…
76 * @param action Created OSAction with +1 retain count to be released by the caller.
102 …* @discussion Reference data is allocated with zero initialized content. It may be set and retrie…
104 …* @return A pointer to storage for the owner. It will be NULL if referenceSize was zero, and …
112 * @discussion After cancellation, the action can only be freed. It cannot be reactivated.
[all …]
H A DIOUserClient.iig10 * may not be used to create, or enable the creation or redistribution of,
83 * @discussion Any argument may be passed as NULL if not passed by the caller.
89 * This parameter is only set for large structures, and if set structureInput will be NULL.
92 * @field structureOutput An OSData to be returned to the caller as structure output.
93 * This field should be set by the driver to an OSData object it created with
94 * the data to be returned, and the OSData instance will be released by the OS.
100 …* It is only retained during the invocation of ExternalMethod and should be retained …
129 * kIOReturnNoCompletion will be returned for the caller to implement the method.
131 * if true completion field must be set,
132 * if false must be zero,
[all …]
H A DIOInterruptDispatchSource.iig10 * may not be used to create, or enable the creation or redistribution of,
71 …urceContinuousTime time values sent to the InterruptOccurred() method will be in mach_continuous_t…
73 * @param source Created source with +1 retain count to be released by the caller.
86 * @param interruptType The interrupt type for the interrupt source will be stored here.
87 * kIOInterruptTypeEdge will be returned for edge-trigggered sources.
88 * kIOInterruptTypeLevel will be returned for level-trigggered sources.
89 …* Other flags may be returned depending on the provider, for example PCI flags for me…
106 … action OSAction instance specifying the callback method. The OSAction object will be retained
117 …* @param handler Optional block to be executed after the interrupt has been disabled and any…
128 * @discussion After cancellation, the source can only be freed. It cannot be reactivated.
[all …]
H A DIOServiceNotificationDispatchSource.iig10 * may not be used to create, or enable the creation or redistribution of,
57 * @param source Created source with +1 retain count to be released by the caller.
76 …* @param handler Optional block to be executed after the interrupt has been disabled and any…
87 * @discussion After cancellation, the source can only be freed. It cannot be reactivated.
88 * @param handler Handler block to be invoked after any callbacks have completed.
96 … action OSAction instance specifying the callback method. The OSAction object will be retained
109 * It should be retained by the block code if used beyond the invocation.
110 * @param block to be invoked with each notification
H A DIOEventLink.iig10 * may not be used to create, or enable the creation or redistribution of,
76 …* Once the remote eventlink port has been sent to the driver, the driver should be notified with a…
92 * user client, the old IOEventLink will be replaced.
95 … * @param eventLink Created IOEventLink with +1 retain count to be released by the caller.
105 * @discussion This is not meant to be used directly.
133 … When the calling thread wakes up, the amount of signals consumed by the wait will be written here.
142 … When the calling thread wakes up, the amount of signals consumed by the wait will be written here.
153 … When the calling thread wakes up, the amount of signals consumed by the wait will be written here.
171 …* @discussion The event link must be activated before it can be signaled or waited on. This is no…
179 * @discussion The eventlink should be activated before this call. This is not real-time safe.
[all …]
H A DIOServiceStateNotificationDispatchSource.iig10 * may not be used to create, or enable the creation or redistribution of,
50 * @param items Array of state item names to be notified about.
54 * @param source Created source with +1 retain count to be released by the caller.
64 …* @param handler Optional block to be executed after the interrupt has been disabled and any…
75 * @discussion After cancellation, the source can only be freed. It cannot be reactivated.
76 * @param handler Handler block to be invoked after any callbacks have completed.
84 … action OSAction instance specifying the callback method. The OSAction object will be retained
H A DIOExtensiblePaniclog.iig10 * may not be used to create, or enable the creation or redistribution of,
64 * @brief This function is to be called to create IOExtensiblePaniclog object.
65 * @discussion First function to be called.
70 * @param options Options to be passed while creating the handle
100 * @param data Data to be inserted
101 * @param len The length to be copied.
112 * @param data Data to be inserted
113 * @param len The length to be copied.
132 …* After claiming the buffer, YieldBuffer() has to be called to set the used_len of th…
145 * @discussion After this function call, InsertData() and AppendData() can be called.
H A DIOWorkGroup.iig10 * may not be used to create, or enable the creation or redistribution of,
60 …* Once the workgroup port has been sent to the driver, the driver should be notified with a user-d…
78 … * @param workgroup Created IOWorkGroup with +1 retain count to be released by the caller.
87 * @brief Set the port for this workgroup. This should not be called directly.
98 …* @discussion Join() and Leave() require the caller to pass a token. This token should be allocat…
107 …ore calling this method, the caller must allocate a token. This token must be passed to this metho…
126 …* @discussion This releases the kernel reference to the IOWorkGroup, allowing the name to be used…
127 …* IOWorkGroup. This method should be called after the client has configured the event…
128 …* call. After invalidation, the IOWorkGroup can no longer be configured through the I…
H A DIODispatchQueue.iig10 * may not be used to create, or enable the creation or redistribution of,
78 … * FIFO order. The new object has retain count 1 and should be released by the caller.
127 * @brief Schedule a block to be executed on the queue asynchronously.
128 …* @discussion Schedules work to be done on the queue without waiting for it to complete. The queu…
142 * @brief Schedule a block to be executed concurrently & asynchronously.
143 * @discussion Schedules work to be done on the queue without waiting for it to complete, and
144 … * concurrently with other blocks executed with DispatchConcurrent. The queue will be
145 * retained until the block completes. May only be used with a queue created with
174 * @param output printf like output function. The address of IOLog is suitable to be used.
189 * The caller must be currently running on the queue to call Sleep().
[all …]
H A DOSObject.iig10 * may not be used to create, or enable the creation or redistribution of,
138 * DRIVERKIT_ macros below can be used to describe the ownership semantics
140 * The attributes propagate with inheritance, but can be overriden.
149 * - Functions and methods that have "Get" in their name are assumed to be
156 * The semantics implied by the naming convention described above can be
162 * can be also applied to out parameters, in which case they specify
164 * Behavior of out parameters of non-void functions can be additionally
182 * DRIVERKIT_CONSUMED attribute can be applied to parameters.
193 * DRIVERKIT_CONSUMES_THIS attribute can be applied to C++ methods.
231 * be used in code that gets compiled for both platforms.
[all …]
H A DIODataQueueDispatchSource.iig10 * may not be used to create, or enable the creation or redistribution of,
48 * @param source Created source with +1 retain count to be released by the caller.
72 … action OSAction instance specifying the callback method. The OSAction object will be retained
84 … action OSAction instance specifying the callback method. The OSAction object will be retained
96 …* @param handler Optional block to be executed after the interrupt has been disabled and any…
107 * @discussion After cancellation, the source can only be freed. It cannot be reactivated.
108 * @param handler Handler block to be invoked after any callbacks have completed.
124 … * @param callback to invoked if the queue is non-empty with the next entry to be dequeued.
156 * It should be initialized to false before a series of calls to this method,
170 * It should be initialized to false before a series of calls to this method,
[all …]
H A DIODMACommand.iig10 * may not be used to create, or enable the creation or redistribution of,
78 * IODMACommand allows a mapping for DMA to be created from an IOMemoryDescriptor.
81 * IODMACommand allows a mapping for DMA to be created from an IOMemoryDescriptor.
82 * The IODMACommand instance represents the mapping and should be kept prepared for the
102 * @param device The device (typically an IOPCIDevice instance that will be
109 * It should be retained until the map is no longer required.
158 * @param memory Returned IOMemoryDescriptor of the preparation. This should be
170 * @param options Flags for the operation to be performed
/xnu-11417.121.6/doc/allocators/
H A Dapi-basics.md24 - `<kern/zalloc_internal.h>` for interfaces that need to be exported
49 is to be passed:
52 - `Z_NOWAIT` can be used to require a fully non blocking behavior, which can be
61 be zeroed regardless, but it's always clearer to specify it), note that it is
67 will never fail (the kernel will instead panic if no memory can be found).
68 `Z_NOFAIL` can be used to denote that the caller knows about this.
74 Zones are mostly meant to be used in Core XNU and some "BSD" kexts.
79 Zones are more feature-rich than `kalloc`, and some features can only be
83 from other types (typically `zone_require` will be used with this zone),
86 - the allocation must be per-cpu,
[all …]
H A Dread-only.md8 "read-only" allocations. Data allocated from a read-only zone can only be
39 be written into memory once and seldom changed thereafter. We can therefore
43 Data under the control of the Read-Only Allocator can be read from just as
44 cheaply and easily as other data, but writing to it must be done through the
45 relatively expensive `zalloc_ro_mut` function. By insisting that data be
53 To make best use of the Read-Only Allocator, some simple advice should be
57 themselves, or be protected by PAC.
84 Read-only zones cannot be created after lockdown. To create a new read-only
85 zone, a new identifier must be added to the `zone_reserved_id_t` enumeration
86 and it must be created by passing `ZC_READONLY` through either `ZONE_INIT` or
/xnu-11417.121.6/doc/building/
H A Dxnu_build_consolidation.md18 Although this effort could be extended to KEXTs, and hence lead to shared KernelCaches across devic…
20 required KEXTs are completely different in the first place, the kernel still needs to be linked
21 appropriately with different sets of KEXTs and hence KernelCaches cannot be shared.
31 * Addresses of PIO registers that are to be accessed from the XNU side.
38 All of these problems can be solved through a mix of relying more heavily on device tree informatio…
40 extensions provide r/o registers that can be checked at runtime to discover supported features as w…
48 `caches_asm.s`. The ARM architecture provides the `CCSIDR_EL1` register, which can be used in conju…
54 CPU and revision checks may be required at various places, although the focus here has been the app…
72 4. Providing a family of assembly macros that can be used to conditionally execute code on a specif…
77 Similarly, where a block of code is to be executed on a core type, rather than a specific core ID, …
[all …]
/xnu-11417.121.6/tests/
H A Dtest_sysctl_kern_procargs_25397314.m61 T_LOG("procargs data should be %lu bytes", preflightSize);
72 T_ASSERT_LE(bufferSize, allocSize, "returned buffer size should be less than allocated size");
76 T_ASSERT_EQ(bufferSize, preflightSize, "buffer size should be the same as preflight size");
121 …T_ASSERT_EQ(type, KERN_PROCARGS, "Legacy executable path should only be present for KERN_PROCARGS"…
263 T_ASSERT_NOTNULL(procargs->executablePath, "executable path should be non-null");
264 T_ASSERT_GT([procargs->executablePath length], 0, "executable path should not be empty");
269 T_ASSERT_NOTNULL(procargs->executablePath, "executable path should be non-null");
270 T_ASSERT_GT([procargs->executablePath length], 0, "executable path should not be empty");
278 T_ASSERT_NOTNULL(procargs->executablePath, "executable path should be non-null");
279 T_ASSERT_GT([procargs->executablePath length], 0, "executable path should not be empty");
[all …]
/xnu-11417.121.6/doc/primitives/
H A Datomics.md44 - an *explicit* variant where memory orderings can be specified,
96 functions do not need to be marked `_Atomic` or `volatile`
103 2. `os_atomic_*` cannot be coalesced by the compiler:
108 orderings must be provided and can express either memory orders
124 `__sync_*`, `__c11_*` and `__atomic_*` compiler builtins should not be used.
126 `<stdatomic.h>` functions may be used if:
134 be aware that a direct access to this variable will
137 The *consume* memory ordering should not be used
142 and these functions should not be used in new code.
168 `os_atomic_store_wide` can be used to have access to atomic loads and store
[all …]
/xnu-11417.121.6/bsd/miscfs/devfs/
H A DREADME9 expect it to be highly useless for a while,
21 with that node. The back node itself can be considered to be
24 to in the code as the dev_name. The devnode can be considered the inode.
43 the nodes can be moved around within that plane (or deleted).
61 Information that is to be shared between these mounts is stored
66 it is easily recovered.. Particularly as there will eventually be
89 The front nodes may be moved to other directories (including
102 a mount -u might be considered to be a request to 'refresh' the
115 4/ I'm pretty sure my use of vnodes is bad and it may be 'losing'
/xnu-11417.121.6/osfmk/mach/
H A Dvm_map.defs10 * may not be used to create, or enable the creation or redistribution of,
122 * or wherever space can be found (if anywhere is TRUE),
159 * that may be given in the current protection.
191 * range must be aligned on a virtual page boundary,
192 * and must be a multiple of pages in extent. The
213 * range must be aligned on a virtual page boundary,
214 * and must be a multiple of pages in extent. The
226 * ranges must be aligned on a virtual page boundary,
227 * and must be multiples of pages in extent. The
278 * specified size; else, the specific address will be allocated.
[all …]
H A Dmach_vm.defs10 * may not be used to create, or enable the creation or redistribution of,
106 * or wherever space can be found (controlled by flags),
162 * that may be given in the current protection.
212 * range must be aligned on a virtual page boundary,
213 * and must be a multiple of pages in extent. The
242 * range must be aligned on a virtual page boundary,
243 * and must be a multiple of pages in extent. The
259 * ranges must be aligned on a virtual page boundary,
260 * and must be multiples of pages in extent. The
327 * specified size; else, the specific address will be allocated.
[all …]
H A Dmach_port.defs10 * may not be used to create, or enable the creation or redistribution of,
117 * The right must be one of
134 * The right must be one of
149 * available for recycling immediately. The name can be a
176 * The right must be one of
194 * The resulting user ref count can't be negative.
197 * available for recycling. The right must be one of
216 * queue will be peeked.
277 * registered, it is returned. The msgid must be one of:
286 * MACH_NOTIFY_PORT_DESTROYED: must be zero.
[all …]
/xnu-11417.121.6/doc/observability/
H A Dmt_stackshot.md21 a CPU is derecommended due to thermal limits or otherwise, it will still be
24 On AMP systems, a suitable P-core is chosen to be the “main” CPU, and begins
25 populating queues of tasks to be put into the stackshot and collecting bits of
26 global state (On SMP systems, the initiating CPU is always assigned to be the
62 size. Should the buffer be too small, stackshot will try again with a bigger
74 originally allocated from a different cluster's buffer, it will be put into the
85 one should be ahead of time. Because of this, allocate kcdata buffers in
124 CPU which can be seen from a debugger.
130 An lldb macro is in the works which will allow this data to be examined more
131 easily, but for now, it can be examined in lldb with `showpcpu -V
[all …]
/xnu-11417.121.6/doc/lifecycle/
H A Dhibernation.md18 devices) where operations may be conducted from a single-threaded
54 to the first block of the file. (has to be done here because writing to nvram
64 regions that need to be included in the hibernation image (for example, the
78 state such that polled I/Os can be issued.
83 context on the last cpu, at which point memory is ready to be saved. This call
87 `hibernate_page_list_setall()` to get the page bitmaps of DRAM that need to be
89 * All pages are assumed to be saved (as part of the wired image) unless
107 so that the PPL hmac driver can be used during hibernation resume. Certain
108 other pieces of memory must also be written unmodified to the hibernation
112 regions to be stored in this phase. This routine also calculates an HMAC
[all …]
/xnu-11417.121.6/doc/vm/
H A Dsanitize.md10 by providing a set of APIs that can be used to perform consistent, thorough
40 VM functions can be called from three places: userspace, kexts, and xnu itself.
41 Functions callable from userspace should be fully sanitized. Functions
61 1. rewrite an error code to be a different error code.
62 2. rewrite an error code to be `KERN_SUCCESS`. The VM API returns success
64 Not all changed error codes are (or could be) rewritten.
68 2. The error code being returned would be different from its historical
70 Not all changed error codes are (or could be) telemetered. Currently all
103 - `VM_GENERATE_UNSAFE_ADDR`: Should be used for a new variant that represents
105 - `VM_GENERATE_UNSAFE_SIZE`: Should be used for a new variant that represents
[all …]
/xnu-11417.121.6/tools/lldbmacros/
H A DREADME.md26 lldb can be used for kernel debugging the same way as gdb. The simplest way is to start lldb with k…
31 Now lldb will be ready to connect over kdp-remote '\<hostname:port>' or 'gdb-remote \<hostname:port…
52 …sic lldb commands like print, bt, expr etc. The xnu debug macros will also be loaded automatically…
64 These could be very handy in printing important information from structures easily.
88 …The command interface provides some common features (which can be invoked after passing '--' on cm…
127 … command please type 'help <command name>' and the documentation for the command will be displayed.
156 … command interface and core utility function so that any function/code can be called as a simple u…
171 - remember that the ideal type of object to be passed around is core.value
172 - Anything you 'print' will be relayed to lldb terminal output.
174 …d any custom options they would be in cmd_options dict. the format is `{'-<optionflag>':'<value>'}…
[all …]

12345678