class GuardedPageBlock
Defined at line 174 of file ../../sdk/lib/c/pthread/../threads/../startup/../zircon/vmar.h
This describes a page-aligned block mapped inside a VMAR with guard regions.
This is used for thread stacks, and for the thread area.
Public Methods
void GuardedPageBlock ()
Defined at line 176 of file ../../sdk/lib/c/pthread/../threads/../startup/../zircon/vmar.h
void GuardedPageBlock (const GuardedPageBlock & )
Defined at line 177 of file ../../sdk/lib/c/pthread/../threads/../startup/../zircon/vmar.h
void GuardedPageBlock (GuardedPageBlock && other)
Defined at line 179 of file ../../sdk/lib/c/pthread/../threads/../startup/../zircon/vmar.h
GuardedPageBlock & operator= (GuardedPageBlock && other)
Defined at line 184 of file ../../sdk/lib/c/pthread/../threads/../startup/../zircon/vmar.h
void reset ()
Defined at line 200 of file ../../sdk/lib/c/pthread/../threads/../startup/../zircon/vmar.h
uintptr_t release ()
Defined at line 206 of file ../../sdk/lib/c/pthread/../threads/../startup/../zircon/vmar.h
void ~GuardedPageBlock ()
Defined at line 212 of file ../../sdk/lib/c/pthread/../threads/../startup/../zircon/vmar.h
size_t size_bytes ()
Defined at line 214 of file ../../sdk/lib/c/pthread/../threads/../startup/../zircon/vmar.h
const zx::vmar & vmar ()
Defined at line 216 of file ../../sdk/lib/c/pthread/../threads/../startup/../zircon/vmar.h
template <typename T = std::byte>
zx::result<std::span<T>> Allocate (zx::unowned_vmarallocate_from,AllocationVmo &vmo,PageRoundedSizedata_size,PageRoundedSizeguard_below,PageRoundedSizeguard_above)
Allocate a guarded block by consuming the next pages of the VMO.
The returned span does not include the guard regions.
The generic template is implemented inline below.
Defined at line 235 of file ../../sdk/lib/c/pthread/../threads/../startup/../zircon/vmar.h
template <>
zx::result<std::span<std::byte>> Allocate<std::byte> (zx::unowned_vmarallocate_from,AllocationVmo &vmo,PageRoundedSizedata_size,PageRoundedSizeguard_below,PageRoundedSizeguard_above)
The underlying implementation is out-of-line in this specialization.
Defined at line 26 of file ../../sdk/lib/c/zircon/vmar.cc