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" <peter.maydell@linaro.org>,
	marcandre.lureau@gmail.com,
	"Marc-André Lureau" <marcandre.lureau@redhat.com>,
	"Stefan Berger" <stefanb@linux.vnet.ibm.com>
Subject: [Qemu-devel] [PULL v1 11/21] tpm: remove unused TPMBackendCmd
Date: Thu, 19 Oct 2017 14:02:45 -0400	[thread overview]
Message-ID: <1508436175-1596-12-git-send-email-stefanb@linux.vnet.ibm.com> (raw)
In-Reply-To: <1508436175-1596-1-git-send-email-stefanb@linux.vnet.ibm.com>

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

There is only handling of request so far in both backends.

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               |  7 ++-----
 hw/tpm/tpm_emulator.c        | 42 ++++++++++++++++--------------------------
 hw/tpm/tpm_passthrough.c     | 29 ++++++++++-------------------
 include/sysemu/tpm_backend.h |  9 +--------
 4 files changed, 29 insertions(+), 58 deletions(-)

diff --git a/backends/tpm.c b/backends/tpm.c
index dc750d4..34e8208 100644
--- a/backends/tpm.c
+++ b/backends/tpm.c
@@ -25,13 +25,12 @@ static void tpm_backend_worker_thread(gpointer data, gpointer user_data)
     TPMBackendClass *k  = TPM_BACKEND_GET_CLASS(s);
 
     assert(k->handle_request != NULL);
-    k->handle_request(s, (TPMBackendCmd)data);
+    k->handle_request(s);
 }
 
 static void tpm_backend_thread_end(TPMBackend *s)
 {
     if (s->thread_pool) {
-        g_thread_pool_push(s->thread_pool, (gpointer)TPM_BACKEND_CMD_END, NULL);
         g_thread_pool_free(s->thread_pool, FALSE, TRUE);
         s->thread_pool = NULL;
     }
@@ -64,7 +63,6 @@ int tpm_backend_startup_tpm(TPMBackend *s)
 
     s->thread_pool = g_thread_pool_new(tpm_backend_worker_thread, s, 1, TRUE,
                                        NULL);
-    g_thread_pool_push(s->thread_pool, (gpointer)TPM_BACKEND_CMD_INIT, NULL);
 
     res = k->startup_tpm ? k->startup_tpm(s) : 0;
 
@@ -80,8 +78,7 @@ bool tpm_backend_had_startup_error(TPMBackend *s)
 
 void tpm_backend_deliver_request(TPMBackend *s)
 {
-    g_thread_pool_push(s->thread_pool, (gpointer)TPM_BACKEND_CMD_PROCESS_CMD,
-                       NULL);
+    g_thread_pool_push(s->thread_pool, NULL, NULL);
 }
 
 void tpm_backend_reset(TPMBackend *s)
diff --git a/hw/tpm/tpm_emulator.c b/hw/tpm/tpm_emulator.c
index 03ea584..a6763e8 100644
--- a/hw/tpm/tpm_emulator.c
+++ b/hw/tpm/tpm_emulator.c
@@ -172,39 +172,29 @@ static int tpm_emulator_set_locality(TPMEmulator *tpm_emu, uint8_t locty_number)
     return 0;
 }
 
