[PATCH v2 1/4] tests: Add TPM coverage to default-models tests

Andrea Bolognani posted 4 patches 4 months, 2 weeks ago
[PATCH v2 1/4] tests: Add TPM coverage to default-models tests
Posted by Andrea Bolognani 4 months, 2 weeks ago
We have a non-trivial amount of architecture-specific logic
dealing with TPM, so it's good to have coverage for it.

Note that two architectures currently don't have support for
TPM devices enabled by default in QEMU: loongarch64 and s390x.
The situation might change for the former, but that's unlikely
to happen for the latter.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
---
 ...aarch64-virt-default-models.aarch64-latest.abi-update.args | 3 +++
 .../aarch64-virt-default-models.aarch64-latest.abi-update.xml | 3 +++
 .../aarch64-virt-default-models.aarch64-latest.args           | 3 +++
 .../aarch64-virt-default-models.aarch64-latest.xml            | 3 +++
 tests/qemuxmlconfdata/aarch64-virt-default-models.xml         | 3 +++
 tests/qemuxmlconfdata/loongarch64-virt-default-models.xml     | 3 +++
 .../ppc64-pseries-default-models.ppc64-latest.abi-update.args | 3 +++
 .../ppc64-pseries-default-models.ppc64-latest.abi-update.xml  | 4 ++++
 .../ppc64-pseries-default-models.ppc64-latest.args            | 3 +++
 .../ppc64-pseries-default-models.ppc64-latest.xml             | 4 ++++
 tests/qemuxmlconfdata/ppc64-pseries-default-models.xml        | 3 +++
 ...riscv64-virt-default-models.riscv64-latest.abi-update.args | 3 +++
 .../riscv64-virt-default-models.riscv64-latest.abi-update.xml | 3 +++
 .../riscv64-virt-default-models.riscv64-latest.args           | 3 +++
 .../riscv64-virt-default-models.riscv64-latest.xml            | 3 +++
 tests/qemuxmlconfdata/riscv64-virt-default-models.xml         | 3 +++
 tests/qemuxmlconfdata/s390x-ccw-default-models.xml            | 2 ++
 .../x86_64-pc-default-models.x86_64-latest.abi-update.args    | 3 +++
 .../x86_64-pc-default-models.x86_64-latest.abi-update.xml     | 3 +++
 .../x86_64-pc-default-models.x86_64-latest.args               | 3 +++
 .../x86_64-pc-default-models.x86_64-latest.xml                | 3 +++
 tests/qemuxmlconfdata/x86_64-pc-default-models.xml            | 3 +++
 .../x86_64-q35-default-models.x86_64-latest.abi-update.args   | 3 +++
 .../x86_64-q35-default-models.x86_64-latest.abi-update.xml    | 3 +++
 .../x86_64-q35-default-models.x86_64-latest.args              | 3 +++
 .../x86_64-q35-default-models.x86_64-latest.xml               | 3 +++
 tests/qemuxmlconfdata/x86_64-q35-default-models.xml           | 3 +++
 27 files changed, 82 insertions(+)

diff --git a/tests/qemuxmlconfdata/aarch64-virt-default-models.aarch64-latest.abi-update.args b/tests/qemuxmlconfdata/aarch64-virt-default-models.aarch64-latest.abi-update.args
index 0c4acf800f..a503f45d0c 100644
--- a/tests/qemuxmlconfdata/aarch64-virt-default-models.aarch64-latest.abi-update.args
+++ b/tests/qemuxmlconfdata/aarch64-virt-default-models.aarch64-latest.abi-update.args
@@ -38,6 +38,9 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \
 -device '{"driver":"virtio-net-pci","netdev":"hostnet0","id":"net0","mac":"52:54:00:09:a4:37","bus":"pci.2","addr":"0x0"}' \
 -chardev pty,id=charserial0 \
 -serial chardev:charserial0 \
