From: "Valluri, Amarnath" <amarnath.valluri@intel.com>
To: "quintela@redhat.com" <quintela@redhat.com>,
"lvivier@redhat.com" <lvivier@redhat.com>
Cc: "dgilbert@redhat.com" <dgilbert@redhat.com>,
"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
"peterx@redhat.com" <peterx@redhat.com>
Subject: Re: [Qemu-devel] [PATCH] tpm: Fix compilation with --disable-tpm
Date: Wed, 18 Oct 2017 10:04:26 +0000 [thread overview]
Message-ID: <1508321124.4061.38.camel@intel.com> (raw)
In-Reply-To: <874lqwolg2.fsf@secure.laptop>
Sorry for causing build break :(
I would prefer the way tpm_init() was handled in vl.c, even
tpm_cleanup() shuould be guarded behind #ifdef CONFIG_TPM.
- Amarnath
On Wed, 2017-10-18 at 11:27 +0200, Juan Quintela wrote:
> Laurent Vivier <lvivier@redhat.com> wrote:
> >
> > On 18/10/2017 10:33, Juan Quintela wrote:
> > >
> > > Commit
> > > c37cacabf2285b0731b44c1f667781fdd4f2b658
> > >
> > > broke compilation without tpm. Just add an empty tpm_cleanup()
> > > stub.
> > tpm_init() and tpm_config_parse() are managed in a different way:
> > they
> > are included in a "#ifdef CONFIG_TPM .. #endif" in vl.c
> >
> > I think you should follow the same way.
> tpm is weird (TM):
>
> in include/sysemu/tpm.h we do that in an incline function
>
> static inline TPMVersion tpm_get_version(void)
> {
> #ifdef CONFIG_TPM
> Object *obj = object_resolve_path_type("", TYPE_TPM_TIS, NULL);
>
> if (obj) {
> return tpm_tis_get_tpm_version(obj);
> }
> #endif
> return TPM_VERSION_UNSPEC;
> }
>
>
> tpm.c, we have an ifdef in the middle of the file
>
> #ifdef CONFIG_TPM
>
> #endif
>
>
> vl.c, we protect tpm_* calls with CONFIG_TPM
>
> #ifdef CONFIG_TPM
> case QEMU_OPTION_tpmdev:
> if (tpm_config_parse(qemu_find_opts("tpmdev"),
> optarg) < 0) {
> exit(1);
> }
> break;
> #endif
>
>
> but we almost never do:
>
> #ifdef CONFIG_TPM
> tpm_cleanup()
> #endif
>
> We normally create an stub function.
>
> So ......
>
> We are going to be inconsistent whatever we did.
>
> I would have vote for
>
> #ifdef CONFIG_TPM
> void tpm_cleanup(void);
> #else
> static inline void tpm_cleanup(void) {}
> #endif
>
> On the header file (it was my first solution), but having CONFIG_TPM
> on
> tpm.c sounded gross.
>
> So ....
>
> I think that now that the problem is spotted, I will left the choose
> of
> the solution to the maintaner O:-)
>
> Later, Juan.
prev parent reply other threads:[~2017-10-18 10:05 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-10-18 8:33 [Qemu-devel] [PATCH] tpm: Fix compilation with --disable-tpm Juan Quintela
2017-10-18 9:09 ` Laurent Vivier
2017-10-18 9:27 ` Juan Quintela
2017-10-18 10:04 ` Valluri, Amarnath [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=1508321124.4061.38.camel@intel.com \
--to=amarnath.valluri@intel.com \
--cc=dgilbert@redhat.com \
--cc=lvivier@redhat.com \
--cc=peterx@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=quintela@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).