![]() |
xilocp
Vitis Drivers API Documentation
|
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_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_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_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... | |
| 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_ClientAttestWithDevAk | ( | XOcp_ClientInstance * | InstancePtr, |
| u64 | AttestWithDevAk | ||
| ) |
This function sends IPI request to get 509 certificate.
| InstancePtr | - Pointer to the client instance |
| AttestWithDevAk | - Address of XOcp_AttestWithDevAk structure. |
Fill IPI Payload
References XOCP_API_ATTESTWITHDEVAK, and XOcp_ProcessMailbox().
| 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.
| InstancePtr | - Pointer to the client instance |
| AttnPloadAddr | - Address of the buffer which should be attested |
| AttnPloadSize | - Size of buffer in bytes |
| PubKeyOffset | - Offset in provided buffer where public key needs to be stored |
| SignatureAddr | - Address of the signature after attestation |
Fill IPI Payload
References XOCP_ADDR_HIGH_SHIFT, XOCP_API_ATTEST_WITH_KEYWRAP_DEVAK, and XOcp_ProcessMailbox().
| int XOcp_ClientInit | ( | XOcp_ClientInstance *const | InstancePtr, |
| XMailbox *const | MailboxPtr | ||
| ) |
This function sets the instance of mailbox.
| InstancePtr | - Pointer to the client instance |
| MailboxPtr | - Pointer to the mailbox instance |
Uses XMailbox instance to initiate the communication between client and server.
Referenced by main().
| 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.
| InstancePtr | - Pointer to the client instance |
| PcrNum | - Variable of XOcp_HwPcr enum to select the PCR to be extended |
| ExtHashAddr | - Address of the buffer which holds the hash to be extended |
| Size | - Size of extended hash |
Fill IPI Payload
References XOCP_API_EXTEND_HWPCR, and XOcp_ProcessMailbox().
| int XOcp_ExtendSwPcr | ( | XOcp_ClientInstance * | InstancePtr, |
| XOcp_SwPcrExtendParams * | ExtendParams | ||
| ) |
This function sends IPI request to extend the SW PCR with provided hash/data.
| InstancePtr | - Pointer to the client instance |
| ExtendParams | - Pointer to the XOcp_SwPcrExtendParams structure |
Fill IPI Payload
References XOCP_API_EXTEND_SWPCR, XOCP_EXTENDED_HASH_SIZE_IN_BYTES, XOCP_PCR_ERR_DATA_IN_INVALID_MEM, and XOcp_ProcessMailbox().
| 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.
| InstancePtr | - Pointer to the client instance |
| NonceAddr | - pointer to 48 bytes buffer which holds the Nonce, which shall be used to fill one of the member of DME sturcture |
| DmeStructResAddr | - pointer to 224 bytes buffer, which is used to store the response DME structure of type XOcp_DmeResponseStructure |
Fill IPI Payload
References XOCP_API_GENDMERESP, and XOcp_ProcessMailbox().
Referenced by main().
| 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).
The private key used to generate the shared secret is internal DevAK private key which is determined by the subsystem from where the command is originating.
| InstancePtr | Pointer to the client instance |
| PubKey | Pointer to the buffer which contains the public key to be used for calculating shared secret using ECDH. |
| SharedSecret | Pointer to the output buffer which shall be used to store shared secret |
References XOCP_ADDR_HIGH_SHIFT, XOCP_API_GEN_SHARED_SECRET, and XOcp_ProcessMailbox().
| 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.
| InstancePtr | - Pointer to the client instance |
| PcrMask | - Mask that tells which PCR to be read based on the bits set (bit 0 corresponds to PCR 0)and how many PCRs to be read using the number of bits set. |
| PcrBufAddr | - Address of the buffer to store the requested PCR contents |
| PcrBufSize | - Buffer size to read the PCR values |
Fill IPI Payload
References XOCP_API_GET_HWPCR, and XOcp_ProcessMailbox().
| 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.
| InstancePtr | - Pointer to the client instance |
| HwPcrEventAddr | - Pointer to the XOcp_HwPcrEvent structure |
| HwPcrLogInfoAddr | - Pointer to the XOcp_HwPcrLogInfo structure |
| NumOfLogEntries | - Number of log entries to read |
Fill IPI Payload
References XOCP_API_GET_HWPCRLOG, and XOcp_ProcessMailbox().
| 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.
| InstancePtr | - Pointer to the client instance |
| PcrMask | - Mask that tells which PCR to be read based on the bits set (bit 0 corresponds to PCR 0)and how many PCRs to be read using the number of bits set. |
| PcrBuf | - Pointer to the PCR buffer to store the requested PCR contents |
| PcrBufSize | - Buffer size to read the PCR values |
Fill IPI Payload
References XOCP_API_GET_SWPCR, and XOcp_ProcessMailbox().
| int XOcp_GetSwPcrData | ( | XOcp_ClientInstance * | InstancePtr, |
| XOcp_SwPcrReadData * | DataParams | ||
| ) |
This function sends IPI request to get the SW PCR data for the specified PCR.
| InstancePtr | - Pointer to the client instance |
| DataParams | - Pointer of the XOcp_SwPcrReadData structure. |
Fill IPI Payload
References XOCP_API_GET_SWPCRDATA, and XOcp_ProcessMailbox().
| int XOcp_GetSwPcrLog | ( | XOcp_ClientInstance * | InstancePtr, |
| XOcp_SwPcrLogReadData * | LogParams | ||
| ) |
This function sends IPI request to get the SW PCR log.
| InstancePtr | - Pointer to the client instance |
| LogParams | - Pointer to the XOcp_SwPcrLogReadData structure. |
Fill IPI Payload
References XOCP_API_GET_SWPCRLOG, and XOcp_ProcessMailbox().
| int XOcp_GetX509Cert | ( | XOcp_ClientInstance * | InstancePtr, |
| u64 | GetX509CertAddr | ||
| ) |
This function sends IPI request to get 509 certificate.
| InstancePtr | - Pointer to the client instance |
| GetX509CertAddr | - Address of XOcp_X509Cert structure. |
Fill IPI Payload
References XOCP_API_GETX509CERT, and XOcp_ProcessMailbox().