+-chardev socket,id=chrtpm,path=/dev/test \
+-tpmdev emulator,id=tpm-tpm0,chardev=chrtpm \
+-device '{"driver":"tpm-tis-device","tpmdev":"tpm-tpm0","id":"tpm0"}' \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device '{"driver":"virtio-gpu-pci","id":"video0","max_outputs":1,"bus":"pci.5","addr":"0x0"}' \
 -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
diff --git a/tests/qemuxmlconfdata/aarch64-virt-default-models.aarch64-latest.abi-update.xml b/tests/qemuxmlconfdata/aarch64-virt-default-models.aarch64-latest.abi-update.xml
index 87be062c89..bbe1dd931d 100644
--- a/tests/qemuxmlconfdata/aarch64-virt-default-models.aarch64-latest.abi-update.xml
+++ b/tests/qemuxmlconfdata/aarch64-virt-default-models.aarch64-latest.abi-update.xml
@@ -69,6 +69,9 @@
     <console type='pty'>
       <target type='serial' port='0'/>
     </console>
+    <tpm model='tpm-tis'>
+      <backend type='emulator' version='2.0'/>
+    </tpm>
     <audio id='1' type='none'/>
     <video>
       <model type='virtio' heads='1' primary='yes'/>
diff --git a/tests/qemuxmlconfdata/aarch64-virt-default-models.aarch64-latest.args b/tests/qemuxmlconfdata/aarch64-virt-default-models.aarch64-latest.args
index 0c4acf800f..a503f45d0c 100644
--- a/tests/qemuxmlconfdata/aarch64-virt-default-models.aarch64-latest.args
+++ b/tests/qemuxmlconfdata/aarch64-virt-default-models.aarch64-latest.args
@@ -38,6 +38,9 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \
 -device '{"driver":"virtio-net-pci","netdev":"hostnet0","id":"net0","mac":"52:54:00:09:a4:37","bus":"pci.2","addr":"0x0"}' \
 -chardev pty,id=charserial0 \
 -serial chardev:charserial0 \
+-chardev socket,id=chrtpm,path=/dev/test \
+-tpmdev emulator,id=tpm-tpm0,chardev=chrtpm \
+-device '{"driver":"tpm-tis-device","tpmdev":"tpm-tpm0","id":"tpm0"}' \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device '{"driver":"virtio-gpu-pci","id":"video0","max_outputs":1,"bus":"pci.5","addr":"0x0"}' \
 -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
diff --git a/tests/qemuxmlconfdata/aarch64-virt-default-models.aarch64-latest.xml b/tests/qemuxmlconfdata/aarch64-virt-default-models.aarch64-latest.xml
index 87be062c89..bbe1dd931d 100644
--- a/tests/qemuxmlconfdata/aarch64-virt-default-models.aarch64-latest.xml
+++ b/tests/qemuxmlconfdata/aarch64-virt-default-models.aarch64-latest.xml
@@ -69,6 +69,9 @@
     <console type='pty'>
       <target type='serial' port='0'/>
     </console>
+    <tpm model='tpm-tis'>
+      <backend type='emulator' version='2.0'/>
+    </tpm>
     <audio id='1' type='none'/>
     <video>
       <model type='virtio' heads='1' primary='yes'/>
diff --git a/tests/qemuxmlconfdata/aarch64-virt-default-models.xml b/tests/qemuxmlconfdata/aarch64-virt-default-models.xml
index cf7f330c0b..d9ad495e75 100644
--- a/tests/qemuxmlconfdata/aarch64-virt-default-models.xml
+++ b/tests/qemuxmlconfdata/aarch64-virt-default-models.xml
@@ -14,6 +14,9 @@
       <mac address='52:54:00:09:a4:37'/>
     </interface>
     <serial type='pty'/>
+    <tpm>
+      <backend type='emulator'/>
+    </tpm>
     <video/>
     <memballoon model='none'/>
     <!-- No default model for <panic/> on aarch64 -->
