pub struct PartitionInfo {Show 16 fields
pub vtl2_ram: ArrayVec<MemoryEntry, MAX_VTL2_RAM_RANGES>,
pub partition_ram: ArrayVec<MemoryEntry, MAX_PARTITION_RAM_RANGES>,
pub isolation: IsolationType,
pub bsp_reg: u32,
pub cpus: ArrayVec<CpuEntry, MAX_CPU_COUNT>,
pub vmbus_vtl2: VmbusInfo,
pub vmbus_vtl0: VmbusInfo,
pub cmdline: ArrayString<COMMAND_LINE_SIZE>,
pub com3_serial_available: bool,
pub memory_allocation_mode: MemoryAllocationMode,
pub entropy: Option<ArrayVec<u8, MAX_ENTROPY_SIZE>>,
pub vtl0_alias_map: Option<u64>,
pub nvme_keepalive: bool,
pub boot_options: BootCommandLineOptions,
pub gic: Option<GicInfo>,
pub pmu_gsiv: Option<u32>,
}
Expand description
Information about the guest partition.
Fields§
§vtl2_ram: ArrayVec<MemoryEntry, MAX_VTL2_RAM_RANGES>
Ram assigned to VTL2. This is either parsed from the host via IGVM parameters, allocated dynamically, or the fixed at build value.
This vec is guaranteed to be sorted, and non-overlapping.
partition_ram: ArrayVec<MemoryEntry, MAX_PARTITION_RAM_RANGES>
The full memory map provided by the host.
isolation: IsolationType
The partiton’s isolation type.
bsp_reg: u32
The reg field in device tree for the BSP. This is either the apic_id on x64, or mpidr on aarch64.
cpus: ArrayVec<CpuEntry, MAX_CPU_COUNT>
Cpu info for enabled cpus.
vmbus_vtl2: VmbusInfo
VMBUS info for VTL2.
vmbus_vtl0: VmbusInfo
VMBUS info for VTL0.
cmdline: ArrayString<COMMAND_LINE_SIZE>
Command line to be used for the underhill kernel.
com3_serial_available: bool
Com3 serial device is available
memory_allocation_mode: MemoryAllocationMode
Memory allocation mode that was performed.
entropy: Option<ArrayVec<u8, MAX_ENTROPY_SIZE>>
Entropy from the host to be used by the OpenHCL kernel
vtl0_alias_map: Option<u64>
The VTL0 alias map physical address.
nvme_keepalive: bool
Host is compatible with DMA preservation / NVMe keep-alive.
boot_options: BootCommandLineOptions
Parsed boot command line options.
gic: Option<GicInfo>
GIC information on AArch64.
pmu_gsiv: Option<u32>
PMU GSIV on AArch64.
Implementations§
Source§impl PartitionInfo
impl PartitionInfo
pub fn read_from_dt<'a>( params: &'a ShimParams, storage: &'a mut Self, address_space: &mut AddressSpaceManager, options: BootCommandLineOptions, can_trust_host: bool, ) -> Result<&'a mut Self, DtError>
Source§impl PartitionInfo
impl PartitionInfo
Sourcepub const fn new() -> Self
pub const fn new() -> Self
Create an empty PartitionInfo
.