xilsecure
Vitis Drivers API Documentation
xsecure_aes_ipihandler.c File Reference

Overview

This file contains the Xilsecure AES IPI handlers implementation.

MODIFICATION HISTORY:
Ver   Who  Date        Changes


1.00 kal 03/04/2021 Initial release bm 05/13/2021 Updated code to use common crypto instance har 05/18/2021 Added check for key source for IPI calls am 05/21/2021 Resolved Coverity violations 4.6 har 07/14/2021 Fixed doxygen warnings kpt 07/15/2021 Added XSecure_AesInit in XSecure_AesWriteKey to avoid multiple calls from client kal 08/16/2021 Fixed magic number usage comment kal 08/18/2021 Fixed SW-BP-LOCK-RESOURCE review comments har 09/14/2021 Added check for DecKeySrc in XSecure_AesKekDecrypt 4.7 am 03/08/2022 Fixed MISRA C violations kpt 03/18/2022 Replaced XPlmi_Dmaxfr with XPlmi_MemCpy64 5.0 kpt 07/24/2022 Moved XSecure_AesExecuteDecKat, XSecure_AesExecuteDecCMKat into xsecure_kat_plat_ipihandler.c kpt 08/19/2022 Added GMAC support 5.1 skg 12/16/2022 Added XSecure_AesEncrypt/DecryptInitUpdateFinal yog 05/03/2023 Fixed MISRA C violation of Rule 10.3 vss 07/14/2023 Added support for IpiChannel check vss 09/11/2023 Fixed MISRA-C Rule 10.3 and 10.4 violation 5.3 vss 10/03/23 Added single API support for AES AAD and GMAC operations mb 03/12/24 Added AES INIT call inside AES Operation INIT API ss 04/05/24 Fixed doxygen warnings 5.4 yog 04/29/24 Fixed doxygen grouping and doxygen warnings. ma 09/17/24 Replaced XPlmi_MemCpy64 with XSecure_MemCpy64 in XSecure_AesEncUpdate and XSecure_AesDecUpdate tri 10/08/24 Configure DmaSwap before transferring IV to AES engine pre 03/02/25 Implemented task based event notification functionality for AES IPI events

 

Macros

#define XSECURE_AES_DEC_KEY_SRC_MASK   (0x000000FFU)
 AES decrypt key source mask for KEK decryption. More...
 
#define XSECURE_AES_DST_KEY_SRC_MASK   (0x0000FF00U)
 AES destination key source mask for KEK decryption. More...
 
#define XSECURE_AES_KEY_SIZE_MASK   (0xFFFF0000U)
 Key Size mask. More...
 
#define XSECURE_PMCDMA_DEVICEID   (PMCDMA_0_DEVICE_ID)
 AES destination key source mask for KEK decryption. More...
 

Functions

int XSecure_AesIpiHandler (XPlmi_Cmd *Cmd)
 This function calls respective IPI handler based on the API_ID. More...
 
int XSecure_AesInit (void)
 This function handler calls XSecure_AesInitialize Server API. More...
 
int XSecure_AesKeyZeroize (u32 KeySrc)
 This function handler calls XSecure_AesKeyZero server API. More...
 
int XSecure_AesKeyWrite (u8 KeySize, u8 KeySrc, u32 KeyAddrLow, u32 KeyAddrHigh)
 This function handler calls XSecure_AesWriteKey server API. More...
 
int XSecure_AesPerformOperation (u32 SrcAddrLow, u32 SrcAddrHigh)
 This function handler calls XSecure_AesPerformOperation. More...