Specifications
8-2 Interrupts
• At most, four interrupts at levels 0, 1, and 2 can be pending on the
TLSB bus (one per interrupt level 14, 15, and 16, respectively, per I/O
hose) per I/O node.
• However, up to five interrupts at level 3 can be pending on the TLSB
bus (one at interrupt level 17 per I/O hose and one internally gener-
ated I/O module error interrupt) per I/O node.
• When a CPU module performs a CSR read of a given TLILIDn regis-
ter, the I/O module considers the relevant interrupt to be serviced.
• Multiple CPUs can be targeted for a single interrupt at a given level.
This is specified by the contents of the TLCPUMASK register.
• If a CPU performs a TLSB CSR read of a given TLILIDn register for a
given interrupt level and the I/O module considers all the interrupts
posted at that level to be serviced, the I/O module returns a value of
zero as CSR read data (passive release).
8.1.2 CPU Interrupt Rules
Both AlphaServer 8200 and 8400 systems support up to three I/O modules.
Each I/O module can generate four interrupts at level 0, four at level 1,
four at level 2, and five at level 3. Thus, one I/O port can have 17 out-
standing interrupts. In a system with three I/O ports there can be up to 51
outstanding interrupts.
A CPU module services an interrupt by reading from the TLILIDn regis-
ter indexed with the physical node ID of the interrupting I/O device.
To store all outstanding interrupt requests, a CPU keeps a count of the
number of requests at each level and the physical node ID of the interrupt-
ing I/O device. CPUs can do this by keeping an outstanding interrupt
count (in the range 0–4 for levels 0, 1, and 2; 0–5 for level 3) for each level,
for each I/O device.
8.1.3 I/O Port Interrupt Operation
The following observations apply to the I/O port interrupt operation:
• An I/O adapter posts an interrupt at a given interrupt level.
• The I/O module assembles the interrupt vector in the queue for the
relevant interrupt level for a later read of the appropriate TLILIDn
register. The I/O module then issues a CSR write transaction over the
TLSB bus to one of five TLIOINTRn registers using the TLCPUMASK
register to specify which target CPUs are to receive the interrupt.
• During the CSR write transaction the I/O module asserts its node ID
on the four least significant address bits of the TLSB bus. These four
bits determine the specific TLIOINTRn register to be written as fol-
lows:
— Node ID 4 = TLIOINTR4 register
— Node ID 5 = TLIOINTR5 register
— Node ID 6 = TLIOINTR6 register
— Node ID 7 = TLIOINTR7 register
— Node ID 8 = TLIOINTR8 register