From 3bb4db4c3883c66ee0bbf152e9ba1d2504fa8c9f Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Tue, 30 Aug 2022 21:05:36 -0600 Subject: tpm: Allow reporting the internal state It is useful to read information about the current TPM state, where supported, e.g. for debugging purposes when verified boot fails. Add support for this to the TPM interface as well as Cr50. Add a simple sandbox test. Signed-off-by: Simon Glass Reviewed-by: Ilias Apalodimas Signed-off-by: Ilias Apalodimas --- include/tpm-common.h | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'include') diff --git a/include/tpm-common.h b/include/tpm-common.h index a28629e7013..b2c5404430f 100644 --- a/include/tpm-common.h +++ b/include/tpm-common.h @@ -119,6 +119,16 @@ struct tpm_ops { */ int (*get_desc)(struct udevice *dev, char *buf, int size); + /** + * report_state() - Collect information about the current TPM state + * + * @dev: Device to check + * @buf: Buffer to put the string + * @size: Maximum size of buffer + * Return: return code of the operation (0 = success) + */ + int (*report_state)(struct udevice *dev, char *buf, int size); + /** * send() - send data to the TPM * @@ -234,6 +244,16 @@ u32 tpm_clear_and_reenable(struct udevice *dev); */ int tpm_get_desc(struct udevice *dev, char *buf, int size); +/** + * tpm_report_state() - Collect information about the current TPM state + * + * @dev: Device to check + * @buf: Buffer to put the string + * @size: Maximum size of buffer + * Return: return code of the operation (0 = success) + */ +int tpm_report_state(struct udevice *dev, char *buf, int size); + /** * tpm_xfer() - send data to the TPM and get response * -- cgit v1.2.3