qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Stefan Berger <stefanb@linux.vnet.ibm.com>
To: Corey Bryant <coreyb@linux.vnet.ibm.com>
Cc: mst@redhat.com, qemu-devel@nongnu.org, anthony@codemonkey.ws,
	andreas.niederl@iaik.tugraz.at
Subject: Re: [Qemu-devel] [PATCH V19 5/7] Add a TPM Passthrough backend driver implementation
Date: Wed, 24 Oct 2012 15:07:18 -0400	[thread overview]
Message-ID: <50883C66.9090505@linux.vnet.ibm.com> (raw)
In-Reply-To: <50646287.9000107@linux.vnet.ibm.com>

On 09/27/2012 10:28 AM, Corey Bryant wrote:
>
>
> On 06/04/2012 03:37 PM, Stefan Berger wrote:
>> +
>> +/* borrowed from qemu-char.c */
>> +static int tpm_passthrough_unix_write(int fd, const uint8_t *buf, 
>> uint32_t len)
>> +{
>> +    return send_all(fd, buf, len);
>> +}
>> +
>> +static int tpm_passthrough_unix_read(int fd, uint8_t *buf, uint32_t 
>> len)
>
> It would probably be useful to other parts of QEMU if you defined this 
> function as recv_all() and put it in qemu-char.c (to correspond with 
> send_all()).
>

Ok. I'd keep this patch to qemu-char.c inside of this patch, though, 
unless someone opposes.

>> +
>> +static int tpm_passthrough_startup_tpm(TPMBackend *tb)
>> +{
>> +    TPMPassthruState *tpm_pt = tb->s.tpm_pt;
>> +    int rc;
>> +
>> +    rc = tpm_passthrough_do_startup_tpm(tb);
>> +    if (rc) {
>> +        tpm_pt->had_startup_error = true;
>
> tpm_passthrough_do_startup_tpm() always returns zero, so 
> had_startup_error will never be set to true.
>

I am consolidating the code into tpm_passthrough_startup_tpm() but let 
that return an int considering that other backend drivers may return an 
error code.

>> +static void tpm_passthrough_reset(TPMBackend *tb)
>> +{
>> +    TPMPassthruState *tpm_pt = tb->s.tpm_pt;
>> +
>> +    dprintf("tpm_passthrough: CALL TO TPM_RESET!\n");
>> +
>> +    tpm_backend_thread_end(&tpm_pt->tbt);
>
> Should the thread be restarted here?
>

No. If the backend needs to be restarted, the frontend will invoke the 
startup_tpm function.


>> +static bool tpm_passthrough_get_tpm_established_flag(TPMBackend *tb)
>> +{
>> +    return false;
>
> Can a T/OS never be established with the passthrough backend?
>

Following the specs, this bit is set when locality 5 is used and a hash 
operation is started. See part 2 of the TPM specs.
The establishment bit could be read from the hardware TPM's permanent 
flags. The question is what it means to show this bit inside the VM. I 
wasn't sure, so I hardcoded it to always return false.

     Stefan

  reply	other threads:[~2012-10-24 19:09 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-06-04 19:37 [Qemu-devel] [PATCH V19 0/7] Qemu Trusted Platform Module (TPM) integration Stefan Berger
2012-06-04 19:37 ` [Qemu-devel] [PATCH V19 1/7] Support for TPM command line options Stefan Berger
2012-09-27 14:12   ` Corey Bryant
2012-10-24 19:06     ` Stefan Berger
2012-11-08 15:52       ` Corey Bryant
2012-11-12 13:04         ` Stefan Berger
2012-06-04 19:37 ` [Qemu-devel] [PATCH V19 2/7] Add TPM (frontend) hardware interface (TPM TIS) to Qemu Stefan Berger
2012-09-27 14:22   ` Corey Bryant
2012-10-24 18:46     ` Stefan Berger
2012-11-08 15:39       ` Corey Bryant
2012-11-12 13:16         ` Stefan Berger
2012-11-12 18:48           ` Corey Bryant
2012-10-03 18:35   ` Corey Bryant
2012-06-04 19:37 ` [Qemu-devel] [PATCH V19 3/7] Add a debug register Stefan Berger
2012-09-27 14:23   ` Corey Bryant
2012-06-04 19:37 ` [Qemu-devel] [PATCH V19 4/7] Build the TPM frontend code Stefan Berger
2012-09-27 14:24   ` Corey Bryant
2012-06-04 19:37 ` [Qemu-devel] [PATCH V19 5/7] Add a TPM Passthrough backend driver implementation Stefan Berger
2012-09-27 14:28   ` Corey Bryant
2012-10-24 19:07     ` Stefan Berger [this message]
2012-06-04 19:37 ` [Qemu-devel] [PATCH V19 6/7] Introduce --enable-tpm-passthrough configure option Stefan Berger
2012-09-27 14:29   ` Corey Bryant
2012-06-04 19:37 ` [Qemu-devel] [PATCH V19 7/7] Add fd parameter for TPM passthrough driver Stefan Berger
2012-09-27 14:35   ` Corey Bryant
2012-10-03 18:46   ` Corey Bryant
2012-10-24 19:06     ` Stefan Berger
2012-06-04 19:56 ` [Qemu-devel] [PATCH V19 0/7] Qemu Trusted Platform Module (TPM) integration Stefan Weil
2012-06-04 23:08   ` Anthony Liguori
2012-09-27 14:59 ` Corey Bryant
2012-09-28 22:43   ` Stefan Berger

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=50883C66.9090505@linux.vnet.ibm.com \
    --to=stefanb@linux.vnet.ibm.com \
    --cc=andreas.niederl@iaik.tugraz.at \
    --cc=anthony@codemonkey.ws \
    --cc=coreyb@linux.vnet.ibm.com \
    --cc=mst@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).