|
AM273x MCU+ SDK
09.02.00
|
|
Go to the documentation of this file.
55 #define LABEL_AND_CONTEXT_LEN_MAX 48U
77 #if defined(_TMS320C6X)
89 typedef struct HsmClient_t_
105 typedef struct EfuseRead_t_
117 typedef struct EfuseRowWrite_t_
130 typedef struct EfuseRowCount_t_
143 typedef struct EfuseRowProt_t_
156 typedef struct keywriter_cert_header_t_
169 typedef struct FirewallRegionReq_t_
183 typedef struct FirewallReq_t_
197 typedef struct FirewallIntrReq_t_
215 typedef struct SWRev_t_
232 typedef struct DKEK_t_
251 typedef struct RNGReq_t_
296 HsmVer_t* verId,uint32_t timeToWaitInTick);
314 uint8_t* uid, uint32_t timeout);
Parameters used by SIPC_init.
Definition: sipc_notify.h:84
uint32_t rowData
Definition: hsmclient.h:107
type for reading HSMRt version.
Definition: hsmclient.h:63
#define LABEL_AND_CONTEXT_LEN_MAX
Definition: hsmclient.h:55
int32_t HsmClient_setFirewall(HsmClient_t *HsmClient, FirewallReq_t *FirewallReqObj, uint32_t timeout)
The service issued to HSM Server sets the firewall for the given firewall id and region.
Definition: hsmclient.c:916
int32_t HsmClient_writeSWRev(HsmClient_t *HsmClient, SWRev_t *writeSWRev)
The service issued to HSM Server writes the SWRevision value based on identifier as param.
Definition: hsmclient.c:1290
uint8_t PatchVer
Definition: hsmclient.h:67
This is a EfuseRowProt type which holds the information of eFuse row index and protection status corr...
Definition: hsmclient.h:144
uint32_t rowCount
Definition: hsmclient.h:132
uint16_t region
Definition: hsmclient.h:172
uint8_t RespFlag
Definition: hsmclient.h:95
uint32_t rowBitMask
Definition: hsmclient.h:120
uint8_t rowidx
Definition: hsmclient.h:145
This is DKEK type which holds the label and context for derivation. This also holds the 256 derived K...
Definition: hsmclient.h:233
This is a EfuseRowWrite type which holds the information regarding programming eFuse row.
Definition: hsmclient.h:118
int32_t HsmClient_readSWRev(HsmClient_t *HsmClient, SWRev_t *readSWRev)
The service issued to HSM Server retrieves the SWRevision value based on identifier as param.
Definition: hsmclient.c:1222
int32_t HsmClient_importKeyring(HsmClient_t *HsmClient, uint8_t *cert, uint32_t cert_size, uint32_t timeout)
The service issued to HSM Server verifies the certificate and imports the keys from the certificate.
Definition: hsmclient.c:436
uint8_t rowIdx
Definition: hsmclient.h:108
uint8_t HsmType
Definition: hsmclient.h:73
uint32_t * seedValue
Definition: hsmclient.h:256
uint8_t MajorVer
Definition: hsmclient.h:69
uint16_t firewallId
Definition: hsmclient.h:199
FirewallRegionReq_t * FirewallRegionArr
Definition: hsmclient.h:187
This is a FirewallRegionReq type which holds the information of Firewall region configuration.
Definition: hsmclient.h:170
uint8_t * resultPtr
Definition: hsmclient.h:253
This is a HSMClient type which holds the information needed by hsm client to communicate with HSM .
Definition: hsmclient.h:90
uint8_t SocType
Definition: hsmclient.h:71
uint8_t ApiVer
Definition: hsmclient.h:70
uint64_t HsmrtVer
Definition: hsmclient.h:64
uint8_t DevType
Definition: hsmclient.h:74
uint8_t seedSizeInDWords
Definition: hsmclient.h:257
HsmMsg_t RespMsg
Definition: hsmclient.h:94
uint32_t endAddress
Definition: hsmclient.h:175
int32_t HsmClient_openDbgFirewall(HsmClient_t *HsmClient, uint8_t *cert, uint32_t cert_size, uint32_t timeout)
The service issued to HSM Server verifies the certificate and by default the hsm flag is set to HSM_F...
Definition: hsmclient.c:364
uint32_t revValue
Definition: hsmclient.h:217
int32_t HsmClient_register(HsmClient_t *HsmClient, uint8_t clientId)
register a client to a particular ClientId
Definition: hsmclient.c:171
This is a FirewallIntrReq type which holds the information of MPU Firewall request for interrupt enab...
Definition: hsmclient.h:198
This is a EfuseRowCount type which holds the information regarding eFuse row count and size of each r...
Definition: hsmclient.h:131
int32_t HsmClient_getOTPRowCount(HsmClient_t *HsmClient, EfuseRowCount_t *rowCount)
The service issued to HSM Server retrieves the count of extended OTP rows.
Definition: hsmclient.c:710
This is a FirewallReq_t type which holds the information of Firewall configuration.
Definition: hsmclient.h:184
uint8_t readProt
Definition: hsmclient.h:146
uint8_t interruptEnableClear
Definition: hsmclient.h:201
uint32_t permissionAttributes
Definition: hsmclient.h:173
int32_t HsmClient_init(SIPC_Params *params)
Initialize the HSM client for current core.
Definition: hsmclient.c:200
int32_t HsmClient_FirewallIntr(HsmClient_t *HsmClient, FirewallIntrReq_t *FirewallIntrReqObj, uint32_t timeout)
The service issued to HSM Server sets the firewall interrupt request for the given firewall id.
Definition: hsmclient.c:988
This is SWRev type which holds the information regarding Revision identifier and value corresponding ...
Definition: hsmclient.h:216
int32_t HsmClient_getOTPRowProtection(HsmClient_t *HsmClient, EfuseRowProt_t *rowProt)
The service issued to HSM Server retrieves the extended otp efuse row protection status.
Definition: hsmclient.c:777
uint8_t BinType
Definition: hsmclient.h:72
uint32_t startAddress
Definition: hsmclient.h:174
struct HsmVer_t_::@0 VerStruct
uint16_t statusFirewallRegionArr
Definition: hsmclient.h:188
uint16_t regionCount
Definition: hsmclient.h:185
uint8_t context_length
Definition: hsmclient.h:235
uint8_t revId
Definition: hsmclient.h:218
void HsmClient_unregister(HsmClient_t *HsmClient, uint8_t clientId)
unregister a client to a particular ClientId
Definition: hsmclient.c:221
uint8_t faultClear
Definition: hsmclient.h:203
int32_t HsmClient_writeOTPRow(HsmClient_t *HsmClient, EfuseRowWrite_t *writeRow)
The service issued to HSM Server writes the data to extended OTP efuse row based on row index provide...
Definition: hsmclient.c:576
uint8_t interruptEnable
Definition: hsmclient.h:200
int32_t Hsmclient_loadHSMRtFirmware(HsmClient_t *gHSMClient, const uint8_t *pHSMRt_firmware)
Loads the HSMRt firmware. This is typically called by SBL.
Definition: hsmclient_loadhsmrt.c:254
int32_t HsmClient_readOTPRow(HsmClient_t *HsmClient, EfuseRead_t *readRow)
The service issued to HSM Server retrieves the data of GP OTP row based on row index provided as para...
Definition: hsmclient.c:508
int32_t HsmClient_waitForBootNotify(HsmClient_t *HsmClient, uint32_t timeToWaitInTicks)
Current core will wait for bootnotify message from HSM core.
Definition: hsmclient.c:1121
uint32_t rowData
Definition: hsmclient.h:119
SemaphoreP_Object Semaphore
Definition: hsmclient.h:91
uint8_t MinorVer
Definition: hsmclient.h:68
uint8_t writeProt
Definition: hsmclient.h:147
This is a EfuseRead type which holds the information of eFuse row index and row data corresponding to...
Definition: hsmclient.h:106
uint16_t firewallId
Definition: hsmclient.h:171
uint32_t * resultLengthPtr
Definition: hsmclient.h:254
int32_t HsmClient_getUID(HsmClient_t *HsmClient, uint8_t *uid, uint32_t timeout)
The service issued to HSM Server populates the Device UID by default the hsm flag is set to HSM_FLAG_...
Definition: hsmclient.c:296
int32_t HsmClient_keyWriter(HsmClient_t *HsmClient, KeyWriterCertHeader_t *certHeader, uint32_t timeout)
The service issued to HSM Server verifies the certificate and process the keywriter operations,...
Definition: hsmclient.c:1151
uint8_t rowIdx
Definition: hsmclient.h:121
uint8_t ClientId
Definition: hsmclient.h:96
Opaque semaphore object used with the semaphore APIs.
Definition: SemaphoreP.h:59
int32_t HsmClient_getRandomNum(HsmClient_t *HsmClient, RNGReq_t *getRandomNum)
Returns the Random Number Generated.
Definition: hsmclient.c:1358
int32_t HsmClient_getDKEK(HsmClient_t *HsmClient, DKEK_t *getDKEK, uint32_t timeout)
The service issued to HSM Server retrieves the derived KEK based on identifier as param.
Definition: hsmclient.c:1054
uint8_t reserved
Definition: hsmclient.h:258
uint8_t rowSize
Definition: hsmclient.h:133
uint8_t label_length
Definition: hsmclient.h:234
union HsmVer_t_ __attribute__((packed)) HsmVer_t
type for reading HSMRt version.
uint8_t interruptEnableStatusClear
Definition: hsmclient.h:202
uint16_t crcArr
Definition: hsmclient.h:186
This is RNG type which holds the resultPtr for derivation which is returned by TIFS....
Definition: hsmclient.h:252
int32_t HsmClient_procAuthBoot(HsmClient_t *HsmClient, uint8_t *cert, uint32_t cert_size, uint32_t timeout)
The service issued to HSM Server helps with extended secure boot for applications.
Definition: hsmclient.c:844
int32_t HsmClient_getVersion(HsmClient_t *HsmClient, HsmVer_t *verId, uint32_t timeToWaitInTick)
populates the current HSMRT version Id by default the hsm flag is set to HSM_FLAG_AOP for this servic...
Definition: hsmclient.c:227
uint8_t DRBGMode
Definition: hsmclient.h:255
int32_t HsmClient_lockOTPRow(HsmClient_t *HsmClient, EfuseRowProt_t *rowProt)
The service issued to HSM Server sets the protection status bit of the specified row to 1.
Definition: hsmclient.c:643
HsmMsg_t ReqMsg
Definition: hsmclient.h:93
void HsmClient_deInit(void)
De initialize the HSM client for current core.