Crate openhcl_boot

Source
Expand description

The openhcl boot loader, which loads before the kernel to set up the kernel’s boot parameters.

ModulesΒ§

arch πŸ”’
Imports and re-exports architecture-specific implementations.
boot_logger πŸ”’
Logging support for the bootshim.
cmdline πŸ”’
Command line arguments and parsing for openhcl_boot.
dt πŸ”’
Module used to write the device tree used by the OpenHCL kernel and usermode.
host_params πŸ”’
Module used to parse the host parameters used to setup Underhill. These are provided via a device tree IGVM parameter.
hypercall πŸ”’
Hypercall infrastructure.
rt πŸ”’
Architecture-independent runtime support.
sidecar πŸ”’
single_threaded πŸ”’
Support for working with global variables in a single-threaded environment. In such an environment, it is safe to access globals even if they don’t implement Sync, since there is only one thread that can access them. But code still needs to be careful to avoid creating multiple mutable references to the same global. These types provide abstractions for doing this safely.
x86_boot πŸ”’

StructsΒ§

CommandLineTooLong πŸ”’
Fdt πŸ”’
PageAlign πŸ”’

EnumsΒ§

ReservedMemoryType πŸ”’

ConstantsΒ§

FDT_SIZE πŸ”’
MAX_RESERVED_MEM_RANGES
The maximum number of reserved memory ranges that we might use. See ReservedMemoryType definition for details.

FunctionsΒ§

build_cc_blob_sev_info πŸ”’
Build the cc_blob containing the location of different parameters associated with SEV.
build_kernel_command_line πŸ”’
Read and setup the underhill kernel command line into the specified buffer.
get_hw_debug_bit πŸ”’
get_ref_time πŸ”’
main πŸ”’
reserved_memory_regions πŸ”’
Construct a slice representing the reserved memory ranges to be reported to VTL2.
shim_main πŸ”’
shim_parameters πŸ”’
Raw shim parameters are provided via a relative offset from the base of where the shim is loaded. Return a ShimParams structure based on the raw offset based RawShimParams.
validate_vp_hw_ids πŸ”’
Ensure that mshv VP indexes for the CPUs listed in the partition info correspond to the N in the cpu@N devicetree node name. OpenVMM assumes that this will be the case.
zeroed πŸ”’