pub struct VirtioMmioDevice { /* private fields */ }
Expand description
Run a virtio device over MMIO
Implementations§
Source§impl VirtioMmioDevice
impl VirtioMmioDevice
pub fn new( device: Box<dyn VirtioDevice>, interrupt: LineInterrupt, doorbell_registration: Option<Arc<dyn DoorbellRegistration>>, mmio_gpa: u64, mmio_len: u64, ) -> Self
Trait Implementations§
Source§impl ChangeDeviceState for VirtioMmioDevice
impl ChangeDeviceState for VirtioMmioDevice
Source§impl ChipsetDevice for VirtioMmioDevice
impl ChipsetDevice for VirtioMmioDevice
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_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_pci(&mut self) -> Option<&mut (dyn PciConfigSpace + 'static)>
fn supports_pci(&mut self) -> Option<&mut (dyn PciConfigSpace + 'static)>
Optionally returns a trait object to send PCI config space accesses 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 Debug for VirtioMmioDevice
impl Debug for VirtioMmioDevice
Source§impl Drop for VirtioMmioDevice
impl Drop for VirtioMmioDevice
Source§impl InspectMut for VirtioMmioDevice
impl InspectMut for VirtioMmioDevice
Source§fn inspect_mut(&mut self, _req: Request<'_>)
fn inspect_mut(&mut self, _req: Request<'_>)
Inspects the object.
Source§impl MmioIntercept for VirtioMmioDevice
impl MmioIntercept for VirtioMmioDevice
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 SaveRestore for VirtioMmioDevice
impl SaveRestore for VirtioMmioDevice
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 VirtioMmioDevice
impl !RefUnwindSafe for VirtioMmioDevice
impl Send for VirtioMmioDevice
impl !Sync for VirtioMmioDevice
impl Unpin for VirtioMmioDevice
impl !UnwindSafe for VirtioMmioDevice
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> 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.