User Manual
BCM1250/BCM1125/BCM1125H
10/21/02
B r o a d c o m C o r p o r a t i o n
Document
1250_1125-UM100CB-R
Section 4: System Control and Debug Unit
Page
49
The HyperTransport defines three sorts of interrupts:
Non-vectored interrupts
carry a type field rather than source vector information. They are used to carry
interrupt messages that are traditionally associated with pins on the x86 CPU. The five types are SMI (system
management interrupt), NMI (non maskable interrupt), Init (initialize processor, on x86 resets integer registers
but does not affect FP or caches), Startup (used to start application processors in x86 multiprocessor systems)
and Ext. Int. (external interrupt, used to signal an interrupt from a PIC style PC interrupt controller). These are
statically mapped to source vectors h32 - h36 before being reported to the interrupt mapper of the CPU(s) to
which they are directed.
Fixed interrupts
are the standard form. They include the destination information and the source vector and
are delivered to all interrupt mappers to which they are directed.
Arbitrated (Low Priority) interrupts
behave the same as fixed interrupts. However if multiple destinations are
indicated they only get delivered to one of them. The HyperTransport specification requires that the destination
selected is either the lowest priority or the CPU that is currently servicing an interrupt from the same source.
Since MIPS architecture CPUs give no external indication of which interrupt they are currently servicing the
mapper implements this by delivering the interrupt to the lowest numbered CPU to which it is directed.
All HyperTransport interrupts are thus presented to the interrupt mapper as an 8 bit vector number. The top
two bits of the vector number are used to determine how the low 6 bits are used:
Table 19: Interrupt Message Format for Writes to interrupt_ldt_set Register
Data Bits
Description
2:0
HyperTransport Interrupt Message Type:
000: Fixed
001: Arbitrated (Low Priority)
010: Non-vectored: SMI
011: Non-vectored: NMI
100: Non-vectored: INIT
101: Non-vectored: Startup
110: Non-vectored: External Interrupt
111: Reserved
3
HyperTransport Interrupt Trigger Mode 0=Edge, 1=Level (non-vectored interrupts must be edge).
4
HyperTransport Interrupt Destination Mode 0=Physical, 1=Logical.
12:5
HyperTransport Interrupt Destination.
20:13
HyperTransport Interrupt Vector.
Table 20: Delivery of HyperTransport Interrupts
Vector[7:6]
Delivery of Vector[5:0]
00
The bit corresponding to Vector[5:0] in the interrupt_ldt register is set, raising that interrupt line to the mapper.
01
The bit corresponding to Vector[5:0] in the mailbox register is set, raising one of the mailbox interrupts to
the mapper.
10
Interrupt will be discarded.
11
Interrupt will be discarded.