Message ID | 1416802253-9891-1-git-send-email-quan.xu@intel.com |
---|---|
State | New |
Headers | show |
On 11/23/2014 09:10 PM, Quan Xu wrote: > Signed-off-by: Quan Xu <quan.xu@intel.com> > --- > configure | 14 ++++++++++++++ > hmp.c | 7 +++++++ > qapi-schema.json | 20 ++++++++++++++++++-- > qemu-options.hx | 13 +++++++++++-- > tpm.c | 7 ++++++- > 5 files changed, 56 insertions(+), 5 deletions(-) > > +++ b/qapi-schema.json > @@ -2855,8 +2855,12 @@ > # @passthrough: TPM passthrough type > # > # Since: 1.5 > +# > +# @xenstubdoms: TPM xenstubdoms type > +# > +# Since: 2.3 Typically, this would be done as: # @passthrough: TPM passthrough type # # @xenstubdoms: TPM xenstubdoms type (since 2.3) # # Since: 1.5 as the enum itself was added in 1.5, not 2.3.
On 11/24/2014 10:19 AM, Eric Blake wrote: > On 11/23/2014 09:10 PM, Quan Xu wrote: >> Signed-off-by: Quan Xu <quan.xu@intel.com> >> --- >> configure | 14 ++++++++++++++ >> hmp.c | 7 +++++++ >> qapi-schema.json | 20 ++++++++++++++++++-- >> qemu-options.hx | 13 +++++++++++-- >> tpm.c | 7 ++++++- >> 5 files changed, 56 insertions(+), 5 deletions(-) Also, this message was not threaded properly; it appeared as a top-level thread along with three other threads for its siblings, instead of all four patches being in-reply-to the 0/4 cover letter.
> -----Original Message----- > From: xen-devel-bounces@lists.xen.org > [mailto:xen-devel-bounces@lists.xen.org] On Behalf Of Eric Blake > Sent: Tuesday, November 25, 2014 1:31 AM > To: Xu, Quan; qemu-devel@nongnu.org > Cc: xen-devel@lists.xen.org; armbru@redhat.com; lcapitulino@redhat.com > Subject: Re: [Xen-devel] [Qemu-devel] [v2 1/4] Qemu-Xen-vTPM: Support for > Xen stubdom vTPM command line options > > On 11/24/2014 10:19 AM, Eric Blake wrote: > > On 11/23/2014 09:10 PM, Quan Xu wrote: > >> Signed-off-by: Quan Xu <quan.xu@intel.com> > >> --- > >> configure | 14 ++++++++++++++ > >> hmp.c | 7 +++++++ > >> qapi-schema.json | 20 ++++++++++++++++++-- qemu-options.hx | > 13 > >> +++++++++++-- > >> tpm.c | 7 ++++++- > >> 5 files changed, 56 insertions(+), 5 deletions(-) > > Also, this message was not threaded properly; it appeared as a top-level > thread along with three other threads for its siblings, instead of all four > patches being in-reply-to the 0/4 cover letter. > Thanks Eric. Should I: V2 is version number, 1. $git format-patch --subject-prefix=v2 -ns --cover-letter master Then, edit 0000-cover-letter.patch 2. $git format-patch --subject-prefix=v2 -4 Then, commit these 4 patch and 0000-cover-letter.patch right? Thanks Quan Xu > -- > Eric Blake eblake redhat com +1-919-301-3266 > Libvirt virtualization library http://libvirt.org
> -----Original Message----- > From: Eric Blake [mailto:eblake@redhat.com] > Sent: Tuesday, November 25, 2014 1:19 AM > To: Xu, Quan; qemu-devel@nongnu.org > Cc: xen-devel@lists.xen.org; lcapitulino@redhat.com; armbru@redhat.com > Subject: Re: [v2 1/4] Qemu-Xen-vTPM: Support for Xen stubdom vTPM > command line options > > On 11/23/2014 09:10 PM, Quan Xu wrote: > > Signed-off-by: Quan Xu <quan.xu@intel.com> > > --- > > configure | 14 ++++++++++++++ > > hmp.c | 7 +++++++ > > qapi-schema.json | 20 ++++++++++++++++++-- qemu-options.hx | 13 > > +++++++++++-- > > tpm.c | 7 ++++++- > > 5 files changed, 56 insertions(+), 5 deletions(-) > > > > > +++ b/qapi-schema.json > > @@ -2855,8 +2855,12 @@ > > # @passthrough: TPM passthrough type > > # > > # Since: 1.5 > > +# > > +# @xenstubdoms: TPM xenstubdoms type > > +# > > +# Since: 2.3 > > Typically, this would be done as: > > # @passthrough: TPM passthrough type > # > # @xenstubdoms: TPM xenstubdoms type (since 2.3) # # Since: 1.5 > Thanks Eric. I will modify it as your suggestion in v3. > as the enum itself was added in 1.5, not 2.3. > > -- > Eric Blake eblake redhat com +1-919-301-3266 > Libvirt virtualization library http://libvirt.org
On 11/25/2014 06:51 AM, Xu, Quan wrote: >> >> Also, this message was not threaded properly; it appeared as a top-level >> thread along with three other threads for its siblings, instead of all four >> patches being in-reply-to the 0/4 cover letter. >> > Thanks Eric. > > Should I: > > V2 is version number, > 1. $git format-patch --subject-prefix=v2 -ns --cover-letter master > Then, edit 0000-cover-letter.patch Rather than '--subject-prefix=v2', I prefer using '-v2'. The important part is that you send the mails with 'git send-email' instead of doing it by hand. In fact, you can do 'git send-email --annotate -v2 --cover-letter master' and skip the format-patch altogether, if you are okay saving your cover letter edits to the point where you are sending the mails. > > 2. $git format-patch --subject-prefix=v2 -4 > Then, commit these 4 patch and 0000-cover-letter.patch I'm not sure what you meant by commit. You aren't adding the *.patch files to a repository, but sending them as email.
> -----Original Message----- > From: Eric Blake [mailto:eblake@redhat.com] > Sent: Wednesday, November 26, 2014 12:31 AM > To: Xu, Quan; qemu-devel@nongnu.org > Cc: xen-devel@lists.xen.org; armbru@redhat.com; lcapitulino@redhat.com > Subject: Re: [Xen-devel] [Qemu-devel] [v2 1/4] Qemu-Xen-vTPM: Support for > Xen stubdom vTPM command line options > > On 11/25/2014 06:51 AM, Xu, Quan wrote: > >> > >> Also, this message was not threaded properly; it appeared as a > >> top-level thread along with three other threads for its siblings, > >> instead of all four patches being in-reply-to the 0/4 cover letter. > >> > > Thanks Eric. > > > > Should I: > > > > V2 is version number, > > 1. $git format-patch --subject-prefix=v2 -ns --cover-letter master > > Then, edit 0000-cover-letter.patch > > Rather than '--subject-prefix=v2', I prefer using '-v2'. The important part is > that you send the mails with 'git send-email' instead of doing it by hand. In > fact, you can do 'git send-email --annotate -v2 --cover-letter master' and skip > the format-patch altogether, if you are okay saving your cover letter edits to > the point where you are sending the mails. > Thanks Eric. > > > > 2. $git format-patch --subject-prefix=v2 -4 > > Then, commit these 4 patch and 0000-cover-letter.patch > > I'm not sure what you meant by commit. You aren't adding the *.patch files > to a repository, but sending them as email. > Yes, just but sending them as email. > -- > Eric Blake eblake redhat com +1-919-301-3266 > Libvirt virtualization library http://libvirt.org
diff --git a/configure b/configure index a9e4d49..d63b8a1 100755 --- a/configure +++ b/configure @@ -2942,6 +2942,16 @@ else fi ########################################## +# TPM xenstubdoms is only on x86 Linux + +if test "$targetos" = Linux && test "$cpu" = i386 -o "$cpu" = x86_64 && \ + test "$xen" = "yes"; then + tpm_xenstubdoms=$tpm +else + tpm_xenstubdoms=no +fi + +########################################## # attr probe if test "$attr" != "no" ; then @@ -4333,6 +4343,7 @@ echo "gcov $gcov_tool" echo "gcov enabled $gcov" echo "TPM support $tpm" echo "libssh2 support $libssh2" +echo "TPM xenstubdoms $tpm_xenstubdoms" echo "TPM passthrough $tpm_passthrough" echo "QOM debugging $qom_cast_debug" echo "vhdx $vhdx" @@ -4810,6 +4821,9 @@ if test "$tpm" = "yes"; then if test "$tpm_passthrough" = "yes"; then echo "CONFIG_TPM_PASSTHROUGH=y" >> $config_host_mak fi + if test "$tpm_xenstubdoms" = "yes"; then + echo "CONFIG_TPM_XENSTUBDOMS=y" >> $config_host_mak + fi fi echo "TRACE_BACKENDS=$trace_backends" >> $config_host_mak diff --git a/hmp.c b/hmp.c index 63d7686..1df3ec7 100644 --- a/hmp.c +++ b/hmp.c @@ -689,6 +689,7 @@ void hmp_info_tpm(Monitor *mon, const QDict *qdict) Error *err = NULL; unsigned int c = 0; TPMPassthroughOptions *tpo; + TPMXenstubdomsOptions *txo; info_list = qmp_query_tpm(&err); if (err) { @@ -718,6 +719,12 @@ 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_XENSTUBDOMS: + txo = ti->options->xenstubdoms; + if (!txo) { + monitor_printf(mon, "null TPMXenstubdomsOptions error!\n"); + } + break; case TPM_TYPE_OPTIONS_KIND_MAX: break; } diff --git a/qapi-schema.json b/qapi-schema.json index 24379ab..17e9d0f 100644 --- a/qapi-schema.json +++ b/qapi-schema.json @@ -2855,8 +2855,12 @@ # @passthrough: TPM passthrough type # # Since: 1.5 +# +# @xenstubdoms: TPM xenstubdoms type +# +# Since: 2.3 ## -{ 'enum': 'TpmType', 'data': [ 'passthrough' ] } +{ 'enum': 'TpmType', 'data': [ 'passthrough', 'xenstubdoms' ] } ## # @query-tpm-types: @@ -2884,6 +2888,16 @@ { 'type': 'TPMPassthroughOptions', 'data': { '*path' : 'str', '*cancel-path' : 'str'} } +# @TPMXenstubdomsOptions: +# +# Information about the TPM xenstubdoms type +# +# Since: 2.3 +## +{ 'type': 'TPMXenstubdomsOptions', 'data': { } } +# +## + ## # @TpmTypeOptions: # @@ -2894,7 +2908,9 @@ # Since: 1.5 ## { 'union': 'TpmTypeOptions', - 'data': { 'passthrough' : 'TPMPassthroughOptions' } } + 'data': { 'passthrough' : 'TPMPassthroughOptions', + 'xenstubdoms' : 'TPMXenstubdomsOptions' } } +## ## # @TpmInfo: diff --git a/qemu-options.hx b/qemu-options.hx index 1e7d5b8..fd73f57 100644 --- a/qemu-options.hx +++ b/qemu-options.hx @@ -2485,7 +2485,8 @@ DEF("tpmdev", HAS_ARG, QEMU_OPTION_tpmdev, \ "-tpmdev passthrough,id=id[,path=path][,cancel-path=path]\n" " use path to provide path to a character device; default is /dev/tpm0\n" " use cancel-path to provide path to TPM's cancel sysfs entry; if\n" - " not provided it will be searched for in /sys/class/misc/tpm?/device\n", + " not provided it will be searched for in /sys/class/misc/tpm?/device\n" + "-tpmdev xenstubdoms,id=id\n", QEMU_ARCH_ALL) STEXI @@ -2495,7 +2496,8 @@ The general form of a TPM device option is: @item -tpmdev @var{backend} ,id=@var{id} [,@var{options}] @findex -tpmdev Backend type must be: -@option{passthrough}. +@option{passthrough}, or +@option{xenstubdoms}. The specific backend type will determine the applicable options. The @code{-tpmdev} option creates the TPM backend and requires a @@ -2545,6 +2547,13 @@ To create a passthrough TPM use the following two options: Note that the @code{-tpmdev} id is @code{tpm0} and is referenced by @code{tpmdev=tpm0} in the device option. +To create a xenstubdoms TPM use the following two options: +@example +-tpmdev xenstubdoms,id=tpm0 -device tpm-tis,tpmdev=tpm0 +@end example +Note that the @code{-tpmdev} id is @code{tpm0} and is referenced by +@code{tpmdev=tpm0} in the device option. + @end table ETEXI diff --git a/tpm.c b/tpm.c index c371023..ee9acb8 100644 --- a/tpm.c +++ b/tpm.c @@ -25,7 +25,7 @@ static QLIST_HEAD(, TPMBackend) tpm_backends = #define TPM_MAX_MODELS 1 -#define TPM_MAX_DRIVERS 1 +#define TPM_MAX_DRIVERS 2 static TPMDriverOps const *be_drivers[TPM_MAX_DRIVERS] = { NULL, @@ -256,6 +256,7 @@ static TPMInfo *qmp_query_tpm_inst(TPMBackend *drv) { TPMInfo *res = g_new0(TPMInfo, 1); TPMPassthroughOptions *tpo; + TPMXenstubdomsOptions *txo; res->id = g_strdup(drv->id); res->model = drv->fe_model; @@ -275,6 +276,10 @@ static TPMInfo *qmp_query_tpm_inst(TPMBackend *drv) tpo->has_cancel_path = true; } break; + case TPM_TYPE_XENSTUBDOMS: + res->options->kind = TPM_TYPE_OPTIONS_KIND_XENSTUBDOMS; + txo = g_new0(TPMXenstubdomsOptions, 1); + res->options->xenstubdoms = txo; case TPM_TYPE_MAX: break; }
Signed-off-by: Quan Xu <quan.xu@intel.com> --- configure | 14 ++++++++++++++ hmp.c | 7 +++++++ qapi-schema.json | 20 ++++++++++++++++++-- qemu-options.hx | 13 +++++++++++-- tpm.c | 7 ++++++- 5 files changed, 56 insertions(+), 5 deletions(-)