|
AM263x MCU+ SDK
10.01.00
|
|
Go to the documentation of this file.
55 #define LABEL_AND_CONTEXT_LEN_MAX 48U
61 #define HSMRT_LOAD_NOT_REQUESTED (0U)
66 #define HSMRT_LOAD_REQUESTED (1U)
71 #define HSMRT_LOAD_FAILED (2U)
76 #define HSMRT_LOAD_SUCCEEDED (3U)
98 #if defined(_TMS320C6X)
110 typedef struct HsmClient_t_
126 typedef struct EfuseRead_t_
138 typedef struct EfuseRowWrite_t_
151 typedef struct EfuseRowCount_t_
164 typedef struct EfuseRowProt_t_
177 typedef struct keywriter_cert_header_t_
190 typedef struct FirewallRegionReq_t_
204 typedef struct FirewallReq_t_
218 typedef struct FirewallIntrReq_t_
236 typedef struct SWRev_t_
253 typedef struct DKEK_t_
272 typedef struct RNGReq_t_
302 typedef struct FirmwareUpdateReq_t_
356 HsmVer_t* verId,uint32_t timeToWaitInTick);
374 uint8_t* uid, uint32_t timeout);
529 SecureBoot_Stream_t *secureBootInfo);
546 SecureBoot_Stream_t *secureBootInfo);
563 SecureBoot_Stream_t *secureBootInfo);
Parameters used by SIPC_init.
Definition: sipc_notify.h:84
uint32_t rowData
Definition: hsmclient.h:128
type for reading HSMRt version.
Definition: hsmclient.h:84
int32_t HsmClient_checkAndWaitForBootNotification(void)
This API waits for HSMRT load if requested and then waits for boot notification. In case of failure i...
Definition: hsmclient.c:389
#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:1296
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:1645
uint8_t PatchVer
Definition: hsmclient.h:88
uint8_t * dataIn
Definition: hsmclient.h:289
int32_t HsmClient_firmwareUpdate_CodeProgram(HsmClient_t *HsmClient, FirmwareUpdateReq_t *pFirmwareUpdateObject)
service request issued to HSM server to program the incoming firmware to device dormant banks This se...
Definition: hsmclient.c:1871
This is a EfuseRowProt type which holds the information of eFuse row index and protection status corr...
Definition: hsmclient.h:165
uint32_t rowCount
Definition: hsmclient.h:153
uint16_t region
Definition: hsmclient.h:193
uint8_t RespFlag
Definition: hsmclient.h:116
This is the SecureBoot Stream type which holds the data for a specific bootloader to HSM call....
Definition: hsmclient.h:288
int32_t HsmClient_firmwareUpdate_CodeVerify(HsmClient_t *HsmClient, FirmwareUpdateReq_t *pFirmwareUpdateObject)
service request issued to HSM server to decrypt the firmware programmed in dormant flash bank in plac...
Definition: hsmclient.c:1946
uint32_t rowBitMask
Definition: hsmclient.h:141
uint8_t rowidx
Definition: hsmclient.h:166
This is DKEK type which holds the label and context for derivation. This also holds the 256 derived K...
Definition: hsmclient.h:254
uint8_t canBeEncrypted
Definition: hsmclient.h:291
This is a EfuseRowWrite type which holds the information regarding programming eFuse row.
Definition: hsmclient.h:139
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:1577
int32_t Hsmclient_loadHSMRtFirmwareNonBlocking(const uint8_t *pHSMRt_firmware)
Loads the HSMRt firmware but does wait for ROM response and boot notification. This is typically call...
Definition: hsmclient_loadhsmrt.c:410
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:709
uint8_t rowIdx
Definition: hsmclient.h:129
uint8_t HsmType
Definition: hsmclient.h:94
int32_t HsmClient_procAuthBootStart(HsmClient_t *HsmClient, SecureBoot_Stream_t *secureBootInfo)
The service issued to HSM Server helps with extended secure boot for applications.
Definition: hsmclient.c:1189
uint32_t * seedValue
Definition: hsmclient.h:277
uint8_t MajorVer
Definition: hsmclient.h:90
uint16_t firewallId
Definition: hsmclient.h:220
FirewallRegionReq_t * FirewallRegionArr
Definition: hsmclient.h:208
uint8_t * pStartAddress
Definition: hsmclient.h:304
This is a FirewallRegionReq type which holds the information of Firewall region configuration.
Definition: hsmclient.h:191
uint8_t * resultPtr
Definition: hsmclient.h:274
This is a HSMClient type which holds the information needed by hsm client to communicate with HSM .
Definition: hsmclient.h:111
uint8_t SocType
Definition: hsmclient.h:92
uint8_t ApiVer
Definition: hsmclient.h:91
int32_t HsmClient_procAuthBootFinish(HsmClient_t *HsmClient, SecureBoot_Stream_t *secureBootInfo)
The service issued to HSM Server helps with extended secure boot for applications.
Definition: hsmclient.c:1257
uint64_t HsmrtVer
Definition: hsmclient.h:85
uint8_t DevType
Definition: hsmclient.h:95
uint8_t seedSizeInDWords
Definition: hsmclient.h:278
int32_t HsmClient_firmwareUpdate_CertProcess(HsmClient_t *HsmClient, FirmwareUpdateReq_t *pFirmwareUpdateObject)
service request issued to HSM server to parse the certificate to validate authenticity and identify t...
Definition: hsmclient.c:1795
HsmMsg_t RespMsg
Definition: hsmclient.h:115
uint32_t endAddress
Definition: hsmclient.h:196
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:637
uint32_t revValue
Definition: hsmclient.h:238
int32_t HsmClient_register(HsmClient_t *HsmClient, uint8_t clientId)
register a client to a particular ClientId
Definition: hsmclient.c:444
This is a FirewallIntrReq type which holds the information of MPU Firewall request for interrupt enab...
Definition: hsmclient.h:219
uint32_t bankMode
Definition: hsmclient.h:306
This is a EfuseRowCount type which holds the information regarding eFuse row count and size of each r...
Definition: hsmclient.h:152
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:983
This is a FirewallReq_t type which holds the information of Firewall configuration.
Definition: hsmclient.h:205
uint8_t readProt
Definition: hsmclient.h:167
uint8_t interruptEnableClear
Definition: hsmclient.h:222
uint32_t permissionAttributes
Definition: hsmclient.h:194
int32_t HsmClient_init(SIPC_Params *params)
Initialize the HSM client for current core.
Definition: hsmclient.c:473
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:1371
This is SWRev type which holds the information regarding Revision identifier and value corresponding ...
Definition: hsmclient.h:237
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:1050
uint8_t BinType
Definition: hsmclient.h:93
uint32_t startAddress
Definition: hsmclient.h:195
struct HsmVer_t_::@0 VerStruct
uint32_t dataLen
Definition: hsmclient.h:290
uint16_t statusFirewallRegionArr
Definition: hsmclient.h:209
uint16_t regionCount
Definition: hsmclient.h:206
uint8_t context_length
Definition: hsmclient.h:256
uint8_t revId
Definition: hsmclient.h:239
void HsmClient_unregister(HsmClient_t *HsmClient, uint8_t clientId)
unregister a client to a particular ClientId
Definition: hsmclient.c:494
uint8_t faultClear
Definition: hsmclient.h:224
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:849
uint32_t dataLength
Definition: hsmclient.h:305
uint8_t interruptEnable
Definition: hsmclient.h:221
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:323
int32_t HsmClient_procAuthBootUpdate(HsmClient_t *HsmClient, SecureBoot_Stream_t *secureBootInfo)
The service issued to HSM Server helps with extended secure boot for applications.
Definition: hsmclient.c:1223
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:781
int32_t HsmClient_waitForBootNotify(HsmClient_t *HsmClient, uint32_t timeToWaitInTicks)
Current core will wait for bootnotify message from HSM core.
uint32_t rowData
Definition: hsmclient.h:140
SemaphoreP_Object Semaphore
Definition: hsmclient.h:112
uint8_t MinorVer
Definition: hsmclient.h:89
uint8_t writeProt
Definition: hsmclient.h:168
This is a EfuseRead type which holds the information of eFuse row index and row data corresponding to...
Definition: hsmclient.h:127
uint16_t firewallId
Definition: hsmclient.h:192
uint32_t * resultLengthPtr
Definition: hsmclient.h:275
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:569
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:1506
uint8_t rowIdx
Definition: hsmclient.h:142
uint8_t ClientId
Definition: hsmclient.h:117
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:1713
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:1439
uint8_t reserved
Definition: hsmclient.h:279
uint8_t rowSize
Definition: hsmclient.h:154
This is Firmware Update request structure passed to HSM core via SIPC as argument,...
Definition: hsmclient.h:303
uint8_t label_length
Definition: hsmclient.h:255
union HsmVer_t_ __attribute__((packed)) HsmVer_t
type for reading HSMRt version.
uint8_t interruptEnableStatusClear
Definition: hsmclient.h:223
uint16_t crcArr
Definition: hsmclient.h:207
This is RNG type which holds the resultPtr for derivation which is returned by TIFS....
Definition: hsmclient.h:273
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:1117
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:500
uint8_t DRBGMode
Definition: hsmclient.h:276
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:916
HsmMsg_t ReqMsg
Definition: hsmclient.h:114
void HsmClient_deInit(void)
De initialize the HSM client for current core.