class HandoffPrep
Defined at line 42 of file ../../zircon/kernel/phys/handoff-prep.h
Public Methods
PhysHandoff * handoff ()
This is the main structure.
Defined at line 47 of file ../../zircon/kernel/phys/handoff-prep.h
template <typename T, PhysHandoffPtrLifetime Lifetime, typename... Args>
T * New (PhysHandoffPtr<const T, Lifetime> & handoff_ptr, fbl::AllocChecker & ac, Args &&... args)
This returns new T(args...) using the temporary handoff allocator and
fills in the handoff_ptr to point to it.
Defined at line 53 of file ../../zircon/kernel/phys/handoff-prep.h
template <typename T, PhysHandoffPtrLifetime Lifetime>
ktl::span<T> New (PhysHandoffSpan<const T, Lifetime> & handoff_span, fbl::AllocChecker & ac, size_t n)
Similar but for new T[n] using spans instead of pointers.
Defined at line 69 of file ../../zircon/kernel/phys/handoff-prep.h
template <PhysHandoffPtrLifetime Lifetime>
ktl::string_view New (PhysHandoffString<Lifetime> & handoff_string, fbl::AllocChecker & ac, ktl::string_view str)
Defined at line 87 of file ../../zircon/kernel/phys/handoff-prep.h
template <typename T>
PhysHandoffKernelImagePtr<T> KernelImagePtr (const T * kernel_data)
Translate a pointer into the kernel's ElfImage::image() contents to its
kernel virtual address.
Defined at line 100 of file ../../zircon/kernel/phys/handoff-prep.h
template <typename T>
PhysHandoffKernelImageSpan<const T> KernelImageSpan (ktl::span<const T> kernel_data)
Defined at line 108 of file ../../zircon/kernel/phys/handoff-prep.h
void HandoffPrep (ElfImage kernel)
Defined at line 115 of file ../../zircon/kernel/phys/handoff-prep.cc
PhysHandoffKernelImageString KernelImageString (ktl::string_view kernel_str)
Defined at line 124 of file ../../zircon/kernel/phys/handoff-prep.h
void DoHandoff (UartDriver & uart, ktl::span<ktl::byte> zbi, const KernelStorage::Bootfs & kernel_package, const ArchPatchInfo & patch_info)
This does all the main work of preparing for the kernel, and then calls
`boot` to transfer control to the kernel entry point with the handoff()
pointer as its argument. The `boot` function should do nothing but hand
off to the kernel; in particular, state has already been captured from
`uart` so no additional printing should be done at this stage.
Defined at line 440 of file ../../zircon/kernel/phys/handoff-prep.cc
void PublishExtraVmo (PhysVmo && vmo)
Add an additonal, generic VMO to be simply published to userland. The
kernel proper won't ever look at it.
Defined at line 191 of file ../../zircon/kernel/phys/handoff-prep.cc