diff options
| author | Huang Ying <ying.huang@intel.com> | 2009-01-09 00:49:30 -0500 |
|---|---|---|
| committer | Herbert Xu <herbert@gondor.apana.org.au> | 2009-02-18 03:48:04 -0500 |
| commit | 109568e110ed67d4be1b28609b9fa00fca97f8eb (patch) | |
| tree | f40a1c6a35bb45abf7edcf8ab55ed75af6d405fb /include/crypto | |
| parent | 8eb2dfac41c71701bb741f496f0cb7b7e4a3c3f6 (diff) | |
crypto: aes - Move key_length in struct crypto_aes_ctx to be the last field
The Intel AES-NI AES acceleration instructions need key_enc, key_dec
in struct crypto_aes_ctx to be 16 byte aligned, it make this easier to
move key_length to be the last one.
Signed-off-by: Huang Ying <ying.huang@intel.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'include/crypto')
| -rw-r--r-- | include/crypto/aes.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/include/crypto/aes.h b/include/crypto/aes.h index 656a4c66a568..7524ba3b6f3c 100644 --- a/include/crypto/aes.h +++ b/include/crypto/aes.h | |||
| @@ -17,10 +17,14 @@ | |||
| 17 | #define AES_MAX_KEYLENGTH (15 * 16) | 17 | #define AES_MAX_KEYLENGTH (15 * 16) |
| 18 | #define AES_MAX_KEYLENGTH_U32 (AES_MAX_KEYLENGTH / sizeof(u32)) | 18 | #define AES_MAX_KEYLENGTH_U32 (AES_MAX_KEYLENGTH / sizeof(u32)) |
| 19 | 19 | ||
| 20 | /* | ||
| 21 | * Please ensure that the first two fields are 16-byte aligned | ||
| 22 | * relative to the start of the structure, i.e., don't move them! | ||
| 23 | */ | ||
| 20 | struct crypto_aes_ctx { | 24 | struct crypto_aes_ctx { |
| 21 | u32 key_length; | ||
| 22 | u32 key_enc[AES_MAX_KEYLENGTH_U32]; | 25 | u32 key_enc[AES_MAX_KEYLENGTH_U32]; |
| 23 | u32 key_dec[AES_MAX_KEYLENGTH_U32]; | 26 | u32 key_dec[AES_MAX_KEYLENGTH_U32]; |
| 27 | u32 key_length; | ||
| 24 | }; | 28 | }; |
| 25 | 29 | ||
| 26 | extern const u32 crypto_ft_tab[4][256]; | 30 | extern const u32 crypto_ft_tab[4][256]; |
