All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH-for-6.2 v6 00/10] tests: Add test cases for TPM 1.2 ACPI tables
@ 2021-08-02 21:52 Stefan Berger
  2021-08-02 21:52 ` [PATCH-for-6.2 v6 01/10] tests: Rename TestState to TPMTestState Stefan Berger
                   ` (9 more replies)
  0 siblings, 10 replies; 12+ messages in thread
From: Stefan Berger @ 2021-08-02 21:52 UTC (permalink / raw)
  To: qemu-devel, marcandre.lureau; +Cc: imammedo, Stefan Berger, philmd, mst

This series of patches adds test cases for TPM 1.2 ACPI tables.

  Stefan

v6:
  - Rebased on latest master
  - Fixed function called in 8/10

v5:
  - Moved patch 10 to '8' and fixed some style and deref issues.
    Passed build: 
https://travis-ci.com/github/stefanberger/qemu-tpm/builds/232646111

v4:
  - Added patch 10 that checks for availability of a TPM device model
    using QMP and if not available skips the ACPI table test

v3:
  - Define enum TPMVersion for when CONFIG_TPM is not defined
    affected patches 2 and 6

v2:
  - Proper handling of renaming of files holding expected ACPI data


Stefan Berger (10):
  tests: Rename TestState to TPMTestState
  tests: Add tpm_version field to TPMTestState and fill it
  tests: acpi: Prepare for renaming of TPM2 related ACPI files
  tests: Add suffix 'tpm2' or 'tpm12' to ACPI table files
  tests: acpi: tpm2: Add the renamed ACPI files and drop old ones
  tests: tpm: Create TPM 1.2 response in TPM emulator
  tests: acpi: prepare for new TPM 1.2 related tables
  tests: Use QMP to check whether a TPM device model is available
  tests: acpi: Add test cases for TPM 1.2 with TCPA table
  tests: acpi: tpm1.2: Add expected TPM 1.2 ACPI blobs

 tests/data/acpi/q35/DSDT.tis.tpm12            | Bin 0 -> 8894 bytes
 .../data/acpi/q35/{DSDT.tis => DSDT.tis.tpm2} | Bin
 tests/data/acpi/q35/TCPA.tis.tpm12            | Bin 0 -> 50 bytes
 .../data/acpi/q35/{TPM2.tis => TPM2.tis.tpm2} | Bin
 tests/qtest/bios-tables-test.c                |  26 +++++---
 tests/qtest/tpm-crb-test.c                    |   5 +-
 tests/qtest/tpm-emu.c                         |  62 ++++++++++++++++--
 tests/qtest/tpm-emu.h                         |  20 +++++-
 tests/qtest/tpm-tis-device-test.c             |   3 +-
 tests/qtest/tpm-tis-test.c                    |   3 +-
 tests/qtest/tpm-tis-util.c                    |   2 +-
 11 files changed, 97 insertions(+), 24 deletions(-)
 create mode 100644 tests/data/acpi/q35/DSDT.tis.tpm12
 rename tests/data/acpi/q35/{DSDT.tis => DSDT.tis.tpm2} (100%)
 create mode 100644 tests/data/acpi/q35/TCPA.tis.tpm12
 rename tests/data/acpi/q35/{TPM2.tis => TPM2.tis.tpm2} (100%)

-- 
2.31.1



^ permalink raw reply	[flat|nested] 12+ messages in thread

* [PATCH-for-6.2 v6 01/10] tests: Rename TestState to TPMTestState
  2021-08-02 21:52 [PATCH-for-6.2 v6 00/10] tests: Add test cases for TPM 1.2 ACPI tables Stefan Berger
@ 2021-08-02 21:52 ` Stefan Berger
  2021-08-02 21:52 ` [PATCH-for-6.2 v6 02/10] tests: Add tpm_version field to TPMTestState and fill it Stefan Berger
                   ` (8 subsequent siblings)
  9 siblings, 0 replies; 12+ messages in thread
From: Stefan Berger @ 2021-08-02 21:52 UTC (permalink / raw)
  To: qemu-devel, marcandre.lureau; +Cc: imammedo, Stefan Berger, philmd, mst

Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
---
 tests/qtest/bios-tables-test.c    | 2 +-
 tests/qtest/tpm-crb-test.c        | 4 ++--
 tests/qtest/tpm-emu.c             | 6 +++---
 tests/qtest/tpm-emu.h             | 6 +++---
 tests/qtest/tpm-tis-device-test.c | 2 +-
 tests/qtest/tpm-tis-test.c        | 2 +-
 tests/qtest/tpm-tis-util.c        | 2 +-
 7 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/tests/qtest/bios-tables-test.c b/tests/qtest/bios-tables-test.c
index 51d3a4e239..a622f91a37 100644
--- a/tests/qtest/bios-tables-test.c
+++ b/tests/qtest/bios-tables-test.c
@@ -1098,7 +1098,7 @@ static void test_acpi_tcg_tpm(const char *machine, const char *tpm_if,
     gchar *tmp_dir_name = g_strdup_printf("qemu-test_acpi_%s_tcg_%s.XXXXXX",
                                           machine, tpm_if);
     char *tmp_path = g_dir_make_tmp(tmp_dir_name, NULL);
-    TestState test;
+    TPMTestState test;
     test_data data;
     GThread *thread;
     char *args, *variant = g_strdup_printf(".%s", tpm_if);
diff --git a/tests/qtest/tpm-crb-test.c b/tests/qtest/tpm-crb-test.c
index ed533900d1..50936f1482 100644
--- a/tests/qtest/tpm-crb-test.c
+++ b/tests/qtest/tpm-crb-test.c
@@ -26,7 +26,7 @@ uint64_t tpm_tis_base_addr = TPM_TIS_ADDR_BASE;
 
 static void tpm_crb_test(const void *data)
 {
-    const TestState *s = data;
+    const TPMTestState *s = data;
     uint32_t intfid = readl(TPM_CRB_ADDR_BASE + A_CRB_INTF_ID);
     uint32_t csize = readl(TPM_CRB_ADDR_BASE + A_CRB_CTRL_CMD_SIZE);
     uint64_t caddr = readq(TPM_CRB_ADDR_BASE + A_CRB_CTRL_CMD_LADDR);
@@ -145,7 +145,7 @@ int main(int argc, char **argv)
     int ret;
     char *args, *tmp_path = g_dir_make_tmp("qemu-tpm-crb-test.XXXXXX", NULL);
     GThread *thread;
-    TestState test;
+    TPMTestState test;
 
     module_call_init(MODULE_INIT_QOM);
     g_test_init(&argc, &argv, NULL);
diff --git a/tests/qtest/tpm-emu.c b/tests/qtest/tpm-emu.c
index 2e8eb7b94f..b9cddcc240 100644
--- a/tests/qtest/tpm-emu.c
+++ b/tests/qtest/tpm-emu.c
@@ -18,7 +18,7 @@
 #include "qapi/error.h"
 #include "tpm-emu.h"
 
-void tpm_emu_test_wait_cond(TestState *s)
+void tpm_emu_test_wait_cond(TPMTestState *s)
 {
     gint64 end_time = g_get_monotonic_time() + 5 * G_TIME_SPAN_SECOND;
 
@@ -36,7 +36,7 @@ void tpm_emu_test_wait_cond(TestState *s)
 
 static void *tpm_emu_tpm_thread(void *data)
 {
-    TestState *s = data;
+    TPMTestState *s = data;
     QIOChannel *ioc = s->tpm_ioc;
 
     s->tpm_msg = g_new(struct tpm_hdr, 1);
@@ -71,7 +71,7 @@ static void *tpm_emu_tpm_thread(void *data)
 
 void *tpm_emu_ctrl_thread(void *data)
 {
-    TestState *s = data;
+    TPMTestState *s = data;
     QIOChannelSocket *lioc = qio_channel_socket_new();
     QIOChannel *ioc;
 
diff --git a/tests/qtest/tpm-emu.h b/tests/qtest/tpm-emu.h
index 73f3bed0c4..b066ad63fb 100644
--- a/tests/qtest/tpm-emu.h
+++ b/tests/qtest/tpm-emu.h
@@ -26,7 +26,7 @@ struct tpm_hdr {
     char buffer[];
 } QEMU_PACKED;
 
-typedef struct TestState {
+typedef struct TPMTestState {
     GMutex data_mutex;
     GCond data_cond;
     bool data_cond_signal;
@@ -34,9 +34,9 @@ typedef struct TestState {
     QIOChannel *tpm_ioc;
     GThread *emu_tpm_thread;
     struct tpm_hdr *tpm_msg;
-} TestState;
+} TPMTestState;
 
-void tpm_emu_test_wait_cond(TestState *s);
+void tpm_emu_test_wait_cond(TPMTestState *s);
 void *tpm_emu_ctrl_thread(void *data);
 
 #endif /* TESTS_TPM_EMU_H */
diff --git a/tests/qtest/tpm-tis-device-test.c b/tests/qtest/tpm-tis-device-test.c
index 63ed36440f..d36ae20243 100644
--- a/tests/qtest/tpm-tis-device-test.c
+++ b/tests/qtest/tpm-tis-device-test.c
@@ -33,7 +33,7 @@ int main(int argc, char **argv)
 {
     char *tmp_path = g_dir_make_tmp("qemu-tpm-tis-device-test.XXXXXX", NULL);
     GThread *thread;
-    TestState test;
+    TPMTestState test;
     char *args;
     int ret;
 
diff --git a/tests/qtest/tpm-tis-test.c b/tests/qtest/tpm-tis-test.c
index 79ffbc943e..6fee4779ea 100644
--- a/tests/qtest/tpm-tis-test.c
+++ b/tests/qtest/tpm-tis-test.c
@@ -29,7 +29,7 @@ int main(int argc, char **argv)
     int ret;
     char *args, *tmp_path = g_dir_make_tmp("qemu-tpm-tis-test.XXXXXX", NULL);
     GThread *thread;
-    TestState test;
+    TPMTestState test;
 
     module_call_init(MODULE_INIT_QOM);
     g_test_init(&argc, &argv, NULL);
diff --git a/tests/qtest/tpm-tis-util.c b/tests/qtest/tpm-tis-util.c
index 9aff503fd8..939893bf01 100644
--- a/tests/qtest/tpm-tis-util.c
+++ b/tests/qtest/tpm-tis-util.c
@@ -373,7 +373,7 @@ void tpm_tis_test_check_access_reg_release(const void *data)
  */
 void tpm_tis_test_check_transmit(const void *data)
 {
-    const TestState *s = data;
+    const TPMTestState *s = data;
     uint8_t access;
     uint32_t sts;
     uint16_t bcount;
-- 
2.31.1



^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [PATCH-for-6.2 v6 02/10] tests: Add tpm_version field to TPMTestState and fill it
  2021-08-02 21:52 [PATCH-for-6.2 v6 00/10] tests: Add test cases for TPM 1.2 ACPI tables Stefan Berger
  2021-08-02 21:52 ` [PATCH-for-6.2 v6 01/10] tests: Rename TestState to TPMTestState Stefan Berger
