tpm: Add debugging of request in tpm_sendrecv_command()
authorSimon Glass <sjg@chromium.org>
Sat, 6 Feb 2021 21:23:34 +0000 (14:23 -0700)
committerTom Rini <trini@konsulko.com>
Tue, 2 Mar 2021 20:53:37 +0000 (15:53 -0500)
The response is shown but not the request. Update the code to show both
if debugging is enabled.

Use a 'uint' type for size so it matches the register-word size on both
32- and 64-bit machines.

Signed-off-by: Simon Glass <sjg@chromium.org>
lib/tpm-common.c

index e4af87f76aa7aa13c47acd2109a42a755d7bef60..4277846fdd06291e3bb226112ea32a4995d9f35c 100644 (file)
@@ -166,6 +166,7 @@ u32 tpm_sendrecv_command(struct udevice *dev, const void *command,
        u8 response_buffer[COMMAND_BUFFER_SIZE];
        size_t response_length;
        int i;
+       uint size;
 
        if (response) {
                response_length = *size_ptr;
@@ -174,8 +175,13 @@ u32 tpm_sendrecv_command(struct udevice *dev, const void *command,
                response_length = sizeof(response_buffer);
        }
 
-       err = tpm_xfer(dev, command, tpm_command_size(command),
-                      response, &response_length);
+       size = tpm_command_size(command);
+       log_debug("TPM request [size:%d]: ", size);
+       for (i = 0; i < size; i++)
+               log_debug("%02x ", ((u8 *)command)[i]);
+       log_debug("\n");
+
+       err = tpm_xfer(dev, command, size, response, &response_length);
 
        if (err < 0)
                return err;