id-splitter ide-cdrom
Simics Reference Manual  /  5 Classes  / 

ide

Description

The IDE class implements the functionality of an IDE controller and its interaction with the DMA controller. Transfer timing (command start -> interrupt) for DMA is properly modelled.

Interfaces Implemented

conf_object, log_object, io_memory, ide_dma, ide_dma_v2

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Port Objects

port.DMA_DACK
ide.DMA_DACK
port.DMA_DDONE
ide.DMA_DDONE

Commands for this class

Attributes

irq_dev
Optional attribute; read/write access; type: o|[os]|n
Interrupt target implementing the signal interface. It also supports simple_interrupt interface, this will be deprecated in the future.
irq_level
Optional attribute; read/write access; type: i
Interrupt level. If the irq_dev attribute is set with an object that implements the simple_interrupt interface, this attribute controls the interrupt level.
control
Optional attribute; read/write access; type: i
Control register (shared between master/slave).
selected_drive
Optional attribute; read/write access; type: i
Currently selected drive (bit 4 in the drive/head register).
lba_mode
Optional attribute; read/write access; type: i
Currently selected addressing mode (bit 6 in the drive/head register).
interrupt_pin
Optional attribute; read/write access; type: i
Interrupt request status.
interrupt_delay
Optional attribute; read/write access; type: f
Time in seconds between state changes.
primary
Optional attribute; read/write access; type: i
Set to one if this is a primary IDE controller.
model_dma_delay
Optional attribute; read/write access; type: i
If set, the controller will accurately model DMA transfer bandwidth (infinite bandwidth otherwise).
master
Optional attribute; read/write access; type: o|n
Master device. Must implement the ide-device interface.
slave
Optional attribute; read/write access; type: o|n
Slave device. Must implement the ide-device interface.
bus_master_dma
Optional attribute; read/write access; type: o|n
DMA controller implementing bus-master-ide.
dma_ready
Optional attribute; read/write access; type: i
Non-zero if the DMA controller is ready for transfer.
dma_dreq_target
Optional attribute; read/write access; type: o|[os]|n
DMA controller implementing signal interface. Upon a DMA request, the DREQ signal will be held high.
dma_dack_level
Optional attribute; read/write access; type: b
DMA controller implementing signal interface. Upon a DMA request, the DREQ signal will be held high.

Provided By

ide

ide.DMA_DACK

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

ide.DMA_DDONE

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.
id-splitter ide-cdrom