* [Qemu-devel] [PATCH 3/4] tpm: QMP/HMP support for libtpms TPM backend
@ 2013-11-06 14:39 Corey Bryant
2013-11-06 16:13 ` Eric Blake
0 siblings, 1 reply; 4+ messages in thread
From: Corey Bryant @ 2013-11-06 14:39 UTC (permalink / raw)
To: qemu-devel; +Cc: Corey Bryant, aliguori
This patch provides HMP 'info tpm', QMP 'query-tpm' and QMP
'query-tpm-types' support for the libtpms TPM backend.
Signed-off-by: Corey Bryant <coreyb@linux.vnet.ibm.com>
---
hmp.c | 5 +++++
include/sysemu/tpm_backend.h | 1 +
qapi-schema.json | 18 ++++++++++++++++--
tpm.c | 7 +++++++
4 files changed, 29 insertions(+), 2 deletions(-)
diff --git a/hmp.c b/hmp.c
index 32ee285..0903969 100644
--- a/hmp.c
+++ b/hmp.c
@@ -673,6 +673,7 @@ void hmp_info_tpm(Monitor *mon, const QDict *qdict)
Error *err = NULL;
unsigned int c = 0;
TPMPassthroughOptions *tpo;
+ TPMLibtpmsOptions *tlo;
info_list = qmp_query_tpm(&err);
if (err) {
@@ -702,6 +703,10 @@ void hmp_info_tpm(Monitor *mon, const QDict *qdict)
tpo->has_cancel_path ? ",cancel-path=" : "",
tpo->has_cancel_path ? tpo->cancel_path : "");
break;
+ case TPM_TYPE_OPTIONS_KIND_LIBTPMS:
+ tlo = ti->options->libtpms;
+ monitor_printf(mon, ",nvram=%s", tlo->nvram);
+ break;
case TPM_TYPE_OPTIONS_KIND_MAX:
break;
}
diff --git a/include/sysemu/tpm_backend.h b/include/sysemu/tpm_backend.h
index c7a7281..e648f79 100644
--- a/include/sysemu/tpm_backend.h
+++ b/include/sysemu/tpm_backend.h
@@ -51,6 +51,7 @@ struct TPMBackend {
enum TpmModel fe_model;
char *path;
char *cancel_path;
+ char *nvram_id;
const TPMDriverOps *ops;
QLIST_ENTRY(TPMBackend) list;
diff --git a/qapi-schema.json b/qapi-schema.json
index 81a375b..564e529 100644
--- a/qapi-schema.json
+++ b/qapi-schema.json
@@ -3673,10 +3673,11 @@
# An enumeration of TPM types
#
# @passthrough: TPM passthrough type
+# @libtpms: TPM libtpms type
#
# Since: 1.5
##
-{ 'enum': 'TpmType', 'data': [ 'passthrough' ] }
+{ 'enum': 'TpmType', 'data': [ 'passthrough', 'libtpms' ] }
##
# @query-tpm-types:
@@ -3705,16 +3706,29 @@
'*cancel-path' : 'str'} }
##
+# @TPMLibtpmsOptions:
+#
+# Information about the TPM libtpms type
+#
+# @nvram: string showing the NVRAM drive id
+#
+# Since: 1.8
+##
+{ 'type': 'TPMLibtpmsOptions', 'data': { 'nvram' : 'str' } }
+
+##
# @TpmTypeOptions:
#
# A union referencing different TPM backend types' configuration options
#
# @passthrough: The configuration options for the TPM passthrough type
+# @libtpms: The configuration options for the TPM libtpms type
#
# Since: 1.5
##
{ 'union': 'TpmTypeOptions',
- 'data': { 'passthrough' : 'TPMPassthroughOptions' } }
+ 'data': { 'passthrough' : 'TPMPassthroughOptions',
+ 'libtpms' : 'TPMLibtpmsOptions' } }
##
# @TpmInfo:
diff --git a/tpm.c b/tpm.c
index 1dd516b..2f4ef52 100644
--- a/tpm.c
+++ b/tpm.c
@@ -275,6 +275,7 @@ static TPMInfo *qmp_query_tpm_inst(TPMBackend *drv)
{
TPMInfo *res = g_new0(TPMInfo, 1);
TPMPassthroughOptions *tpo;
+ TPMLibtpmsOptions *tlo;
res->id = g_strdup(drv->id);
res->model = drv->fe_model;
@@ -294,6 +295,12 @@ static TPMInfo *qmp_query_tpm_inst(TPMBackend *drv)
tpo->has_cancel_path = true;
}
break;
+ case TPM_TYPE_LIBTPMS:
+ res->options->kind = TPM_TYPE_OPTIONS_KIND_LIBTPMS;
+ tlo = g_new0(TPMLibtpmsOptions, 1);
+ res->options->libtpms = tlo;
+ tlo->nvram = g_strdup(drv->nvram_id);
+ break;
case TPM_TYPE_MAX:
break;
}
--
1.7.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [Qemu-devel] [PATCH 3/4] tpm: QMP/HMP support for libtpms TPM backend
2013-11-06 14:39 [Qemu-devel] [PATCH 3/4] tpm: QMP/HMP support for libtpms TPM backend Corey Bryant
@ 2013-11-06 16:13 ` Eric Blake
2013-11-06 19:35 ` Corey Bryant
0 siblings, 1 reply; 4+ messages in thread
From: Eric Blake @ 2013-11-06 16:13 UTC (permalink / raw)
To: Corey Bryant, qemu-devel; +Cc: aliguori
[-- Attachment #1: Type: text/plain, Size: 1510 bytes --]
On 11/06/2013 07:39 AM, Corey Bryant wrote:
[your git settings are odd; your messages came across as individual
threads rather than in-reply to the cover letter]
> This patch provides HMP 'info tpm', QMP 'query-tpm' and QMP
> 'query-tpm-types' support for the libtpms TPM backend.
>
> Signed-off-by: Corey Bryant <coreyb@linux.vnet.ibm.com>
> ---
> hmp.c | 5 +++++
> include/sysemu/tpm_backend.h | 1 +
> qapi-schema.json | 18 ++++++++++++++++--
> tpm.c | 7 +++++++
> 4 files changed, 29 insertions(+), 2 deletions(-)
>
> +++ b/qapi-schema.json
> @@ -3673,10 +3673,11 @@
> # An enumeration of TPM types
> #
> # @passthrough: TPM passthrough type
> +# @libtpms: TPM libtpms type
Worth adding '(since 1.8)' to mark when this enum value was added.
> # @TpmTypeOptions:
> #
> # A union referencing different TPM backend types' configuration options
> #
> # @passthrough: The configuration options for the TPM passthrough type
> +# @libtpms: The configuration options for the TPM libtpms type
here as well.
> #
> # Since: 1.5
> ##
> { 'union': 'TpmTypeOptions',
> - 'data': { 'passthrough' : 'TPMPassthroughOptions' } }
> + 'data': { 'passthrough' : 'TPMPassthroughOptions',
> + 'libtpms' : 'TPMLibtpmsOptions' } }
>
Otherwise it looks okay to me.
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library http://libvirt.org
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 621 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [Qemu-devel] [PATCH 3/4] tpm: QMP/HMP support for libtpms TPM backend
2013-11-06 16:13 ` Eric Blake
@ 2013-11-06 19:35 ` Corey Bryant
2013-11-06 20:15 ` Eric Blake
0 siblings, 1 reply; 4+ messages in thread
From: Corey Bryant @ 2013-11-06 19:35 UTC (permalink / raw)
To: Eric Blake, qemu-devel; +Cc: aliguori
On 11/06/2013 11:13 AM, Eric Blake wrote:
> On 11/06/2013 07:39 AM, Corey Bryant wrote:
>
> [your git settings are odd; your messages came across as individual
> threads rather than in-reply to the cover letter]
>
I wonder if that's because I sent each patch separately with git
send-email? Sometimes it hangs when I send more than 1.
>> This patch provides HMP 'info tpm', QMP 'query-tpm' and QMP
>> 'query-tpm-types' support for the libtpms TPM backend.
>>
>> Signed-off-by: Corey Bryant <coreyb@linux.vnet.ibm.com>
>> ---
>> hmp.c | 5 +++++
>> include/sysemu/tpm_backend.h | 1 +
>> qapi-schema.json | 18 ++++++++++++++++--
>> tpm.c | 7 +++++++
>> 4 files changed, 29 insertions(+), 2 deletions(-)
>>
>> +++ b/qapi-schema.json
>> @@ -3673,10 +3673,11 @@
>> # An enumeration of TPM types
>> #
>> # @passthrough: TPM passthrough type
>> +# @libtpms: TPM libtpms type
>
> Worth adding '(since 1.8)' to mark when this enum value was added.
>
>> # @TpmTypeOptions:
>> #
>> # A union referencing different TPM backend types' configuration options
>> #
>> # @passthrough: The configuration options for the TPM passthrough type
>> +# @libtpms: The configuration options for the TPM libtpms type
>
> here as well.
>
>> #
>> # Since: 1.5
>> ##
>> { 'union': 'TpmTypeOptions',
>> - 'data': { 'passthrough' : 'TPMPassthroughOptions' } }
>> + 'data': { 'passthrough' : 'TPMPassthroughOptions',
>> + 'libtpms' : 'TPMLibtpmsOptions' } }
>>
>
> Otherwise it looks okay to me.
>
Thanks for the comments. I'll add them to the next version. Can I add
your Reviewed-by to this patch?
--
Regards,
Corey Bryant
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [Qemu-devel] [PATCH 3/4] tpm: QMP/HMP support for libtpms TPM backend
2013-11-06 19:35 ` Corey Bryant
@ 2013-11-06 20:15 ` Eric Blake
0 siblings, 0 replies; 4+ messages in thread
From: Eric Blake @ 2013-11-06 20:15 UTC (permalink / raw)
To: Corey Bryant, qemu-devel; +Cc: aliguori
[-- Attachment #1: Type: text/plain, Size: 691 bytes --]
On 11/06/2013 12:35 PM, Corey Bryant wrote:
>>> #
>>> # Since: 1.5
>>> ##
>>> { 'union': 'TpmTypeOptions',
>>> - 'data': { 'passthrough' : 'TPMPassthroughOptions' } }
>>> + 'data': { 'passthrough' : 'TPMPassthroughOptions',
>>> + 'libtpms' : 'TPMLibtpmsOptions' } }
>>>
>>
>> Otherwise it looks okay to me.
>>
>
> Thanks for the comments. I'll add them to the next version. Can I add
> your Reviewed-by to this patch?
Yes, now that I've looked at the full patch (and not just the .json):
Reviewed-by: Eric Blake <eblake@redhat.com>
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library http://libvirt.org
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 621 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2013-11-06 20:16 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-11-06 14:39 [Qemu-devel] [PATCH 3/4] tpm: QMP/HMP support for libtpms TPM backend Corey Bryant
2013-11-06 16:13 ` Eric Blake
2013-11-06 19:35 ` Corey Bryant
2013-11-06 20:15 ` Eric Blake
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).