pub struct EmulatedDevice<T, U> { /* private fields */ }
Expand description
A wrapper around any user_driver device T. It provides device emulation by providing access to the memory shared with the device and thus
allowing the user to control device behaviour to a certain extent. Can be used with devices such as the NvmeController
Implementations§
Source§impl<T: PciConfigSpace + MmioIntercept, U: DmaClient> EmulatedDevice<T, U>
impl<T: PciConfigSpace + MmioIntercept, U: DmaClient> EmulatedDevice<T, U>
Trait Implementations§
Source§impl<T: 'static + Send + InspectMut + MmioIntercept, U: 'static + Send + DmaClient> DeviceBacking for EmulatedDevice<T, U>
impl<T: 'static + Send + InspectMut + MmioIntercept, U: 'static + Send + DmaClient> DeviceBacking for EmulatedDevice<T, U>
Source§fn dma_client(&self) -> Arc<dyn DmaClient>
fn dma_client(&self) -> Arc<dyn DmaClient>
DMA Client for the device.
Source§fn max_interrupt_count(&self) -> u32
fn max_interrupt_count(&self) -> u32
Returns the maximum number of interrupts that can be mapped.
Source§fn map_interrupt(&mut self, msix: u32, _cpu: u32) -> Result<DeviceInterrupt>
fn map_interrupt(&mut self, msix: u32, _cpu: u32) -> Result<DeviceInterrupt>
Maps a MSI-X interrupt for use, returning an object that can be used to
wait for the interrupt to be signaled by the device. Read more
Source§impl<T: InspectMut, U> Inspect for EmulatedDevice<T, U>
impl<T: InspectMut, U> Inspect for EmulatedDevice<T, U>
Auto Trait Implementations§
impl<T, U> Freeze for EmulatedDevice<T, U>
impl<T, U> !RefUnwindSafe for EmulatedDevice<T, U>
impl<T, U> Send for EmulatedDevice<T, U>
impl<T, U> Sync for EmulatedDevice<T, U>
impl<T, U> Unpin for EmulatedDevice<T, U>
impl<T, U> !UnwindSafe for EmulatedDevice<T, U>
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