| 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 | 5 |
| 6 /* A lightweight TPM command library. | 6 /* A lightweight TPM command library. |
| 7 * | 7 * |
| 8 * The general idea is that TPM commands are array of bytes whose | 8 * The general idea is that TPM commands are array of bytes whose |
| 9 * fields are mostly compile-time constant. The goal is to build much | 9 * fields are mostly compile-time constant. The goal is to build much |
| 10 * of the commands at compile time (or build time) and change some of | 10 * of the commands at compile time (or build time) and change some of |
| (...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 84 | 84 |
| 85 | 85 |
| 86 /* Sends a command and returns the error code. */ | 86 /* Sends a command and returns the error code. */ |
| 87 static uint32_t Send(const uint8_t* command) { | 87 static uint32_t Send(const uint8_t* command) { |
| 88 uint8_t response[TPM_LARGE_ENOUGH_COMMAND_SIZE]; | 88 uint8_t response[TPM_LARGE_ENOUGH_COMMAND_SIZE]; |
| 89 return TlclSendReceive(command, response, sizeof(response)); | 89 return TlclSendReceive(command, response, sizeof(response)); |
| 90 } | 90 } |
| 91 | 91 |
| 92 /* Exported functions. */ | 92 /* Exported functions. */ |
| 93 | 93 |
| 94 void TlclLibInit(void) { | 94 uint32_t TlclLibInit(void) { |
| 95 TlclStubInit(); | 95 return TlclStubInit(); |
| 96 } | 96 } |
| 97 | 97 |
| 98 uint32_t TlclStartup(void) { | 98 uint32_t TlclStartup(void) { |
| 99 VBDEBUG(("TPM: Startup\n")); | 99 VBDEBUG(("TPM: Startup\n")); |
| 100 return Send(tpm_startup_cmd.buffer); | 100 return Send(tpm_startup_cmd.buffer); |
| 101 } | 101 } |
| 102 | 102 |
| 103 uint32_t TlclResume(void) { | 103 uint32_t TlclResume(void) { |
| 104 VBDEBUG(("TPM: Resume\n")); | 104 VBDEBUG(("TPM: Resume\n")); |
| 105 return Send(tpm_resume_cmd.buffer); | 105 return Send(tpm_resume_cmd.buffer); |
| (...skipping 212 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 318 Memcpy(&cmd, &tpm_getpermissions_cmd, sizeof(cmd)); | 318 Memcpy(&cmd, &tpm_getpermissions_cmd, sizeof(cmd)); |
| 319 ToTpmUint32(cmd.buffer + tpm_getpermissions_cmd.index, index); | 319 ToTpmUint32(cmd.buffer + tpm_getpermissions_cmd.index, index); |
| 320 result = TlclSendReceive(cmd.buffer, response, sizeof(response)); | 320 result = TlclSendReceive(cmd.buffer, response, sizeof(response)); |
| 321 if (result != TPM_SUCCESS) | 321 if (result != TPM_SUCCESS) |
| 322 return result; | 322 return result; |
| 323 | 323 |
| 324 nvdata = response + kTpmResponseHeaderLength + sizeof(size); | 324 nvdata = response + kTpmResponseHeaderLength + sizeof(size); |
| 325 FromTpmUint32(nvdata + kNvDataPublicPermissionsOffset, permissions); | 325 FromTpmUint32(nvdata + kNvDataPublicPermissionsOffset, permissions); |
| 326 return result; | 326 return result; |
| 327 } | 327 } |
| OLD | NEW |