| OLD | NEW |
| 1 /* Copyright (c) 2010 The Chromium OS Authors. All rights reserved. | 1 /* Copyright (c) 2010 The Chromium OS Authors. All rights reserved. |
| 2 * Use of this source code is governed by a BSD-style license that can be | 2 * Use of this source code is governed by a BSD-style license that can be |
| 3 * found in the LICENSE file. | 3 * found in the LICENSE file. |
| 4 * | 4 * |
| 5 * Functions for querying, manipulating and locking rollback indices | 5 * Functions for querying, manipulating and locking rollback indices |
| 6 * stored in the TPM NVRAM. | 6 * stored in the TPM NVRAM. |
| 7 */ | 7 */ |
| 8 | 8 |
| 9 #ifndef VBOOT_REFERENCE_ROLLBACK_INDEX_H_ | 9 #ifndef VBOOT_REFERENCE_ROLLBACK_INDEX_H_ |
| 10 #define VBOOT_REFERENCE_ROLLBACK_INDEX_H_ | 10 #define VBOOT_REFERENCE_ROLLBACK_INDEX_H_ |
| (...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 87 * global variables. */ | 87 * global variables. */ |
| 88 uint32_t RollbackS3Resume(void); | 88 uint32_t RollbackS3Resume(void); |
| 89 | 89 |
| 90 /* These functions are callable from LoadFirmware(). They cannot use | 90 /* These functions are callable from LoadFirmware(). They cannot use |
| 91 * global variables. */ | 91 * global variables. */ |
| 92 | 92 |
| 93 /* Setup must be called. Pass developer_mode=nonzero if in developer | 93 /* Setup must be called. Pass developer_mode=nonzero if in developer |
| 94 * mode. */ | 94 * mode. */ |
| 95 uint32_t RollbackFirmwareSetup(int developer_mode, uint32_t* version); | 95 uint32_t RollbackFirmwareSetup(int developer_mode, uint32_t* version); |
| 96 | 96 |
| 97 /* Read may be called to get the version. This is not necessary in |
| 98 * the normal boot path, because RollbackFirmwareSetup() provides the |
| 99 * same information. It may be used in the recovery path. */ |
| 100 uint32_t RollbackFirmwareRead(uint32_t* version); |
| 101 |
| 97 /* Write may be called if the versions change */ | 102 /* Write may be called if the versions change */ |
| 98 uint32_t RollbackFirmwareWrite(uint32_t version); | 103 uint32_t RollbackFirmwareWrite(uint32_t version); |
| 99 | 104 |
| 100 /* Lock must be called */ | 105 /* Lock must be called */ |
| 101 uint32_t RollbackFirmwareLock(void); | 106 uint32_t RollbackFirmwareLock(void); |
| 102 | 107 |
| 103 /* These functions are callable from LoadKernel(). They may use global | 108 /* These functions are callable from LoadKernel(). They may use global |
| 104 * variables. */ | 109 * variables. */ |
| 105 | 110 |
| 106 /* Recovery may be called. If it is, this is the first time a | 111 /* Recovery may be called. If it is, this is the first time a |
| 107 * rollback function has been called this boot, so it needs to know if | 112 * rollback function has been called this boot, so it needs to know if |
| 108 * we're in developer mode. Pass developer_mode=nonzero if in developer | 113 * we're in developer mode. Pass developer_mode=nonzero if in developer |
| 109 * mode. */ | 114 * mode. */ |
| 110 uint32_t RollbackKernelRecovery(int developer_mode); | 115 uint32_t RollbackKernelRecovery(int developer_mode); |
| 111 | 116 |
| 112 /* Read and write may be called if not in developer mode. If called in | 117 /* Read and write may be called to read and write the kernel version. */ |
| 113 * recovery mode, the effect is undefined. */ | |
| 114 uint32_t RollbackKernelRead(uint32_t* version); | 118 uint32_t RollbackKernelRead(uint32_t* version); |
| 115 uint32_t RollbackKernelWrite(uint32_t version); | 119 uint32_t RollbackKernelWrite(uint32_t version); |
| 116 | 120 |
| 117 /* Lock must be called. Internally, it's ignored in recovery mode. */ | 121 /* Lock must be called. Internally, it's ignored in recovery mode. */ |
| 118 uint32_t RollbackKernelLock(void); | 122 uint32_t RollbackKernelLock(void); |
| 119 | 123 |
| 120 /* The following functions are here for testing only. */ | 124 /* The following functions are here for testing only. */ |
| 121 | 125 |
| 122 /* Issue a TPM_Clear and reenable/reactivate the TPM. */ | 126 /* Issue a TPM_Clear and reenable/reactivate the TPM. */ |
| 123 uint32_t TPMClearAndReenable(void); | 127 uint32_t TPMClearAndReenable(void); |
| 124 | 128 |
| 125 #endif /* VBOOT_REFERENCE_ROLLBACK_INDEX_H_ */ | 129 #endif /* VBOOT_REFERENCE_ROLLBACK_INDEX_H_ */ |
| OLD | NEW |