Symmetric/Asymmetric Hashing and Random Accelerator (Sahara) Drivers
i.MX51 EVK Linux Reference Manual
Freescale Semiconductor
23-7
— If the User is in Kernel Space, invoke callback
— If the User is in User Space, signal UM Extension to invoke callback
2. Clean up memory, flags, and so on as needed
3. Unlock pages
23.2.2.13 Get Results
When a Get Results request is received (a request that does not involve Sahara hardware), the following
are performed and the result is immediately returned to the user:
1. If no results are found for this user, return
no results found
status
2. If at least one result is found for the user, populate the user supplied result list in whatever order
the results are found in the Result Pool (return the lesser of the max number of requests or number
of results in pool)
3. If the status is PASSED (set by Poll/ISR process), check and return the following:
— Failed if State field in Status register is 011. Also sends notification to Sahara Public Interface
to reject all future calls to Sahara driver
— Failed if SCC Fail bit in Status register is set
— Specific descriptor error from Error Source field in the Error Status register, if the Error bit in
the Status register is set
— Failed if Error bit in Status register is set and the Error Source field in the Error Status register
shows No Error
— Passed otherwise
4. Clear result pool entry
5. Adjust number of outstanding requests
23.3
Driver Features
The SAHARA driver supports the following features:
•
Hashing with MD5, SHA-1, SHA-224 and SHA-256 algorithms
•
HMAC with the same algorithms as for hashing
•
Symmetric cryptography support for AES, DES, and triple DES, in ECB, CBC, and CTR modes
(though only AES is supported in CTR mode); ARC4 support is also provided
•
CCM for AES
•
Wrapped keys (hiding keys in the SCC), using the SCC key to encrypt or decrypt, HMAC
functions, or CCM
•
Generation of an arbitrary number of bytes of random data
•
User mode and kernel mode; callbacks and non-callback non-blocking
Summary of Contents for i.MX51 EVK
Page 1: ...Part Number 924 76374 Rev 10 11 01 11 2010 i MX51 EVK Linux Reference Manual...
Page 14: ...i MX51 EVK Linux Reference Manual xiv Freescale Semiconductor...
Page 18: ...i MX51 EVK Linux Reference Manual xviii Freescale Semiconductor...
Page 24: ...i MX51 EVK Linux Reference Manual xxiv Freescale Semiconductor...
Page 38: ...Machine Specific Layer MSL i MX51 EVK Linux Reference Manual 2 8 Freescale Semiconductor...
Page 52: ...MC13892 Digitizer Driver i MX51 EVK Linux Reference Manual 5 4 Freescale Semiconductor...
Page 64: ...TV Encoder TVE Driver i MX51 EVK Linux Reference Manual 10 4 Freescale Semiconductor...
Page 82: ...Video for Linux Two V4L2 Driver i MX51 EVK Linux Reference Manual 12 8 Freescale Semiconductor...
Page 86: ...i MX5 Dual Display i MX51 EVK Linux Reference Manual 13 4 Freescale Semiconductor...
Page 100: ...X Windows Acceleration i MX51 EVK Linux Reference Manual 16 6 Freescale Semiconductor...
Page 118: ...Low Level Keypad Driver i MX51 EVK Linux Reference Manual 20 6 Freescale Semiconductor...
Page 134: ...Security Drivers i MX51 EVK Linux Reference Manual 22 10 Freescale Semiconductor...
Page 148: ...Inter IC I2C Driver i MX51 EVK Linux Reference Manual 24 4 Freescale Semiconductor...
Page 178: ...ARC USB Driver i MX51 EVK Linux Reference Manual 29 10 Freescale Semiconductor...
Page 194: ...OProfile i MX51 EVK Linux Reference Manual 33 6 Freescale Semiconductor...