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§
Object Safety§
This trait is not object safe.