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

Page 667

Advertising
background image

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.

Table 22-46

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

Advertising
This manual is related to the following products: