Lines Matching refs:be
24 - `<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,
109 must be restructured to fit, for security reasons.
111 A general theme will be the separation of data/primitive types from pointers,
117 types or structure members can be decorated with `__kernel_ptr_semantics`
121 are also provided but should typically rarely be used.
128 - types should be small enough to fit in the zone allocator:
134 - for union types, data/pointer overlaps should be avoided if possible.
135 when this isn't possible, a zone should be considered.
140 Any other case must be reduced to those, by possibly making more allocations.
147 - variable sized allocations should have a single owner and not be refcounted;
149 then the array element type **must not** be only data.
151 If those rules can't be followed, then the allocation must be split with
195 <td>This should be used when the allocated type contains no kernel pointer only</td>
214 for data/primitive types, it will be redirected to <tt>kalloc_data</tt>
243 for data/primitive types, it will be redirected to <tt>kalloc_data</tt>.
265 and <tt>type_t</tt> can't be a primitive type.
273 respectively. They expect both their pointer and size arguments to be
274 modifiable, and the pointer and size will be set to 0 together, in accordance
282 This section covers how typed allocators should be adopted to use
288 and non-POD types should be used seldomly.
307 This can be accomplished through one of the following approaches, and it lets you
356 data that we prefer to be known by the owning object
368 However, if those must be used, you can add adopt the typed
391 `OSValueObject<T>` must be instantiated in a module of your kernel extension,