diff --git a/tests/qemuxmlconfdata/loongarch64-virt-default-models.xml b/tests/qemuxmlconfdata/loongarch64-virt-default-models.xml
index 109fb3b3ea..07af08b25d 100644
--- a/tests/qemuxmlconfdata/loongarch64-virt-default-models.xml
+++ b/tests/qemuxmlconfdata/loongarch64-virt-default-models.xml
@@ -14,6 +14,9 @@
       <mac address='52:54:00:09:a4:37'/>
     </interface>
     <serial type='pty'/>
+    <!-- loongarch64 could probably use TPM but the necessary devices
+    are currently disabled in the default QEMU configuration for the
+    architecture. If that ever changes, add coverage here -->
     <video/>
     <memballoon model='none'/>
     <!-- No default model for <panic/> on loongarch64 -->
diff --git a/tests/qemuxmlconfdata/ppc64-pseries-default-models.ppc64-latest.abi-update.args b/tests/qemuxmlconfdata/ppc64-pseries-default-models.ppc64-latest.abi-update.args
index 1395f19bfe..f4ae38f1b5 100644
--- a/tests/qemuxmlconfdata/ppc64-pseries-default-models.ppc64-latest.abi-update.args
+++ b/tests/qemuxmlconfdata/ppc64-pseries-default-models.ppc64-latest.abi-update.args
@@ -32,6 +32,9 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \
 -device '{"driver":"rtl8139","netdev":"hostnet0","id":"net0","mac":"52:54:00:09:a4:37","bus":"pci.0","addr":"0x1"}' \
 -chardev pty,id=charserial0 \
 -device '{"driver":"spapr-vty","chardev":"charserial0","id":"serial0","reg":805306368}' \
+-chardev socket,id=chrtpm,path=/dev/test \
+-tpmdev emulator,id=tpm-tpm0,chardev=chrtpm \
+-device '{"driver":"tpm-spapr","tpmdev":"tpm-tpm0","id":"tpm0","reg":16384}' \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device '{"driver":"VGA","id":"video0","vgamem_mb":16,"bus":"pci.0","addr":"0x3"}' \
 -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
diff --git a/tests/qemuxmlconfdata/ppc64-pseries-default-models.ppc64-latest.abi-update.xml b/tests/qemuxmlconfdata/ppc64-pseries-default-models.ppc64-latest.abi-update.xml
index 2304c6f786..24eed24ab6 100644
--- a/tests/qemuxmlconfdata/ppc64-pseries-default-models.ppc64-latest.abi-update.xml
+++ b/tests/qemuxmlconfdata/ppc64-pseries-default-models.ppc64-latest.abi-update.xml
@@ -42,6 +42,10 @@
       <target type='serial' port='0'/>
       <address type='spapr-vio' reg='0x30000000'/>
     </console>
+    <tpm model='tpm-spapr'>
+      <backend type='emulator' version='2.0'/>
+      <address type='spapr-vio' reg='0x00004000'/>
+    </tpm>
     <audio id='1' type='none'/>
     <video>
       <model type='vga' vram='16384' heads='1' primary='yes'/>
diff --git a/tests/qemuxmlconfdata/ppc64-pseries-default-models.ppc64-latest.args b/tests/qemuxmlconfdata/ppc64-pseries-default-models.ppc64-latest.args
index 84c341a24d..c833b6cbf9 100644
--- a/tests/qemuxmlconfdata/ppc64-pseries-default-models.ppc64-latest.args
+++ b/tests/qemuxmlconfdata/ppc64-pseries-default-models.ppc64-latest.args
@@ -32,6 +32,9 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \
 -device '{"driver":"rtl8139","netdev":"hostnet0","id":"net0","mac":"52:54:00:09:a4:37","bus":"pci.0","addr":"0x1"}' \
 -chardev pty,id=charserial0 \
 -device '{"driver":"spapr-vty","chardev":"charserial0","id":"serial0","reg":805306368}' \