@ 2021-08-02 21:52 ` Stefan Berger
  2021-08-02 21:52 ` [PATCH-for-6.2 v6 03/10] tests: acpi: Prepare for renaming of TPM2 related ACPI files Stefan Berger
                   ` (7 subsequent siblings)
  9 siblings, 0 replies; 12+ messages in thread
From: Stefan Berger @ 2021-08-02 21:52 UTC (permalink / raw)
  To: qemu-devel, marcandre.lureau; +Cc: imammedo, Stefan Berger, philmd, mst

Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>

---
v3:
 - Added enum TPMVersion for when CONFIG_TPM is not defined
---
 tests/qtest/bios-tables-test.c    |  5 +++--
 tests/qtest/tpm-crb-test.c        |  1 +
 tests/qtest/tpm-emu.c             | 13 ++++++++++---
 tests/qtest/tpm-emu.h             |  8 ++++++++
 tests/qtest/tpm-tis-device-test.c |  1 +
 tests/qtest/tpm-tis-test.c        |  1 +
 6 files changed, 24 insertions(+), 5 deletions(-)

diff --git a/tests/qtest/bios-tables-test.c b/tests/qtest/bios-tables-test.c
index a622f91a37..93c9d306b5 100644
--- a/tests/qtest/bios-tables-test.c
+++ b/tests/qtest/bios-tables-test.c
@@ -1092,7 +1092,7 @@ static void test_acpi_piix4_tcg_numamem(void)
 uint64_t tpm_tis_base_addr;
 
 static void test_acpi_tcg_tpm(const char *machine, const char *tpm_if,
-                              uint64_t base)
+                              uint64_t base, enum TPMVersion tpm_version)
 {
 #ifdef CONFIG_TPM
     gchar *tmp_dir_name = g_strdup_printf("qemu-test_acpi_%s_tcg_%s.XXXXXX",
@@ -1113,6 +1113,7 @@ static void test_acpi_tcg_tpm(const char *machine, const char *tpm_if,
     g_mutex_init(&test.data_mutex);
     g_cond_init(&test.data_cond);
     test.data_cond_signal = false;
+    test.tpm_version = tpm_version;
 
     thread = g_thread_new(NULL, tpm_emu_ctrl_thread, &test);
     tpm_emu_test_wait_cond(&test);
@@ -1145,7 +1146,7 @@ static void test_acpi_tcg_tpm(const char *machine, const char *tpm_if,
 
 static void test_acpi_q35_tcg_tpm_tis(void)
 {
-    test_acpi_tcg_tpm("q35", "tis", 0xFED40000);
+    test_acpi_tcg_tpm("q35", "tis", 0xFED40000, TPM_VERSION_2_0);
 }
 
 static void test_acpi_tcg_dimm_pxm(const char *machine)
diff --git a/tests/qtest/tpm-crb-test.c b/tests/qtest/tpm-crb-test.c
index 50936f1482..7b94453390 100644
--- a/tests/qtest/tpm-crb-test.c
+++ b/tests/qtest/tpm-crb-test.c
@@ -156,6 +156,7 @@ int main(int argc, char **argv)
     g_mutex_init(&test.data_mutex);
     g_cond_init(&test.data_cond);
     test.data_cond_signal = false;
+    test.tpm_version = TPM_VERSION_2_0;
 
     thread = g_thread_new(NULL, tpm_emu_ctrl_thread, &test);
     tpm_emu_test_wait_cond(&test);
diff --git a/tests/qtest/tpm-emu.c b/tests/qtest/tpm-emu.c
index b9cddcc240..8baf49eafd 100644
--- a/tests/qtest/tpm-emu.c
+++ b/tests/qtest/tpm-emu.c
@@ -56,9 +56,16 @@ static void *tpm_emu_tpm_thread(void *data)
         s->tpm_msg->code = be32_to_cpu(s->tpm_msg->code);
 
         /* reply error */
-        s->tpm_msg->tag = cpu_to_be16(TPM2_ST_NO_SESSIONS);
-        s->tpm_msg->len = cpu_to_be32(sizeof(struct tpm_hdr));
-        s->tpm_msg->code = cpu_to_be32(TPM_RC_FAILURE);
+        switch (s->tpm_version) {
+        case TPM_VERSION_2_0:
+            s->tpm_msg->tag = cpu_to_be16(TPM2_ST_NO_SESSIONS);
+            s->tpm_msg->len = cpu_to_be32(sizeof(struct tpm_hdr));
+            s->tpm_msg->code = cpu_to_be32(TPM_RC_FAILURE);
+            break;
+        default:
+            g_debug("unsupport TPM version %u", s->tpm_version);
+            g_assert_not_reached();
+        }
         qio_channel_write(ioc, (char *)s->tpm_msg, be32_to_cpu(s->tpm_msg->len),
                           &error_abort);
     }
diff --git a/tests/qtest/tpm-emu.h b/tests/qtest/tpm-emu.h
index b066ad63fb..610519883a 100644
--- a/tests/qtest/tpm-emu.h
+++ b/tests/qtest/tpm-emu.h
@@ -18,6 +18,7 @@
 
 #include "qemu/sockets.h"
 #include "io/channel.h"
+#include "sysemu/tpm.h"
 
 struct tpm_hdr {
     uint16_t tag;
@@ -26,6 +27,12 @@ struct tpm_hdr {
     char buffer[];
 } QEMU_PACKED;
 
+#ifndef CONFIG_TPM
+enum TPMVersion {
+    TPM_VERSION_2_0 = 2,
+};
+#endif
+
 typedef struct TPMTestState {
     GMutex data_mutex;
     GCond data_cond;
@@ -34,6 +41,7 @@ typedef struct TPMTestState {
     QIOChannel *tpm_ioc;
     GThread *emu_tpm_thread;
     struct tpm_hdr *tpm_msg;
+    enum TPMVersion tpm_version;
 } TPMTestState;
 
 void tpm_emu_test_wait_cond(TPMTestState *s);
diff --git a/tests/qtest/tpm-tis-device-test.c b/tests/qtest/tpm-tis-device-test.c
index d36ae20243..3ddefb51ec 100644
--- a/tests/qtest/tpm-tis-device-test.c
+++ b/tests/qtest/tpm-tis-device-test.c
@@ -46,6 +46,7 @@ int main(int argc, char **argv)
     g_mutex_init(&test.data_mutex);
     g_cond_init(&test.data_cond);
     test.data_cond_signal = false;
+    test.tpm_version = TPM_VERSION_2_0;
 
     thread = g_thread_new(NULL, tpm_emu_ctrl_thread, &test);
     tpm_emu_test_wait_cond(&test);
diff --git a/tests/qtest/tpm-tis-test.c b/tests/qtest/tpm-tis-test.c
index 6fee4779ea..a4a25ba745 100644
--- a/tests/qtest/tpm-tis-test.c
+++ b/tests/qtest/tpm-tis-test.c
@@ -40,6 +40,7 @@ int main(int argc, char **argv)
     g_mutex_init(&test.data_mutex);
     g_cond_init(&test.data_cond);
     test.data_cond_signal = false;
+    test.tpm_version = TPM_VERSION_2_0;
 
     thread = g_thread_new(NULL, tpm_emu_ctrl_thread, &test);
     tpm_emu_test_wait_cond(&test);
-- 
2.31.1



^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [PATCH-for-6.2 v6 03/10] tests: acpi: Prepare for renaming of TPM2 related ACPI files
  2021-08-02 21:52 [PATCH-for-6.2 v6 00/10] tests: Add test cases for TPM 1.2 ACPI tables Stefan Berger
  2021-08-02 21:52 ` [PATCH-for-6.2 v6 01/10] tests: Rename TestState to TPMTestState Stefan Berger
  2021-08-02 21:52 ` [PATCH-for-6.2 v6 02/10] tests: Add tpm_version field to TPMTestState and fill it Stefan Berger
@ 2021-08-02 21:52 ` Stefan Berger
  2021-08-02 21:52 ` [PATCH-for-6.2 v6 04/10] tests: Add suffix 'tpm2' or 'tpm12' to ACPI table files Stefan Berger
                   ` (6 subsequent siblings)
  9 siblings, 0 replies; 12+ messages in thread
