floppy

Struct FloppyDiskController

Source
pub struct FloppyDiskController { /* private fields */ }
Expand description

82077AA Floppy disk controller

Implementations§

Source§

impl FloppyDiskController

Source

pub 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, NewFloppyDiskControllerError>

Create a new floppy disk controller.

Source

pub fn offset_of(&self, addr: u16) -> Option<u16>

Return the offset of addr from the region’s base address.

Returns None if the provided addr is outside of the memory region, or the region is currently unmapped.

Trait Implementations§

Source§

impl ChangeDeviceState for FloppyDiskController

Source§

fn start(&mut self)

Starts a device, allowing it to interact with the guest asynchronously. Read more
Source§

async fn stop(&mut self)

Stops a device’s asynchronous work. Read more
Source§

async fn reset(&mut self)

Resets the device state to its initial state, for a fresh boot. Read more
Source§

impl ChipsetDevice for FloppyDiskController

Source§

fn supports_pio(&mut self) -> Option<&mut dyn PortIoIntercept>

Optionally returns a trait object to send IO port intercepts to.
Source§

fn supports_poll_device(&mut self) -> Option<&mut dyn PollDevice>

Optionally returns a trait object to send poll requests to.
§

fn supports_mmio(&mut self) -> Option<&mut (dyn MmioIntercept + 'static)>

Optionally returns a trait object to send MMIO port intercepts to.
§

fn supports_pci(&mut self) -> Option<&mut (dyn PciConfigSpace + 'static)>

Optionally returns a trait object to send PCI config space accesses to.
§

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>

Optionally returns a trait object to send EOI requests to.
§

fn supports_acknowledge_pic_interrupt( &mut self, ) -> Option<&mut dyn AcknowledgePicInterrupt>

Optionally returns a trait object with which to acknowledge PIC interrupts.
Source§

impl InspectMut for FloppyDiskController

Source§

fn inspect_mut(&mut self, req: Request<'_>)

Inspects the object.
Source§

impl PollDevice for FloppyDiskController

Source§

fn poll_device(&mut self, cx: &mut Context<'_>)

Poll the device for asynchronous work. Read more
Source§

impl PortIoIntercept for FloppyDiskController

Source§

fn io_read(&mut self, io_port: u16, data: &mut [u8]) -> IoResult

Dispatch an IO port read to the device with the given address.
Source§

fn io_write(&mut self, io_port: 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>)]

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 FloppyDiskController

Source§

type SavedState = SavedState

The concrete saved state type.
Source§

fn save(&mut self) -> Result<Self::SavedState, SaveError>

Saves the object’s state.
Source§

fn restore(&mut self, state: Self::SavedState) -> Result<(), RestoreError>

Restores the object’s state.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<T> ProtobufSaveRestore for T
where T: SaveRestore, <T as SaveRestore>::SavedState: 'static + Send + SavedStateRoot,

§

fn save(&mut self) -> Result<SavedStateBlob, SaveError>

Save the object.
§

fn restore(&mut self, state: SavedStateBlob) -> Result<(), RestoreError>

Restore the object.
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more