+-chardev socket,id=chrtpm,path=/dev/test \
+-tpmdev emulator,id=tpm-tpm0,chardev=chrtpm \
+-device '{"driver":"tpm-spapr","tpmdev":"tpm-tpm0","id":"tpm0","reg":16384}' \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device '{"driver":"VGA","id":"video0","vgamem_mb":16,"bus":"pci.0","addr":"0x3"}' \
 -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
diff --git a/tests/qemuxmlconfdata/ppc64-pseries-default-models.ppc64-latest.xml b/tests/qemuxmlconfdata/ppc64-pseries-default-models.ppc64-latest.xml
index f342093ec8..4cf7257536 100644
--- a/tests/qemuxmlconfdata/ppc64-pseries-default-models.ppc64-latest.xml
+++ b/tests/qemuxmlconfdata/ppc64-pseries-default-models.ppc64-latest.xml
@@ -42,6 +42,10 @@
       <target type='serial' port='0'/>
       <address type='spapr-vio' reg='0x30000000'/>
     </console>
+    <tpm model='tpm-spapr'>
+      <backend type='emulator' version='2.0'/>
+      <address type='spapr-vio' reg='0x00004000'/>
+    </tpm>
     <audio id='1' type='none'/>
     <video>
       <model type='vga' vram='16384' heads='1' primary='yes'/>
diff --git a/tests/qemuxmlconfdata/ppc64-pseries-default-models.xml b/tests/qemuxmlconfdata/ppc64-pseries-default-models.xml
index 4c2d16f01a..afb2d5fc43 100644
--- a/tests/qemuxmlconfdata/ppc64-pseries-default-models.xml
+++ b/tests/qemuxmlconfdata/ppc64-pseries-default-models.xml
@@ -14,6 +14,9 @@
       <mac address='52:54:00:09:a4:37'/>
     </interface>
     <serial type='pty'/>
+    <tpm>
+      <backend type='emulator'/>
+    </tpm>
     <video/>
     <memballoon model='none'/>
     <panic/>
diff --git a/tests/qemuxmlconfdata/riscv64-virt-default-models.riscv64-latest.abi-update.args b/tests/qemuxmlconfdata/riscv64-virt-default-models.riscv64-latest.abi-update.args
index 28b56d876c..8f878120b0 100644
--- a/tests/qemuxmlconfdata/riscv64-virt-default-models.riscv64-latest.abi-update.args
+++ b/tests/qemuxmlconfdata/riscv64-virt-default-models.riscv64-latest.abi-update.args
@@ -36,6 +36,9 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \
 -device '{"driver":"virtio-net-pci","netdev":"hostnet0","id":"net0","mac":"52:54:00:09:a4:37","bus":"pci.2","addr":"0x0"}' \
 -chardev pty,id=charserial0 \
 -serial chardev:charserial0 \
+-chardev socket,id=chrtpm,path=/dev/test \
+-tpmdev emulator,id=tpm-tpm0,chardev=chrtpm \
+-device '{"driver":"tpm-tis-device","tpmdev":"tpm-tpm0","id":"tpm0"}' \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device '{"driver":"virtio-vga","id":"video0","max_outputs":1,"bus":"pci.4","addr":"0x0"}' \
 -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
diff --git a/tests/qemuxmlconfdata/riscv64-virt-default-models.riscv64-latest.abi-update.xml b/tests/qemuxmlconfdata/riscv64-virt-default-models.riscv64-latest.abi-update.xml
index 942bd21f9e..a3a701b8e4 100644
--- a/tests/qemuxmlconfdata/riscv64-virt-default-models.riscv64-latest.abi-update.xml
+++ b/tests/qemuxmlconfdata/riscv64-virt-default-models.riscv64-latest.abi-update.xml
@@ -58,6 +58,9 @@
     <console type='pty'>
       <target type='serial' port='0'/>
     </console>
+    <tpm model='tpm-tis'>
+      <backend type='emulator' version='1.2'/>
+    </tpm>
     <audio id='1' type='none'/>
     <video>
       <model type='virtio' heads='1' primary='yes'/>
