Legacy Interrupt Operation
In legacy mode, the PCIe Controller emulates the four PCI interrupt pins
(INTA_IN, INTB_IN, INTC_IN, and
INTD_IN). Multiple functions can share the same interrupt pin. On the
endpoint side, the client signals interrupt conditions to the PCIe Controller
using four distinct interrupt inputs.
The PCIe Controller communicates the state of each interrupt input by sending
Assert_INTx or Deassert_INTx messages on the
PCIe link. It sends an assert message when the corresponding interrupt input transitions from
low to high, and sends a de-assert message when the input transitions back to low. The
high-to-low transition usually occurs when the interrupt has been serviced.
After signaling each transition, the client must wait for the PCIe Controller to
assert INT_ACK before signaling another transition on the same interrupt
pin.
You can modify the default interrupt assignments by writing to the Interrupt Pin register through the local management bus.
The client must provide the interrupt pending status of each of its functions to the PCIe Controller through the PCIe Controller's
INT_PENDING_STATUS input, so that the status can be read from the PCIe link
through the function's PCI Status Register. The client must set
INT_PENDING_STATUS high when there is an interrupt pending from the
function, and set it low when the interrupt has been serviced.
INTx disable bits in the associated
function's PCI Command Register before generating a legacy interrupt. The
INTx disable bit states are available in the PCIe Controller's FUNCTION_STATUS output.