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 #include "rollback_index.h" | 9 #include "rollback_index.h" |
10 | 10 |
11 #include "tlcl.h" | 11 #include "tlcl.h" |
12 #include "tss_constants.h" | 12 #include "tss_constants.h" |
13 #include "utility.h" | 13 #include "utility.h" |
14 | 14 |
15 uint16_t g_firmware_key_version = 0; | 15 uint16_t g_firmware_key_version = 0; |
16 uint16_t g_firmware_version = 0; | 16 uint16_t g_firmware_version = 0; |
17 uint16_t g_kernel_key_version = 0; | 17 uint16_t g_kernel_key_version = 0; |
18 uint16_t g_kernel_version = 0; | 18 uint16_t g_kernel_version = 0; |
19 | 19 |
| 20 /* disable MSVC warning on const logical expression (as in } while(0);) */ |
| 21 __pragma(warning (disable: 4127)) |
| 22 |
20 #define RETURN_ON_FAILURE(tpm_command) do { \ | 23 #define RETURN_ON_FAILURE(tpm_command) do { \ |
21 uint32_t result; \ | 24 uint32_t result; \ |
22 if ((result = (tpm_command)) != TPM_SUCCESS) { \ | 25 if ((result = (tpm_command)) != TPM_SUCCESS) { \ |
23 return result; \ | 26 return result; \ |
24 } \ | 27 } \ |
25 } while (0) | 28 } while (0) |
26 | 29 |
27 static uint32_t TPMClearAndReenable() { | 30 static uint32_t TPMClearAndReenable() { |
28 RETURN_ON_FAILURE(TlclForceClear()); | 31 RETURN_ON_FAILURE(TlclForceClear()); |
29 RETURN_ON_FAILURE(TlclSetEnable()); | 32 RETURN_ON_FAILURE(TlclSetEnable()); |
(...skipping 332 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
362 } | 365 } |
363 | 366 |
364 uint32_t LockFirmwareVersions() { | 367 uint32_t LockFirmwareVersions() { |
365 return TlclSetGlobalLock(); | 368 return TlclSetGlobalLock(); |
366 } | 369 } |
367 | 370 |
368 uint32_t LockKernelVersionsByLockingPP() { | 371 uint32_t LockKernelVersionsByLockingPP() { |
369 return TlclLockPhysicalPresence(); | 372 return TlclLockPhysicalPresence(); |
370 } | 373 } |
371 | 374 |
372 | 375 /* disable MSVC warnings on unused arguments */ |
| 376 __pragma(warning (disable: 4100)) |
373 | 377 |
374 /* NEW APIS! HELP ME LUIGI, YOU'RE MY ONLY HOPE! */ | 378 /* NEW APIS! HELP ME LUIGI, YOU'RE MY ONLY HOPE! */ |
375 | 379 |
376 uint32_t RollbackFirmwareSetup(int developer_mode, | 380 uint32_t RollbackFirmwareSetup(int developer_mode, |
377 uint16_t* key_version, uint16_t* version) { | 381 uint16_t* key_version, uint16_t* version) { |
378 return TPM_SUCCESS; | 382 return TPM_SUCCESS; |
379 } | 383 } |
380 | 384 |
381 uint32_t RollbackFirmwareWrite(uint16_t key_version, uint16_t version) { | 385 uint32_t RollbackFirmwareWrite(uint16_t key_version, uint16_t version) { |
382 return TPM_SUCCESS; | 386 return TPM_SUCCESS; |
(...skipping 11 matching lines...) Expand all Loading... |
394 return TPM_SUCCESS; | 398 return TPM_SUCCESS; |
395 } | 399 } |
396 | 400 |
397 uint32_t RollbackKernelWrite(uint16_t key_version, uint16_t version) { | 401 uint32_t RollbackKernelWrite(uint16_t key_version, uint16_t version) { |
398 return TPM_SUCCESS; | 402 return TPM_SUCCESS; |
399 } | 403 } |
400 | 404 |
401 uint32_t RollbackKernelLock(void) { | 405 uint32_t RollbackKernelLock(void) { |
402 return TPM_SUCCESS; | 406 return TPM_SUCCESS; |
403 } | 407 } |
OLD | NEW |