25.6.4.1 Settings for Simple SHA Calculation
The start address of the system memory containing the data to hash must be configured in the transfer descriptor of the DMA embedded in the ICM.
The transfer descriptor is a system memory
area integer multiple of 4 x 32-bit word and the start address of the descriptor must be
configured in DSCR (the start address must be aligned on 64-bytes; six LSB must be
cleared). If the data to hash is already padded according to SHA standards, only a single
descriptor is required, and the EOM bit of RCFGn must be written to ‘1
’.
If the data to hash does not contain a padding area, it is possible to define the padding
area in another system memory location, the ICM can be configured to automatically jump
from a memory area to another one by writing the descriptor register RNEXT with a value
that differs from 0. Writing the RNEXT register with the start address of the padding area forces the ICM to
concatenate both areas, thus providing the SHA result from the start address of the hash
area configured in HASH.
Whether the system memory is configured as a single or multiple data block area, the bits CDWBN and WRAP must be cleared in the region descriptor structure member RCFGn. The bits WBDIS, EOMDIS, SLBDIS must be cleared in CFG.
0
’:- The flag RHC[i], ‘i’ being the region
index, is set (if RHIEN is ‘
0
’) when the hash result is available at address defined in HASH. - The flag REC[i], ‘i’ being the region
index, is set (if ECIEN is ‘
0
’) when the hash result is available at the address defined in HASH.
An interrupt is generated if the bit
RHC[i] is written to ‘1
’ in the IER (if RHC[i] is set in RCTRL of region
i) or if the bit REC[i] is written to ‘1
’ in the IER (if REC[i] is set in
RCTRL of region i).