[U-Boot] [PATCH v2 06/19] tpm: add macros for TPMv2 commands
Miquel Raynal
miquel.raynal at bootlin.com
Thu Mar 29 07:43:48 UTC 2018
TPM commands are much easier to handle with these macros that will
transform words or integers into byte string. This way, there is no need
to call pack_byte_string() while all variable length in a command are
known (and at must 4 bytes, which is a lot of them).
Signed-off-by: Miquel Raynal <miquel.raynal at bootlin.com>
---
lib/tpm.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/lib/tpm.c b/lib/tpm.c
index 38b76b4961..2b329145be 100644
--- a/lib/tpm.c
+++ b/lib/tpm.c
@@ -15,6 +15,12 @@
/* Internal error of TPM command library */
#define TPM_LIB_ERROR ((uint32_t)~0u)
+/* To make strings of commands more easily */
+#define __MSB(x) ((x) >> 8)
+#define __LSB(x) ((x) & 0xFF)
+#define U16_TO_ARRAY(x) __MSB(x), __LSB(x)
+#define U32_TO_ARRAY(x) U16_TO_ARRAY((x) >> 16), U16_TO_ARRAY((x) & 0xFFFF)
+
/* Global boolean to discriminate TPMv2.x from TPMv1.x functions */
static bool is_tpmv2;
--
2.14.1
More information about the U-Boot
mailing list