From: Stefan Berger @ 2021-08-02 21:52 UTC (permalink / raw)
  To: qemu-devel, marcandre.lureau; +Cc: imammedo, Stefan Berger, philmd, mst

Cc: Michael S. Tsirkin <mst@redhat.com>
Cc: Igor Mammedov <imammedo@redhat.com>
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
---
 tests/data/acpi/q35/DSDT.tis.tpm2           | 0
 tests/data/acpi/q35/TPM2.tis.tpm2           | 0
 tests/qtest/bios-tables-test-allowed-diff.h | 2 ++
 3 files changed, 2 insertions(+)
 create mode 100644 tests/data/acpi/q35/DSDT.tis.tpm2
 create mode 100644 tests/data/acpi/q35/TPM2.tis.tpm2

diff --git a/tests/data/acpi/q35/DSDT.tis.tpm2 b/tests/data/acpi/q35/DSDT.tis.tpm2
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/tests/data/acpi/q35/TPM2.tis.tpm2 b/tests/data/acpi/q35/TPM2.tis.tpm2
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/tests/qtest/bios-tables-test-allowed-diff.h b/tests/qtest/bios-tables-test-allowed-diff.h
index dfb8523c8b..b301b8fa06 100644
--- a/tests/qtest/bios-tables-test-allowed-diff.h
+++ b/tests/qtest/bios-tables-test-allowed-diff.h
@@ -1 +1,3 @@
 /* List of comma-separated changed AML files to ignore */
+"tests/data/acpi/q35/DSDT.tis.tpm2",
+"tests/data/acpi/q35/TPM2.tis.tpm2",
-- 
2.31.1



^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [PATCH-for-6.2 v6 04/10] tests: Add suffix 'tpm2' or 'tpm12' to ACPI table files
  2021-08-02 21:52 [PATCH-for-6.2 v6 00/10] tests: Add test cases for TPM 1.2 ACPI tables Stefan Berger
                   ` (2 preceding siblings ...)
  2021-08-02 21:52 ` [PATCH-for-6.2 v6 03/10] tests: acpi: Prepare for renaming of TPM2 related ACPI files Stefan Berger
@ 2021-08-02 21:52 ` Stefan Berger
  2021-08-02 21:52 ` [PATCH-for-6.2 v6 05/10] tests: acpi: tpm2: Add the renamed ACPI files and drop old ones Stefan Berger
                   ` (5 subsequent siblings)
  9 siblings, 0 replies; 12+ messages in thread
From: Stefan Berger @ 2021-08-02 21:52 UTC (permalink / raw)
  To: qemu-devel, marcandre.lureau; +Cc: imammedo, Stefan Berger, philmd, mst

Cc: Michael S. Tsirkin <mst@redhat.com>
Cc: Igor Mammedov <imammedo@redhat.com>
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
---
 tests/qtest/bios-tables-test.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/tests/qtest/bios-tables-test.c b/tests/qtest/bios-tables-test.c
index 93c9d306b5..4ccbe56158 100644
--- a/tests/qtest/bios-tables-test.c
+++ b/tests/qtest/bios-tables-test.c
@@ -1101,7 +1101,8 @@ static void test_acpi_tcg_tpm(const char *machine, const char *tpm_if,
     TPMTestState test;
     test_data data;
     GThread *thread;
-    char *args, *variant = g_strdup_printf(".%s", tpm_if);
+    const char *suffix = tpm_version == TPM_VERSION_2_0 ? "tpm2" : "tpm12";
+    char *args, *variant = g_strdup_printf(".%s.%s", tpm_if, suffix);
 
     tpm_tis_base_addr = base;
 
-- 
2.31.1



^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [PATCH-for-6.2 v6 05/10] tests: acpi: tpm2: Add the renamed ACPI files and drop old ones
  2021-08-02 21:52 [PATCH-for-6.2 v6 00/10] tests: Add test cases for TPM 1.2 ACPI tables Stefan Berger
                   ` (3 preceding siblings ...)
  2021-08-02 21:52 ` [PATCH-for-6.2 v6 04/10] tests: Add suffix 'tpm2' or 'tpm12' to ACPI table files Stefan Berger
@ 2021-08-02 21:52 ` Stefan Berger
  2021-08-02 21:52 ` [PATCH-for-6.2 v6 06/10] tests: tpm: Create TPM 1.2 response in TPM emulator Stefan Berger
                   ` (4 subsequent siblings)
  9 siblings, 0 replies; 12+ messages in thread
From: Stefan Berger @ 2021-08-02 21:52 UTC (permalink / raw)
  To: qemu-devel, marcandre.lureau; +Cc: imammedo, Stefan Berger, philmd, mst

