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 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
67 * here. */ | 67 * here. */ |
68 #define VBNV_RECOVERY_LEGACY 0x01 | 68 #define VBNV_RECOVERY_LEGACY 0x01 |
69 /* User manually requested recovery via recovery button */ | 69 /* User manually requested recovery via recovery button */ |
70 #define VBNV_RECOVERY_RO_MANUAL 0x02 | 70 #define VBNV_RECOVERY_RO_MANUAL 0x02 |
71 /* RW firmware failed signature check (neither RW firmware slot was valid) */ | 71 /* RW firmware failed signature check (neither RW firmware slot was valid) */ |
72 #define VBNV_RECOVERY_RO_INVALID_RW 0x03 | 72 #define VBNV_RECOVERY_RO_INVALID_RW 0x03 |
73 /* S3 resume failed */ | 73 /* S3 resume failed */ |
74 #define VBNV_RECOVERY_RO_S3_RESUME 0x04 | 74 #define VBNV_RECOVERY_RO_S3_RESUME 0x04 |
75 /* TPM error in read-only firmware */ | 75 /* TPM error in read-only firmware */ |
76 #define VBNV_RECOVERY_RO_TPM_ERROR 0x05 | 76 #define VBNV_RECOVERY_RO_TPM_ERROR 0x05 |
| 77 /* Shared data error in read-only firmware */ |
| 78 #define VBNV_RECOVERY_RO_SHARED_DATA 0x06 |
77 /* Unspecified/unknown error in read-only firmware */ | 79 /* Unspecified/unknown error in read-only firmware */ |
78 #define VBNV_RECOVERY_RO_UNSPECIFIED 0x3F | 80 #define VBNV_RECOVERY_RO_UNSPECIFIED 0x3F |
79 /* User manually requested recovery by pressing a key at developer | 81 /* User manually requested recovery by pressing a key at developer |
80 * warning screen */ | 82 * warning screen */ |
81 #define VBNV_RECOVERY_RW_DEV_SCREEN 0x41 | 83 #define VBNV_RECOVERY_RW_DEV_SCREEN 0x41 |
82 /* No OS kernel detected */ | 84 /* No OS kernel detected */ |
83 #define VBNV_RECOVERY_RW_NO_OS 0x42 | 85 #define VBNV_RECOVERY_RW_NO_OS 0x42 |
84 /* OS kernel failed signature check */ | 86 /* OS kernel failed signature check */ |
85 #define VBNV_RECOVERY_RW_INVALID_OS 0x43 | 87 #define VBNV_RECOVERY_RW_INVALID_OS 0x43 |
86 /* TPM error in rewritable firmware */ | 88 /* TPM error in rewritable firmware */ |
87 #define VBNV_RECOVERY_RW_TPM_ERROR 0x44 | 89 #define VBNV_RECOVERY_RW_TPM_ERROR 0x44 |
88 /* RW firmware in dev mode, but dev switch is off */ | 90 /* RW firmware in dev mode, but dev switch is off */ |
89 #define VBNV_RECOVERY_RW_DEV_MISMATCH 0x45 | 91 #define VBNV_RECOVERY_RW_DEV_MISMATCH 0x45 |
| 92 /* Shared data error in rewritable firmware */ |
| 93 #define VBNV_RECOVERY_RW_SHARED_DATA 0x46 |
90 /* Unspecified/unknown error in rewritable firmware */ | 94 /* Unspecified/unknown error in rewritable firmware */ |
91 #define VBNV_RECOVERY_RW_UNSPECIFIED 0x7F | 95 #define VBNV_RECOVERY_RW_UNSPECIFIED 0x7F |
92 /* DM-verity error */ | 96 /* DM-verity error */ |
93 #define VBNV_RECOVERY_KE_DM_VERITY 0x81 | 97 #define VBNV_RECOVERY_KE_DM_VERITY 0x81 |
94 /* Unspecified/unknown error in kernel */ | 98 /* Unspecified/unknown error in kernel */ |
95 #define VBNV_RECOVERY_KE_UNSPECIFIED 0xBF | 99 #define VBNV_RECOVERY_KE_UNSPECIFIED 0xBF |
96 /* Recovery mode test from user-mode */ | 100 /* Recovery mode test from user-mode */ |
97 #define VBNV_RECOVERY_US_TEST 0xC1 | 101 #define VBNV_RECOVERY_US_TEST 0xC1 |
98 /* Unspecified/unknown error in user-mode */ | 102 /* Unspecified/unknown error in user-mode */ |
99 #define VBNV_RECOVERY_US_UNSPECIFIED 0xFF | 103 #define VBNV_RECOVERY_US_UNSPECIFIED 0xFF |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
137 int VbNvGet(VbNvContext* context, VbNvParam param, uint32_t* dest); | 141 int VbNvGet(VbNvContext* context, VbNvParam param, uint32_t* dest); |
138 | 142 |
139 /* Set a NV storage param to a new value. Returns 0 if success, | 143 /* Set a NV storage param to a new value. Returns 0 if success, |
140 * non-zero if error. | 144 * non-zero if error. |
141 * | 145 * |
142 * This may only be called between VbNvSetup() and VbNvTeardown(). */ | 146 * This may only be called between VbNvSetup() and VbNvTeardown(). */ |
143 int VbNvSet(VbNvContext* context, VbNvParam param, uint32_t value); | 147 int VbNvSet(VbNvContext* context, VbNvParam param, uint32_t value); |
144 | 148 |
145 | 149 |
146 #endif /* VBOOT_REFERENCE_NVSTORAGE_H_ */ | 150 #endif /* VBOOT_REFERENCE_NVSTORAGE_H_ */ |
OLD | NEW |