qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Anthony Liguori <aliguori@us.ibm.com>
To: Corey Bryant <coreyb@linux.vnet.ibm.com>
Cc: kwolf@redhat.com, stefanb@linux.vnet.ibm.com,
	mdroth@linux.vnet.ibm.com, qemu-devel@nongnu.org,
	jschopp@linux.vnet.ibm.com, stefanha@redhat.com
Subject: Re: [Qemu-devel] [PATCH v3 0/3] TPM NVRAM persistent storage
Date: Fri, 14 Jun 2013 13:22:40 -0500	[thread overview]
Message-ID: <87ip1gblhr.fsf@codemonkey.ws> (raw)
In-Reply-To: <51BB42F5.4080101@linux.vnet.ibm.com>

Corey Bryant <coreyb@linux.vnet.ibm.com> writes:

> On 06/14/2013 11:56 AM, Anthony Liguori wrote:
>> Corey Bryant <coreyb@linux.vnet.ibm.com> writes:
>>
>>> On 06/14/2013 11:38 AM, Anthony Liguori wrote:
>>>> Corey Bryant <coreyb@linux.vnet.ibm.com> writes:
>>>>
>>>>> On 06/14/2013 10:01 AM, Anthony Liguori wrote:
>>>>>> Corey Bryant <coreyb@linux.vnet.ibm.com> writes:
>>>>>>
>>>>>>> This patch series provides persistent storage support that a TPM
>>>>>>> can use to store NVRAM data.  It uses QEMU's block driver to store
>>>>>>> data on a drive image.  The libtpms TPM 1.2 backend will be the
>>>>>>> initial user of this functionality to store data that must persist
>>>>>>> through a reboot or migration.  A sample command line may look like
>>>>>>> this:
>>>>>>
>>>>>> This should be folded into the libtpms backend series.
>>>>>>
>>>>>> There are no users for this so this would just be untestable code in the
>>>>>> tree subject to bitrot.
>>>>>>
>>>>>> Regards,
>>>>>>
>>>>>> Anthony Liguori
>>>>>>
>>>>>
>>>>> Fair enough.  I assume you're ok with this code though?
>>>>
>>>> I don't understand why it's needed to be honest.  I suspect this has to
>>>> do with the fact that the libtpms implementation will need significant
>>>> reworking.
>>>>
>>>> Regards,
>>>>
>>>> Anthony Liguori
>>>>
>>>
>>> In regards to why it is needed..  The QEMU software-emulated vTPM
>>> backend will pass callback functions to libtpms for writing/reading
>>> nvram data.  Those callbacks will use the code in this patch series to
>>> do the writing/reading of nvram data to/from image files so that the
>>> data persists through migration/reboot.
>>>
>>> I'm not sure I completely understand your second sentence, but yes the
>>> software-emulated vTPM backend code for QEMU will certainly need rework
>>> to use the code in this patch series.
>>
>> I think it's easiest to discuss this in the context of the actual patch
>> series.
>>
>> Regards,
>>
>> Anthony Liguori
>>
>
> I suppose, but the earlier we can get feedback the better so that we 
> don't waste any more time.  This NVRAM code alone has gone through far 
> too many iterations as folks have asked for it to go in different 
> directions, and we went in those directions to find that they were the 
> wrong directions.

Yes, it's iterating because the context is missing.

> Anyway, for the record, this latest patch series 
> adheres to the direction you suggested we take last month: 
> http://lists.nongnu.org/archive/html/qemu-devel/2013-05/msg04275.html

No, my last suggestion was to just do bdrv_aio_write() within the device
itself.  I realize there is some complexity because libtpms is threaded
and this is exactly why the context matters so much.

But code isn't merged unless it's useful on its own.  This code is not
useful on its own.

Regards,

Anthony Liguori

>
> -- 
> Regards,
> Corey Bryant
>
>>>
>>> --
>>> Regards,
>>> Corey Bryant
>>>
>>>>>
>>>>> --
>>>>> Regards,
>>>>> Corey Bryant
>>>>>
>>>>>>>
>>>>>>> qemu-system-x86_64 ...
>>>>>>> -drive file=/path/to/nvram.qcow2,id=drive-nvram0-0-0
>>>>>>> -tpmdev libtpms,id=tpm-tpm0
>>>>>>> -device tpm-tis,tpmdev=tpm-tpm0,id=tpm0,drive=drive-nvram0-0-0
>>>>>>>
>>>>>>> Thanks,
>>>>>>> Corey
>>>>>>>
>>>>>>> Corey Bryant (3):
>>>>>>>      nvram: Add TPM NVRAM implementation
>>>>>>>      nvram: Add tpm-tis drive support
>>>>>>>      TPM NVRAM test
>>>>>>>
>>>>>>>     hw/tpm/Makefile.objs     |    1 +
>>>>>>>     hw/tpm/tpm_int.h         |    2 +
>>>>>>>     hw/tpm/tpm_nvram.c       |  324 ++++++++++++++++++++++++++++++++++++++++++++++
>>>>>>>     hw/tpm/tpm_nvram.h       |   25 ++++
>>>>>>>     hw/tpm/tpm_passthrough.c |   85 ++++++++++++
>>>>>>>     hw/tpm/tpm_tis.c         |    8 +
>>>>>>>     6 files changed, 445 insertions(+), 0 deletions(-)
>>>>>>>     create mode 100644 hw/tpm/tpm_nvram.c
>>>>>>>     create mode 100644 hw/tpm/tpm_nvram.h
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>
>>>>
>>>>
>>
>>
>>

      reply	other threads:[~2013-06-14 18:23 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-06-06 13:32 [Qemu-devel] [PATCH v3 0/3] TPM NVRAM persistent storage Corey Bryant
2013-06-06 13:32 ` [Qemu-devel] [PATCH v3 1/3] nvram: Add TPM NVRAM implementation Corey Bryant
2013-06-06 13:32 ` [Qemu-devel] [PATCH v3 2/3] nvram: Add tpm-tis drive support Corey Bryant
2013-06-07  7:41 ` [Qemu-devel] [PATCH v3 0/3] TPM NVRAM persistent storage Stefan Hajnoczi
2013-06-07 12:53   ` Corey Bryant
2013-06-14 14:01 ` Anthony Liguori
2013-06-14 15:05   ` Corey Bryant
2013-06-14 15:38     ` Anthony Liguori
2013-06-14 15:50       ` Stefan Berger
2013-06-14 15:51       ` Corey Bryant
2013-06-14 15:56         ` Anthony Liguori
2013-06-14 16:21           ` Corey Bryant
2013-06-14 18:22             ` Anthony Liguori [this message]

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=87ip1gblhr.fsf@codemonkey.ws \
    --to=aliguori@us.ibm.com \
    --cc=coreyb@linux.vnet.ibm.com \
    --cc=jschopp@linux.vnet.ibm.com \
    --cc=kwolf@redhat.com \
    --cc=mdroth@linux.vnet.ibm.com \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanb@linux.vnet.ibm.com \
    --cc=stefanha@redhat.com \
    /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).