The 8259x2 device implements the functionality of two cascaded 8259 interrupt controllers. The 8259x2 supplies 15 interrupt levels that connected devices can use to interrupt the cpu. The interrupt level to use should be set in the interrupting device. Limitations: Most registers in the 8259x2 device change hardware specific parameters. These are do-nothing in the 8259x2. Special Fully Nested Mode is not implemented. Buffered Mode is not implemented. Special Mask Mode is not implemented. Automatic End of Interrupt is not implemented. Rotate commands are not supported. Specific EOI commands are not supported.
conf_object, log_object, io_memory, simple_interrupt, interrupt_cpu
- 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.RESET
-
i8259x2.RESET
– Device reset. The stand-alone version of this device does not have a reset pin, but the device as IP in larger ASICs typically do act on reset.
- port.irq_0
-
i8259x2.irq_0
– Signal based IRQ interface
- port.irq_1
-
i8259x2.irq_1
– Signal based IRQ interface
- port.irq_10
-
i8259x2.irq_10
– Signal based IRQ interface
- port.irq_11
-
i8259x2.irq_11
– Signal based IRQ interface
- port.irq_12
-
i8259x2.irq_12
– Signal based IRQ interface
- port.irq_13
-
i8259x2.irq_13
– Signal based IRQ interface
- port.irq_14
-
i8259x2.irq_14
– Signal based IRQ interface
- port.irq_15
-
i8259x2.irq_15
– Signal based IRQ interface
- port.irq_2
-
i8259x2.irq_2
– Signal based IRQ interface
- port.irq_3
-
i8259x2.irq_3
– Signal based IRQ interface
- port.irq_4
-
i8259x2.irq_4
– Signal based IRQ interface
- port.irq_5
-
i8259x2.irq_5
– Signal based IRQ interface
- port.irq_6
-
i8259x2.irq_6
– Signal based IRQ interface
- port.irq_7
-
i8259x2.irq_7
– Signal based IRQ interface
- port.irq_8
-
i8259x2.irq_8
– Signal based IRQ interface
- port.irq_9
-
i8259x2.irq_9
– Signal based IRQ interface
-
info
– print information about the object
-
status
– print status of the object
-
irq_dev
-
Required attribute;
read/write access; type:
o
Interrupt device to use, implementing the interrupt_ack interface.
-
init_seq
-
Optional attribute;
read/write access; type:
[ii]
(dev1,dev2) sequence in initialization writes.
-
ic4_set
-
Optional attribute;
read/write access; type:
[ii]
(dev1,dev2) expect 4 init bytes.
-
read_reg
-
Optional attribute;
read/write access; type:
[ii]
(dev1,dev2) IRR or ISR on next read.
-
aeoi
-
Optional attribute;
read/write access; type:
[ii]
(dev1,dev2) auto end of interrupt mode.
-
sfnm
-
Optional attribute;
read/write access; type:
[ii]
(dev1,dev2) special fully nested mode.
-
poll
-
Optional attribute;
read/write access; type:
[ii]
(dev1,dev2) poll command.
-
low_irq_pri
-
Optional attribute;
read/write access; type:
[ii]
(dev1,dev2) interrupt with lowest priority.
-
irq_mask
-
Optional attribute;
read/write access; type:
[ii]
(dev1,dev2) interrupt mask.
-
vba
-
Optional attribute;
read/write access; type:
[ii]
(dev1,dev2) Interrupt Vector Base Address.
-
level
-
Optional attribute;
read/write access; type:
[ii]
(dev1,dev2) bit set for level triggered, else edge.
-
queued
-
Optional attribute;
read/write access; type:
[ii]
(dev1,dev2) bit set for interrupts received from device in level triggered mode. Used to handle re-issuing of level triggered interrupts. This bit is NOT used for the cascade line.
-
request
-
Optional attribute;
read/write access; type:
[ii]
(dev1,dev2) interrupt requested (IRR).
-
issued
-
Optional attribute;
read/write access; type:
[ii]
(dev1,dev2) bit set for interrupt sent (and acked) to cpu (ISR).
-
special_mask
-
Optional attribute;
read/write access; type:
[ii]
(dev1,dev2) special mask mode is set (may allow lower irq when ISR set).
-
irq_requested
-
Optional attribute;
read/write access; type:
i
Interrupt of the cpu is requested.
-
reissue_pending
-
Optional attribute;
read/write access; type:
i
Interrupt reissue event posted to CPU.
-
line_status
-
Optional attribute;
read/write access; type:
[ii]
(dev1,dev2) interrupt input line status.
8259x2
Device reset. The stand-alone version of this device does not have a reset pin, but the device as IP in larger ASICs typically do act on reset.
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.
Signal based IRQ interface
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.
Signal based IRQ interface
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.
Signal based IRQ interface
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.
Signal based IRQ interface
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.
Signal based IRQ interface
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.
Signal based IRQ interface
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.
Signal based IRQ interface
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.
Signal based IRQ interface
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.
Signal based IRQ interface
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.
Signal based IRQ interface
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.
Signal based IRQ interface
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.
Signal based IRQ interface
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.
Signal based IRQ interface
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.
Signal based IRQ interface
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.
Signal based IRQ interface
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.
Signal based IRQ interface
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.