diff --git a/tests/qemuxmlconfdata/riscv64-virt-default-models.riscv64-latest.args b/tests/qemuxmlconfdata/riscv64-virt-default-models.riscv64-latest.args
index 28b56d876c..8f878120b0 100644
--- a/tests/qemuxmlconfdata/riscv64-virt-default-models.riscv64-latest.args
+++ b/tests/qemuxmlconfdata/riscv64-virt-default-models.riscv64-latest.args
@@ -36,6 +36,9 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \
 -device '{"driver":"virtio-net-pci","netdev":"hostnet0","id":"net0","mac":"52:54:00:09:a4:37","bus":"pci.2","addr":"0x0"}' \
 -chardev pty,id=charserial0 \
 -serial chardev:charserial0 \
+-chardev socket,id=chrtpm,path=/dev/test \
+-tpmdev emulator,id=tpm-tpm0,chardev=chrtpm \
+-device '{"driver":"tpm-tis-device","tpmdev":"tpm-tpm0","id":"tpm0"}' \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device '{"driver":"virtio-vga","id":"video0","max_outputs":1,"bus":"pci.4","addr":"0x0"}' \
 -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
diff --git a/tests/qemuxmlconfdata/riscv64-virt-default-models.riscv64-latest.xml b/tests/qemuxmlconfdata/riscv64-virt-default-models.riscv64-latest.xml
index 942bd21f9e..a3a701b8e4 100644
--- a/tests/qemuxmlconfdata/riscv64-virt-default-models.riscv64-latest.xml
+++ b/tests/qemuxmlconfdata/riscv64-virt-default-models.riscv64-latest.xml
@@ -58,6 +58,9 @@
     <console type='pty'>
       <target type='serial' port='0'/>
     </console>
+    <tpm model='tpm-tis'>
+      <backend type='emulator' version='1.2'/>
+    </tpm>
     <audio id='1' type='none'/>
     <video>
       <model type='virtio' heads='1' primary='yes'/>
diff --git a/tests/qemuxmlconfdata/riscv64-virt-default-models.xml b/tests/qemuxmlconfdata/riscv64-virt-default-models.xml
index d421b080a8..b89295af16 100644
--- a/tests/qemuxmlconfdata/riscv64-virt-default-models.xml
+++ b/tests/qemuxmlconfdata/riscv64-virt-default-models.xml
@@ -14,6 +14,9 @@
       <mac address='52:54:00:09:a4:37'/>
     </interface>
     <serial type='pty'/>
+    <tpm>
+      <backend type='emulator'/>
+    </tpm>
     <video/>
     <memballoon model='none'/>
     <!-- No default model for <panic/> on riscv64 -->
diff --git a/tests/qemuxmlconfdata/s390x-ccw-default-models.xml b/tests/qemuxmlconfdata/s390x-ccw-default-models.xml
index a196129628..70e316f77d 100644
--- a/tests/qemuxmlconfdata/s390x-ccw-default-models.xml
+++ b/tests/qemuxmlconfdata/s390x-ccw-default-models.xml
@@ -14,6 +14,8 @@
       <mac address='52:54:00:09:a4:37'/>
     </interface>
     <serial type='pty'/>
+    <!-- QEMU doesn't currently support TPM devices on s390x and there
+    are no plans for that to change in the future  -->
     <video/>
     <memballoon model='none'/>
     <panic/>
diff --git a/tests/qemuxmlconfdata/x86_64-pc-default-models.x86_64-latest.abi-update.args b/tests/qemuxmlconfdata/x86_64-pc-default-models.x86_64-latest.abi-update.args
index 3220a40959..6563b05937 100644
--- a/tests/qemuxmlconfdata/x86_64-pc-default-models.x86_64-latest.abi-update.args
+++ b/tests/qemuxmlconfdata/x86_64-pc-default-models.x86_64-latest.abi-update.args
@@ -32,6 +32,9 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \
 -device '{"driver":"rtl8139","netdev":"hostnet0","id":"net0","mac":"52:54:00:09:a4:37","bus":"pci.0","addr":"0x3"}' \
 -chardev pty,id=charserial0 \
 -device '{"driver":"isa-serial","chardev":"charserial0","id":"serial0","index":0}' \
