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 loading a kernel from disk. | 5 * Functions for loading a kernel from disk. |
6 * (Firmware portion) | 6 * (Firmware portion) |
7 */ | 7 */ |
8 | 8 |
9 #include "vboot_kernel.h" | 9 #include "vboot_kernel.h" |
10 | 10 |
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
85 found_partitions++; | 85 found_partitions++; |
86 | 86 |
87 /* Read the first part of the kernel partition */ | 87 /* Read the first part of the kernel partition */ |
88 if (part_size < kbuf_sectors) | 88 if (part_size < kbuf_sectors) |
89 continue; | 89 continue; |
90 if (0 != BootDeviceReadLBA(part_start, kbuf_sectors, kbuf)) | 90 if (0 != BootDeviceReadLBA(part_start, kbuf_sectors, kbuf)) |
91 continue; | 91 continue; |
92 | 92 |
93 /* Verify the key block */ | 93 /* Verify the key block */ |
94 key_block = (VbKeyBlockHeader*)kbuf; | 94 key_block = (VbKeyBlockHeader*)kbuf; |
95 if ((0 != VerifyKeyBlock(key_block, KBUF_SIZE, kernel_subkey))) | 95 if ((0 != KeyBlockVerify(key_block, KBUF_SIZE, kernel_subkey))) |
96 continue; | 96 continue; |
97 | 97 |
98 /* Check the key block flags against the current boot mode */ | 98 /* Check the key block flags against the current boot mode */ |
99 if (!(key_block->key_block_flags && | 99 if (!(key_block->key_block_flags && |
100 ((BOOT_FLAG_DEVELOPER & params->boot_flags) ? | 100 ((BOOT_FLAG_DEVELOPER & params->boot_flags) ? |
101 KEY_BLOCK_FLAG_DEVELOPER_1 : KEY_BLOCK_FLAG_DEVELOPER_0))) | 101 KEY_BLOCK_FLAG_DEVELOPER_1 : KEY_BLOCK_FLAG_DEVELOPER_0))) |
102 continue; | 102 continue; |
103 if (!(key_block->key_block_flags && | 103 if (!(key_block->key_block_flags && |
104 ((BOOT_FLAG_RECOVERY & params->boot_flags) ? | 104 ((BOOT_FLAG_RECOVERY & params->boot_flags) ? |
105 KEY_BLOCK_FLAG_RECOVERY_1 : KEY_BLOCK_FLAG_RECOVERY_0))) | 105 KEY_BLOCK_FLAG_RECOVERY_1 : KEY_BLOCK_FLAG_RECOVERY_0))) |
(...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
258 /* Success! */ | 258 /* Success! */ |
259 return LOAD_KERNEL_SUCCESS; | 259 return LOAD_KERNEL_SUCCESS; |
260 } | 260 } |
261 | 261 |
262 // Handle error cases | 262 // Handle error cases |
263 if (found_partitions) | 263 if (found_partitions) |
264 return LOAD_KERNEL_INVALID; | 264 return LOAD_KERNEL_INVALID; |
265 else | 265 else |
266 return LOAD_KERNEL_NOT_FOUND; | 266 return LOAD_KERNEL_NOT_FOUND; |
267 } | 267 } |
OLD | NEW |