pub enum VirtioPciError {
InvalidVendorId(u16),
MissingCommonConfig,
MissingNotifyConfig,
InvalidNotifyOffMultiplier(u32),
MissingIsrConfig,
UnexpectedIoBar,
BarNotAllocated(u8),
BarOffsetOutOfRange,
Misaligned {
vaddr: NonNull<u8>,
alignment: usize,
},
Pci(PciError),
}
Expand description
An error encountered initialising a VirtIO PCI transport.
Variants§
InvalidVendorId(u16)
PCI device vender ID was not the VirtIO vendor ID.
MissingCommonConfig
No valid VIRTIO_PCI_CAP_COMMON_CFG
capability was found.
MissingNotifyConfig
No valid VIRTIO_PCI_CAP_NOTIFY_CFG
capability was found.
InvalidNotifyOffMultiplier(u32)
VIRTIO_PCI_CAP_NOTIFY_CFG
capability has a notify_off_multiplier
that is not a multiple
of 2.
MissingIsrConfig
No valid VIRTIO_PCI_CAP_ISR_CFG
capability was found.
UnexpectedIoBar
An IO BAR was provided rather than a memory BAR.
BarNotAllocated(u8)
A BAR which we need was not allocated an address.
BarOffsetOutOfRange
The offset for some capability was greater than the length of the BAR.
Misaligned
The virtual address was not aligned as expected.
Fields
§
vaddr: NonNull<u8>
The virtual address in question.
§
alignment: usize
The expected alignment in bytes.
Pci(PciError)
A generic PCI error,
Trait Implementations§
Source§impl Clone for VirtioPciError
impl Clone for VirtioPciError
Source§fn clone(&self) -> VirtioPciError
fn clone(&self) -> VirtioPciError
Returns a copy of the value. Read more
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for VirtioPciError
impl Debug for VirtioPciError
Source§impl Display for VirtioPciError
impl Display for VirtioPciError
Source§impl From<PciError> for VirtioPciError
impl From<PciError> for VirtioPciError
Source§impl PartialEq for VirtioPciError
impl PartialEq for VirtioPciError
impl Eq for VirtioPciError
impl Send for VirtioPciError
impl StructuralPartialEq for VirtioPciError
impl Sync for VirtioPciError
Auto Trait Implementations§
impl Freeze for VirtioPciError
impl RefUnwindSafe for VirtioPciError
impl Unpin for VirtioPciError
impl UnwindSafe for VirtioPciError
Blanket Implementations§
§impl<T> Any for Twhere
T: 'static + ?Sized,
impl<T> Any for Twhere
T: 'static + ?Sized,
§impl<T> Borrow<T> for Twhere
T: ?Sized,
impl<T> Borrow<T> for Twhere
T: ?Sized,
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)