pub struct VirtioPciDevice { /* private fields */ }
Expand description
Run a virtio device over PCI
Implementations§
Source§impl VirtioPciDevice
impl VirtioPciDevice
pub fn new( device: Box<dyn VirtioDevice>, interrupt_model: PciInterruptModel<'_>, doorbell_registration: Option<Arc<dyn DoorbellRegistration>>, mmio_registration: &mut dyn RegisterMmioIntercept, shared_mem_mapper: Option<&dyn MemoryMapper>, ) -> Result<Self>
Trait Implementations§
Source§impl ChangeDeviceState for VirtioPciDevice
impl ChangeDeviceState for VirtioPciDevice
Source§impl ChipsetDevice for VirtioPciDevice
impl ChipsetDevice for VirtioPciDevice
Source§fn supports_mmio(&mut self) -> Option<&mut dyn MmioIntercept>
fn supports_mmio(&mut self) -> Option<&mut dyn MmioIntercept>
Optionally returns a trait object to send MMIO port intercepts to.
Source§fn supports_pci(&mut self) -> Option<&mut dyn PciConfigSpace>
fn supports_pci(&mut self) -> Option<&mut dyn PciConfigSpace>
Optionally returns a trait object to send PCI config space accesses to.
Source§fn supports_pio(&mut self) -> Option<&mut (dyn PortIoIntercept + 'static)>
fn supports_pio(&mut self) -> Option<&mut (dyn PortIoIntercept + 'static)>
Optionally returns a trait object to send IO port intercepts to.
Source§fn supports_poll_device(&mut self) -> Option<&mut dyn PollDevice>
fn supports_poll_device(&mut self) -> Option<&mut dyn PollDevice>
Optionally returns a trait object to send poll requests to.
Source§fn supports_line_interrupt_target(
&mut self,
) -> Option<&mut dyn LineInterruptTarget>
fn supports_line_interrupt_target( &mut self, ) -> Option<&mut dyn LineInterruptTarget>
Optionally returns a trait object to send interrupt line changes to.
Source§fn supports_handle_eoi(&mut self) -> Option<&mut dyn HandleEoi>
fn supports_handle_eoi(&mut self) -> Option<&mut dyn HandleEoi>
Optionally returns a trait object to send EOI requests to.
Source§fn supports_acknowledge_pic_interrupt(
&mut self,
) -> Option<&mut dyn AcknowledgePicInterrupt>
fn supports_acknowledge_pic_interrupt( &mut self, ) -> Option<&mut dyn AcknowledgePicInterrupt>
Optionally returns a trait object with which to acknowledge PIC
interrupts.
Source§impl Drop for VirtioPciDevice
impl Drop for VirtioPciDevice
Source§impl InspectMut for VirtioPciDevice
impl InspectMut for VirtioPciDevice
Source§fn inspect_mut(&mut self, req: Request<'_>)
fn inspect_mut(&mut self, req: Request<'_>)
Inspects the object.
Source§impl MmioIntercept for VirtioPciDevice
impl MmioIntercept for VirtioPciDevice
Source§fn mmio_read(&mut self, address: u64, data: &mut [u8]) -> IoResult
fn mmio_read(&mut self, address: u64, data: &mut [u8]) -> IoResult
Dispatch an MMIO read to the device with the given address.
Source§fn mmio_write(&mut self, address: u64, data: &[u8]) -> IoResult
fn mmio_write(&mut self, address: u64, data: &[u8]) -> IoResult
Dispatch an MMIO write to the device with the given address.
Source§fn get_static_regions(&mut self) -> &[(&str, RangeInclusive<u64>)]
fn get_static_regions(&mut self) -> &[(&str, RangeInclusive<u64>)]
Report a set of static static mmio regions (region_name, gpa_range) that
cannot be remapped at runtime and are always registered. Read more
Source§impl PciConfigSpace for VirtioPciDevice
impl PciConfigSpace for VirtioPciDevice
Source§impl SaveRestore for VirtioPciDevice
impl SaveRestore for VirtioPciDevice
Source§type SavedState = NoSavedState
type SavedState = NoSavedState
The concrete saved state type.
Source§fn restore(
&mut self,
NoSavedState: Self::SavedState,
) -> Result<(), RestoreError>
fn restore( &mut self, NoSavedState: Self::SavedState, ) -> Result<(), RestoreError>
Restores the object’s state.
Auto Trait Implementations§
impl Freeze for VirtioPciDevice
impl !RefUnwindSafe for VirtioPciDevice
impl Send for VirtioPciDevice
impl !Sync for VirtioPciDevice
impl Unpin for VirtioPciDevice
impl !UnwindSafe for VirtioPciDevice
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> PciChipsetDeviceExt for T
impl<T> PciChipsetDeviceExt for T
Source§fn probe_bar_masks(&mut self) -> [u32; 6]
fn probe_bar_masks(&mut self) -> [u32; 6]
Probe the PCI device’s BAR registers to retrieve the BAR masks.
Source§fn probe_hardware_ids(&mut self) -> HardwareIds
fn probe_hardware_ids(&mut self) -> HardwareIds
Probe the PCI device’s configuration space registers to obtain the
device’s hardware ID values.
Source§impl<T> ProtobufSaveRestore for T
impl<T> ProtobufSaveRestore for T
Source§fn restore(&mut self, state: SavedStateBlob) -> Result<(), RestoreError>
fn restore(&mut self, state: SavedStateBlob) -> Result<(), RestoreError>
Restore the object.