pub enum PerCpuError {
Show 20 variants
AreaTooSmall {
actual: usize,
minimum: usize,
},
StrideTooSmall {
stride: usize,
area_size: usize,
},
MisalignedRuntimeBase {
base: usize,
alignment: usize,
},
MisalignedStride {
stride: usize,
alignment: usize,
},
MisalignedTemplateBase {
base: usize,
alignment: usize,
},
MalformedAlignmentMetadata {
start: usize,
end: usize,
},
InvalidSymbolAlignment(usize),
AlignmentMetadataMismatch {
descriptors: usize,
linker: usize,
},
AddressOverflow,
MalformedInitTable {
start: usize,
end: usize,
},
MalformedInitRecord {
index: usize,
offset: usize,
size: usize,
alignment: usize,
},
OverlappingInitRecords {
first_offset: usize,
second_offset: usize,
},
LayoutInitializationInProgress,
LayoutAlreadyInitialized,
InitializerTableUnavailable,
PrefixPlacement {
template_base: usize,
prefix_address: usize,
},
LayoutNotInstalled,
CpuOutOfRange {
cpu_index: CpuIndex,
area_count: u32,
},
CurrentAreaMismatch {
expected: CpuAreaRef,
actual: CpuAreaRef,
},
CpuLocal(CpuLocalError),
}Expand description
Failure to initialize, locate, or access a runtime per-CPU area.
Variants§
AreaTooSmall
One area cannot hold the fixed CPU-local prefix.
StrideTooSmall
Adjacent runtime areas overlap.
MisalignedRuntimeBase
Runtime base is not aligned for all generated symbols.
MisalignedStride
Area stride does not preserve required alignment.
MisalignedTemplateBase
The linked template base does not preserve every symbol’s alignment.
MalformedAlignmentMetadata
Linker-provided alignment boundaries are inconsistent.
InvalidSymbolAlignment(usize)
A generated alignment is not a nonzero power of two.
AlignmentMetadataMismatch
The linker layout and generated descriptor table disagree.
Fields
AddressOverflow
Address calculation overflowed.
MalformedInitTable
Initializer table boundaries are inconsistent.
MalformedInitRecord
One typed initializer does not fit the template layout.
Fields
OverlappingInitRecords
Two typed initializer destinations overlap.
LayoutInitializationInProgress
Another initialization attempt is active.
LayoutAlreadyInitialized
The one-shot layout has already been installed.
The target does not provide an ELF initializer table.
PrefixPlacement
The CPU-local prefix is not first in the template.
Fields
LayoutNotInstalled
No runtime layout has been installed.
CpuOutOfRange
Requested logical CPU is outside the installed region.
CurrentAreaMismatch
A supplied current CPU area differs from the installed area.
Fields
expected: CpuAreaRefArea selected by the installed layout.
actual: CpuAreaRefArea carried by the pin.
CpuLocal(CpuLocalError)
CPU-local prefix construction or validation failed.
Trait Implementations§
Source§impl Clone for PerCpuError
impl Clone for PerCpuError
Source§fn clone(&self) -> PerCpuError
fn clone(&self) -> PerCpuError
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for PerCpuError
Source§impl Debug for PerCpuError
impl Debug for PerCpuError
Source§impl Display for PerCpuError
impl Display for PerCpuError
impl Eq for PerCpuError
Source§impl Error for PerCpuError
impl Error for PerCpuError
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()