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.
conf_object, log_object, io_memory, ide_dma, ide_dma_v2
- 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.DMA_DACK
-
ide.DMA_DACK
- port.DMA_DDONE
-
ide.DMA_DDONE
-
info
– print information about the object
-
status
– print status of the object
-
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.
ide
conf_object, log_object, signal
- 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.
conf_object, log_object, signal
- 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.