pub enum MemoryBuildError {
Show 19 variants
RamTooLarge(MemorySize),
AllocationFailed(Error),
HugepageAllocationFailed {
size: MemorySize,
hugepage_size: MemorySize,
page_count: usize,
error: Error,
},
VaMapper(VaMapperError),
AliasMapWontFit,
InvalidRamForX86,
PrivateMemoryWithLegacy,
PrivateMemoryWithExistingBacking,
PrivateRamAlloc(Error, MemoryRange),
ThpWithoutPrivateMemory,
ThpUnsupportedPlatform,
HugepageSizeTooLarge(MemorySize),
HugepagesUnsupportedPlatform,
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.
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 existing memory backing.
PrivateRamAlloc(Error, MemoryRange)
Failed to allocate private RAM range.
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.
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.