| Index: firmware/lib/include/rollback_index.h
|
| diff --git a/firmware/lib/include/rollback_index.h b/firmware/lib/include/rollback_index.h
|
| index d60a17019b498e8603b58c2ece9e73a99c33358f..e3399123b3f61b74c6dd9e710ef6fa91286563cd 100644
|
| --- a/firmware/lib/include/rollback_index.h
|
| +++ b/firmware/lib/include/rollback_index.h
|
| @@ -11,13 +11,6 @@
|
|
|
| #include "sysincludes.h"
|
|
|
| -/* TODO: global variables won't work in the boot stub, since it runs
|
| - directly out of ROM. */
|
| -extern uint16_t g_firmware_key_version;
|
| -extern uint16_t g_firmware_version;
|
| -extern uint16_t g_kernel_key_version;
|
| -extern uint16_t g_kernel_version;
|
| -
|
| /* Rollback version types. */
|
| #define FIRMWARE_VERSIONS 0
|
| #define KERNEL_VERSIONS 1
|
| @@ -43,7 +36,6 @@ extern uint16_t g_kernel_version;
|
|
|
| /* All functions return TPM_SUCCESS (zero) if successful, non-zero if error */
|
|
|
| -
|
| /*
|
|
|
| Call from LoadFirmware()
|
| @@ -51,7 +43,8 @@ Call from LoadFirmware()
|
| Wants firmware versions
|
| Must send in developer flag
|
|
|
| - RollbackFirmwareSetup(IN devmode, OUT firmware versions)
|
| + RollbackFirmwareSetup(IN devmode)
|
| + (maybe) RollbackFirmwareRead()
|
| (maybe) RollbackFirmwareWrite()
|
| RollbackFirmwareLock()
|
|
|
| @@ -73,48 +66,33 @@ Call from LoadKernel()
|
|
|
| /* These functions are callable from LoadFirmware(). They cannot use
|
| * global variables. */
|
| +
|
| /* Setup must be called. Pass developer_mode=nonzero if in developer
|
| * mode. */
|
| -uint32_t RollbackFirmwareSetup(int developer_mode,
|
| - uint16_t* key_version, uint16_t* version);
|
| +uint32_t RollbackFirmwareSetup(int developer_mode);
|
| +/* Read and Write may be called after Setup. */
|
| +uint32_t RollbackFirmwareRead(uint16_t* key_version, uint16_t* version);
|
| /* Write may be called if the versions change */
|
| uint32_t RollbackFirmwareWrite(uint16_t key_version, uint16_t version);
|
| +
|
| /* Lock must be called */
|
| uint32_t RollbackFirmwareLock(void);
|
|
|
| /* These functions are callable from LoadKernel(). They may use global
|
| * variables. */
|
| +
|
| /* Recovery may be called. If it is, this is the first time a
|
| * rollback function has been called this boot, so it needs to know if
|
| * we're in developer mode. Pass developer_mode=nonzero if in developer
|
| * mode. */
|
| uint32_t RollbackKernelRecovery(int developer_mode);
|
| +
|
| /* Read and write may be called if not in developer mode. If called in
|
| - * recovery mode, these are ignored and/or return 0 versions. */
|
| + * recovery mode, the effect is undefined. */
|
| uint32_t RollbackKernelRead(uint16_t* key_version, uint16_t* version);
|
| uint32_t RollbackKernelWrite(uint16_t key_version, uint16_t version);
|
| +
|
| /* Lock must be called. Internally, it's ignored in recovery mode. */
|
| uint32_t RollbackKernelLock(void);
|
|
|
| -
|
| -/* SetupTPM is called on boot and on starting the RW firmware, passing the
|
| - * appripriate MODE and DEVELOPER_FLAG parameters. MODE can be one of
|
| - * RO_RECOVERY_MODE, RO_NORMAL_MODE, RW_NORMAL_MODE. DEVELOPER_FLAG is 1 when
|
| - * the developer switch is ON, 0 otherwise.
|
| - *
|
| - * If SetupTPM returns TPM_SUCCESS, the caller may proceed. If it returns
|
| - * TPM_E_MUST_REBOOT, the caller must reboot in the current mode. For all
|
| - * other return values, the caller must reboot in recovery mode.
|
| - *
|
| - * This function has many side effects on the TPM state. In particular, when
|
| - * called with mode = RECOVERY_MODE, it locks the firmware versions before
|
| - * returning. In all other cases, the caller is responsible for locking the
|
| - * firmware versions once it decides it doesn't need to update them.
|
| - */
|
| -uint32_t SetupTPM(int mode, int developer_flag);
|
| -uint32_t GetStoredVersions(int type, uint16_t* key_version, uint16_t* version);
|
| -uint32_t WriteStoredVersions(int type, uint16_t key_version, uint16_t version);
|
| -uint32_t LockFirmwareVersions(void);
|
| -uint32_t LockKernelVersionsByLockingPP(void);
|
| -
|
| #endif /* VBOOT_REFERENCE_ROLLBACK_INDEX_H_ */
|
|
|