From: Marek Vasut <marek.vasut@gmail.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v2 2/2] Add a cli command to test the TPM device.
Date: Sat, 15 Oct 2011 20:02:29 +0200 [thread overview]
Message-ID: <201110152002.29886.marek.vasut@gmail.com> (raw)
In-Reply-To: <20111015033908.13FA4419FF@eskimo.mtv.corp.google.com>
On Saturday, October 15, 2011 05:39:08 AM Vadim Bendebury wrote:
> The command gets an arbitrary number of arguments (up to 30), which
> are interpreted as byte values and are feed into the TPM device after
> proper initialization. Then the return value and data of the TPM
> driver is examined.
>
Dear Vadim Bendebury,
[...]
> diff --git a/common/cmd_tpm.c b/common/cmd_tpm.c
> new file mode 100644
> index 0000000..e008a78
> --- /dev/null
> +++ b/common/cmd_tpm.c
> @@ -0,0 +1,111 @@
> +/*
> + * Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
> + * Released under the 2-clause BSD license.
Are we ok with this ? Also, you say something about GPL in the same comment?
> + *
> + * See file CREDITS for list of people who contributed to this
> + * project.
> + *
> + * This program is free software; you can redistribute it and/or
> + * modify it under the terms of the GNU General Public License as
> + * published by the Free Software Foundation; either version 2 of
> + * the License, or (at your option) any later version.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> + * GNU General Public License for more details.
> + *
> + * You should have received a copy of the GNU General Public License
> + * along with this program; if not, write to the Free Software
> + * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
> + * MA 02111-1307 USA
> + */
> +
[...]
> + puts("Got TPM response:\n");
> + for (i = 0; i < read_size; i++)
> + printf(" %2.2x", tpm_buffer[i]);
> + puts("\n");
> + rv = 0;
> + } else {
> + puts("tpm command failed\n");
> + }
> + return rv;
> +}
You might want to use debug() where fitting ?
> +
> +static int do_tpm(cmd_tbl_t *cmdtp, int flag, int argc, char * const
> argv[]) +{
> + int rv = 0;
> +
> + /*
> + * Verify that in case it is present, the first argument, it is
> + * exactly one character in size.
> + */
> + if (argc < 7) {
> + puts("command should be at least six bytes in size\n");
> + return ~0;
Ugh, return 1 isn't ok ? Using ~0 on int type is weird.
> + }
> +
> + if (tis_init()) {
> + puts("tis_init() failed!\n");
> + return ~0;
> + }
> +
> + if (tis_open()) {
> + puts("tis_open() failed!\n");
> + return ~0;
> + }
> +
> + rv = tpm_process(argc - 1, argv + 1);
> +
> + if (!rv && tis_close()) {
> + puts("tis_close() failed!\n");
> + rv = ~0;
This doesn't make much sense, tis_close() might not be called under all
circumstances, is it ok ?
> + }
> +
> + return rv;
> +}
> +
> +U_BOOT_CMD(tpm, MAX_TRANSACTION_SIZE, 1, do_tpm,
> + "tpm <data> [<data>] - write data and read ressponse\n",
> + "send arbitrary data to the TPM and read the response"
> +);
> +
> +static void report_error(const char *msg)
> +{
> + if (msg && *msg)
Uhm, you also check if first character is non-zero? why ?
> + printf("%s\n", msg);
> + cmd_usage(&__u_boot_cmd_tpm);
Two underscores aren't a good practice.
> +}
Cheers
next prev parent reply other threads:[~2011-10-15 18:02 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-10-15 3:39 [U-Boot] [PATCH v2 2/2] Add a cli command to test the TPM device Vadim Bendebury
2011-10-15 18:02 ` Marek Vasut [this message]
2011-10-15 18:23 ` Vadim Bendebury
2011-10-15 19:44 ` Wolfgang Denk
2011-10-15 20:01 ` Mike Frysinger
2011-10-15 20:27 ` Vadim Bendebury
2011-10-16 5:15 ` Mike Frysinger
2011-10-16 0:58 ` Vadim Bendebury
2011-10-15 19:08 ` Mike Frysinger
2011-10-16 0:56 ` Vadim Bendebury
2011-10-15 19:13 ` Mike Frysinger
2011-10-15 19:14 ` Mike Frysinger
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=201110152002.29886.marek.vasut@gmail.com \
--to=marek.vasut@gmail.com \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.