Intel
®
81341 and 81342—Messaging Unit
Intel
®
81341 and 81342 I/O Processors
Developer’s Manual
December 2007
404
Order Number: 315037-002US
4.2
Theory of Operation
The MU has four independent messaging mechanisms. There are four Message
Registers that are similar to a combination of mailbox and doorbell registers. Each
holds a 32-bit value and generates an interrupt when written. The two Doorbell
Registers support software interrupts. When a bit is set in a Doorbell Register, an
interrupt is generated.
The Circular Queues support a message passing scheme that uses 4 circular queues.
The 4 circular queues are implemented in 81341 and 81342 local DDR SDRAM memory.
Two queues are used for inbound messages and two are used for outbound messages.
Interrupts may be generated when the queue is written.
The Index Registers use a portion of the 81341 and 81342 local DDR memory to
implement a large set of message registers. When one of the Index Registers is
written, an interrupt is generated and the address of the register written is captured.
Interrupt status for all interrupts is recorded in the Inbound Interrupt Status Register
and the Outbound Interrupt Status Register. Each interrupt generated by the Messaging
Unit can be masked.
Because of read side effects, multi-word burst transactions are not supported by the
Messaging Unit. The Messaging Unit must be mapped in a non-prefetchable PCI
address space to avoid read side effects. Multi-word read or write transactions made to
the Messaging Unit registers causes the MU to generate an address error on the
internal bus of the 81341 and 81342. Multi-word transactions made by an external PCI
agent results in an error being sent to the external PCI agent. Refer to the ATU
chapters for more details on how the ATUs respond to an internal bus error. As
explained above the Index Registers are implemented using the 81341 and 81342 local
DDR SDRAM memory. Therefore, the Index Registers do not have the same multi-word
access limitations as the MU registers. Refer to the
Section 4.6, “Index Registers” on
for more details.
All registers needed to configure and control the Messaging Unit are memory-mapped
registers.
The MU is accessed by an external PCI agent via the ATU. The MU can be mapped in
any 4 Kbytes of the inbound translation window in the Address Translation Unit (ATU).
The MU provides the Base Address Registers (
Table 287, “MU Base Address Register -
and
“MU Upper Base Address Register - MUUBAR”
) which allow the MU to be
relocated within the ATU translated window. This PCI address window is used for PCI
transactions that access the 81341 and 81342 local memory. The PCI address of the
inbound translation window is contained in the Inbound ATU Base Address Register. See
Chapter 2.0, “Address Translation Unit (PCI-X)”
or
Chapter 3.0, “Address Translation
for more details on inbound ATU addressing and the ATU.
Note that since the MU is located on the internal bus of the 81341 and 81342, any PCI
transaction that is targeted for the MU is first claimed by the ATU and then the ATU
issues the transaction on the internal bus of the 81341 and 81342.