2 static descriptors, Static descriptors -65 – Freescale Semiconductor MCF5480 User Manual
Page 667

Descriptors
MCF548x Reference Manual, Rev. 3
Freescale Semiconductor
22-65
22.13.4.2 Static Descriptors
Recall that the SEC has five execution units and two crypto-channels. The EUs can be statically assigned
or dedicated to a particular crypto-channel. Certain combinations of EUs can be statically assigned to the
same crypto-channel to facilitate multi-operation security processes, such as IPSec ESP mode. When the
system traffic model permits its use, static assignment can offer significant performance improvements
over dynamic assignment by avoiding key and context switching per packet.
NOTE
There is no mechanism for resetting an EU automatically when statically
assigned, or when assignment is changed from static to dynamic. Therefore,
it is recommended that the drivers always reset an EU prior to removing a
static assignment to prevent the previously used context from polluting
another encryption stream.
Static descriptors split the operations to be performed during a security operation into separate descriptors.
The first descriptor is typically used to set the EU mode, load the key and context, and to optionally
read/permute/write the first block of data.
shows the format for a TYPE 0001 data packet
descriptor that loads a context and key, then encrypts or decrypts the first block of data. The LEN/PTR6
pair is NULL since there is no need to unload the context after the operation completes.
PTR_6
IV Out Pointer
Address where IV is to be written (optional)
LEN_7
MAC Out Length
NULL
PTR_7
MAC Out Pointer
NULL
PTR_NEXT
Next Descriptor Pointer Pointer to next data packet descriptor
Table 22-46. First Static Descriptor Example
Field Name
Value/Type
Description
Header
0xXXXX_XX1X
TYPE 0001
LEN_1
Length (not used)
NULL
PTR_1
Pointer (not used)
NULL
LEN_2
IV Length
Number of bytes of IV to be written to EU
PTR_2
IV Pointer
Address of IV
LEN_3
Key Length
Number of bytes of Key to be written to EU
PTR_3
Key Pointer
Address of Key
LEN_4
Data In Length
Number of bytes to be encrypted/decrypted
PTR_4
Data In Pointer
Address of data to be encrypted/decrypted
LEN_5
Data Out Length
Bytes to be written (should be equal to length of data in)
PTR_5
Data Out Pointer
Address where final data is written
LEN_6
IV Out Length
NULL
Table 22-45. Dynamic Descriptor Example (Continued)
Field Name
Value/Type
Description