Update formatting for HAVE_COLDFIRE_SEC in aes.c, 80 char line limit

This commit is contained in:
Chris Conlon
2014-07-16 11:11:41 -06:00
parent 237bde7918
commit e76c5cc59e

View File

@ -607,84 +607,86 @@
#elif defined(HAVE_COLDFIRE_SEC) #elif defined(HAVE_COLDFIRE_SEC)
#include <cyassl/ctaocrypt/types.h> #include <cyassl/ctaocrypt/types.h>
#include "sec.h" #include "sec.h"
#include "mcf5475_sec.h" #include "mcf5475_sec.h"
#include "mcf5475_siu.h" #include "mcf5475_siu.h"
#if defined (HAVE_THREADX) #if defined (HAVE_THREADX)
#include "memory_pools.h" #include "memory_pools.h"
extern TX_BYTE_POOL mp_ncached; /* Non Cached memory pool */ extern TX_BYTE_POOL mp_ncached; /* Non Cached memory pool */
#endif
#define AES_BUFFER_SIZE (AES_BLOCK_SIZE * 64)
static unsigned char *AESBuffIn = NULL ;
static unsigned char *AESBuffOut = NULL ;
static byte *secReg ;
static byte *secKey ;
static volatile SECdescriptorType *secDesc ;
static CyaSSL_Mutex Mutex_AesSEC ;
#define SEC_DESC_AES_CBC_ENCRYPT 0x60300010
#define SEC_DESC_AES_CBC_DECRYPT 0x60200010
extern volatile unsigned char __MBAR[];
static int AesCbcCrypt(Aes* aes, byte* po, const byte* pi, word32 sz, word32 descHeader)
{
#ifdef DEBUG_CYASSL
int i ; int stat1, stat2 ; int ret ;
#endif #endif
int size ; #define AES_BUFFER_SIZE (AES_BLOCK_SIZE * 64)
volatile int v ; static unsigned char *AESBuffIn = NULL;
static unsigned char *AESBuffOut = NULL;
static byte *secReg;
static byte *secKey;
static volatile SECdescriptorType *secDesc;
if((pi == NULL) || (po == NULL)) static CyaSSL_Mutex Mutex_AesSEC;
return BAD_FUNC_ARG;/*wrong pointer*/
LockMutex(&Mutex_AesSEC) ; #define SEC_DESC_AES_CBC_ENCRYPT 0x60300010
#define SEC_DESC_AES_CBC_DECRYPT 0x60200010
extern volatile unsigned char __MBAR[];
static int AesCbcCrypt(Aes* aes, byte* po, const byte* pi, word32 sz,
word32 descHeader)
{
#ifdef DEBUG_CYASSL
int i; int stat1, stat2; int ret;
#endif
int size;
volatile int v;
if ((pi == NULL) || (po == NULL))
return BAD_FUNC_ARG; /*wrong pointer*/
LockMutex(&Mutex_AesSEC);
/* Set descriptor for SEC */ /* Set descriptor for SEC */
secDesc->length1 = 0x0; secDesc->length1 = 0x0;
secDesc->pointer1 = NULL; secDesc->pointer1 = NULL;
secDesc->length2 = AES_BLOCK_SIZE; secDesc->length2 = AES_BLOCK_SIZE;
secDesc->pointer2 = (byte *)secReg ; /* Initial Vector */ secDesc->pointer2 = (byte *)secReg; /* Initial Vector */
switch(aes->rounds) { switch(aes->rounds) {
case 10: secDesc->length3 = 16 ; break ; case 10: secDesc->length3 = 16 ; break ;
case 12: secDesc->length3 = 24 ; break ; case 12: secDesc->length3 = 24 ; break ;
case 14: secDesc->length3 = 32 ; break ; case 14: secDesc->length3 = 32 ; break ;
} }
XMEMCPY(secKey, aes->key, secDesc->length3) ; XMEMCPY(secKey, aes->key, secDesc->length3);
secDesc->pointer3 = (byte *)secKey; secDesc->pointer3 = (byte *)secKey;
secDesc->pointer4 = AESBuffIn ; secDesc->pointer4 = AESBuffIn;
secDesc->pointer5 = AESBuffOut ; secDesc->pointer5 = AESBuffOut;
secDesc->length6 = 0x0; secDesc->length6 = 0x0;
secDesc->pointer6 = NULL; secDesc->pointer6 = NULL;
secDesc->length7 = 0x0; secDesc->length7 = 0x0;
secDesc->pointer7 = NULL; secDesc->pointer7 = NULL;
secDesc->nextDescriptorPtr = NULL; secDesc->nextDescriptorPtr = NULL;
while(sz) { while (sz) {
secDesc->header = descHeader ; secDesc->header = descHeader;
XMEMCPY(secReg, aes->reg, AES_BLOCK_SIZE) ; XMEMCPY(secReg, aes->reg, AES_BLOCK_SIZE);
if((sz%AES_BUFFER_SIZE) == sz) { if ((sz % AES_BUFFER_SIZE) == sz) {
size = sz ; size = sz;
sz = 0 ; sz = 0;
} else { } else {
size = AES_BUFFER_SIZE ; size = AES_BUFFER_SIZE;
sz -= AES_BUFFER_SIZE ; sz -= AES_BUFFER_SIZE;
} }
secDesc->length4 = size; secDesc->length4 = size;
secDesc->length5 = size; secDesc->length5 = size;
XMEMCPY(AESBuffIn, pi, size) ; XMEMCPY(AESBuffIn, pi, size);
if(descHeader == SEC_DESC_AES_CBC_DECRYPT) { if(descHeader == SEC_DESC_AES_CBC_DECRYPT) {
XMEMCPY((void*)aes->tmp, (void*)&(pi[size-AES_BLOCK_SIZE]), AES_BLOCK_SIZE) ; XMEMCPY((void*)aes->tmp, (void*)&(pi[size-AES_BLOCK_SIZE]),
AES_BLOCK_SIZE);
} }
/* Point SEC to the location of the descriptor */ /* Point SEC to the location of the descriptor */
@ -692,80 +694,87 @@ static int AesCbcCrypt(Aes* aes, byte* po, const byte* pi, word32 sz, word32 des
/* Initialize SEC and wait for encryption to complete */ /* Initialize SEC and wait for encryption to complete */
MCF_SEC_CCCR0 = 0x0000001a; MCF_SEC_CCCR0 = 0x0000001a;
/* poll SISR to determine when channel is complete */ /* poll SISR to determine when channel is complete */
v=0 ; v=0;
while((secDesc->header>> 24) != 0xff)v++ ;
#ifdef DEBUG_CYASSL while ((secDesc->header>> 24) != 0xff) v++;
#ifdef DEBUG_CYASSL
ret = MCF_SEC_SISRH; ret = MCF_SEC_SISRH;
stat1 = MCF_SEC_AESSR ; stat1 = MCF_SEC_AESSR;
stat2 = MCF_SEC_AESISR ; stat2 = MCF_SEC_AESISR;
if(ret & 0xe0000000) if (ret & 0xe0000000) {
{ db_printf("Aes_Cbc(i=%d):ISRH=%08x, AESSR=%08x, "
db_printf("Aes_Cbc(i=%d):ISRH=%08x, AESSR=%08x, AESISR=%08x\n", i, ret, stat1, stat2) ; "AESISR=%08x\n", i, ret, stat1, stat2);
} }
#endif #endif
XMEMCPY(po, AESBuffOut, size) ; XMEMCPY(po, AESBuffOut, size);
if(descHeader == SEC_DESC_AES_CBC_ENCRYPT) { if (descHeader == SEC_DESC_AES_CBC_ENCRYPT) {
XMEMCPY((void*)aes->reg, (void*)&(po[size-AES_BLOCK_SIZE]), AES_BLOCK_SIZE) ; XMEMCPY((void*)aes->reg, (void*)&(po[size-AES_BLOCK_SIZE]),
AES_BLOCK_SIZE);
} else { } else {
XMEMCPY((void*)aes->reg, (void*)aes->tmp, AES_BLOCK_SIZE) ; XMEMCPY((void*)aes->reg, (void*)aes->tmp, AES_BLOCK_SIZE);
} }
pi += size ; pi += size;
po += size ; po += size;
} }
UnLockMutex(&Mutex_AesSEC) ;
return 0 ;
}
int AesCbcEncrypt(Aes* aes, byte* po, const byte* pi, word32 sz) UnLockMutex(&Mutex_AesSEC);
{ return 0;
return(AesCbcCrypt(aes, po, pi, sz, SEC_DESC_AES_CBC_ENCRYPT)) ; }
}
int AesCbcDecrypt(Aes* aes, byte* po, const byte* pi, word32 sz) int AesCbcEncrypt(Aes* aes, byte* po, const byte* pi, word32 sz)
{ {
return(AesCbcCrypt(aes, po, pi, sz, SEC_DESC_AES_CBC_DECRYPT)) ; return (AesCbcCrypt(aes, po, pi, sz, SEC_DESC_AES_CBC_ENCRYPT));
} }
int AesSetKey(Aes* aes, const byte* userKey, word32 keylen, const byte* iv, int AesCbcDecrypt(Aes* aes, byte* po, const byte* pi, word32 sz)
{
return (AesCbcCrypt(aes, po, pi, sz, SEC_DESC_AES_CBC_DECRYPT));
}
int AesSetKey(Aes* aes, const byte* userKey, word32 keylen, const byte* iv,
int dir) int dir)
{ {
if (AESBuffIn == NULL) {
if(AESBuffIn == NULL) {
#if defined (HAVE_THREADX) #if defined (HAVE_THREADX)
int s1, s2, s3, s4, s5 ; int s1, s2, s3, s4, s5 ;
s5 = tx_byte_allocate(&mp_ncached,(void *)&secDesc, sizeof(SECdescriptorType), TX_NO_WAIT); s5 = tx_byte_allocate(&mp_ncached,(void *)&secDesc,
s1 = tx_byte_allocate(&mp_ncached,(void *)&AESBuffIn, AES_BUFFER_SIZE, TX_NO_WAIT); sizeof(SECdescriptorType), TX_NO_WAIT);
s2 = tx_byte_allocate(&mp_ncached,(void *)&AESBuffOut, AES_BUFFER_SIZE, TX_NO_WAIT); s1 = tx_byte_allocate(&mp_ncached, (void *)&AESBuffIn,
s3 = tx_byte_allocate(&mp_ncached,(void *)&secKey, AES_BLOCK_SIZE*2,TX_NO_WAIT); AES_BUFFER_SIZE, TX_NO_WAIT);
s4 = tx_byte_allocate(&mp_ncached,(void *)&secReg, AES_BLOCK_SIZE, TX_NO_WAIT); s2 = tx_byte_allocate(&mp_ncached, (void *)&AESBuffOut,
AES_BUFFER_SIZE, TX_NO_WAIT);
s3 = tx_byte_allocate(&mp_ncached, (void *)&secKey,
AES_BLOCK_SIZE*2, TX_NO_WAIT);
s4 = tx_byte_allocate(&mp_ncached, (void *)&secReg,
AES_BLOCK_SIZE, TX_NO_WAIT);
if(s1 || s2 || s3 || s4 || s5) if(s1 || s2 || s3 || s4 || s5)
return BAD_FUNC_ARG; return BAD_FUNC_ARG;
#else #else
#warning "Allocate non-Cache buffers" #warning "Allocate non-Cache buffers"
#endif #endif
InitMutex(&Mutex_AesSEC) ; InitMutex(&Mutex_AesSEC);
} }
if (!((keylen == 16) || (keylen == 24) || (keylen == 32))) if (!((keylen == 16) || (keylen == 24) || (keylen == 32)))
return BAD_FUNC_ARG; return BAD_FUNC_ARG;
if (aes == NULL) if (aes == NULL)
return BAD_FUNC_ARG; return BAD_FUNC_ARG;
aes->rounds = keylen/4 + 6; aes->rounds = keylen/4 + 6;
XMEMCPY(aes->key, userKey, keylen); XMEMCPY(aes->key, userKey, keylen);
if (iv) if (iv)
XMEMCPY(aes->reg, iv, AES_BLOCK_SIZE); XMEMCPY(aes->reg, iv, AES_BLOCK_SIZE);
return 0; return 0;
} }
#elif defined FREESCALE_MMCAU #elif defined FREESCALE_MMCAU
/* /*