]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - lib/aes.c
karo: configs: Update the tx6*_defconfig files from defconfigs generated with 'make...
[karo-tx-uboot.git] / lib / aes.c
index 9dadb22c3ad9b6bb4e738b3b1e91bfd7db6fa846..9d7a0a1c11850ac76eda5e66715bbc18f534d87b 100644 (file)
--- a/lib/aes.c
+++ b/lib/aes.c
  * REDISTRIBUTION OF THIS SOFTWARE.
 */
 
+#ifndef USE_HOSTCC
 #include <common.h>
+#else
+#include <string.h>
+#endif
 #include "aes.h"
 
 /* forward s-box */
@@ -589,16 +593,7 @@ static void debug_print_vector(char *name, u32 num_bytes, u8 *data)
 #endif
 }
 
-/**
- * Apply chain data to the destination using EOR
- *
- * Each array is of length AES_KEY_LENGTH.
- *
- * @cbc_chain_data     Chain data
- * @src                        Source data
- * @dst                        Destination data, which is modified here
- */
-static void apply_cbc_chain_data(u8 *cbc_chain_data, u8 *src, u8 *dst)
+void aes_apply_cbc_chain_data(u8 *cbc_chain_data, u8 *src, u8 *dst)
 {
        int i;
 
@@ -619,7 +614,7 @@ void aes_cbc_encrypt_blocks(u8 *key_exp, u8 *src, u8 *dst, u32 num_aes_blocks)
                debug_print_vector("AES Src", AES_KEY_LENGTH, src);
 
                /* Apply the chain data */
-               apply_cbc_chain_data(cbc_chain_data, src, tmp_data);
+               aes_apply_cbc_chain_data(cbc_chain_data, src, tmp_data);
                debug_print_vector("AES Xor", AES_KEY_LENGTH, tmp_data);
 
                /* Encrypt the AES block */
@@ -651,7 +646,7 @@ void aes_cbc_decrypt_blocks(u8 *key_exp, u8 *src, u8 *dst, u32 num_aes_blocks)
                debug_print_vector("AES Xor", AES_KEY_LENGTH, tmp_data);
 
                /* Apply the chain data */
-               apply_cbc_chain_data(cbc_chain_data, tmp_data, dst);
+               aes_apply_cbc_chain_data(cbc_chain_data, tmp_data, dst);
                debug_print_vector("AES Dst", AES_KEY_LENGTH, dst);
 
                /* Update pointers for next loop. */