Lines Matching refs:NV
257 …31.2 NV Counters ............................................................................…
609 …{NV} A Description modifier – This modifier may follow the commandCode in the “Description” …
610 … to indicate that the command may result in an update of NV memory and be subject to rate
611 … throttling by the TPM. If the command code does not have this notation, then a write to NV
613 …NOTE Any command that uses authorization may cause a write to NV if there is an authorizati…
614 … A TPM may use the occasion of command execution to update the NV copy of clock.
619 … TPM when the command completes. This may be combined with the {NV} modifier but not with the
621 EXAMPLE 1 {NV F}
627 … context likely will be required. This may be combined with the {NV} modifier but not with the {F}
629 EXAMPLE 1 {NV E}
654 … userWithAuth is SET. If the handle references an NV Index, then the allowed authorizations are
655 … determined by the settings of the attributes of the NV Index as described in TPM 2.0 Part 2,
656 "TPMA_NV (NV Index Attributes)."
660 … If the handle is an NV index, operation is as if adminWithPolicy is SET (see 5.6 e)2)).
812 3) If the handle references an NV Index, then
814 ii) the hierarchy associated with the existing NV Index is not disabled (TPM_RC_HANDLE).
906 c) If the object or NV Index is subject to DA protection, and the authorization is with an HMAC or
909 …NOTE 1 An object is subject to DA protection if its noDA attribute is CLEAR. An NV Inde…
923 …2) If the entity being authorized is an NV Index, then the associated authorization session is a p…
927 are commands that operate on objects and NV Indices.
935 2) If the entity being authorized is an NV Index;
937 (a) the TPMA_NV_POLICYWRITE attribute of the NV Index is SET if the command modifies
938 the NV Index data (TPM_RC_AUTH_UNAVAILABLE);
944 (b) the TPMA_NV_POLICYREAD attribute of the NV Index is SET if the command reads the
945 NV Index data (TPM_RC_AUTH_UNAVAILABLE);
947 (a) the TPMA_NV_AUTHWRITE attribute of the NV Index is SET if the command modifies
948 the NV Index data (TPM_RC_AUTH_UNAVAILABLE);
949 (b) the TPMA_NV_AUTHREAD attribute of the NV Index is SET if the command reads the
950 NV Index data (TPM_RC_AUTH_UNAVAILABLE).
1086 NOTE 1 This primarily affects authorizations associated with a first write to an NV Index u…
1088 … not change as a consequence of the command actions. The session binding to the NV Index will not
1169 … This response code indicates that the TPM is rate-limiting writes to the NV
1171 TPM_RC_NV_RATE that explicity writes to NV or commands that incidentally use NV such …
1175 … NV memory is currently not available and the command is not allowed to proceed
1177 … until it is. This would occur in a system where the NV memory used by the TPM
1464 For each NV index with TPMA_NV_WRITE_DEFINE CLEAR or TPMA_NV_WRITTEN CLEAR,
1466 For each NV index with TPMA_NV_CLEAR_STCLEAR SET, TPMA_NV_WRITTEN shall be
1489 For each NV index with TPMA_NV_WRITE_DEFINE CLEAR or TPMA_NV_WRITTEN CLEAR,
1491 For each NV index with TPMA_NV_CLEAR_STCLEAR SET, TPMA_NV_WRITTEN shall be
1535 TPM_CC commandCode TPM_CC_Startup {NV}
1590 23 // The command needs NV update. Check if NV is available.
1631 59 // with StateSave command for CLEAR, or the part of NV used for TPM_SU_STATE
1646 74 // types. Will only be a SU_RESTART if the NV is OK
1669 97 // Read persistent data from NV
1714 137 // in NV index
1747 For a shutdownType of any type, the volatile portion of Clock is saved to NV memory and the orderly
1748 shutdown indication is SET. NV with the TPMA_NV_ORDERY attribute will be updated.
1761 Some values may be either derived from other values or saved to NV memory.
1787 TPM_CC commandCode TPM_CC_Shutdown {NV}
1827 11 // The command needs NV update. Check if NV is available.
1850 34 // Save RAM backed NV index data
1979 TPM_CC commandCode TPM_CC_SelfTest {NV}
2105 TPM_CC commandCode TPM_CC_IncrementalSelfTest {NV}
3894 This command may not be used to change the authorization value for an NV Index or a Primary Object.
3896 NOTE 3 If an NV Index is to have a new authorization, it is done with TPM2_NV_ChangeAuth().
6416 TPM_CC commandCode TPM_CC_StirRandom {NV}
7100 TPM_CC commandCode TPM_CC_EventSequenceComplete {NV F}
8042 TPM_CC commandCode TPM_CC_GetCommandAuditDigest {NV}
9124 TPM_CC commandCode TPM_CC_SetCommandCodeAuditStatus {NV}
9169 13 // The command needs NV update. Check if NV is available.
9194 38 // Save the change of command audit data (this sets g_updateNV so that NV
9213 57 // if change was made to command list, update NV
9215 59 // this sets g_updateNV so that NV will be updated on exit.
9342 TPM_CC commandCode TPM_CC_PCR_Extend {NV}
9405 30 // If PCR is state saved and we need to update orderlyState, check NV
9477 TPM_CC commandCode TPM_CC_PCR_Event {NV}
9536 24 // If PCR is state saved and we need to update orderlyState, check NV
9730 TPM_CC commandCode TPM_CC_PCR_Allocate {NV}
9772 TPM_RC_NV_UNAVAILABLE NV is not accessible
9773 TPM_RC_NV_RATE NV is in a rate-limiting mode
9783 12 // The command needs NV update. Check if NV is available.
9867 TPM_CC commandCode TPM_CC_PCR_SetAuthPolicy {NV}
9915 13 // The command needs NV update. Check if NV is available.
9937 35 // Save new policy to NV
10035 19 // state clear data. If this is the case, Check if NV is available.
10092 TPM_CC commandCode TPM_CC_PCR_Reset {NV}
10140 17 // If PCR is state saved and we need to update orderlyState, check NV
10994 Storage, and Endorsement), NV Indexes, and loaded objects.
11926 This command is used to cause conditional gating of a policy based on the contents of an NV Index.
11930 An authorization session providing authorization to read the NV Index shall be provided.
11935 If TPMA_NV_WRITTEN is not SET in the NV Index, the TPM shall return TPM_RC_NV_UNINITIALIZED.
11936 The TPM will validate that the size of operandB plus offset is not greater than the size of the NV …
11938 operandA begins at offest into the NV index contents and has a size equal to the size of operandB. …
11946 …offset offset from the start of the NV Index data to start the compari…
11951 The value of args and the Name of the NV Index are extended to policySession→policyDigest by
11956 nvIndex→Name the Name of the NV Index
11960 Magnitude comparisons assume that the octet at offset zero in the referenced NV location and in
11984 the NV Index of the area to read
11992 UINT16 offset the offset in the NV Index for the start of operand A
12018 5 #include "NV_spt_fp.h" // Include NV support routine for read access check
12023 TPM_RC_AUTH_TYPE NV index authorization type is not correct
12024 TPM_RC_NV_LOCKED NV index read locked
12025 TPM_RC_NV_UNINITIALIZED the NV index has not been initialized
12026 TPM_RC_POLICY the comparison to the NV contents failed
12046 22 // Get NV index information
12055 31 // NV Read access check. NV index should be allowed for read. A
12061 37 // Valid NV data size should not be smaller than input operandB size
12067 43 // Get NV data. The size of NV data equals the input operand B size
12335 25 // NV is unavailable.
13714 … written. It is possible to use this change in the NV Index to create a write-once Index.
13739 … YES if NV Index is required to have been written
13741 … NO if NV Index is required not to have been written
13766 Make an NV Index policy dependent on the state of the TPMA_NV_WRITTEN attribute of the index.
13797 29 // Set session attributes so that the NV Index needs to be checked
14046 This command enables and disables use of a hierarchy and its associated NV storage. The command
14059 When this command is used to CLEAR shEnable, the TPM will disable access to any NV index that has
14060 TPMA_NV_PLATFORMCREATE CLEAR (indicating that the NV Index was defined using Owner
14062 that attempts to operate upon an NV index that has TPMA_NV_PLATFORMCREATE CLEAR.
14063 When this command is used to CLEAR phEnableNV, the TPM will disable access to any NV index that
14064 has TPMA_NV_PLATFORMCREATE SET (indicating that the NV Index was defined using Platform
14066 command that attempts to operate upon an NV index that has TPMA_NV_PLATFORMCREATE SET.
14086 TPM_CC commandCode TPM_CC_HierarchyControl {NV E}
14217 85 // Before changing the internal state, make sure that NV is available.
14218 86 // Only need to update NV if changing the orderly state
14221 89 // The command needs NV update. Check if NV is available.
14228 96 // state is changing and NV is available so modify
14282 TPM_CC commandCode TPM_CC_SetPrimaryPolicy {NV}
14341 18 // The command need NV update for OWNER and ENDORSEMENT hierarchy, and
14343 20 // Check if NV is available. A TPM_RC_NV_UNAVAILABLE or TPM_RC_NV_RATE
14416 This command does not clear any NV Index values.
14440 TPM_CC commandCode TPM_CC_ChangePPS {NV E}
14475 12 // Check if NV is available. A TPM_RC_NV_UNAVAILABLE or TPM_RC_NV_RATE
14499 36 // Flush platform evict object and index in NV
14502 39 // Save hierarchy changes to NV
14560 TPM_CC commandCode TPM_CC_ChangeEPS {NV E}
14594 11 // The command needs NV update. Check if NV is available.
14626 43 // Flush evict object of endorsement hierarchy stored in NV
14629 46 // Save hierarchy changes to NV
14658 delete any NV Index with TPMA_NV_PLATFORMCREATE == CLEAR;
14696 TPM_CC commandCode TPM_CC_Clear {NV E}
14739 14 // The command needs NV update. Check if NV is available.
14780 55 // Flush owner and endorsement object and owner index in NV
14789 59 // Save hierarchy changes to NV
14809 79 // Update the DRBG state whenever writing orderly state to NV
14864 TPM_CC commandCode TPM_CC_ClearControl {NV}
14909 11 // The command needs NV update. Check if NV is available.
14928 30 // Record the change to NV
14975 TPM_CC commandCode TPM_CC_HierarchyChangeAuth {NV}
15021 12 // The command needs NV update. Check if NV is available.
15083 NOTE Authorizations for objects and NV Index values in the Platform hierarchy are never …
15122 TPM_CC commandCode TPM_CC_DictionaryAttackLockReset {NV}
15159 14 // The command needs NV update. Check if NV is available.
15170 25 // Record the changes to NV
15220 TPM_CC commandCode TPM_CC_DictionaryAttackParameters {NV}
15267 11 // The command needs NV update. Check if NV is available.
15283 27 // Record the changes to NV
15346 TPM_CC commandCode TPM_CC_PP_Commands {NV}
15390 13 // The command needs NV update. Check if NV is available.
15462 TPM_CC commandCode TPM_CC_SetAlgorithmSet {NV}
15501 11 // The command needs NV update. Check if NV is available.
15510 20 // Write the algorithm set changes to NV
15606 NV Index allocations and contents;
15737 TPM_CC commandCode TPM_CC_FieldUpgradeData {NV}
15976 23 // the update of state reset data. If this is the case, check if NV is
15980 27 // The command needs NV update. Check if NV is available.
16342 109 // the update of state reset data. If this is the case, check if NV is
16351 113 // The command needs NV update. Check if NV is available.
16597 TPM_CC commandCode TPM_CC_EvictControl {NV}
16644 TPM_RC_NV_SPACE no space in NV to make evictHandle persistent
16656 12 // The command needs NV update. Check if NV is available.
16735 86 // Delete the persistent object in NV
16868 TPM_CC commandCode TPM_CC_ClockSet {NV}
17170 …PLE 4 If the MSO of property is TPM_HT_NV_INDEX, then the TPM will return a list of NV Index
17321 37 // Get list of defined NV index
17504 The NV commands are used to create, update, read, and delete allocations of space in NV memory.
17512 For commands that have both authHandle and nvIndex parameters, authHandle can be an NV Index,
17513 Platform Authorization, or Owner Authorization. If authHandle is an NV Index, it must be the same as
17515 TPMA_NV_PPREAD and TPMA_NV_PPWRITE indicate if reading or writing of the NV Index may be
17517 TPMA_NV_OWNERREAD and TPMA_NV_OWNERWRITE indicate if reading or writing of the NV Index
17519 If an operation on an NV index requires authorization, and the authHandle parameter is the handle o…
17520 NV Index, then the nvIndex parameter must have the same value or the TPM will return
17523 … This check ensures that the authorization that was provided is associated with the NV Index being
17535 If an Index has been defined and not written, then any operation on the NV Index that requires read
17537 authorization checks but shall be performed before checking the NV Index authValue. An authorization
17538 failure due to the NV Index not having been written shall not be logged by the dictionary attack lo…
17543 dependent library that allows access to NV memory. The actions assume no specific layout of the
17544 structure of the NV data.
17545 Only one NV Index may be directly referenced in a command.
17547 NOTE 2 This means that, if authHandle references an NV Index, then nvIndex will have the s…
17549 … number of NV Indexes might be relocated as a result of deleting or adding a NV Index.
17556 31.2 NV Counters
17560 When an NV counter is created, the TPM shall initialize the 8-octet counter value with a number tha…
17561 greater than any count value for any NV counter on the TPM since the time of TPM manufacture.
17562 An NV counter may be defined with the TPMA_NV_ORDERLY attribute to indicate that the NV Index is
17569 Before an NV counter can be used, the TPM shall validate that the count is not less than a previous…
17575 NOTE 1 Because the TPM would have updated the NV Index if the difference between the count…
17576 … equal to MAX_ORDERLY_COUNT + 1, the highest value that could have been in the NV Index is
17579 … The TPM may implement the RAM portion of the counter such that the effective value of the NV
17581 RAM version of the counter to MAX_ORDERLY_COUNT and no update of NV is necessary.
17583 NOTE 3 When a new NV counter is created, the TPM may search all the coun ters to determine…
17600 This command defines the attributes of an NV Index and causes the TPM to reserve space to hold the
17601 data associated with the NV Index. If a definition already exists at the NV Index, the TPM will ret…
17614 If the NV Index is an ordinary Index and publicInfo→dataSize is larger than supported by the TPM
17618 … TPMA_NV_ORDERLY SET, then the maximum size of an ordinary NV Index may be less than the
17619 size of an ordinary NV Index that has TPMA_NV_ORDERLY CLEAR.
17641 After the successful completion of this command, the NV Index exists but TPMA_NV_WRITTEN will be
17642 CLEAR. Any access of the NV data will return TPM_RC_NV_UINITIALIZED.
17651 In some implementations, an NV Index with the TPMA_NV_COUNTER attribute may require special TPM
17652 resources that provide higher endurance than regular NV. For those implementations, if this command
17655 of the digest produced by the NV Index's nameAlg (TPM_RC_SIZE).
17673 TPM_CC commandCode TPM_CC_NV_DefineSpace {NV}
17680 TPM2B_NV_PUBLIC publicInfo the public parameters of the NV area
17728 15 // Check if NV is available. NvIsAvailable may return TPM_RC_NV_UNAVAILABLE
17846 123 // If the NV index is used as a PCR, the data size must match the digest
17906 TPM_CC commandCode TPM_CC_NV_UndefineSpace {NV}
17911 the NV Index to remove from NV space
17954 12 // The command needs NV update. Check if NV is available.
17962 20 // Get NV index info
17977 35 // Call implementation dependent internal routine to delete NV index
17996 This command allows removal of a platform-created NV Index that has TPMA_NV_POLICY_DELETE
17998 This command requires that the policy of the NV Index be satisfied before the NV Index may be delet…
18026 TPM_CC commandCode TPM_CC_NV_UndefineSpaceSpecial {NV}
18072 12 // The command needs NV update. Check if NV is available.
18081 21 // Get NV index info
18090 30 // Call implementation dependent internal routine to delete NV index
18109 This command is used to read the public area and Name of an NV Index. The public area of an Index is
18132 the NV Index
18143 TPM2B_NV_PUBLIC nvPublic the public area of the NV Index
18170 14 // Get NV index info
18176 20 // Compute NV name
18195 This command writes a value to an area in NV memory that was previously defined by
18199 authPolicy of the NV Index.
18200 If the TPMA_NV_WRITELOCKED attribute of the NV Index is SET, then the TPM shall return
18203 … If authorization sessions are present, they are checked before checks to see if writes to the NV
18206 If TPMA_NV_COUNTER, TPMA_NV_BITS or TPMA_NV_EXTEND of the NV Index is SET, then the
18209 the NV Index data, the TPM shall return TPM_RC_NV_RANGE and not write any data to the NV Index.
18210 If the TPMA_NV_WRITEALL attribute of the NV Index is SET, then the TPM shall return
18212 of the NV Index.
18214 starting at nvIndex→data[offset]. If the NV memory is implemented with a technology that has endura…
18215 …itations, the TPM shall check that the merged data is different from the current contents of the NV
18216 Index and only perform a write to NV memory if they differ.
18217 After successful completion of this command, TPMA_NV_WRITTEN for the NV Index will be SET.
18219 NOTE 2 Once SET, TPMA_NV_WRITTEN remains SET until the NV Index is undefined or the NV Ind…
18237 TPM_CC commandCode TPM_CC_NV_Write {NV}
18242 the NV Index of the area to write
18247 UINT16 offset the offset into the NV Area
18295 15 // Get NV index info
18324 44 // attribute if it has not already been SET. If NV isn't available, an error
18349 This command is used to increment the value in an NV Index that has TPMA_NV_COUNTER SET. The
18350 data value of the NV Index is incremented by one.
18352 NOTE 1 The NV Index counter is an unsigned value.
18354 If TPMA_NV_COUNTER is not SET in the indicated NV Index, the TPM sh…
18365 NOTE 3 An allowed implementation would keep a counter value in NV and a resettable counter …
18366 … reported value of the NV Index would be the sum of the two values. When the RAM count increments
18385 TPM_CC commandCode TPM_CC_NV_Increment {NV}
18390 the NV Index to increment
18421 TPM_RC_ATTRIBUTES NV index is not a counter
18442 22 // Get NV index info
18455 35 // Read NV data in native format for TPM CPU.
18462 42 // write to NV to proceed. This check is done here, because NvWriteIndexData()
18471 51 // Need to force an NV update
18481 55 // Write NV data back. A TPM_RC_NV_UNAVAILABLE or TPM_RC_NV_RATE error may
18501 This command extends a value to an area in NV memory that was previously defined by
18505 TPMA_NV_OWNERWRITE, TPMA_NV_AUTHWRITE, and the authPolicy of the NV Index.
18506 After successful completion of this command, TPMA_NV_WRITTEN for the NV Index will be SET.
18508 NOTE 1 Once SET, TPMA_NV_WRITTEN remains SET until the NV Index is undefined, unless the
18511 If the TPMA_NV_WRITELOCKED attribute of the NV Index is SET, then the TPM shall return
18514 … If authorization sessions are present, they are checked before checks to see if writes to the NV
18517 The data.buffer parameter may be larger than the defined size of the NV Index.
18522 nvIndex→data the value of the data field in the NV Index
18542 TPM_CC commandCode TPM_CC_NV_Extend {NV}
18547 the NV Index to extend
18606 25 // Get NV index info
18613 32 // If the Index is not-orderly, or if this is the first write, NV will
18618 37 // Check if NV is available. NvIsAvailable may return TPM_RC_NV_UNAVAILABLE
18675 This command is used to SET bits in an NV Index that was created as a bit field. Any number of bits…
18676 0 to 64 may be SET. The contents of data are ORed with the current contents of the NV Index startin…
18678 If TPMA_NV_WRITTEN is not SET, then, for the purposes of this command, the NV Index is considered
18681 After successful completion of this command, TPMA_NV_WRITTEN for the NV Index will be SET.
18700 TPM_CC commandCode TPM_CC_NV_SetBits {NV}
18705 … NV Index of the area in which the bit is to be set
18763 24 // Get NV index info
18781 42 // write, NV will need to be updated.
18788 49 // Check if NV is available. NvIsAvailable may return TPM_RC_NV_UNAVAILABLE
18820 If the TPMA_NV_WRITEDEFINE or TPMA_NV_WRITE_STCLEAR attributes of an NV location are SET,
18821 then this command may be used to inhibit further writes of the NV Index.
18823 TPMA_NV_OWNERWRITE, TPMA_NV_AUTHWRITE, and the authPolicy of the NV Index.
18824 It is not an error if TPMA_NV_WRITELOCKED for the NV Index is already SET.
18825 If neither TPMA_NV_WRITEDEFINE nor TPMA_NV_WRITE_STCLEAR of the NV Index is SET, then the
18828 is SET, then the TPM shall SET TPMA_NV_WRITELOCKED for the NV Index.
18848 TPM_CC commandCode TPM_CC_NV_WriteLock {NV}
18853 the NV Index of the area to lock
18912 27 // Get NV index info
18923 38 // The command needs NV update. Check if NV is available.
18962 command will permanently lock the NV Index for writing unless TPMA_NV_WRITTEN is CLEAR.
19022 14 // The command needs NV update. Check if NV is available.
19050 This command reads a value from an area in NV memory previously …
19053 TPMA_NV_OWNERREAD, TPMA_NV_AUTHREAD, and the authPolicy of the NV Index.
19054 If TPMA_NV_READLOCKED of the NV Index is SET, then the TPM shall return TPM_RC_NV_LOCKED.
19056 …f authorization sessions are present, they are checked before the read -lock status of the NV Index
19059 …he size parameter plus the offset parameter adds to a value that is greater than the size of the NV
19060 Index data area, the TPM shall return TPM_RC_NV_RANGE and not read any data from the NV Index.
19061 If the NV Index has been defined but the TPMA_NV_WRITTEN attribute is CLEAR, then this command
19088 the NV Index to be read
19144 16 // Get NV index info
19182 reads of the NV Index until the next TPM2_Startup (TPM_SU_CLEAR).
19184 TPMA_NV_OWNERREAD, TPMA_NV_AUTHREAD, and the authPolicy of the NV Index.
19186 NOTE Only an entity that may read an Index is allowed to lock the NV Index for read.
19188 If the command is properly authorized and TPMA_NV_READ_STCLEAR of the NV Index is SET, then the
19189 TPM shall SET TPMA_NV_READLOCKED for the NV Index. If TPMA_NV_READ_STCLEAR of the NV
19218 the NV Index to be locked
19262 13 // The command needs NV update. Check if NV is available.
19286 37 // Get NV index info
19297 48 // Write NV info back
19321 This command allows the authorization secret for an NV Index to be changed.
19322 If successful, the authorization secret (authValue) of the NV Index associated with nvIndex is chan…
19331 The size of the newAuth value may be no larger than the size of authorization indicated when the NV
19333 Since the NV Index authorization is changed before the response HMAC is calculated, the newAuth val…
19353 TPM_CC commandCode TPM_CC_NV_ChangeAuth {NV}
19399 13 // Check if NV is available. NvIsAvailable may return TPM_RC_NV_UNAVAILABLE
19404 18 // Read index info from NV
19418 32 // Write index info back to NV
19437 The purpose of this command is to certify the contents of an NV Index or portion of an NV Index.
19438 If proper authorization for reading the NV Index is provided, the portion of the NV Index selected …
19468 for the NV Index
19538 17 // the reporting of clock info. If this is the case, check if NV is
19542 21 // The command needs NV update. Check if NV is available.
19552 31 // Get NV index info
19587 61 // NV certify specific fields