Add structs for TPM NV simplification. Now uses only 2 NV spaces, one for firmware and one for kernel.

Changed TlclRead / TlclWrite to take void* / const void* to reduce typecasts.

Much restructuring of rollback_index.c.

Fixed a version-packing bug in rollback_index.c (& --> |)

BUG:chrome-os-partner:304
TEST:manual testing of all code flows on CRB

Review URL: http://codereview.chromium.org/3084030
This commit is contained in:
Randall Spangler
2010-08-12 16:40:32 -07:00
parent dfa5a5b8c8
commit 4abede35af
9 changed files with 230 additions and 343 deletions

View File

@@ -61,15 +61,10 @@ int LoadFirmware(LoadFirmwareParams* params) {
}
/* Initialize the TPM and read rollback indices. */
status = RollbackFirmwareSetup(params->boot_flags & BOOT_FLAG_DEVELOPER);
status = RollbackFirmwareSetup(params->boot_flags & BOOT_FLAG_DEVELOPER,
&tpm_key_version, &tpm_fw_version);
if (0 != status) {
VBDEBUG(("Unable to setup TPM.\n"));
return (status == TPM_E_MUST_REBOOT ?
LOAD_FIRMWARE_REBOOT : LOAD_FIRMWARE_RECOVERY);
}
status = RollbackFirmwareRead(&tpm_key_version, &tpm_fw_version);
if (0 != status) {
VBDEBUG(("Unable to read stored versions.\n"));
VBDEBUG(("Unable to setup TPM and read stored versions.\n"));
return (status == TPM_E_MUST_REBOOT ?
LOAD_FIRMWARE_REBOOT : LOAD_FIRMWARE_RECOVERY);
}