xilocp
Vitis Drivers API Documentation
xocp_client.c File Reference

Overview

This file contains the implementation of the client interface functions for OCP hardware interface API's.

MODIFICATION HISTORY:
Ver   Who  Date     Changes
----- ---- -------- -------------------------------------------------------
1.1   am   12/21/22 Initial release
      am   01/10/23 Added client side API for dme
1.2   kpt  06/02/23 Updated XOcp_GetHwPcrLog
      kal  06/02/23 Added client side API for SW PCR
1.3   kal  12/09/23 Added a check for DataAddr if size > 48 bytes SWPCR
      am   02/06/24 Fixed Doxygen warning
Note

Functions

int XOcp_ClientInit (XOcp_ClientInstance *const InstancePtr, XMailbox *const MailboxPtr)
 This function sets the instance of mailbox. More...
 
int XOcp_ExtendHwPcr (XOcp_ClientInstance *InstancePtr, XOcp_HwPcr PcrNum, u64 ExtHashAddr, u32 Size)
 This function sends IPI request to extend the PCR with provided hash by requesting ROM service. More...
 
int XOcp_GetHwPcr (XOcp_ClientInstance *InstancePtr, u32 PcrMask, u64 PcrBufAddr, u32 PcrBufSize)
 This function sends IPI request to get the PCR value from requested PCR. More...
 
int XOcp_GetHwPcrLog (XOcp_ClientInstance *InstancePtr, u64 HwPcrEventAddr, u64 HwPcrLogInfoAddr, u32 NumOfLogEntries)
 This function sends IPI request to get the log and status of HWPCR. More...
 
int XOcp_ExtendSwPcr (XOcp_ClientInstance *InstancePtr, XOcp_SwPcrExtendParams *ExtendParams)
 This function sends IPI request to extend the SW PCR with provided hash/data. More...
 
int XOcp_GetSwPcr (XOcp_ClientInstance *InstancePtr, u32 PcrMask, u8 *PcrBuf, u32 PcrBufSize)
 This function sends IPI request to get the SW PCR value from requested PCR. More...
 
int XOcp_GetSwPcrLog (XOcp_ClientInstance *InstancePtr, XOcp_SwPcrLogReadData *LogParams)
 This function sends IPI request to get the SW PCR log. More...
 
int XOcp_GetSwPcrData (XOcp_ClientInstance *InstancePtr, XOcp_SwPcrReadData *DataParams)
 This function sends IPI request to get the SW PCR data for the specified PCR. More...
 
int XOcp_GenDmeResp (XOcp_ClientInstance *InstancePtr, u64 NonceAddr, u64 DmeStructResAddr)
 This function sends IPI request to fill the DME structure and generates the response with signature. More...
 
int XOcp_GetX509Cert (XOcp_ClientInstance *InstancePtr, u64 GetX509CertAddr)
 This function sends IPI request to get 509 certificate. More...
 
int XOcp_ClientAttestWithDevAk (XOcp_ClientInstance *InstancePtr, u64 AttestWithDevAk)
 This function sends IPI request to get 509 certificate. More...
 
int XOcp_ClientAttestWithKeyWrapDevAk (XOcp_ClientInstance *InstancePtr, u64 AttnPloadAddr, u32 AttnPloadSize, u32 PubKeyOffset, u64 SignatureAddr)
 This function sends IPI request to calculate the hash of the Key Wrap buffer and attest with Key Wrap DevAk private key. More...
 
int XOcp_GenSharedSecretWithDevAk (XOcp_ClientInstance *InstancePtr, const u8 *PubKey, u8 *SharedSecret)
 This function sends IPI request to generate shared secret using Elliptic Curve Diffie–Hellman Key Exchange (ECDH). More...