Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1051)

Unified Diff: vboot_firmware/include/tlcl.h

Issue 2711006: Import recent tpm_lite changes that make all TPM commands return a status. (Closed) Base URL: ssh://git@chromiumos-git/vboot_reference.git
Patch Set: cleanup from gauravsh's feedback Created 10 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « vboot_firmware/include/rollback_index.h ('k') | vboot_firmware/lib/firmware_image_fw.c » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: vboot_firmware/include/tlcl.h
diff --git a/vboot_firmware/include/tlcl.h b/vboot_firmware/include/tlcl.h
index 655b87763050212edfaee5ddadeab2e3deea456f..8a01928a25963728234d9f6d3af458a163ccf4cf 100644
--- a/vboot_firmware/include/tlcl.h
+++ b/vboot_firmware/include/tlcl.h
@@ -15,6 +15,10 @@
* duplicate copies in sync. But in the current model, this is hard
* to do without breaking standalone compilation.
* Eventually tpm_lite should be moved into vboot_reference.
+ *
+ * FURTHER NOTE: The subset of TPM error codes relevant to verified boot
+ * (TPM_SUCCESS, etc.) are in tss_constants.h. A full list of TPM error codes
+ * are in /usr/include/tss/tpm_error.h, from the trousers package.
*/
#ifndef TPM_LITE_TLCL_H_
@@ -27,74 +31,82 @@
/* Call this first.
*/
-void TlclLibinit(void);
+void TlclLibInit(void);
/* Sends a TPM_Startup(ST_CLEAR). Note that this is a no-op for the emulator,
- * because it runs this command during initialization.
+ * because it runs this command during initialization. The TPM error code is
+ * returned (0 for success).
*/
-void TlclStartup(void);
+uint32_t TlclStartup(void);
/* Run the self test. Note---this is synchronous. To run this in parallel
- * with other firmware, use ContinueSelfTest.
+ * with other firmware, use ContinueSelfTest. The TPM error code is returned.
*/
-void TlclSelftestfull(void);
+uint32_t TlclSelftestfull(void);
+
+/* Runs the self test in the background. The TPM error code is returned.
+ */
+uint32_t TlclContinueSelfTest(void);
/* Defines a space with permission [perm]. [index] is the index for the space,
- * [size] the usable data size. Errors are ignored.
+ * [size] the usable data size. The TPM error code is returned.
*/
-void TlclDefineSpace(uint32_t index, uint32_t perm, uint32_t size);
+uint32_t TlclDefineSpace(uint32_t index, uint32_t perm, uint32_t size);
/* Writes [length] bytes of [data] to space at [index]. The TPM error code is
- * returned (0 for success).
+ * returned.
*/
uint32_t TlclWrite(uint32_t index, uint8_t *data, uint32_t length);
/* Reads [length] bytes from space at [index] into [data]. The TPM error code
- * is returned (0 for success).
+ * is returned.
*/
uint32_t TlclRead(uint32_t index, uint8_t *data, uint32_t length);
-/* Write-locks space at [index].
+/* Write-locks space at [index]. The TPM error code is returned.
*/
-void TlclWriteLock(uint32_t index);
+uint32_t TlclWriteLock(uint32_t index);
-/* Read-locks space at [index].
+/* Read-locks space at [index]. The TPM error code is returned.
*/
-void TlclReadLock(uint32_t index);
+uint32_t TlclReadLock(uint32_t index);
-/* Asserts physical presence in software.
+/* Asserts physical presence in software. The TPM error code is returned.
*/
-void TlclAssertPhysicalPresence(void);
+uint32_t TlclAssertPhysicalPresence(void);
-/* Turns off physical presence and locks it off until next reboot.
+/* Turns off physical presence and locks it off until next reboot. The TPM
+ * error code is returned.
*/
uint32_t TlclLockPhysicalPresence(void);
-/* Sets the nvLocked bit.
+/* Sets the nvLocked bit. The TPM error code is returned.
*/
-void TlclSetNvLocked(void);
+uint32_t TlclSetNvLocked(void);
/* Returns 1 if the TPM is owned, 0 otherwise.
*/
int TlclIsOwned(void);
-/* Issues a ForceClear.
+/* Issues a ForceClear. The TPM error code is returned.
*/
-void TlclForceClear(void);
+uint32_t TlclForceClear(void);
-/* Issues a SetEnable.
+/* Issues a SetEnable. The TPM error code is returned.
*/
-void TlclSetEnable(void);
+uint32_t TlclSetEnable(void);
/* Issues a SetDeactivated. Pass 0 to activate. Returns result code.
*/
-int TlclSetDeactivated(uint8_t flag);
+uint32_t TlclSetDeactivated(uint8_t flag);
-/* Gets some permanent flags of interest. (Add more here as needed.)
+/* Gets flags of interest. (Add more here as needed.) The TPM error code is
+ * returned.
*/
-int TlclGetFlags(uint8_t* disable, uint8_t* deactivated);
+uint32_t TlclGetFlags(uint8_t* disable, uint8_t* deactivated);
-/* Sets the bGlobalLock flag, which only a reboot can clear.
+/* Sets the bGlobalLock flag, which only a reboot can clear. The TPM error
+ * code is returned.
*/
uint32_t TlclSetGlobalLock(void);
« no previous file with comments | « vboot_firmware/include/rollback_index.h ('k') | vboot_firmware/lib/firmware_image_fw.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698