Building with --disable-tpm yields
../hw/core/qdev-properties-system.o: In function `set_tpm':
/home/cohuck/git/qemu/hw/core/qdev-properties-system.c:274: undefined reference to `qemu_find_tpm_be'
/home/cohuck/git/qemu/hw/core/qdev-properties-system.c:278: undefined reference to `tpm_backend_init'
../hw/core/qdev-properties-system.o: In function `release_tpm':
/home/cohuck/git/qemu/hw/core/qdev-properties-system.c:291: undefined reference to `tpm_backend_reset'
Add some proper stubs for those functions.
Fixes: 493b78303532 ("qdev: add DEFINE_PROP_TPMBE")
Reported-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
---
stubs/tpm.c | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/stubs/tpm.c b/stubs/tpm.c
index c18aac1c73..97457e0646 100644
--- a/stubs/tpm.c
+++ b/stubs/tpm.c
@@ -7,6 +7,7 @@
#include "qemu/osdep.h"
#include "sysemu/tpm.h"
#include "qmp-commands.h"
+#include "sysemu/tpm_backend.h"
int tpm_init(void)
{
@@ -31,3 +32,17 @@ TpmModelList *qmp_query_tpm_models(Error **errp)
{
return NULL;
}
+
+TPMBackend *qemu_find_tpm_be(const char *id)
+{
+ return NULL;
+}
+
+int tpm_backend_init(TPMBackend *s, TPMIf *tpmif, Error **errp)
+{
+ return -1;
+}
+
+void tpm_backend_reset(TPMBackend *s)
+{
+}
--
2.13.6
On 18/12/2017 13:16, Cornelia Huck wrote:
> Building with --disable-tpm yields
>
> ../hw/core/qdev-properties-system.o: In function `set_tpm':
> /home/cohuck/git/qemu/hw/core/qdev-properties-system.c:274: undefined reference to `qemu_find_tpm_be'
> /home/cohuck/git/qemu/hw/core/qdev-properties-system.c:278: undefined reference to `tpm_backend_init'
> ../hw/core/qdev-properties-system.o: In function `release_tpm':
> /home/cohuck/git/qemu/hw/core/qdev-properties-system.c:291: undefined reference to `tpm_backend_reset'
>
> Add some proper stubs for those functions.
>
> Fixes: 493b78303532 ("qdev: add DEFINE_PROP_TPMBE")
> Reported-by: Thomas Huth <thuth@redhat.com>
> Signed-off-by: Cornelia Huck <cohuck@redhat.com>
Maybe all the new code can be moved from qdev-properties-system.c to
hw/tpm/qdev.c instead? (Adding stubs should be the last resort,
especially if the stubs are never used outside system emulation).
Thanks,
Paolo
> ---
> stubs/tpm.c | 15 +++++++++++++++
> 1 file changed, 15 insertions(+)
>
> diff --git a/stubs/tpm.c b/stubs/tpm.c
> index c18aac1c73..97457e0646 100644
> --- a/stubs/tpm.c
> +++ b/stubs/tpm.c
> @@ -7,6 +7,7 @@
> #include "qemu/osdep.h"
> #include "sysemu/tpm.h"
> #include "qmp-commands.h"
> +#include "sysemu/tpm_backend.h"
>
> int tpm_init(void)
> {
> @@ -31,3 +32,17 @@ TpmModelList *qmp_query_tpm_models(Error **errp)
> {
> return NULL;
> }
> +
> +TPMBackend *qemu_find_tpm_be(const char *id)
> +{
> + return NULL;
> +}
> +
> +int tpm_backend_init(TPMBackend *s, TPMIf *tpmif, Error **errp)
> +{
> + return -1;
> +}
> +
> +void tpm_backend_reset(TPMBackend *s)
> +{
> +}
>
On Mon, 18 Dec 2017 13:27:09 +0100
Paolo Bonzini <pbonzini@redhat.com> wrote:
> On 18/12/2017 13:16, Cornelia Huck wrote:
> > Building with --disable-tpm yields
> >
> > ../hw/core/qdev-properties-system.o: In function `set_tpm':
> > /home/cohuck/git/qemu/hw/core/qdev-properties-system.c:274: undefined reference to `qemu_find_tpm_be'
> > /home/cohuck/git/qemu/hw/core/qdev-properties-system.c:278: undefined reference to `tpm_backend_init'
> > ../hw/core/qdev-properties-system.o: In function `release_tpm':
> > /home/cohuck/git/qemu/hw/core/qdev-properties-system.c:291: undefined reference to `tpm_backend_reset'
> >
> > Add some proper stubs for those functions.
> >
> > Fixes: 493b78303532 ("qdev: add DEFINE_PROP_TPMBE")
> > Reported-by: Thomas Huth <thuth@redhat.com>
> > Signed-off-by: Cornelia Huck <cohuck@redhat.com>
>
> Maybe all the new code can be moved from qdev-properties-system.c to
> hw/tpm/qdev.c instead? (Adding stubs should be the last resort,
> especially if the stubs are never used outside system emulation).
Probably hw/tpm/tpm-tis.c?
On Mon, Dec 18, 2017 at 1:35 PM, Cornelia Huck <cohuck@redhat.com> wrote:
> On Mon, 18 Dec 2017 13:27:09 +0100
> Paolo Bonzini <pbonzini@redhat.com> wrote:
>
>> On 18/12/2017 13:16, Cornelia Huck wrote:
>> > Building with --disable-tpm yields
>> >
>> > ../hw/core/qdev-properties-system.o: In function `set_tpm':
>> > /home/cohuck/git/qemu/hw/core/qdev-properties-system.c:274: undefined reference to `qemu_find_tpm_be'
>> > /home/cohuck/git/qemu/hw/core/qdev-properties-system.c:278: undefined reference to `tpm_backend_init'
>> > ../hw/core/qdev-properties-system.o: In function `release_tpm':
>> > /home/cohuck/git/qemu/hw/core/qdev-properties-system.c:291: undefined reference to `tpm_backend_reset'
>> >
>> > Add some proper stubs for those functions.
>> >
>> > Fixes: 493b78303532 ("qdev: add DEFINE_PROP_TPMBE")
>> > Reported-by: Thomas Huth <thuth@redhat.com>
>> > Signed-off-by: Cornelia Huck <cohuck@redhat.com>
>>
>> Maybe all the new code can be moved from qdev-properties-system.c to
>> hw/tpm/qdev.c instead? (Adding stubs should be the last resort,
>> especially if the stubs are never used outside system emulation).
>
> Probably hw/tpm/tpm-tis.c?
Rather hw/tpm/tpm_util.c (the PROP is going to be shared by various
devices soon)
thanks
--
Marc-André Lureau
>> Add some proper stubs for those functions.
>>
>> Fixes: 493b78303532 ("qdev: add DEFINE_PROP_TPMBE")
>> Reported-by: Thomas Huth <thuth@redhat.com>
>> Signed-off-by: Cornelia Huck <cohuck@redhat.com>
>
> Maybe all the new code can be moved from qdev-properties-system.c to
> hw/tpm/qdev.c instead? (Adding stubs should be the last resort,
> especially if the stubs are never used outside system emulation).
This is worth an entry in HACKING :)
© 2016 - 2025 Red Hat, Inc.