MCF548x Reference Manual, Rev. 3
22-60 Freescale Semiconductor

22.13.1.2 Descriptor Length and Pointer Fields

The length and pointer fields represent one of seven data length/pointer pairs. Each pair defines a block of
data in system memory. The length field gives the length of the block in bytes. The maximum allowable
number of bytes is 32 Kbytes. A value of zero loaded into the length field indicates that this length/pointer
pair should be skipped and processing should continue with the next pair.
The pointer field contains the address, in ColdFire global memory, of the first byte of the data block.
Transfers from the ColdFire bus with the pointer address set to zero will have the length value written to
the EU, and no data fetched from the memory.
Table 22-40 shows the data packet descriptor length field mapping.
Figure 22-43 shows the descriptor data packet pointer field. The data pointer refers to the address of the
data which the SEC fetches. Data in this case is broadly interpreted to mean keys, context, additional
pointers, or the actual plaintext to be permuted.
Table 22-41 shows the descriptor data packet pointer field mapping.
Table 22-44 shows how the length/pointer pairs should be used with the various descriptor types to load
keys, context, and data into the execution units, and how the required outputs should be unloaded.
31 16 15 0
Field DATA LENGTH
Addr Descriptor Pointer + 0x4, + 0xC, + 0x14, + 0x1C, + 0x24, + 0x2C, + 0x34
Figure 22-42. Descriptor Data Packet Length Field
Table 22-40. Descriptor Data Packet Length Field Mapping
Bits Name Description
31–16 Reserved, set to zero.
15–0 DATA
LENGTH
The maximum length this field can be set to 32K bytes. Length fields also indicate the size
of items to be written back to memory upon completion of security processing in the SEC.
31 0
Field DATA FIELD n POINTER
Reset 0
R/W R/W
Figure 22-43. Descriptor Data Packet Pointer Field
Table 22-41. Descriptor Data Packet Pointer Field Mapping
Bits Name Reset Value Description
31–0 DATA FIELD
POINTER
0 The data pointer field contains the address, in global memory, of the first
byte of the data packet for either read or write back. Transfers from the bus
with the pointer address set to zero will be skipped.