Message ID | 1383748741-8865-1-git-send-email-coreyb@linux.vnet.ibm.com |
---|---|
State | New |
Headers | show |
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.
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?
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>
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; }
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(-)