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Β§
- Command
Line πTooLong - Fdt π
- Page
Align π
EnumsΒ§
- Reserved
Memory πType
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 π