+-chardev socket,id=chrtpm,path=/dev/test \
+-tpmdev emulator,id=tpm-tpm0,chardev=chrtpm \
+-device '{"driver":"tpm-tis","tpmdev":"tpm-tpm0","id":"tpm0"}' \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device '{"driver":"cirrus-vga","id":"video0","bus":"pci.0","addr":"0x2"}' \
 -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
diff --git a/tests/qemuxmlconfdata/x86_64-pc-default-models.x86_64-latest.abi-update.xml b/tests/qemuxmlconfdata/x86_64-pc-default-models.x86_64-latest.abi-update.xml
index dc563fdaf9..512d4bd597 100644
--- a/tests/qemuxmlconfdata/x86_64-pc-default-models.x86_64-latest.abi-update.xml
+++ b/tests/qemuxmlconfdata/x86_64-pc-default-models.x86_64-latest.abi-update.xml
@@ -39,6 +39,9 @@
     </console>
     <input type='mouse' bus='ps2'/>
     <input type='keyboard' bus='ps2'/>
+    <tpm model='tpm-tis'>
+      <backend type='emulator' version='1.2'/>
+    </tpm>
     <audio id='1' type='none'/>
     <video>
       <model type='cirrus' vram='16384' heads='1' primary='yes'/>
diff --git a/tests/qemuxmlconfdata/x86_64-pc-default-models.x86_64-latest.args b/tests/qemuxmlconfdata/x86_64-pc-default-models.x86_64-latest.args
index 3220a40959..6563b05937 100644
--- a/tests/qemuxmlconfdata/x86_64-pc-default-models.x86_64-latest.args
+++ b/tests/qemuxmlconfdata/x86_64-pc-default-models.x86_64-latest.args
@@ -32,6 +32,9 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \
 -device '{"driver":"rtl8139","netdev":"hostnet0","id":"net0","mac":"52:54:00:09:a4:37","bus":"pci.0","addr":"0x3"}' \
 -chardev pty,id=charserial0 \
 -device '{"driver":"isa-serial","chardev":"charserial0","id":"serial0","index":0}' \
+-chardev socket,id=chrtpm,path=/dev/test \
+-tpmdev emulator,id=tpm-tpm0,chardev=chrtpm \
+-device '{"driver":"tpm-tis","tpmdev":"tpm-tpm0","id":"tpm0"}' \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device '{"driver":"cirrus-vga","id":"video0","bus":"pci.0","addr":"0x2"}' \
 -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
diff --git a/tests/qemuxmlconfdata/x86_64-pc-default-models.x86_64-latest.xml b/tests/qemuxmlconfdata/x86_64-pc-default-models.x86_64-latest.xml
index dc563fdaf9..512d4bd597 100644
--- a/tests/qemuxmlconfdata/x86_64-pc-default-models.x86_64-latest.xml
+++ b/tests/qemuxmlconfdata/x86_64-pc-default-models.x86_64-latest.xml
@@ -39,6 +39,9 @@
     </console>
     <input type='mouse' bus='ps2'/>
     <input type='keyboard' bus='ps2'/>
+    <tpm model='tpm-tis'>
+      <backend type='emulator' version='1.2'/>
+    </tpm>
     <audio id='1' type='none'/>
     <video>
       <model type='cirrus' vram='16384' heads='1' primary='yes'/>
diff --git a/tests/qemuxmlconfdata/x86_64-pc-default-models.xml b/tests/qemuxmlconfdata/x86_64-pc-default-models.xml
index 6727d2f6a0..7f4c9f8662 100644
--- a/tests/qemuxmlconfdata/x86_64-pc-default-models.xml
+++ b/tests/qemuxmlconfdata/x86_64-pc-default-models.xml
@@ -14,6 +14,9 @@
       <mac address='52:54:00:09:a4:37'/>
     </interface>
     <serial type='pty'/>
