xilloader
Vitis Drivers API Documentation
xloader_plat_client.c File Reference

Overview

This file contains the implementation of the client interface functions.

MODIFICATION HISTORY:
Ver   Who  Date     Changes


1.00 dd 01/09/24 Initial release har 02/16/24 Added XLoader_GetOptionalData API har 03/05/24 Fixed doxygen warnings kpt 10/04/24 Added support to validate partial and optimized authentication enabled PDI 2.2 prt 04/12/25 Added support on Error code with more description for XLoader_ValidatePdiAuth

 

Macros

#define XLOADER_SMAP_WD_PATTERN_SIZE   (0x00000010U)
 Size of SMAP width pattern. More...
 
#define XLOADER_BH_SIZE_WO_PADDING   (0x00000F24U)
 Size of bootheader without padding. More...
 
#define XLOADER_BH_SIZE   (0x00000F70U)
 Size of bootheader. More...
 
#define XLOADER_IHT_SIZE   (128U)
 Size of Image Header Table. More...
 
#define XLOADER_BH_IMG_ATTRB_SIGNED_IMG_MASK   (0xC0000U)
 Mask for signed image in bootheader. More...
 
#define XLOADER_RSA_4096_KEY_SIZE   (4096U/8U)
 RSA 4096 key size. More...
 
#define XLOADER_SPK_SIZE
 Size of Secondary Public Key(in bytes) in Authentication Certificate. More...
 
#define XLOADER_PPK_SIZE
 Size of Primary Public Key(in bytes) in Authentication Certificate. More...
 
#define XLOADER_SPK_SIG_SIZE   XLOADER_RSA_4096_KEY_SIZE
 Size of SPK signature(in bytes) in Authentication Certificate. More...
 
#define XLOADER_BHDR_SIG_SIZE   XLOADER_RSA_4096_KEY_SIZE
 Size of Bootheader signature(in bytes) in Authentication Certificate. More...
 
#define XLOADER_PARTITION_SIG_SIZE   XLOADER_RSA_4096_KEY_SIZE
 Size of Partition signature(in bytes) in Authentication Certificate. More...
 
#define XLOADER_AUTH_HEADER_SIZE   (8U)
 Size of Authentication header(in bytes) in Authentication Certificate. More...
 
#define XLOADER_AUTH_CERT_USER_DATA   ((u32)64U - XLOADER_AUTH_HEADER_SIZE)
 Size of User Data(in bytes) in Authentication Certificate. More...
 
#define XLOADER_AUTH_CERT_MIN_SIZE
 Minimum Size of Authentication Certificate(in bytes) More...
 
#define XIH_MAX_PRTNS   (32U)
 Max number of partitions. More...
 
#define XLOADER_SECURE_CHUNK_SIZE   (0x8000U)
 32K More...
 
#define XLOADER_SHA3_HASH_LEN_IN_BYTES   (48U)
 Length of SHA3 Hash in bytes. More...
 
#define XLOADER_WORD_LEN   (4U)
 Length of word in bytes. More...
 
#define XLOADER_WORD_LEN_SHIFT   (2U)
 Shift to convert word in bytes. More...
 
#define XLOADER_PARTITION_SIZE   (128U)
 Size of partition in bytes. More...
 
#define XIH_OPT_DATA_HDR_ID_MASK   (0xFFFFU)
 Optional data id mask. More...
 
#define XIH_OPT_DATA_HDR_LEN_MASK   (0xFFFF0000U)
 Optional data length mask. More...
 
#define XIH_OPT_DATA_HDR_LEN_SHIFT   (16U)
 shift value to extract optional data length More...
 
#define XIH_OPT_DATA_LEN_OFFSET   (4U)
 Optional data length offset. More...
 
#define XIH_OPT_DATA_DEF_LEN   (2U)
 Default optional data length. More...
 
#define XIH_OPT_HASH_TBL_DATA_ID   (3U)
 Optional data id for hash table. More...
 

Functions

u64 XLoader_SearchOptionalData (u64 StartAddress, u64 EndAddress, u32 DataId)
 This function search offset of optional data address. More...
 
int XLoader_ConfigureJtagState (XLoader_ClientInstance *InstancePtr, u32 Flag)
 This function sends IPI request to configure jtag status. More...
 
int XLoader_ReadDdrCryptoPerfCounters (XLoader_ClientInstance *InstancePtr, u32 NodeId, XLoader_DDRCounters *CryptoCounters)
 This function sends IPI request to read DDR crypto performance counters. More...
 
int XLoader_ValidatePdiAuth (XLoader_ClientInstance *InstancePtr, const u64 PdiAddr, const u32 PdiType)
 This function sends IPI request to validate authenticated PDI based on PDI type. More...