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 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
109 /* DM-verity error */ | 109 /* DM-verity error */ |
110 #define VBNV_RECOVERY_KE_DM_VERITY 0x81 | 110 #define VBNV_RECOVERY_KE_DM_VERITY 0x81 |
111 /* Unspecified/unknown error in kernel */ | 111 /* Unspecified/unknown error in kernel */ |
112 #define VBNV_RECOVERY_KE_UNSPECIFIED 0xBF | 112 #define VBNV_RECOVERY_KE_UNSPECIFIED 0xBF |
113 /* Recovery mode test from user-mode */ | 113 /* Recovery mode test from user-mode */ |
114 #define VBNV_RECOVERY_US_TEST 0xC1 | 114 #define VBNV_RECOVERY_US_TEST 0xC1 |
115 /* Unspecified/unknown error in user-mode */ | 115 /* Unspecified/unknown error in user-mode */ |
116 #define VBNV_RECOVERY_US_UNSPECIFIED 0xFF | 116 #define VBNV_RECOVERY_US_UNSPECIFIED 0xFF |
117 | 117 |
118 | 118 |
| 119 /* Function codes for VBNV_TEST_ERROR_FUNC */ |
| 120 #define VBNV_TEST_ERROR_LOAD_FIRMWARE_SETUP 1 |
| 121 #define VBNV_TEST_ERROR_LOAD_FIRMWARE 2 |
| 122 #define VBNV_TEST_ERROR_LOAD_KERNEL 3 |
| 123 #define VBNV_TEST_ERROR_S3_RESUME 4 |
| 124 |
| 125 |
119 /* Initialize the NV storage library. This must be called before any | 126 /* Initialize the NV storage library. This must be called before any |
120 * other functions in this library. Returns 0 if success, non-zero if | 127 * other functions in this library. Returns 0 if success, non-zero if |
121 * error. | 128 * error. |
122 * | 129 * |
123 * Proper calling procedure: | 130 * Proper calling procedure: |
124 * 1) Allocate a context struct. | 131 * 1) Allocate a context struct. |
125 * 2) If multi-threaded/multi-process, acquire a lock to prevent | 132 * 2) If multi-threaded/multi-process, acquire a lock to prevent |
126 * other processes from modifying the underlying storage. | 133 * other processes from modifying the underlying storage. |
127 * 3) Read underlying storage and fill in context->raw. | 134 * 3) Read underlying storage and fill in context->raw. |
128 * 4) Call VbNvSetup(). | 135 * 4) Call VbNvSetup(). |
(...skipping 25 matching lines...) Expand all Loading... |
154 int VbNvGet(VbNvContext* context, VbNvParam param, uint32_t* dest); | 161 int VbNvGet(VbNvContext* context, VbNvParam param, uint32_t* dest); |
155 | 162 |
156 /* Set a NV storage param to a new value. Returns 0 if success, | 163 /* Set a NV storage param to a new value. Returns 0 if success, |
157 * non-zero if error. | 164 * non-zero if error. |
158 * | 165 * |
159 * This may only be called between VbNvSetup() and VbNvTeardown(). */ | 166 * This may only be called between VbNvSetup() and VbNvTeardown(). */ |
160 int VbNvSet(VbNvContext* context, VbNvParam param, uint32_t value); | 167 int VbNvSet(VbNvContext* context, VbNvParam param, uint32_t value); |
161 | 168 |
162 | 169 |
163 #endif /* VBOOT_REFERENCE_NVSTORAGE_H_ */ | 170 #endif /* VBOOT_REFERENCE_NVSTORAGE_H_ */ |
OLD | NEW |