-static void tpm_emulator_handle_request(TPMBackend *tb, TPMBackendCmd cmd)
+static void tpm_emulator_handle_request(TPMBackend *tb)
 {
     TPMEmulator *tpm_emu = TPM_EMULATOR(tb);
     TPMLocality *locty = NULL;
     bool selftest_done = false;
     Error *err = NULL;
 
-    DPRINTF("processing command type %d", cmd);
-
-    switch (cmd) {
-    case TPM_BACKEND_CMD_PROCESS_CMD:
-        locty = tb->tpm_state->locty_data;
-        if (tpm_emulator_set_locality(tpm_emu,
-                                      tb->tpm_state->locty_number) < 0 ||
-            tpm_emulator_unix_tx_bufs(tpm_emu, locty->w_buffer.buffer,
-                                      locty->w_offset, locty->r_buffer.buffer,
-                                      locty->r_buffer.size, &selftest_done,
-                                      &err) < 0) {
-            tpm_util_write_fatal_error_response(locty->r_buffer.buffer,
-                                                locty->r_buffer.size);
-            error_report_err(err);
-        }
-
-        tb->recv_data_callback(tb->tpm_state, tb->tpm_state->locty_number,
-                               selftest_done);
-
-        break;
-    case TPM_BACKEND_CMD_INIT:
-    case TPM_BACKEND_CMD_END:
-    case TPM_BACKEND_CMD_TPM_RESET:
-        /* nothing to do */
-        break;
+    DPRINTF("processing TPM command");
+
+    locty = tb->tpm_state->locty_data;
+    if (tpm_emulator_set_locality(tpm_emu,
+                                  tb->tpm_state->locty_number) < 0 ||
+        tpm_emulator_unix_tx_bufs(tpm_emu, locty->w_buffer.buffer,
+                                  locty->w_offset, locty->r_buffer.buffer,
+                                  locty->r_buffer.size, &selftest_done,
+                                  &err) < 0) {
+        tpm_util_write_fatal_error_response(locty->r_buffer.buffer,
+                                            locty->r_buffer.size);
+        error_report_err(err);
     }
+
+    tb->recv_data_callback(tb->tpm_state, tb->tpm_state->locty_number,
+                           selftest_done);
 }
 
 static int tpm_emulator_probe_caps(TPMEmulator *tpm_emu)
diff --git a/hw/tpm/tpm_passthrough.c b/hw/tpm/tpm_passthrough.c
index d9da99b..5cd988e 100644
--- a/hw/tpm/tpm_passthrough.c
+++ b/hw/tpm/tpm_passthrough.c
@@ -149,29 +149,20 @@ static int tpm_passthrough_unix_transfer(TPMPassthruState *tpm_pt,
                                         selftest_done);
 }
 
-static void tpm_passthrough_handle_request(TPMBackend *tb, TPMBackendCmd cmd)
+static void tpm_passthrough_handle_request(TPMBackend *tb)
 {
     TPMPassthruState *tpm_pt = TPM_PASSTHROUGH(tb);
     bool selftest_done = false;
 
-    DPRINTF("tpm_passthrough: processing command type %d\n", cmd);
-
-    switch (cmd) {
-    case TPM_BACKEND_CMD_PROCESS_CMD:
-        tpm_passthrough_unix_transfer(tpm_pt,
-                                      tb->tpm_state->locty_data,
-                                      &selftest_done);
-
-        tb->recv_data_callback(tb->tpm_state,
-                               tb->tpm_state->locty_number,
-                               selftest_done);
-        break;
-    case TPM_BACKEND_CMD_INIT:
-    case TPM_BACKEND_CMD_END:
-    case TPM_BACKEND_CMD_TPM_RESET:
-        /* nothing to do */
-        break;
-    }
+    DPRINTF("tpm_passthrough: processing command\n");
+
+    tpm_passthrough_unix_transfer(tpm_pt,
+                                  tb->tpm_state->locty_data,
+                                  &selftest_done);
+
+    tb->recv_data_callback(tb->tpm_state,
+                           tb->tpm_state->locty_number,
+                           selftest_done);
 }
 
 static void tpm_passthrough_reset(TPMBackend *tb)
diff --git a/include/sysemu/tpm_backend.h b/include/sysemu/tpm_backend.h
index b08f985..7d7ebfc 100644
--- a/include/sysemu/tpm_backend.h
+++ b/include/sysemu/tpm_backend.h
@@ -32,13 +32,6 @@ typedef struct TPMBackend TPMBackend;
 
 typedef void (TPMRecvDataCB)(TPMState *, uint8_t locty, bool selftest_done);
 
