-
Notifications
You must be signed in to change notification settings - Fork 96
State Marshalling
Type | Field | Marshaled | File |
---|---|---|---|
ALGORITHM_VECTOR | g_implementedAlgorithms | no [1] | Global.{h,c} |
ALGORITHM_VECTOR | g_toTest | no [2] | Global.{h,c} |
UINT16 | g_rcIndex | no [3] | Global.{h,c} |
TPM_HANDLE | g_exclusiveAuditSession | v1 | Global.{h,c} |
UINT64 | g_time | v1 | Global.{h,c} |
CLOCK_NONCE | g_timeEpoch | no [4] | Global.{h,c} |
BOOL | g_phEnable | v1 | Global.{h,c} |
BOOL | g_pcrReConfig | v1 | Global.{h,c} |
TPMI_DH_OBJECT | g_DRTMHandle | v1 | Global.{h,c} |
BOOL | g_DrtmPreStartup | v1 | Global.{h,c} |
BOOL | g_StartupLocality3 | v1 | Global.{h,c} |
BOOL | g_daUsed | v1 | Global.{h,c} |
UPDATE_TYPE | g_updateNV | no [5] | Global.{h,c} |
BOOL | g_powerWasLost | v1 | Global.{h,c} |
BOOL | g_clearOrderly | no [6] | Global.{h,c} |
TPM_SU | g_prevOrderlyState | v1 | Global.{h,c} |
BOOL | g_nvOk | v1 | Global.{h,c} |
TPM_RC | g_NvStatus | no [7] | Global.{h,c} |
TPM2B_AUTH | g_platformUniqueAuthorities | no [8] | Global.h |
TPM2B_AUTH | g_platformUniqueDetails | v1 | Global.{h,c} |
ORDERLY_DATA | go | v1 | Global.{h,c} |
STATE_CLEAR_DATA | gc | v1 | Global.{h,c} |
STATE_RESET_DATA | gr | v1 | Global.{h,c} |
BOOL | g_manufactured | v1 | Global.{h,c} |
BOOL | g_initialized | v1 | Global.{h,c} |
TPM_HANDLE | s_sessionHandles[] | v1 | Global.{h,c} |
TMA_SESSION | s_attributes[] | v1 | Global.{h,c} |
TPM_HANDLE | s_associatedHandles[] | v1 | Global.{h,c} |
TPM2B_NONCE | s_nonceCaller[] | v1 | Global.{h,c} |
TPM2B_AUTH | s_inputAuthValues[] | v1 | Global.{h,c} |
SESSION | *s_usedSessions[] | no [9] | Global.{h,c} |
UINT32 | s_encryptSessionIndex | v1 | Global.{h,c} |
UINT32 | s_decryptSessionIndex | v1 | Global.{h,c} |
UINT32 | s_auditSessionIndex | v1 | Global.{h,c} |
TPM2B_DIGEST | s_cpHashForCommandAudit | v1 | Global.{h,c} |
BOOL | s_DAPendingOnNV | v1 | Global.{h,c} |
UINT64 | s_selfHealTimer | v1 | Global.{h,c} |
UINT64 | s_lockoutTimer | v1 | Global.{h,c} |
NV_REF | s_evictNvEnd | v1 | Global.{h,c} |
BYTE | s_indexOrderlyRam[] | v1 | Global.{h,c} |
UINT64 | s_maxCounter | v1 | Global.{h,c} |
NV_INDEX | s_cachedNvIndex | no [10] | Global.{h,c} |
NV_REF | s_cachedNvRef | no [10] | Global.{h,c} |
BYTE | *s_cachedNvRamRef | no [10] | Global.{h,c} |
OBJECT | s_objects[] | v1 | Global.{h,c} |
PCR | s_pcrs[] | v1 | Global.{h,c} |
SESSION | s_sessions[] | v1 | Global.{h,c} |
UINT32 | s_oldestSavedSession | v1 | Global.{h,c} |
int | s_freeSessionSlots | v1 | Global.{h,c} |
UINT32 | s_actionInputBuffer[] | no [10] | Global.{h,c} |
UINT32 | s_actionOutputBuffer[] | no [10] | Global.{h,c} |
BOOL | g_inFailureMode | v1 | Global.{h,c} |
BOOL | g_forceFailureMode | no [11] | Global.{h,c} |
UINT32 | s_failFunction | v1 [12] | Global.{h,c} |
UINT32 | s_failLine | v1 | Global.{h,c} |
UINT32 | s_failCode | v1 | Global.{h,c} |
int | s_isCanceled | no [13] | PlatformData.{h,c} |
clock_t | s_realTimePrevious | v1 | PlatformData.{h,c} |
clock_t | s_tpmTime | v1 | PlatformData.{h,c} |
BOOL | s_timerReset | v1 | PlatformData.{h,c} |
BOOL | s_timerStopped | v1 | PlatformData.{h,c} |
uint64_t | s_initClock | no [8] | PlatformData.h |
unsigned int | s_adjustRate | v2 | PlatformData.{h,c} |
unsigned char | s_locality | no [14] | PlatformData.{h,c} |
FILE | *s_NVFile | no [14] | PlatformData.{h,c} |
BOOL | s_NvIsAvailable | no [15] | PlatformData.{h,c} |
BOOL | s_NV_unrecoverable | no [16] | PlatformData.{h,c} |
BOOL | s_NV_recoverable | no [16] | PlatformData.{h,c} |
BOOL | s_physicalPresence | no [17] | PlatformData.{h,c} |
BOOL | s_powerLost | no | PlatformData.{h,c} |
uint32_t | lastEntropy | no [18] | PlatformData.{h,c} |
int | firstValue | no [18] | PlatformData.{h,c} |
[1]: Dependent on configuration; we allow some changes to reconfiguration, so may not use this one for testing
[2]: Copy of g_implementedAlgorithms
[3]: Array of constants
[4]: Not available unless CLOCK_STOPS is #defined
[5]: Valid only during execution of a single command. ExecuteCommand() initializes it and tests it near end.
[6]: Valid only during execution of a single command. ExecuteCommand() initializes it and tests it near end.
[7]: valid only during execution of a single command. ExecuteCommand() initializes it.
[8]: Not used anywhere
[9]: Not used anywhere
[10]: valid only during execution of a single command. ExecuteCommand() initializes it.
[11]: Not used; only used if SIMULATION is #defined
[12]: s_failFunction is currently not used
[13]: we reset the cancel signal before execution of every command
[14]: not needed
[15]: Not supporting turning off NVRAM
[16]: not used
[17]: Physical Presence signal must be continuously asserted without interruption by migration
[18]: only there to check whether the RNG isn't producing anything good
Type | Field |
---|---|
NvHeader | nvHeader |
BOOL | disableClear |
TPMI_ALG_HASH | ownerAlg |
TPMI_ALG_HASH | endorsementAlg |
TPMI_ALG_HASH | lockoutAlg |
TPM2B_DIGEST | ownerPolicy |
TPM2B_DIGEST | endorsementPolicy |
TPM2B_DIGEST | lockoutPolicy |
TPM2B_AUTH | ownerAuth |
TPM2B_AUTH | endorsementAuth |
TPM2B_AUTH | lockoutAuth |
TPM2B_SEED | EPSeed |
TPM2B_SEED | SPSeed |
TPM2B_SEED | PPSeed |
TPM2B_PROOF | phProof |
TPM2B_PROOF | shProof |
TPM2B_PROOF | ehProof |
UINT32 | _pad1 |
UINT64 | totalResetCount |
UINT32 | resetCount |
PCR_POLICY | pcrPolicies |
TPML_PCR_SELECTION | pcrAllocated |
BYTE | ppList |
UINT32 | failedTries |
UINT32 | maxTries |
UINT32 | recoveryTime |
UINT32 | lockoutRecovery |
BOOL | lockoutAuthEnabled |
TPM_SU | orderlyState |
BYTE | auditCommands |
TPMI_ALG_HASH | auditHashAlg |
UINT64 | auditCounter |
UINT32 | algorithmSet |
UINT32 | firmwareV1 |
UINT32 | firmwareV2 |
CLOCK_NONCE | timeEpoch |
Type | Field |
---|---|
NvHeader | nvHeader |
UINT64 | clock |
TPMI_YES_NO | clockSafe |
UINT32 | _pad1 |
DRBG_STATE | drbgState |
UINT64 | selfHealTimer |
UINT64 | lockoutTimer |
UINT64 | time |
Type | Field |
---|---|
NvHeader | nvHeader |
BOOL | shEnable |
BOOL | ehEnable |
BOOL | phEnableNV |
TPMI_ALG_HASH | platformAlg |
TPM2B_DIGEST | platformPolicy |
TPM2B_AUTH | platformAuth |
PCR_SAVE | pcrSave |
PCR_AUTHVALUE | pcrAuthValues |
Type | Field |
---|---|
NvHeader | nvHeader |
TPM2B_PROOF | nullProof |
TPM2B_SEED | nullSeed |
UINT32 | clearCount |
UINT64 | objectContextID |
BYTE | contextArray[] |
CONTEXT_COUNTER | contextCounter |
TPM2B_DIGEST | commandAuditDigest |
UINT32 | restartCount |
UINT32 | pcrCounter |
UINT32 | _pad2 |
UINT64 | commitCounter |
TPM2B_NONCE | commitNonce |
BYTE | commitArray[16] |