+    <tpm>
+      <backend type='emulator'/>
+    </tpm>
     <video/>
     <memballoon model='none'/>
     <panic/>
diff --git a/tests/qemuxmlconfdata/x86_64-q35-default-models.x86_64-latest.abi-update.args b/tests/qemuxmlconfdata/x86_64-q35-default-models.x86_64-latest.abi-update.args
index b9905c6446..29ea0bedac 100644
--- a/tests/qemuxmlconfdata/x86_64-q35-default-models.x86_64-latest.abi-update.args
+++ b/tests/qemuxmlconfdata/x86_64-q35-default-models.x86_64-latest.abi-update.args
@@ -35,6 +35,9 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \
 -device '{"driver":"rtl8139","netdev":"hostnet0","id":"net0","mac":"52:54:00:09:a4:37","bus":"pci.2","addr":"0x1"}' \
 -chardev pty,id=charserial0 \
 -device '{"driver":"isa-serial","chardev":"charserial0","id":"serial0","index":0}' \
+-chardev socket,id=chrtpm,path=/dev/test \
+-tpmdev emulator,id=tpm-tpm0,chardev=chrtpm \
+-device '{"driver":"tpm-tis","tpmdev":"tpm-tpm0","id":"tpm0"}' \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device '{"driver":"cirrus-vga","id":"video0","bus":"pcie.0","addr":"0x1"}' \
 -global ICH9-LPC.noreboot=off \
diff --git a/tests/qemuxmlconfdata/x86_64-q35-default-models.x86_64-latest.abi-update.xml b/tests/qemuxmlconfdata/x86_64-q35-default-models.x86_64-latest.abi-update.xml
index 782fe39491..6406229b2f 100644
--- a/tests/qemuxmlconfdata/x86_64-q35-default-models.x86_64-latest.abi-update.xml
+++ b/tests/qemuxmlconfdata/x86_64-q35-default-models.x86_64-latest.abi-update.xml
@@ -56,6 +56,9 @@
     </console>
     <input type='mouse' bus='ps2'/>
     <input type='keyboard' bus='ps2'/>
+    <tpm model='tpm-tis'>
+      <backend type='emulator' version='1.2'/>
+    </tpm>
     <audio id='1' type='none'/>
     <video>
       <model type='cirrus' vram='16384' heads='1' primary='yes'/>
diff --git a/tests/qemuxmlconfdata/x86_64-q35-default-models.x86_64-latest.args b/tests/qemuxmlconfdata/x86_64-q35-default-models.x86_64-latest.args
index b9905c6446..29ea0bedac 100644
--- a/tests/qemuxmlconfdata/x86_64-q35-default-models.x86_64-latest.args
+++ b/tests/qemuxmlconfdata/x86_64-q35-default-models.x86_64-latest.args
@@ -35,6 +35,9 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \
 -device '{"driver":"rtl8139","netdev":"hostnet0","id":"net0","mac":"52:54:00:09:a4:37","bus":"pci.2","addr":"0x1"}' \
 -chardev pty,id=charserial0 \
 -device '{"driver":"isa-serial","chardev":"charserial0","id":"serial0","index":0}' \
+-chardev socket,id=chrtpm,path=/dev/test \
+-tpmdev emulator,id=tpm-tpm0,chardev=chrtpm \
+-device '{"driver":"tpm-tis","tpmdev":"tpm-tpm0","id":"tpm0"}' \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device '{"driver":"cirrus-vga","id":"video0","bus":"pcie.0","addr":"0x1"}' \
 -global ICH9-LPC.noreboot=off \