-typedef enum TPMBackendCmd {
-    TPM_BACKEND_CMD_INIT = 1,
-    TPM_BACKEND_CMD_PROCESS_CMD,
-    TPM_BACKEND_CMD_END,
-    TPM_BACKEND_CMD_TPM_RESET,
-} TPMBackendCmd;
-
 struct TPMBackend {
     Object parent;
 
@@ -83,7 +76,7 @@ struct TPMBackendClass {
 
     void (*opened)(TPMBackend *s, Error **errp);
 
-    void (*handle_request)(TPMBackend *s, TPMBackendCmd cmd);
+    void (*handle_request)(TPMBackend *s);
 };
 
 /**
-- 
2.5.5

  parent reply	other threads:[~2017-10-19 18:03 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-10-19 18:02 [Qemu-devel] [PULL v1 00/21] Merge tpm 2017/10/19 Stefan Berger
2017-10-19 18:02 ` [Qemu-devel] [PULL v1 01/21] tpm-tis: remove unused hw_access argument Stefan Berger
2017-10-19 18:02 ` [Qemu-devel] [PULL v1 02/21] tpm-tis: remove RAISE_STS_IRQ Stefan Berger
2017-10-19 18:02 ` [Qemu-devel] [PULL v1 03/21] tpm: make tpm_get_backend_driver() static Stefan Berger
2017-10-19 18:02 ` [Qemu-devel] [PULL v1 04/21] tpm: lookup tpm backend class in tpm_driver_find_by_type() Stefan Berger
2017-10-19 18:02 ` [Qemu-devel] [PULL v1 05/21] tpm: replace tpm_get_backend_driver() to drop be_drivers Stefan Berger
2017-10-19 18:02 ` [Qemu-devel] [PULL v1 06/21] tpm: remove tpm_register_driver() Stefan Berger
2017-10-19 18:02 ` [Qemu-devel] [PULL v1 07/21] tpm: move TPMSizedBuffer to tpm_tis.h Stefan Berger
2017-10-19 18:02 ` [Qemu-devel] [PULL v1 08/21] tpm: remove TPMDriverOps Stefan Berger
2017-10-19 18:02 ` [Qemu-devel] [PULL v1 09/21] tpm: remove init() class method Stefan Berger
2017-10-19 18:02 ` [Qemu-devel] [PULL v1 10/21] tpm: remove configure_tpm() hop Stefan Berger
2017-10-19 18:02 ` Stefan Berger [this message]
2017-10-19 18:02 ` [Qemu-devel] [PULL v1 12/21] tpm: remove needless cast Stefan Berger
2017-10-19 18:02 ` [Qemu-devel] [PULL v1 13/21] tpm: remove locty argument from receive_cb Stefan Berger
2017-10-19 18:02 ` [Qemu-devel] [PULL v1 14/21] tpm: add TPMBackendCmd to hold the request state Stefan Berger
2017-10-19 18:02 ` [Qemu-devel] [PULL v1 15/21] tpm-emulator: fix error handling Stefan Berger
2017-10-19 18:02 ` [Qemu-devel] [PULL v1 16/21] tpm: remove locty_data from TPMState Stefan Berger
2017-10-19 18:02 ` [Qemu-devel] [PULL v1 17/21] tpm-tis: move TPMState to TIS header Stefan Berger
2017-10-19 18:02 ` [Qemu-devel] [PULL v1 18/21] tpm-tis: remove tpm_tis.h header Stefan Berger
2017-10-19 18:02 ` [Qemu-devel] [PULL v1 19/21] tpm-tis: fold TPMTISEmuState in TPMState Stefan Berger
2017-10-19 18:02 ` [Qemu-devel] [PULL v1 20/21] tpm: add a QOM TPM interface Stefan Berger
2017-10-19 18:02 ` [Qemu-devel] [PULL v1 21/21] tpm: move recv_data_callback to " Stefan Berger
2017-10-20 11:33 ` [Qemu-devel] [PULL v1 00/21] Merge tpm 2017/10/19 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=1508436175-1596-12-git-send-email-stefanb@linux.vnet.ibm.com \
    --to=stefanb@linux.vnet.ibm.com \
    --cc=marcandre.lureau@gmail.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).