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

Records