pub trait MaybeStubFloppyDiskController:
Sized
+ ChipsetDevice
+ ChangeDeviceState
+ InspectMut
+ PollDevice
+ PortIoIntercept
+ SaveRestore {
type NewError: Error + Send + Sync + 'static;
// Required methods
fn new(
guest_memory: GuestMemory,
interrupt: LineInterrupt,
register_pio: &mut dyn RegisterPortIoIntercept,
pio_base_addr: u16,
disk_drive: DriveRibbon,
dma: Box<dyn IsaDmaChannel>,
) -> Result<Self, Self::NewError>;
fn offset_of(&self, io_port: u16) -> Option<u16>;
}
Expand description
Trait that abstracts over different floppy controller implementations.
This trait allows re-using the same code for both the fully-featured floppy controller, and the stub floppy controller (which is required when booting via BIOS using the Microsoft PCAT firmware blob).
Required Associated Types§
Required Methods§
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.