diff --git a/tests/qemuxmlconfdata/x86_64-q35-default-models.x86_64-latest.xml b/tests/qemuxmlconfdata/x86_64-q35-default-models.x86_64-latest.xml
index 782fe39491..6406229b2f 100644
--- a/tests/qemuxmlconfdata/x86_64-q35-default-models.x86_64-latest.xml
+++ b/tests/qemuxmlconfdata/x86_64-q35-default-models.x86_64-latest.xml
@@ -56,6 +56,9 @@
     </console>
     <input type='mouse' bus='ps2'/>
     <input type='keyboard' bus='ps2'/>
+    <tpm model='tpm-tis'>
+      <backend type='emulator' version='1.2'/>
+    </tpm>
     <audio id='1' type='none'/>
     <video>
       <model type='cirrus' vram='16384' heads='1' primary='yes'/>
diff --git a/tests/qemuxmlconfdata/x86_64-q35-default-models.xml b/tests/qemuxmlconfdata/x86_64-q35-default-models.xml
index 5cdf07f9d3..65fb76f2dc 100644
--- a/tests/qemuxmlconfdata/x86_64-q35-default-models.xml
+++ b/tests/qemuxmlconfdata/x86_64-q35-default-models.xml
@@ -14,6 +14,9 @@
       <mac address='52:54:00:09:a4:37'/>
     </interface>
     <serial type='pty'/>
+    <tpm>
+      <backend type='emulator'/>
+    </tpm>
     <video/>
     <memballoon model='none'/>
     <panic/>
-- 
2.45.1
Re: [PATCH v2 1/4] tests: Add TPM coverage to default-models tests
Posted by lixianglai 4 months ago
Hi Andrea:
> We have a non-trivial amount of architecture-specific logic
> dealing with TPM, so it's good to have coverage for it.
>
> Note that two architectures currently don't have support for
> TPM devices enabled by default in QEMU: loongarch64 and s390x.
> The situation might change for the former, but that's unlikely
> to happen for the latter.

loongarch64 has added support in the source code of qemu using TIS TPM2.0.
Before submission, we only carried out a simple test on TPM function,
which is still in the experimental stage. Up to now, after adding tpm 
device, t
here will be an exception in the startup stage of guestos.
  We don't have the energy to solve this problem at the moment, so 
please skip it for now.

Thanks!
Xianglai.
Re: [PATCH v2 1/4] tests: Add TPM coverage to default-models tests
Posted by Andrea Bolognani 4 months ago
On Tue, Jun 18, 2024 at 11:57:49AM GMT, lixianglai wrote:
> Hi Andrea:
> > We have a non-trivial amount of architecture-specific logic
> > dealing with TPM, so it's good to have coverage for it.
> >
> > Note that two architectures currently don't have support for
> > TPM devices enabled by default in QEMU: loongarch64 and s390x.
> > The situation might change for the former, but that's unlikely
> > to happen for the latter.
>
> loongarch64 has added support in the source code of qemu using TIS TPM2.0.
> Before submission, we only carried out a simple test on TPM function,
> which is still in the experimental stage. Up to now, after adding tpm
> device, t
> here will be an exception in the startup stage of guestos.
>  We don't have the energy to solve this problem at the moment, so please
> skip it for now.

Got it, thanks for confirming!

-- 
Andrea Bolognani / Red Hat / Virtualization
Re: [PATCH v2 1/4] tests: Add TPM coverage to default-models tests
Posted by Peter Krempa 4 months, 2 weeks ago
On Tue, Jun 04, 2024 at 19:01:59 +0200, Andrea Bolognani wrote:
> We have a non-trivial amount of architecture-specific logic
> dealing with TPM, so it's good to have coverage for it.
> 
> Note that two architectures currently don't have support for
> TPM devices enabled by default in QEMU: loongarch64 and s390x.
> The situation might change for the former, but that's unlikely
> to happen for the latter.
> 
> Signed-off-by: Andrea Bolognani <abologna@redhat.com>
> ---

Reviewed-by: Peter Krempa <pkrempa@redhat.com>