qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Stefan Berger <stefanb@linux.vnet.ibm.com>
To: qemu-devel@nongnu.org
Cc: peter.maydell@linaro.org,
	"Marc-André Lureau" <marcandre.lureau@redhat.com>,
	"Stefan Berger" <stefanb@linux.vnet.ibm.com>
Subject: [Qemu-devel] [PULL v1 07/32] tpm-be: ask model to the TPM interface
Date: Sat, 16 Dec 2017 12:41:24 -0500	[thread overview]
Message-ID: <1513446109-9013-8-git-send-email-stefanb@linux.vnet.ibm.com> (raw)
In-Reply-To: <1513446109-9013-1-git-send-email-stefanb@linux.vnet.ibm.com>

From: Marc-André Lureau <marcandre.lureau@redhat.com>

No need to store the mode in the backend, or to let the frontend set
it itself.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Stefan Berger <stefanb@linux.vnet.ibm.com>
Signed-off-by: Stefan Berger <stefanb@linux.vnet.ibm.com>
---
 backends/tpm.c               | 4 ++--
 hw/tpm/tpm_tis.c             | 3 +--
 include/sysemu/tpm.h         | 1 +
 include/sysemu/tpm_backend.h | 1 -
 tpm.c                        | 3 ++-
 5 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/backends/tpm.c b/backends/tpm.c
index 7b108bd..0c48d18 100644
--- a/backends/tpm.c
+++ b/backends/tpm.c
@@ -148,9 +148,10 @@ TPMInfo *tpm_backend_query_tpm(TPMBackend *s)
 {
     TPMInfo *info = g_new0(TPMInfo, 1);
     TPMBackendClass *k = TPM_BACKEND_GET_CLASS(s);
+    TPMIfClass *tic = TPM_IF_GET_CLASS(s->tpmif);
 
     info->id = g_strdup(s->id);
-    info->model = s->fe_model;
+    info->model = tic->model;
     if (k->get_tpm_options) {
         info->options = k->get_tpm_options(s);
     }
@@ -204,7 +205,6 @@ static void tpm_backend_instance_init(Object *obj)
                              tpm_backend_prop_get_opened,
                              tpm_backend_prop_set_opened,
                              NULL);
-    s->fe_model = -1;
     s->bh = qemu_bh_new(tpm_backend_request_completed_bh, s);
 }
 
diff --git a/hw/tpm/tpm_tis.c b/hw/tpm/tpm_tis.c
index bf291e6..a780167 100644
--- a/hw/tpm/tpm_tis.c
+++ b/hw/tpm/tpm_tis.c
@@ -1072,8 +1072,6 @@ static void tpm_tis_realizefn(DeviceState *dev, Error **errp)
         return;
     }
 
-    s->be_driver->fe_model = TPM_MODEL_TPM_TIS;
-
     if (tpm_backend_init(s->be_driver, TPM_IF(s), errp)) {
         return;
     }
@@ -1108,6 +1106,7 @@ static void tpm_tis_class_init(ObjectClass *klass, void *data)
     dc->props = tpm_tis_properties;
     dc->reset = tpm_tis_reset;
     dc->vmsd  = &vmstate_tpm_tis;
+    tc->model = TPM_MODEL_TPM_TIS;
     tc->request_completed = tpm_tis_request_completed;
 }
 