Cc: Michael S. Tsirkin <mst@redhat.com>
Cc: Igor Mammedov <imammedo@redhat.com>
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
Acked-by: Igor Mammedov <imammedo@redhat.com>
---
 tests/data/acpi/q35/DSDT.tis                | Bin 8894 -> 0 bytes
 tests/data/acpi/q35/DSDT.tis.tpm2           | Bin 0 -> 8894 bytes
 tests/data/acpi/q35/TPM2.tis                | Bin 76 -> 0 bytes
 tests/data/acpi/q35/TPM2.tis.tpm2           | Bin 0 -> 76 bytes
 tests/qtest/bios-tables-test-allowed-diff.h |   2 --
 5 files changed, 2 deletions(-)
 delete mode 100644 tests/data/acpi/q35/DSDT.tis
 delete mode 100644 tests/data/acpi/q35/TPM2.tis

diff --git a/tests/data/acpi/q35/DSDT.tis b/tests/data/acpi/q35/DSDT.tis
deleted file mode 100644
index d1433e3c14570bbd17b029a9aec6bc53134c3b7d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 8894
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
IX7<_t0lx)lc>n+a

diff --git a/tests/data/acpi/q35/DSDT.tis.tpm2 b/tests/data/acpi/q35/DSDT.tis.tpm2
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..d1433e3c14570bbd17b029a9aec6bc53134c3b7d 100644
GIT binary patch
literal 8894
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
IX7<_t0lx)lc>n+a

literal 0
HcmV?d00001

