After the list is stored in the LS, the execution of the list is
initiated by a DMA-list command, such as getl or putl,
from the SPE whose LS contains the list.
DMA-list commands, such as single-transfer DMA commands, require that parameters
are written to the MFC Command Parameter channels in the way described in
DMA transfers. However, a DMA-list command requires
two different types of parameters than those required by a single-transfer
DMA command:
- MFC_EAL : This parameter must be written with the starting
local store address (LSA) of the list , rather then with the EAL. (The
EAL is specified in each transfer element.)
- MFC_Size : This parameter must be written with the size
of the list , rather then the transfer size. (The transfer size is specified
in each transfer element.) The list size is equal to the number of transfer
elements, multiplied by the size of the transfer-element structure (8 bytes).
The starting LSA and the EA-high (EAH) are specified only once, in the
DMA-list command that initiates the transfers. The LSA is internally incremented
based on the amount of data transferred by each transfer element. However,
if the starting LSA for each transfer element in a list does not begin on
a 16-byte boundary, then hardware automatically increments the LSA to the
next 16-byte boundary.
The EAL for each transfer element is in the 4-GB area defined
by EAH.