aboutsummaryrefslogtreecommitdiff
path: root/src/security/vboot/antirollback.h
diff options
context:
space:
mode:
authorShelley Chen <shchen@google.com>2020-10-16 13:15:59 -0700
committerJulius Werner <jwerner@chromium.org>2020-10-20 23:25:39 +0000
commita79803cf299a2c4912d5368951c6356df2dcd906 (patch)
treeb7f0e9f9345dc424a185eb425753ebe9305f0fbb /src/security/vboot/antirollback.h
parent1fed53f08a8099e03e352034b1265cc7b2fd427a (diff)
security/vboot: Make mrc_cache hash functions generic
We need to extend the functionality of the mrc_cache hash functions to work for both recovery and normal mrc_cache data. Updating the API of these functions to pass in an index to identify the hash indices for recovery and normal mode. BUG=b:150502246 BRANCH=None TEST=make sure memory training still works on nami Change-Id: I9c0bb25eafc731ca9c7a95113ab940f55997fc0f Signed-off-by: Shelley Chen <shchen@google.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/46432 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Furquan Shaikh <furquan@google.com>
Diffstat (limited to 'src/security/vboot/antirollback.h')
-rw-r--r--src/security/vboot/antirollback.h31
1 files changed, 23 insertions, 8 deletions
diff --git a/src/security/vboot/antirollback.h b/src/security/vboot/antirollback.h
index 595205da29..8b183da9a5 100644
--- a/src/security/vboot/antirollback.h
+++ b/src/security/vboot/antirollback.h
@@ -22,8 +22,9 @@ enum vb2_pcr_digest;
* want to use 0x1009 for something else. */
#define BACKUP_NV_INDEX 0x1009
#define FWMP_NV_INDEX 0x100a
-#define REC_HASH_NV_INDEX 0x100b
-#define REC_HASH_NV_SIZE VB2_SHA256_DIGEST_SIZE
+/* 0x100b: Hash of MRC_CACHE training data for recovery boot */
+#define MRC_REC_HASH_NV_INDEX 0x100b
+#define HASH_NV_SIZE VB2_SHA256_DIGEST_SIZE
/* Structure definitions for TPM spaces */
@@ -55,11 +56,25 @@ uint32_t antirollback_write_space_kernel(struct vb2_context *ctx);
*/
uint32_t antirollback_lock_space_firmware(void);
-/* Read recovery hash data from TPM. */
-uint32_t antirollback_read_space_rec_hash(uint8_t *data, uint32_t size);
-/* Write new hash data to recovery space in TPM. */
-uint32_t antirollback_write_space_rec_hash(const uint8_t *data, uint32_t size);
-/* Lock down recovery hash space in TPM. */
-uint32_t antirollback_lock_space_rec_hash(void);
+/*
+ * Read recovery hash data from TPM.
+ * @param index index into TPM NVRAM where hash is stored
+ * @param data pointer to buffer where hash from TPM read into
+ * @param size size of buffer
+ */
+uint32_t antirollback_read_space_mrc_hash(uint32_t index, uint8_t *data, uint32_t size);
+/*
+ * Write new hash data to recovery space in TPM.\
+ * @param index index into TPM NVRAM where hash is stored
+ * @param data pointer to buffer of hash value to be written
+ * @param size size of buffer
+*/
+uint32_t antirollback_write_space_mrc_hash(uint32_t index, const uint8_t *data,
+ uint32_t size);
+/*
+ * Lock down recovery hash space in TPM.
+ * @param index index into TPM NVRAM where hash is stored
+*/
+uint32_t antirollback_lock_space_mrc_hash(uint32_t index);
#endif /* ANTIROLLBACK_H_ */