pub struct ParsedBootDtInfo {
pub cpus: Vec<Cpu>,
pub vtl0_alias_map: Option<u64>,
pub vtl2_memory: Vec<MemoryRangeWithNode>,
pub partition_memory_map: Vec<AddressRange>,
pub vtl0_mmio: Vec<MemoryRange>,
pub config_ranges: Vec<MemoryRange>,
pub vtl2_reserved_range: MemoryRange,
pub accepted_ranges: Vec<MemoryRange>,
pub gic: Option<GicInfo>,
pub memory_allocation_mode: MemoryAllocationMode,
pub isolation: IsolationType,
pub private_pool_ranges: Vec<MemoryRangeWithNode>,
}
Expand description
Information parsed from the device tree provided by openhcl_boot. These values are trusted, as it’s expected that openhcl_boot has already validated the host provided device tree.
Fields§
§cpus: Vec<Cpu>
The cpus in the system. The index in the vector is also the mshv VP index.
vtl0_alias_map: Option<u64>
The physical address of the VTL0 alias mapping, if one is configured.
vtl2_memory: Vec<MemoryRangeWithNode>
The memory ranges for VTL2 that were reported to the kernel. This is sorted in ascending order.
partition_memory_map: Vec<AddressRange>
The unified memory map for the partition, from the bootloader. Sorted in ascending order. Note that this includes mmio gaps as well.
vtl0_mmio: Vec<MemoryRange>
The mmio to report to VTL0.
config_ranges: Vec<MemoryRange>
The ranges config regions are stored at.
vtl2_reserved_range: MemoryRange
The VTL2 reserved range.
accepted_ranges: Vec<MemoryRange>
The ranges that were accepted at load time by the host on behalf of the guest.
gic: Option<GicInfo>
GIC information
memory_allocation_mode: MemoryAllocationMode
The memory allocation mode the bootloader decided to use.
isolation: IsolationType
The isolation type of the partition.
private_pool_ranges: Vec<MemoryRangeWithNode>
VTL2 range for private pool memory.