pub enum MemoryBuildError {
Show 21 variants
RamTooLarge(MemorySize),
AllocationFailed(Error),
HugepageAllocationFailed {
size: MemorySize,
hugepage_size: MemorySize,
page_count: usize,
error: Error,
},
VaMapper(VaMapperError),
RamMapping {
range: MemoryRange,
error: RemoteError,
},
RamRegionEnable {
range: MemoryRange,
error: RemoteError,
},
AliasMapWontFit,
InvalidRamForX86,
PrivateMemoryWithLegacy,
PrivateMemoryWithExistingBacking,
ThpWithoutPrivateMemory,
ThpUnsupportedPlatform,
HugepageSizeTooLarge(MemorySize),
HugepagesUnsupportedPlatform,
HostNumaNodeUnsupportedPlatform,
HugepagesWithPrivateMemory,
HugepagesWithExistingBacking,
HugepagesWithLegacy,
InvalidHugepageSize(MemorySize),
HugepageRamSizeUnaligned {
ram_size: MemorySize,
hugepage_size: MemorySize,
},
HugepageRamRangeUnaligned {
range: MemoryRange,
range_size: MemorySize,
hugepage_size: MemorySize,
},
}Expand description
Errors creating a GuestMemoryManager.
Variants§
RamTooLarge(MemorySize)
RAM too large.
AllocationFailed(Error)
Couldn’t allocate RAM.
HugepageAllocationFailed
Couldn’t allocate hugetlb-backed RAM.
Fields
size: MemorySizeTotal RAM backing size.
hugepage_size: MemorySizeRequested or default hugepage size.
VaMapper(VaMapperError)
Couldn’t allocate VA mapper.
RamMapping
Failed to map RAM into VA space.
RamRegionEnable
Failed to enable RAM region.
AliasMapWontFit
Memory layout incompatible with VTL0 alias map.
InvalidRamForX86
Memory layout incompatible with x86 legacy support.
PrivateMemoryWithLegacy
Private memory is incompatible with x86 legacy support.
PrivateMemoryWithExistingBacking
Private memory is incompatible with an existing memory backing.
ThpWithoutPrivateMemory
THP requires private memory mode.
ThpUnsupportedPlatform
THP is only supported on Linux.
HugepageSizeTooLarge(MemorySize)
Hugepage size is too large.
HugepagesUnsupportedPlatform
Hugepages are only supported on Linux and Windows.
HostNumaNodeUnsupportedPlatform
Host NUMA node binding is only supported on Linux and Windows.
HugepagesWithPrivateMemory
Hugepages require shared memory mode.
HugepagesWithExistingBacking
Hugepages are incompatible with existing memory backing.
HugepagesWithLegacy
Hugepages are incompatible with x86 legacy RAM splitting.
InvalidHugepageSize(MemorySize)
Invalid hugepage size.
HugepageRamSizeUnaligned
RAM size is not aligned to the hugepage size.
Fields
ram_size: MemorySizeTotal RAM backing size.
hugepage_size: MemorySizeRequired hugepage alignment.
HugepageRamRangeUnaligned
A RAM range is not aligned to the hugepage size.