[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v4 6/6] hw/riscv: Enable TPM backends
From: |
Alistair Francis |
Subject: |
[PATCH v4 6/6] hw/riscv: Enable TPM backends |
Date: |
Wed, 20 Apr 2022 15:52:48 +1000 |
From: Alistair Francis <alistair.francis@wdc.com>
Imply the TPM sysbus devices. This allows users to add TPM devices to
the RISC-V virt board.
This was tested by first creating an emulated TPM device:
swtpm socket --tpm2 -t -d --tpmstate dir=/tmp/tpm \
--ctrl type=unixio,path=swtpm-sock
Then launching QEMU with:
-chardev socket,id=chrtpm,path=swtpm-sock \
-tpmdev emulator,id=tpm0,chardev=chrtpm \
-device tpm-tis-device,tpmdev=tpm0
The TPM device can be seen in the memory tree and the generated device
tree.
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/942
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@amd.com>
---
hw/riscv/virt.c | 4 ++++
hw/riscv/Kconfig | 1 +
2 files changed, 5 insertions(+)
diff --git a/hw/riscv/virt.c b/hw/riscv/virt.c
index 6eed1f4d70..b62fd66a49 100644
--- a/hw/riscv/virt.c
+++ b/hw/riscv/virt.c
@@ -43,6 +43,7 @@
#include "sysemu/device_tree.h"
#include "sysemu/sysemu.h"
#include "sysemu/kvm.h"
+#include "sysemu/tpm.h"
#include "hw/pci/pci.h"
#include "hw/pci-host/gpex.h"
#include "hw/display/ramfb.h"
@@ -1612,6 +1613,9 @@ static void virt_machine_class_init(ObjectClass *oc, void
*data)
hc->plug = virt_machine_device_plug_cb;
machine_class_allow_dynamic_sysbus_dev(mc, TYPE_RAMFB_DEVICE);
+#ifdef CONFIG_TPM
+ machine_class_allow_dynamic_sysbus_dev(mc, TYPE_TPM_TIS_SYSBUS);
+#endif
object_class_property_add_bool(oc, "aclint", virt_get_aclint,
virt_set_aclint);
diff --git a/hw/riscv/Kconfig b/hw/riscv/Kconfig
index da790f5936..79ff61c464 100644
--- a/hw/riscv/Kconfig
+++ b/hw/riscv/Kconfig
@@ -34,6 +34,7 @@ config RISCV_VIRT
imply PCI_DEVICES
imply VIRTIO_VGA
imply TEST_DEVICES
+ imply TPM_TIS_SYSBUS
select RISCV_NUMA
select GOLDFISH_RTC
select MSI_NONBROKEN
--
2.35.1
- [PATCH v4 1/6] hw/riscv: virt: Add a machine done notifier, (continued)
- [PATCH v4 1/6] hw/riscv: virt: Add a machine done notifier, Alistair Francis, 2022/04/20
- [PATCH v4 2/6] hw/core: Move the ARM sysbus-fdt to core, Alistair Francis, 2022/04/20
- [PATCH v4 3/6] hw/riscv: virt: Create a platform bus, Alistair Francis, 2022/04/20
- [PATCH v4 4/6] hw/riscv: virt: Add support for generating platform FDT entries, Alistair Francis, 2022/04/20
- [PATCH v4 5/6] hw/riscv: virt: Add device plug support, Alistair Francis, 2022/04/20
- [PATCH v4 6/6] hw/riscv: Enable TPM backends,
Alistair Francis <=
- Re: [PATCH v4 0/6] hw/riscv: Add TPM support to the virt board, Bin Meng, 2022/04/20