diff --git a/tests/data/acpi/q35/TPM2.tis b/tests/data/acpi/q35/TPM2.tis
deleted file mode 100644
index fe0f05987be40f1c1742ae189df7821adc522fc0..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 76
wcmWFu@HO&bU|?Vob@F%i2v%^42yj*a0!E-1hz+8V0UI(0%m%6W&kkY&0CHRh0RR91

diff --git a/tests/data/acpi/q35/TPM2.tis.tpm2 b/tests/data/acpi/q35/TPM2.tis.tpm2
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..fe0f05987be40f1c1742ae189df7821adc522fc0 100644
GIT binary patch
literal 76
wcmWFu@HO&bU|?Vob@F%i2v%^42yj*a0!E-1hz+8V0UI(0%m%6W&kkY&0CHRh0RR91

literal 0
HcmV?d00001

diff --git a/tests/qtest/bios-tables-test-allowed-diff.h b/tests/qtest/bios-tables-test-allowed-diff.h
index b301b8fa06..dfb8523c8b 100644
--- a/tests/qtest/bios-tables-test-allowed-diff.h
+++ b/tests/qtest/bios-tables-test-allowed-diff.h
@@ -1,3 +1 @@
 /* List of comma-separated changed AML files to ignore */
-"tests/data/acpi/q35/DSDT.tis.tpm2",
-"tests/data/acpi/q35/TPM2.tis.tpm2",
-- 
2.31.1



^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [PATCH-for-6.2 v6 06/10] tests: tpm: Create TPM 1.2 response in TPM emulator
  2021-08-02 21:52 [PATCH-for-6.2 v6 00/10] tests: Add test cases for TPM 1.2 ACPI tables Stefan Berger
                   ` (4 preceding siblings ...)
  2021-08-02 21:52 ` [PATCH-for-6.2 v6 05/10] tests: acpi: tpm2: Add the renamed ACPI files and drop old ones Stefan Berger
@ 2021-08-02 21:52 ` Stefan Berger
  2021-08-02 21:52 ` [PATCH-for-6.2 v6 07/10] tests: acpi: prepare for new TPM 1.2 related tables Stefan Berger
                   ` (3 subsequent siblings)
  9 siblings, 0 replies; 12+ messages in thread
From: Stefan Berger @ 2021-08-02 21:52 UTC (permalink / raw)
  To: qemu-devel, marcandre.lureau; +Cc: imammedo, Stefan Berger, philmd, mst

Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
Acked-by: Igor Mammedov <imammedo@redhat.com>

---
v3:
  - Added TPM_VERSION_1_2 enum for when CONFIG_TPM is not defined
---
 tests/qtest/tpm-emu.c | 5 +++++
 tests/qtest/tpm-emu.h | 4 ++++
 2 files changed, 9 insertions(+)

diff --git a/tests/qtest/tpm-emu.c b/tests/qtest/tpm-emu.c
index 8baf49eafd..32c704194b 100644
--- a/tests/qtest/tpm-emu.c
+++ b/tests/qtest/tpm-emu.c
@@ -62,6 +62,11 @@ static void *tpm_emu_tpm_thread(void *data)
             s->tpm_msg->len = cpu_to_be32(sizeof(struct tpm_hdr));
             s->tpm_msg->code = cpu_to_be32(TPM_RC_FAILURE);
             break;
+        case TPM_VERSION_1_2:
+            s->tpm_msg->tag = cpu_to_be16(TPM_TAG_RSP_COMMAND);
+            s->tpm_msg->len = cpu_to_be32(sizeof(struct tpm_hdr));
+            s->tpm_msg->code = cpu_to_be32(TPM_FAIL);
+            break;
         default:
             g_debug("unsupport TPM version %u", s->tpm_version);
             g_assert_not_reached();
diff --git a/tests/qtest/tpm-emu.h b/tests/qtest/tpm-emu.h
index 610519883a..fcb5d7a1d6 100644
--- a/tests/qtest/tpm-emu.h
+++ b/tests/qtest/tpm-emu.h
@@ -16,6 +16,9 @@
 #define TPM_RC_FAILURE 0x101
 #define TPM2_ST_NO_SESSIONS 0x8001
 
+#define TPM_FAIL 9
+#define TPM_TAG_RSP_COMMAND 0xc4
+
 #include "qemu/sockets.h"
 #include "io/channel.h"
 #include "sysemu/tpm.h"
@@ -29,6 +32,7 @@ struct tpm_hdr {
 
 #ifndef CONFIG_TPM
 enum TPMVersion {
+    TPM_VERSION_1_2 = 1,
     TPM_VERSION_2_0 = 2,
 };
 #endif
-- 
2.31.1



^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [PATCH-for-6.2 v6 07/10] tests: acpi: prepare for new TPM 1.2 related tables
  2021-08-02 21:52 [PATCH-for-6.2 v6 00/10] tests: Add test cases for TPM 1.2 ACPI tables Stefan Berger
                   ` (5 preceding siblings ...)
  2021-08-02 21:52 ` [PATCH-for-6.2 v6 06/10] tests: tpm: Create TPM 1.2 response in TPM emulator Stefan Berger
@ 2021-08-02 21:52 ` Stefan Berger
  2021-08-02 21:52 ` [PATCH-for-6.2 v6 08/10] tests: Use QMP to check whether a TPM device model is available Stefan Berger
                   ` (2 subsequent siblings)
  9 siblings, 0 replies; 12+ messages in thread
From: Stefan Berger @ 2021-08-02 21:52 UTC (permalink / raw)
  To: qemu-devel, marcandre.lureau; +Cc: imammedo, Stefan Berger, philmd, mst

Cc: Michael S. Tsirkin <mst@redhat.com>
Cc: Igor Mammedov <imammedo@redhat.com>
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
Acked-by: Igor Mammedov <imammedo@redhat.com>
---
 tests/data/acpi/q35/DSDT.tis.tpm12          | 0
 tests/data/acpi/q35/TCPA.tis.tpm12          | 0
 tests/qtest/bios-tables-test-allowed-diff.h | 2 ++
 3 files changed, 2 insertions(+)
 create mode 100644 tests/data/acpi/q35/DSDT.tis.tpm12
 create mode 100644 tests/data/acpi/q35/TCPA.tis.tpm12

diff --git a/tests/data/acpi/q35/DSDT.tis.tpm12 b/tests/data/acpi/q35/DSDT.tis.tpm12
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/tests/data/acpi/q35/TCPA.tis.tpm12 b/tests/data/acpi/q35/TCPA.tis.tpm12
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/tests/qtest/bios-tables-test-allowed-diff.h b/tests/qtest/bios-tables-test-allowed-diff.h
index dfb8523c8b..fb093b32b9 100644
--- a/tests/qtest/bios-tables-test-allowed-diff.h
+++ b/tests/qtest/bios-tables-test-allowed-diff.h
@@ -1 +1,3 @@
 /* List of comma-separated changed AML files to ignore */
+"tests/data/acpi/q35/DSDT.tis.tpm12",
+"tests/data/acpi/q35/TCPA.tis.tpm12",
-- 
2.31.1



^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [PATCH-for-6.2 v6 08/10] tests: Use QMP to check whether a TPM device model is available
  2021-08-02 21:52 [PATCH-for-6.2 v6 00/10] tests: Add test cases for TPM 1.2 ACPI tables Stefan Berger
                   ` (6 preceding siblings ...)
  2021-08-02 21:52 ` [PATCH-for-6.2 v6 07/10] tests: acpi: prepare for new TPM 1.2 related tables Stefan Berger
@ 2021-08-02 21:52 ` Stefan Berger
  2021-08-03  7:58   ` Marc-André Lureau
  2021-08-02 21:52 ` [PATCH-for-6.2 v6 09/10] tests: acpi: Add test cases for TPM 1.2 with TCPA table Stefan Berger
  2021-08-02 21:52 ` [PATCH-for-6.2 v6 10/10] tests: acpi: tpm1.2: Add expected TPM 1.2 ACPI blobs Stefan Berger
  9 siblings, 1 reply; 12+ messages in thread
From: Stefan Berger @ 2021-08-02 21:52 UTC (permalink / raw)
  To: qemu-devel, marcandre.lureau; +Cc: imammedo, Stefan Berger, philmd, mst

Use QMP to check whether a given TPM device model is available and if it
is not the case then do not register the tests that require it.

Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
---
 tests/qtest/bios-tables-test.c |  8 +++----
 tests/qtest/tpm-emu.c          | 38 ++++++++++++++++++++++++++++++++++
 tests/qtest/tpm-emu.h          |  2 ++
 3 files changed, 43 insertions(+), 5 deletions(-)

diff --git a/tests/qtest/bios-tables-test.c b/tests/qtest/bios-tables-test.c
index 4ccbe56158..89bf55c838 100644
--- a/tests/qtest/bios-tables-test.c
+++ b/tests/qtest/bios-tables-test.c
@@ -1094,7 +1094,6 @@ uint64_t tpm_tis_base_addr;
 static void test_acpi_tcg_tpm(const char *machine, const char *tpm_if,
                               uint64_t base, enum TPMVersion tpm_version)
 {
-#ifdef CONFIG_TPM
     gchar *tmp_dir_name = g_strdup_printf("qemu-test_acpi_%s_tcg_%s.XXXXXX",
                                           machine, tpm_if);
     char *tmp_path = g_dir_make_tmp(tmp_dir_name, NULL);
@@ -1140,9 +1139,6 @@ static void test_acpi_tcg_tpm(const char *machine, const char *tpm_if,
     g_free(tmp_dir_name);
     g_free(args);
     free_test_data(&data);
-#else
-    g_test_skip("TPM disabled");
-#endif
 }
 
 static void test_acpi_q35_tcg_tpm_tis(void)
@@ -1518,7 +1514,9 @@ int main(int argc, char *argv[])
             return ret;
         }
         qtest_add_func("acpi/q35/oem-fields", test_acpi_oem_fields_q35);
-        qtest_add_func("acpi/q35/tpm-tis", test_acpi_q35_tcg_tpm_tis);
+        if (tpm_model_is_available("-machine q35", "tpm-tis")) {
+            qtest_add_func("acpi/q35/tpm2-tis", test_acpi_q35_tcg_tpm_tis);
+        }
         qtest_add_func("acpi/piix4", test_acpi_piix4_tcg);
         qtest_add_func("acpi/oem-fields", test_acpi_oem_fields_pc);
         qtest_add_func("acpi/piix4/bridge", test_acpi_piix4_tcg_bridge);
diff --git a/tests/qtest/tpm-emu.c b/tests/qtest/tpm-emu.c
index 32c704194b..2994d1cf42 100644
--- a/tests/qtest/tpm-emu.c
+++ b/tests/qtest/tpm-emu.c
@@ -16,6 +16,8 @@
 #include "backends/tpm/tpm_ioctl.h"
 #include "io/channel-socket.h"
 #include "qapi/error.h"
+#include "qapi/qmp/qlist.h"
+#include "qapi/qmp/qstring.h"
 #include "tpm-emu.h"
 
 void tpm_emu_test_wait_cond(TPMTestState *s)
@@ -192,3 +194,39 @@ void *tpm_emu_ctrl_thread(void *data)
     object_unref(OBJECT(lioc));
     return NULL;
 }
+
+bool tpm_model_is_available(const char *args, const char *tpm_if)
+{
+    QTestState *qts;
+    QDict *rsp_tpm;
+    bool ret = false;
+
+    qts = qtest_init(args);
+    if (!qts) {
+        return false;
+    }
+
+    rsp_tpm = qtest_qmp(qts, "{ 'execute': 'query-tpm'}");
+    if (!qdict_haskey(rsp_tpm, "error")) {
+        QDict *rsp_models = qtest_qmp(qts,
+                                      "{ 'execute': 'query-tpm-models'}");
+        if (qdict_haskey(rsp_models, "return")) {
+            QList *models = qdict_get_qlist(rsp_models, "return");
+            QListEntry *e;
+
+            QLIST_FOREACH_ENTRY(models, e) {
+                QString *s = qobject_to(QString, qlist_entry_obj(e));
+                const char *ename = qstring_get_str(s);
+                if (!strcmp(ename, tpm_if)) {
+                    ret = true;
+                    break;
+                }
+            }
+        }
+        qobject_unref(rsp_models);
+    }
+    qobject_unref(rsp_tpm);
+    qtest_quit(qts);
+
+    return ret;
+}
diff --git a/tests/qtest/tpm-emu.h b/tests/qtest/tpm-emu.h
index fcb5d7a1d6..c33d99af37 100644
--- a/tests/qtest/tpm-emu.h
+++ b/tests/qtest/tpm-emu.h
@@ -22,6 +22,7 @@
 #include "qemu/sockets.h"
 #include "io/channel.h"
 #include "sysemu/tpm.h"
+#include "libqos/libqtest.h"
 
 struct tpm_hdr {
     uint16_t tag;
@@ -50,5 +51,6 @@ typedef struct TPMTestState {
 
 void tpm_emu_test_wait_cond(TPMTestState *s);
 void *tpm_emu_ctrl_thread(void *data);
+bool tpm_model_is_available(const char *args, const char *tpm_if);
 
 #endif /* TESTS_TPM_EMU_H */
-- 
2.31.1



^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [PATCH-for-6.2 v6 09/10] tests: acpi: Add test cases for TPM 1.2 with TCPA table
  2021-08-02 21:52 [PATCH-for-6.2 v6 00/10] tests: Add test cases for TPM 1.2 ACPI tables Stefan Berger
                   ` (7 preceding siblings ...)
  2021-08-02 21:52 ` [PATCH-for-6.2 v6 08/10] tests: Use QMP to check whether a TPM device model is available Stefan Berger
@ 2021-08-02 21:52 ` Stefan Berger
  2021-08-02 21:52 ` [PATCH-for-6.2 v6 10/10] tests: acpi: tpm1.2: Add expected TPM 1.2 ACPI blobs Stefan Berger
  9 siblings, 0 replies; 12+ messages in thread
From: Stefan Berger @ 2021-08-02 21:52 UTC (permalink / raw)
  To: qemu-devel, marcandre.lureau; +Cc: imammedo, Stefan Berger, philmd, mst

Cc: Michael S. Tsirkin <mst@redhat.com>
Cc: Igor Mammedov <imammedo@redhat.com>
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
---
 tests/qtest/bios-tables-test.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/tests/qtest/bios-tables-test.c b/tests/qtest/bios-tables-test.c
index 89bf55c838..4f11d03055 100644
--- a/tests/qtest/bios-tables-test.c
+++ b/tests/qtest/bios-tables-test.c
@@ -1141,11 +1141,16 @@ static void test_acpi_tcg_tpm(const char *machine, const char *tpm_if,
     free_test_data(&data);
 }
 
-static void test_acpi_q35_tcg_tpm_tis(void)
+static void test_acpi_q35_tcg_tpm2_tis(void)
 {
     test_acpi_tcg_tpm("q35", "tis", 0xFED40000, TPM_VERSION_2_0);
 }
 
+static void test_acpi_q35_tcg_tpm12_tis(void)
+{
+    test_acpi_tcg_tpm("q35", "tis", 0xFED40000, TPM_VERSION_1_2);
+}
+
 static void test_acpi_tcg_dimm_pxm(const char *machine)
 {
     test_data data;
@@ -1515,7 +1520,8 @@ int main(int argc, char *argv[])
         }
         qtest_add_func("acpi/q35/oem-fields", test_acpi_oem_fields_q35);
         if (tpm_model_is_available("-machine q35", "tpm-tis")) {
-            qtest_add_func("acpi/q35/tpm2-tis", test_acpi_q35_tcg_tpm_tis);
+            qtest_add_func("acpi/q35/tpm2-tis", test_acpi_q35_tcg_tpm2_tis);
+            qtest_add_func("acpi/q35/tpm12-tis", test_acpi_q35_tcg_tpm12_tis);
         }
         qtest_add_func("acpi/piix4", test_acpi_piix4_tcg);
         qtest_add_func("acpi/oem-fields", test_acpi_oem_fields_pc);
-- 
2.31.1



^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [PATCH-for-6.2 v6 10/10] tests: acpi: tpm1.2: Add expected TPM 1.2 ACPI blobs
  2021-08-02 21:52 [PATCH-for-6.2 v6 00/10] tests: Add test cases for TPM 1.2 ACPI tables Stefan Berger
                   ` (8 preceding siblings ...)
  2021-08-02 21:52 ` [PATCH-for-6.2 v6 09/10] tests: acpi: Add test cases for TPM 1.2 with TCPA table Stefan Berger
@ 2021-08-02 21:52 ` Stefan Berger
  9 siblings, 0 replies; 12+ messages in thread
From: Stefan Berger @ 2021-08-02 21:52 UTC (permalink / raw)
  To: qemu-devel, marcandre.lureau; +Cc: imammedo, Stefan Berger, philmd, mst

The TCPA.tis.tpm12 file contains the following:

[000h 0000   4]                    Signature : "TCPA"    [Trusted Computing Platform Alliance table]
[004h 0004   4]                 Table Length : 00000032
[008h 0008   1]                     Revision : 02
[009h 0009   1]                     Checksum : 32
[00Ah 0010   6]                       Oem ID : "BOCHS "
[010h 0016   8]                 Oem Table ID : "BXPC    "
[018h 0024   4]                 Oem Revision : 00000001
[01Ch 0028   4]              Asl Compiler ID : "BXPC"
[020h 0032   4]        Asl Compiler Revision : 00000001

[024h 0036   2]               Platform Class : 0000
[026h 0038   4]         Min Event Log Length : 00010000
[02Ah 0042   8]            Event Log Address : 0000000007FF0000

Cc: Michael S. Tsirkin <mst@redhat.com>
Cc: Igor Mammedov <imammedo@redhat.com>
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
Acked-by: Igor Mammedov <imammedo@redhat.com>
---
 tests/data/acpi/q35/DSDT.tis.tpm12          | Bin 0 -> 8894 bytes
 tests/data/acpi/q35/TCPA.tis.tpm12          | Bin 0 -> 50 bytes
 tests/qtest/bios-tables-test-allowed-diff.h |   2 --
 3 files changed, 2 deletions(-)

diff --git a/tests/data/acpi/q35/DSDT.tis.tpm12 b/tests/data/acpi/q35/DSDT.tis.tpm12
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..6735e73971c6be95deceb23051a78af6a4573bd8 100644
GIT binary patch
literal 8894
zcmb7KO>7&-8J*>iv|6sDB}GgAOGG$M+cbegN%?Dwq$PLxXN%N|r0gVg!IkB-lAR)p
zBnFZg0b~V890M)lunu}DKnG0GTYKoa4cc4^<luvW1Sopwp_c%?v?yZqVD)`79C?PM
zfS8BnezWh*H*a=lA2px6hS&V#F~*Eke#I>}GWq9yH-nGC7^8Fgb}F&6thMdsOKl?&
zi5aac34V@4-b_E{<=0BauQr2^g5dS{0%JX7=RS6BoLdjyxf+~f1iExCv@AMt3RCSy
zzTMh!E#IwV&33us*|}SmX|`Q)7B$;Bug=W&TE%1O<?;4P!;M|L$XxHtLbn$0Y$j(c
zr&ayi(%17xfArCr*K?mf`^8VLU9@5VEaKb5_fklQ;BsKi2VLjG&X(~u(fPH7?#zcB
zep$3RbR`U^<)$r~sH=tE#n#R<UOngXF;4n5KkH@}FfO;=NX}bF-<xC1rpckt?{{~1
z|0GVC^CokurchZh%YLCLRT|Jns#@D+zgcBAW4G=mSgdu$p?KzWq2^`$y4TL6pK3Rn
zITlh&5K`0nTY=>SUHf_`V4WbbyW3;ksq39}_RDpf{o}v!9_v}tVr)rk>fH$%%dNXC
z#u!HPtrIjFn(x-m;YuUd=2MLH^B9U>sjo(?z_OiF(~n0bkWj6iCr;%(fW<wEV)Pi5
zOmomWP%;7*FvBPr=h=CDAB!McYv*`%Wo?f&J)^NqD}Ib-sI{}W>^B!=-!XB&4Grs9
zlO^Mg=o?YfJhshyUUXNgdz?7Xn9UKKJJCB)W*&1m=iz$O-5X7!fB$&bAq$yd9%BZk
zsFu7pN87&JXc~#nY|F&0p}@u5tz~fVGOg`K;UreU=eC6#m!QDSXA38BAz!Q3jl^w1
zqrlDA)~Xr5;ys^f8Tn=R6iYwsyM>dH)<YES?uMI$2;Vfe81>QmHZ}KH`q3OXqfpdW
zNQa=04btA2?=`AZ-R1t$xb^g3|Jiu*t?Ko;ud0Xs;#NcI>*b#X-G@3CSoct8%ZgwH
zyv?5@8;|WS>m{Sc6*{n+bKL`-3)Xm;ibvQaTMvV)>x}i*O~2w6S=w&n+Xy!)a(?lG
zK@W@Le#IBEUvK)UQ?G5O5-~iTY`J!-z{I(M^CC;x)NVx(lw=S^P-dyg7{-B>ByjzR
zSO89mYn%tD42g;UIX1$X!1g0zN@#>}CZL>&keC<^$3{6*jv&g2DWOrp1e7xo5>sZu
zx)NC4PmD7qG$xpG@Ca3%aZP8OGbJ=Gm~!w4Rh?s+&N0rE&@o*nLRIIurgL1=Ij-wO
zsOmH|ou;PK)O8|Mb>a=A%=Cn&b3)gNP}ON^IxS77rRzkf>P%=l6PnJ1t`niE6YoOh
ze%hK&Ti1zD)j6r@oYZtq>N*jsI;S+9Q<}~xT_-|S=d`ACTGKhL>qMyPbTplgrqj`N
zB2;xIHJwRKXHwURP}P~zbfz?&DP1Q*Rp*SRb4JrSqw7Sd>P%}o)0)n-t`niE^MI!F
zfTr_+t`niEb5_$itLdE8bs|)C;+F)TKKUM+({#@1IuWWm4{ACOYB~?<IuWWm4{>I$
z|0X=dnfd<9?vP-*_d;TNee7Y4d01l})|m)Z<`Io~L}MP&nFv+pQH^<2V;<F+2vz0-
z8uI~-`GC$us4^eqOzAQYa;AL8KPZ^;#f^}d@(#{xIp?*U^LkE%BBu!h%_#<2YE+P#
zo2h|wB<>q10;Cl|6oE_%0~I)KNd_a99G`)t0=j3Q2&FU_sK81CRiI>`0=j3Q2r(LI
zpaR>ED5q+m0=j3Q2r(j#g@FoeKk94bP%=;fm7%H=1}eJcOc<yFB?Cn$U6BkFq0|Wj
z6<E%MfhtfkPyyvR$v_cGoiI>=<xCi;0wn_#P|hR+MJRQ`Kn0dFVW0|>3{*fllMEE0
zyq_>of#pmXr~)Me6;RG314Srx!axO<Ghv_#lnhirIg<<&q0|Wj6<E%MfhtfkPyyvk
zGEjt4Ck#|zITHq|K*>M_lrzad5lWpfP=V!47^ngz0~JutBm+e#b;3XemNQ|X3X}{~
zKsl2P6rt1!0~J`#gn=qhGEf2KOfpb}QYQ>lU^x>8szAv=1(Y+%KoLrvFi?TzOc<yF
zB?A>u&LjgxD0RX>1(q{mpbC@>R6seC3>2Z%2?G^a&V+#~P%=;f<xDbAgi<FARA4z1
z2C6{GKn0XD$v_cGoiI>=<xCi;0wn_#P|hR+MJRQ`Kn0dFVW0|>3{*fllMEE0)CmI>
zSk8ojDo`>|0p(0GP=rz^3{+q_69%e4$v_2^Gs!>^N}VuJM2dkTQVkTLYM=-e167zX
zP=!ebsxZkw6($T+VZuNaCK;&0Bm-5LFi?dF167!0pbC==RAItE6($T+VUmF=Ofpb~
z2?IqW?=B1!5$+hDOfpb}xD7HSrkq<CC?YwxFi=EtZplCq%DE*2MTo7U!);h7>)IXu
z$7+xMAiX(8U%A$m?>`=;zfx&egZ4WNzrLD-<F4lE;L^b}8TMXQ3v^zjLx~P$Gd)vT
z#cn`%;<B~9iA|P?o|Q;HQCW5C69Ck+$tf%G{urC!J3()<Yt&}Najb-wH?3(#XBb2s
zTQAGw_>GX0TOKyHYiKjb#IPI5S!?F~DK-&>yD_}K8Q#R$y+}{<eV`r<0i(&KlWnik
zU~kj8war_mX+Meq;nsOP*KX7s#<k7<7$`lp_p|2*vSah)8)wfe+4DSm9^+H9=hLIJ
z=UY2f(k`~ru-(_!Zbj}Ry{n{md3tvsy}M6(x1Zh{5N}~a>l>^0l=L1??+v8)_DS#c
z(-#KQ$L=G2K}lcW=?eqt3;U!m^wSpy)5q^4eNjnY<mrn8>5KcMFZR=y2Gft-NBWYI
zzQog)2GW=INnh%xFAt_4zmN1~C4HHvFAt<I?~}fa^f7vs4W@TQdinCe&k8Jev45+#
zrN{V^#}}>Zes_b**h=c%;kU+6ccN`%cSGwkrFVxPAVb}WwvpWptut%^(>jyF@T+8~
zJJB|>yP<WH*1N+`m7(rL+sN*Q*1-Y2JN$kb>Q1zc>~83}p4Gd<kD8(GMBB*jhMv<o
zy*vEU8R|~7>D@U;?(JvqOgE}|lv+?$v7^}YcUGPg)rqoo_TG-aUoSM|Q)*#x!kZ>t
ze=Spf<@NC8OFzxL`qFE!TzYlmrPo-?aQ)>|{ik)(vP#C6_LsI{V^<%ZL|f-y+LqnA
z@*N6tEaUoxn&DPz4a2QhPaD_(&(fi2u&C=+J#4b42pM%7h2;$3UapzJUUQ{ZF+)a;
zc<PtVay=N3802Km^()!zLY9Uh3P<sD(rp%Bh;*&aCVSV-X0u!A@)&mSa}%wH&ORQK
zr415F0%-evuo=lh7IY7H1}~6=(3-}!`_Pr;Q@tQvjgzeVOJodog&s!spDxb24Yy|Q
zBg1rSg)^zhZpb!5<NU{7s&n25+4;~2Lbm?#vi(6PFm7z1DF`<PQ*yzBjkqb@xf_G6
zxGfu>bSFCN)-KX~5{|mwJw7yZbl<~`t2D-Sc4-}>y7_eX$srhjGI0AgtY|niF}Mic
zr41@97Gk2ZNFAPI8+6N|ZKJg?THH`y7|*41qo=t#;jT2A_CC`*`e_;JACnhujhLIz
ziVU_A^uk~xrg`M(TJJnV&otIQK3E=juFW1j-B<zDTr-)lOorVC`W>2{LeaFDATexn
z>q7bn7Ej49v<ulq)?e|okm#9mR$_FCFZ}+R%09)?-vf4m(M0T31VzP4Y4F_|AE}0L
zDzjpx@}dy0l@@L5&sQf|1X~37?9u@h!#nmJ+c42?;GKle*SLJg-is$uLt^YdyvWM0
z)6e4FUHVx}p9s^+uO`Y^zY|y3Z?!9*qAq(^T>135YmcI2+wV=Z(QHu-3=^k)C`J(#
zmv7%?KD}~Lv5sM)M8%p{gL9ZD@tUM|<^3p%m<i$L{Qa02%ZwSk>UlEem;Jh!ZYn9?
z>jV=v;$1u3*Jt);ws8<8%SX;4ePgMe8jBeiD9)c~r_7iYv9O_s=t;Uls+=F(yCtoi
z6U8&G@W9E{LUj#~)FPo#*i}dD#GN?3(Vdk?&hj!}=@Gi4t(`<8n-%qAOv!f}*=Iz6
zyJs*Mb7R3{C}84bQJyUElQDW+Kv_9{g8m9?`qjOntc{W`<=5)h>eO#HeSZ<<^3~gS
ztruHYj`Ps>D>V}bKjZs#epscmYGxTnRAT{JV)l#R(7!8CWK>s9pElErO}|*1=uUii
zV-q`EJ(w0QF0fZ^=HI@%$@=I81Fc1~$B!88Vk$<{inFCuoSva{;b0quSG!wEi~mXZ
z&Hw)X?2)JbQ0pE4xnur%w$V+X;Mz;Zt;ntcPr6|ACKpaDvF>B2utxB&5f>R=$TXH<
z9hWb!Ti9jn8DW6ouZE1IpvM10fTJkNZW$r9U!{>445O+pqM(af?q2hf!RWk7kR?0<
zgjwpE;KzC>`J(!3#Y37K4iI2}7(CWPzCs-6@qNdLzp?pntq6e~8k{m}8ZE{pS|HPq
zS`ML8Q}49L`{A``cmn^|j(;_Sr)NIDRQ%v*>GT)>zWrl34ozd!h<0Z%iIN}C&Fr!N
E0|senc>n+a

literal 0
HcmV?d00001

diff --git a/tests/data/acpi/q35/TCPA.tis.tpm12 b/tests/data/acpi/q35/TCPA.tis.tpm12
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..a56961b413e7715b3d60f9836d1c8f2f4c7347cb 100644
GIT binary patch
literal 50
qcmWG>4sbMLU|?V}a`Jcf2v%^42yj*a0!E-1hz+7a07U<12eAOxRtEt9

literal 0
HcmV?d00001

diff --git a/tests/qtest/bios-tables-test-allowed-diff.h b/tests/qtest/bios-tables-test-allowed-diff.h
index fb093b32b9..dfb8523c8b 100644
--- a/tests/qtest/bios-tables-test-allowed-diff.h
+++ b/tests/qtest/bios-tables-test-allowed-diff.h
@@ -1,3 +1 @@
 /* List of comma-separated changed AML files to ignore */
-"tests/data/acpi/q35/DSDT.tis.tpm12",
-"tests/data/acpi/q35/TCPA.tis.tpm12",
-- 
2.31.1



^ permalink raw reply related	[flat|nested] 12+ messages in thread

* Re: [PATCH-for-6.2 v6 08/10] tests: Use QMP to check whether a TPM device model is available
  2021-08-02 21:52 ` [PATCH-for-6.2 v6 08/10] tests: Use QMP to check whether a TPM device model is available Stefan Berger
@ 2021-08-03  7:58   ` Marc-André Lureau
  0 siblings, 0 replies; 12+ messages in thread
From: Marc-André Lureau @ 2021-08-03  7:58 UTC (permalink / raw)
  To: Stefan Berger
  Cc: Igor Mammedov, Philippe Mathieu-Daudé, QEMU, Michael S. Tsirkin

[-- Attachment #1: Type: text/plain, Size: 4558 bytes --]

Hi

On Tue, Aug 3, 2021 at 1:54 AM Stefan Berger <stefanb@linux.ibm.com> wrote:

> Use QMP to check whether a given TPM device model is available and if it
> is not the case then do not register the tests that require it.
>
> Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
>

lgtm
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>

---
>  tests/qtest/bios-tables-test.c |  8 +++----
>  tests/qtest/tpm-emu.c          | 38 ++++++++++++++++++++++++++++++++++
>  tests/qtest/tpm-emu.h          |  2 ++
>  3 files changed, 43 insertions(+), 5 deletions(-)
>
> diff --git a/tests/qtest/bios-tables-test.c
> b/tests/qtest/bios-tables-test.c
> index 4ccbe56158..89bf55c838 100644
> --- a/tests/qtest/bios-tables-test.c
> +++ b/tests/qtest/bios-tables-test.c
> @@ -1094,7 +1094,6 @@ uint64_t tpm_tis_base_addr;
>  static void test_acpi_tcg_tpm(const char *machine, const char *tpm_if,
>                                uint64_t base, enum TPMVersion tpm_version)
>  {
> -#ifdef CONFIG_TPM
>      gchar *tmp_dir_name =
> g_strdup_printf("qemu-test_acpi_%s_tcg_%s.XXXXXX",
>                                            machine, tpm_if);
>      char *tmp_path = g_dir_make_tmp(tmp_dir_name, NULL);
> @@ -1140,9 +1139,6 @@ static void test_acpi_tcg_tpm(const char *machine,
> const char *tpm_if,
>      g_free(tmp_dir_name);
>      g_free(args);
>      free_test_data(&data);
> -#else
> -    g_test_skip("TPM disabled");
> -#endif
>  }
>
>  static void test_acpi_q35_tcg_tpm_tis(void)
> @@ -1518,7 +1514,9 @@ int main(int argc, char *argv[])
>              return ret;
>          }
>          qtest_add_func("acpi/q35/oem-fields", test_acpi_oem_fields_q35);
> -        qtest_add_func("acpi/q35/tpm-tis", test_acpi_q35_tcg_tpm_tis);
> +        if (tpm_model_is_available("-machine q35", "tpm-tis")) {
> +            qtest_add_func("acpi/q35/tpm2-tis",
> test_acpi_q35_tcg_tpm_tis);
> +        }
>

(I noted the test doesn't use qos)

         qtest_add_func("acpi/piix4", test_acpi_piix4_tcg);
>          qtest_add_func("acpi/oem-fields", test_acpi_oem_fields_pc);
>          qtest_add_func("acpi/piix4/bridge", test_acpi_piix4_tcg_bridge);
> diff --git a/tests/qtest/tpm-emu.c b/tests/qtest/tpm-emu.c
> index 32c704194b..2994d1cf42 100644
> --- a/tests/qtest/tpm-emu.c
> +++ b/tests/qtest/tpm-emu.c
> @@ -16,6 +16,8 @@
>  #include "backends/tpm/tpm_ioctl.h"
>  #include "io/channel-socket.h"
>  #include "qapi/error.h"
> +#include "qapi/qmp/qlist.h"
> +#include "qapi/qmp/qstring.h"
>  #include "tpm-emu.h"
>
>  void tpm_emu_test_wait_cond(TPMTestState *s)
> @@ -192,3 +194,39 @@ void *tpm_emu_ctrl_thread(void *data)
>      object_unref(OBJECT(lioc));
>      return NULL;
>  }
> +
> +bool tpm_model_is_available(const char *args, const char *tpm_if)
> +{
> +    QTestState *qts;
> +    QDict *rsp_tpm;
>
+    bool ret = false;
> +
> +    qts = qtest_init(args);
> +    if (!qts) {
> +        return false;
> +    }
>
+
> +    rsp_tpm = qtest_qmp(qts, "{ 'execute': 'query-tpm'}");
> +    if (!qdict_haskey(rsp_tpm, "error")) {
> +        QDict *rsp_models = qtest_qmp(qts,
> +                                      "{ 'execute': 'query-tpm-models'}");
> +        if (qdict_haskey(rsp_models, "return")) {
> +            QList *models = qdict_get_qlist(rsp_models, "return");
> +            QListEntry *e;
> +
> +            QLIST_FOREACH_ENTRY(models, e) {
> +                QString *s = qobject_to(QString, qlist_entry_obj(e));
> +                const char *ename = qstring_get_str(s);
> +                if (!strcmp(ename, tpm_if)) {
> +                    ret = true;
> +                    break;
> +                }
> +            }
> +        }
> +        qobject_unref(rsp_models);
> +    }
> +    qobject_unref(rsp_tpm);
> +    qtest_quit(qts);
> +
> +    return ret;
> +}
> diff --git a/tests/qtest/tpm-emu.h b/tests/qtest/tpm-emu.h
> index fcb5d7a1d6..c33d99af37 100644
> --- a/tests/qtest/tpm-emu.h
> +++ b/tests/qtest/tpm-emu.h
> @@ -22,6 +22,7 @@
>  #include "qemu/sockets.h"
>  #include "io/channel.h"
>  #include "sysemu/tpm.h"
> +#include "libqos/libqtest.h"
>
>  struct tpm_hdr {
>      uint16_t tag;
> @@ -50,5 +51,6 @@ typedef struct TPMTestState {
>
>  void tpm_emu_test_wait_cond(TPMTestState *s);
>  void *tpm_emu_ctrl_thread(void *data);
> +bool tpm_model_is_available(const char *args, const char *tpm_if);
>
>  #endif /* TESTS_TPM_EMU_H */
> --
> 2.31.1
>
>
>

-- 
Marc-André Lureau

[-- Attachment #2: Type: text/html, Size: 6468 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2021-08-03  7:59 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-08-02 21:52 [PATCH-for-6.2 v6 00/10] tests: Add test cases for TPM 1.2 ACPI tables Stefan Berger
2021-08-02 21:52 ` [PATCH-for-6.2 v6 01/10] tests: Rename TestState to TPMTestState Stefan Berger
2021-08-02 21:52 ` [PATCH-for-6.2 v6 02/10] tests: Add tpm_version field to TPMTestState and fill it Stefan Berger
2021-08-02 21:52 ` [PATCH-for-6.2 v6 03/10] tests: acpi: Prepare for renaming of TPM2 related ACPI files Stefan Berger
2021-08-02 21:52 ` [PATCH-for-6.2 v6 04/10] tests: Add suffix 'tpm2' or 'tpm12' to ACPI table files Stefan Berger
2021-08-02 21:52 ` [PATCH-for-6.2 v6 05/10] tests: acpi: tpm2: Add the renamed ACPI files and drop old ones Stefan Berger
2021-08-02 21:52 ` [PATCH-for-6.2 v6 06/10] tests: tpm: Create TPM 1.2 response in TPM emulator Stefan Berger
2021-08-02 21:52 ` [PATCH-for-6.2 v6 07/10] tests: acpi: prepare for new TPM 1.2 related tables Stefan Berger
2021-08-02 21:52 ` [PATCH-for-6.2 v6 08/10] tests: Use QMP to check whether a TPM device model is available Stefan Berger
2021-08-03  7:58   ` Marc-André Lureau
2021-08-02 21:52 ` [PATCH-for-6.2 v6 09/10] tests: acpi: Add test cases for TPM 1.2 with TCPA table Stefan Berger
2021-08-02 21:52 ` [PATCH-for-6.2 v6 10/10] tests: acpi: tpm1.2: Add expected TPM 1.2 ACPI blobs Stefan Berger

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.