diff --git a/include/sysemu/tpm.h b/include/sysemu/tpm.h
index e087962..7b407ca 100644
--- a/include/sysemu/tpm.h
+++ b/include/sysemu/tpm.h
@@ -40,6 +40,7 @@ typedef struct TPMIf {
 typedef struct TPMIfClass {
     InterfaceClass parent_class;
 
+    enum TpmModel model;
     void (*request_completed)(TPMIf *obj);
 } TPMIfClass;
 
diff --git a/include/sysemu/tpm_backend.h b/include/sysemu/tpm_backend.h
index df9ebd0..665e807 100644
--- a/include/sysemu/tpm_backend.h
+++ b/include/sysemu/tpm_backend.h
@@ -51,7 +51,6 @@ struct TPMBackend {
 
     /* <public> */
     char *id;
-    enum TpmModel fe_model;
 
     QLIST_ENTRY(TPMBackend) list;
 };
diff --git a/tpm.c b/tpm.c
index ab5d29e..4320f44 100644
--- a/tpm.c
+++ b/tpm.c
@@ -200,9 +200,10 @@ TPMInfoList *qmp_query_tpm(Error **errp)
     TPMInfoList *info, *head = NULL, *cur_item = NULL;
 
     QLIST_FOREACH(drv, &tpm_backends, list) {
-        if (!tpm_models[drv->fe_model]) {
+        if (!drv->tpmif) {
             continue;
         }
+
         info = g_new0(TPMInfoList, 1);
         info->value = tpm_backend_query_tpm(drv);
 
-- 
2.5.5

  parent reply	other threads:[~2017-12-16 17:42 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-12-16 17:41 [Qemu-devel] [PULL v1 00/32] Merge tpm 2017/12/15 Stefan Berger
2017-12-16 17:41 ` [Qemu-devel] [PULL v1 01/32] tpm-tis: remove unused locty_number Stefan Berger
2017-12-16 17:41 ` [Qemu-devel] [PULL v1 02/32] tpm: move TpmIf in include/sysemu/tpm.h Stefan Berger
2017-12-16 17:41 ` [Qemu-devel] [PULL v1 03/32] tpm-backend: store TPMIf interface, improve backend_init() Stefan Berger
2017-12-16 17:41 ` [Qemu-devel] [PULL v1 04/32] tpm-tis: no longer expose TPMState Stefan Berger
2017-12-16 17:41 ` [Qemu-devel] [PULL v1 05/32] tpm-be: call request_completed() out of thread Stefan Berger
2017-12-16 17:41 ` [Qemu-devel] [PULL v1 06/32] tpm-be: report error instead of front-end Stefan Berger
2017-12-16 17:41 ` Stefan Berger [this message]
2017-12-16 17:41 ` [Qemu-devel] [PULL v1 08/32] tpm: remove unused opened code Stefan Berger
2017-12-16 17:41 ` [Qemu-devel] [PULL v1 09/32] tpm-passthrough: don't save guessed cancel_path in options Stefan Berger
2017-12-16 17:41 ` [Qemu-devel] [PULL v1 10/32] tpm-be: update optional function pointers Stefan Berger
2017-12-16 17:41 ` [Qemu-devel] [PULL v1 11/32] tpm-passthrough: pass TPMPassthruState to handle_device_opts Stefan Berger
2017-12-16 17:41 ` [Qemu-devel] [PULL v1 12/32] tpm-backend: move set 'id' to common code Stefan Berger
2017-12-16 17:41 ` [Qemu-devel] [PULL v1 13/32] tpm-passthrough: make it safer to destroy after creation Stefan Berger
2017-12-16 17:41 ` [Qemu-devel] [PULL v1 14/32] tpm-passthrough: simplify create() Stefan Berger
2017-12-16 17:41 ` [Qemu-devel] [PULL v1 15/32] tpm-passthrough: workaround a possible race Stefan Berger
2017-12-16 17:41 ` [Qemu-devel] [PULL v1 16/32] tpm-tis: simplify header inclusion Stefan Berger
2017-12-16 17:41 ` [Qemu-devel] [PULL v1 17/32] tpm: rename qemu_find_tpm() -> qemu_find_tpm_be() Stefan Berger
2017-12-16 17:41 ` [Qemu-devel] [PULL v1 18/32] tpm: lookup the the TPM interface instead of TIS device Stefan Berger
2017-12-16 17:41 ` [Qemu-devel] [PULL v1 19/32] tpm: add TPM interface to lookup TPM version Stefan Berger
2017-12-16 17:41 ` [Qemu-devel] [PULL v1 20/32] tpm: add tpm_cmd_get_size() to tpm_util Stefan Berger
2017-12-16 17:41 ` [Qemu-devel] [PULL v1 21/32] acpi: change TPM TIS data conditions Stefan Berger
2017-12-16 17:41 ` [Qemu-devel] [PULL v1 22/32] tpm-emulator: add a FIXME comment about blocking cancel Stefan Berger
2017-12-16 17:41 ` [Qemu-devel] [PULL v1 23/32] tpm-tis: remove redundant 'tpm_tis:' in error messages Stefan Berger
2017-12-16 17:41 ` [Qemu-devel] [PULL v1 24/32] tpm-tis: check that at most one TPM device exists Stefan Berger
2017-12-16 17:41 ` [Qemu-devel] [PULL v1 25/32] qdev: add DEFINE_PROP_TPMBE Stefan Berger
2017-12-18 15:10   ` Laurent Vivier
2017-12-18 15:30     ` Cornelia Huck
2017-12-18 15:44       ` Laurent Vivier
2017-12-16 17:41 ` [Qemu-devel] [PULL v1 26/32] tpm-tis: use DEFINE_PROP_TPMBE Stefan Berger
2017-12-16 17:41 ` [Qemu-devel] [PULL v1 27/32] tpm: remove tpm_register_model() Stefan Berger
2017-12-16 17:41 ` [Qemu-devel] [PULL v1 28/32] tpm: Move getting TPM buffer size to backends Stefan Berger
2017-12-16 17:41 ` [Qemu-devel] [PULL v1 29/32] tpm: pull tpm_util_request() out of tpm_util_test() Stefan Berger
2017-12-16 17:41 ` [Qemu-devel] [PULL v1 30/32] tpm: tpm_passthrough: Read the buffer size from the host device Stefan Berger
2017-12-16 17:41 ` [Qemu-devel] [PULL v1 31/32] tpm: tpm_emulator: get and set buffer size of device Stefan Berger
2017-12-16 17:41 ` [Qemu-devel] [PULL v1 32/32] tpm: tpm_passthrough: Fail startup if FE buffer size < BE buffer size Stefan Berger
2017-12-17 21:34 ` [Qemu-devel] [PULL v1 00/32] Merge tpm 2017/12/15 Peter Maydell
2017-12-18 11:18   ` Thomas Huth
2017-12-18 11:50     ` Thomas Huth
2017-12-18 12:33       ` Peter Maydell

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=1513446109-9013-8-git-send-email-stefanb@linux.vnet.ibm.com \
    --to=stefanb@linux.vnet.ibm.com \
    --cc=marcandre.lureau@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    /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).