pub struct MissingDev { /* private fields */ }
Expand description
A device that swallows all MMIO, PIO, and PCI accesses that come its way.
Implementations§
Source§impl MissingDev
impl MissingDev
Sourcepub fn from_manifest(
manifest: MissingDevManifest,
register_mmio: &mut dyn RegisterMmioIntercept,
register_pio: &mut dyn RegisterPortIoIntercept,
) -> MissingDev
pub fn from_manifest( manifest: MissingDevManifest, register_mmio: &mut dyn RegisterMmioIntercept, register_pio: &mut dyn RegisterPortIoIntercept, ) -> MissingDev
Convert a MissingDevManifest
into a fully instantiated
MissingDev
.
Trait Implementations§
Source§impl ChangeDeviceState for MissingDev
impl ChangeDeviceState for MissingDev
Source§impl ChipsetDevice for MissingDev
impl ChipsetDevice for MissingDev
Source§fn supports_pio(&mut self) -> Option<&mut dyn PortIoIntercept>
fn supports_pio(&mut self) -> Option<&mut dyn PortIoIntercept>
Optionally returns a trait object to send IO port intercepts to.
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.
§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.
§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.
§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.
§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 Default for MissingDev
impl Default for MissingDev
Source§fn default() -> MissingDev
fn default() -> MissingDev
Returns the “default value” for a type. Read more
Source§impl InspectMut for MissingDev
impl InspectMut for MissingDev
Source§fn inspect_mut(&mut self, req: Request<'_>)
fn inspect_mut(&mut self, req: Request<'_>)
Inspects the object.
Source§impl MmioIntercept for MissingDev
impl MmioIntercept for MissingDev
Source§fn mmio_read(&mut self, _addr: u64, data: &mut [u8]) -> IoResult
fn mmio_read(&mut self, _addr: u64, data: &mut [u8]) -> IoResult
Dispatch an MMIO read to the device with the given address.
Source§fn mmio_write(&mut self, _addr: u64, _data: &[u8]) -> IoResult
fn mmio_write(&mut self, _addr: u64, _data: &[u8]) -> IoResult
Dispatch an MMIO write to the device with the given address.
§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 MissingDev
impl PciConfigSpace for MissingDev
Source§fn pci_cfg_read(&mut self, offset: u16, value: &mut u32) -> IoResult
fn pci_cfg_read(&mut self, offset: u16, value: &mut u32) -> IoResult
Dispatch a PCI config space read to the device with the given address.
Source§fn pci_cfg_write(&mut self, _offset: u16, _value: u32) -> IoResult
fn pci_cfg_write(&mut self, _offset: u16, _value: u32) -> IoResult
Dispatch a PCI config space write to the device with the given address.
Source§impl PortIoIntercept for MissingDev
impl PortIoIntercept for MissingDev
Source§fn io_read(&mut self, _addr: u16, data: &mut [u8]) -> IoResult
fn io_read(&mut self, _addr: u16, data: &mut [u8]) -> IoResult
Dispatch an IO port read to the device with the given address.
Source§fn io_write(&mut self, _addr: u16, _data: &[u8]) -> IoResult
fn io_write(&mut self, _addr: u16, _data: &[u8]) -> IoResult
Dispatch an IO port write to the device with the given address.
§fn get_static_regions(&mut self) -> &[(&str, RangeInclusive<u16>)]
fn get_static_regions(&mut self) -> &[(&str, RangeInclusive<u16>)]
Report a set of static io port regions (region_name, port_range) that
cannot be remapped at runtime and are always registered. Read more
Source§impl SaveRestore for MissingDev
impl SaveRestore for MissingDev
Auto Trait Implementations§
impl Freeze for MissingDev
impl !RefUnwindSafe for MissingDev
impl Send for MissingDev
impl Sync for MissingDev
impl Unpin for MissingDev
impl !UnwindSafe for MissingDev
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>
§impl<T> PciChipsetDeviceExt for Twhere
T: ChipsetDevice + PciConfigSpace + ?Sized,
impl<T> PciChipsetDeviceExt for Twhere
T: ChipsetDevice + PciConfigSpace + ?Sized,
§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.
§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.