#include <des_io.h>
Collaboration diagram for axis_des_hardware_key:

The Axis hardware can cache multiple keys at once. To perform an operation a key needs to be loaded and or selected into a key channel. A pending crypto op needs both a key channel and an encryption channel. This structure is used to track the key channels
Data Fields | |
| unsigned | lock |
| unsigned | loaded |
| unsigned long | age |
| unsigned char * | address |
| unsigned char * | register_address |
| unsigned | index |
| axis_des_key * | software_key |
|
|
address of hardware storage for key |
|
|
needed for LRU algorithm |
|
|
number of hardware key gets converted into an offset into Axis device |
|
|
does the hardware match software |
|
|
prevent removal mid operation |
|
|
address of control register for key |
|
|
if the hardware is allocated to a software key we may need need to reclaim the hardware and so deallocate an idle software key |
1.3.6