MSC8144E Reference Manual, Rev. 3
26-12
Freescale
Semiconductor
Security Engine (SEC)
26.2.1.2 Link Tables
Link tables implement scatter/gather capability. For gather operations, a link table specifies a list
of memory segments to concatenate in the process of assembling data parcels. For scatter
operations, a link table specifies a list of memory segments into which the output data is written.
Scatter or gather of a data parcel may be specified by a single link table or by a chain of link
tables linked together with pointers (see Figure 26-3).
The link table or chain of link tables accessed through a descriptor POINTER must specify
enough memory segments to hold all the data accessed via that pointer. In most cases, only a
single data parcel is accessed through a given POINTER, and the chain of link tables specifies
only that parcel. In other cases, the descriptor POINTER is used multiple times to access a
sequence of data parcels, and the chain of link tables must supply data for the entire sequence. If
a link table is used to access a sequence of data parcels, the end of each parcel must also be at the
end of a memory segment. In other words, a single memory segment must not straddle two data
parcels. An example of proper construction of link tables is illustrated in Figure 26-7.
A link table may contain any number of 64-bit entries. There are two kinds of entries, regular
entries and next entries. Each regular entry specifies a memory segment by means of a 36-bit
starting address (SEGPTR) and a 16-bit length (SEGLEN). A next entry is used at the end of a
link table to specify that the list of memory segments is continued in another link table. In a next
entry, the N bit is set, the SEGPTR field gives the address of the next link table, and the SEGLEN
field must be 0. A chain of link tables may contain any number of link tables. Whether the list of
memory segments is in a single link table or split into several link tables, the last entry in the last
link table is a regular entry with the R (return) bit set. The R bit signifies the end of link table
operations so that the channel returns to the descriptor for its next pointer (if any).
Note:
See Section 26.5.3, Link Tables, on page 26-76 for the link table programming model.
26.2.1.3 Using Descriptors and Link Tables
Figure 26-7 demonstrates the use of link tables. Assume that the current descriptor type calls for
the channel to read a data parcel using the Pointer3 and Extent3 fields, and assume that J3 = 1.
Due to the J3 value, Pointer3 is used as the address of a link table. The channel begins by reading
the first four 64-bit strings starting at Pointer3 into an internal gather table buffer. Using the first
entry, the channel starts accessing the data parcel by reading SEGLEN bytes beginning at
SEGPTR. If the required data parcel size (Extent3) is greater than this first SegLen, the channel
moves on to the next entry of the gather table buffer, and reads SEGLEN bytes starting at
SEGPTR. This process continues until there are no more bytes to read. If the channel gather table
buffer is exhausted, the channel reads the next four 64-bit strings of the link table into its gather
table buffer. If the controller encounters a gather table buffer entry where N = 1, the channel uses
SEGPTR to find the next link table in the chain. The last byte of the parcel (Extent3) must
coincide with the last byte of a memory segment, or unpredictable results may occur.
Summary of Contents for MSC8144E
Page 1: ...MSC8144E Reference Manual Quad Core Media Signal Processor MSC8144ERM Rev 3 July 2009 ...
Page 48: ...MSC8144E Reference Manual Rev 3 xlviii Freescale Semiconductor ...
Page 86: ...MSC8144E Reference Manual Rev 3 1 38 Freescale Semiconductor Overview ...
Page 168: ...MSC8144E Reference Manual Rev 3 3 60 Freescale Semiconductor External Signals ...
Page 242: ...MSC8144E Reference Manual Rev 3 5 26 Freescale Semiconductor Reset ...
Page 314: ...MSC8144E Reference Manual Rev 3 8 24 Freescale Semiconductor General Configuration Registers ...
Page 414: ...MSC8144E Reference Manual Rev 3 10 14 Freescale Semiconductor MSC8144E SC3400 DSP Subsystem ...
Page 452: ...MSC8144E Reference Manual Rev 3 11 38 Freescale Semiconductor Internal Memory Subsystem ...
Page 520: ...MSC8144E Reference Manual Rev 3 12 68 Freescale Semiconductor DDR SDRAM Memory Controller ...
Page 1070: ...MSC8144E Reference Manual Rev 3 21 28 Freescale Semiconductor Timers ...