The messaging system connects eight agents together in a mesh configuration.
The message passing between agents can be done exclusively between the sources and
destinations by programming the 128 permission apertures in the LPD_XPPU that
correspond to the 0xFF30_0000
to 0xFF30_01FF
memory range.
The IPI does not control the content of the message buffers. It is up to the source and destination processor agent software to define the back-and-forth interrupt signaling and the content put into the request and response message buffers. The content of the message buffers does not affect the hardware; it is only written and interpreted by the processors. The use of the message buffers is optional.
The following figure illustrates the IPI message passing architecture for an agent.
The example in this section shows the message buffer address offsets and access types for the APU assigned as the IPI_2 agent. The other IPI_x agents can be assigned as needed; this includes additional PSM or PMC agents. All buffers are 32 bytes.
Offset Address | Buffer Type | Source Agent | Destination Agent | ||
---|---|---|---|---|---|
Name | Access Type | Name | Access Type | ||
|
Request |
APU Example |
RW |
PMC |
R |
|
Request |
RW |
PSM |
R |
|
|
Request |
RW |
IPI_0 |
R |
|
|
Request |
RW |
IPI_1 |
R |
|
|
Request |
RW |
APU this example |
R |
|
|
Request |
RW |
IPI_3 |
R |
|
|
Request |
RW |
IPI_4 |
R |
|
|
Request |
RW |
IPI_5 |
R |