OLD | NEW |
1 /* Copyright (c) 2011 The Chromium OS Authors. All rights reserved. | 1 /* Copyright (c) 2011 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 | 5 |
6 /* Non-volatile storage routines for verified boot. | 6 /* Non-volatile storage routines for verified boot. |
7 */ | 7 */ |
8 | 8 |
9 #ifndef VBOOT_REFERENCE_NVSTORAGE_H_ | 9 #ifndef VBOOT_REFERENCE_NVSTORAGE_H_ |
10 #define VBOOT_REFERENCE_NVSTORAGE_H_ | 10 #define VBOOT_REFERENCE_NVSTORAGE_H_ |
(...skipping 29 matching lines...) Expand all Loading... |
40 * Valid range: 0-15. */ | 40 * Valid range: 0-15. */ |
41 VBNV_TRY_B_COUNT, | 41 VBNV_TRY_B_COUNT, |
42 /* Request recovery mode on next boot; see VBNB_RECOVERY_* below for | 42 /* Request recovery mode on next boot; see VBNB_RECOVERY_* below for |
43 * currently defined reason codes. 8-bit value. */ | 43 * currently defined reason codes. 8-bit value. */ |
44 VBNV_RECOVERY_REQUEST, | 44 VBNV_RECOVERY_REQUEST, |
45 /* Localization index for screen bitmaps displayed by firmware. | 45 /* Localization index for screen bitmaps displayed by firmware. |
46 * 8-bit value. */ | 46 * 8-bit value. */ |
47 VBNV_LOCALIZATION_INDEX, | 47 VBNV_LOCALIZATION_INDEX, |
48 /* Field reserved for kernel/user-mode use; 32-bit value. */ | 48 /* Field reserved for kernel/user-mode use; 32-bit value. */ |
49 VBNV_KERNEL_FIELD, | 49 VBNV_KERNEL_FIELD, |
| 50 /* Firmware checked RW slot B before slot A on the current boot because |
| 51 * VBNV_TRY_B_COUNT was non-zero at that time. 0=no; 1=yes. */ |
| 52 VBNV_FW_USED_TRY_B, |
| 53 /* Firmware verified the kernel key block signature using the key stored |
| 54 * in the firmware. 0=no, just used the key block hash; 1=yes, used the |
| 55 * key block signature. */ |
| 56 VBNV_FW_VERIFIED_KERNEL_KEY, |
50 } VbNvParam; | 57 } VbNvParam; |
51 | 58 |
52 | 59 |
53 /* Recovery reason codes for VBNV_RECOVERY_REQUEST */ | 60 /* Recovery reason codes for VBNV_RECOVERY_REQUEST */ |
54 /* Recovery not requested. */ | 61 /* Recovery not requested. */ |
55 #define VBNV_RECOVERY_NOT_REQUESTED 0x00 | 62 #define VBNV_RECOVERY_NOT_REQUESTED 0x00 |
56 /* Recovery requested from legacy utility. (Prior to the NV storage | 63 /* Recovery requested from legacy utility. (Prior to the NV storage |
57 * spec, recovery mode was a single bitfield; this value is reserved | 64 * spec, recovery mode was a single bitfield; this value is reserved |
58 * so that scripts which wrote 1 to the recovery field are | 65 * so that scripts which wrote 1 to the recovery field are |
59 * distinguishable from scripts whch use the recovery reasons listed | 66 * distinguishable from scripts whch use the recovery reasons listed |
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
128 int VbNvGet(VbNvContext* context, VbNvParam param, uint32_t* dest); | 135 int VbNvGet(VbNvContext* context, VbNvParam param, uint32_t* dest); |
129 | 136 |
130 /* Set a NV storage param to a new value. Returns 0 if success, | 137 /* Set a NV storage param to a new value. Returns 0 if success, |
131 * non-zero if error. | 138 * non-zero if error. |
132 * | 139 * |
133 * This may only be called between VbNvSetup() and VbNvTeardown(). */ | 140 * This may only be called between VbNvSetup() and VbNvTeardown(). */ |
134 int VbNvSet(VbNvContext* context, VbNvParam param, uint32_t value); | 141 int VbNvSet(VbNvContext* context, VbNvParam param, uint32_t value); |
135 | 142 |
136 | 143 |
137 #endif /* VBOOT_REFERENCE_NVSTORAGE_H_ */ | 144 #endif /* VBOOT_REFERENCE_NVSTORAGE_H_ */ |
OLD | NEW |