]> www.infradead.org Git - users/dwmw2/qemu.git/commit
hw/arm: introduce xenpvh machine
authorVikram Garhwal <vikram.garhwal@amd.com>
Tue, 31 Jan 2023 22:51:48 +0000 (14:51 -0800)
committerStefano Stabellini <stefano.stabellini@amd.com>
Tue, 14 Feb 2023 23:39:25 +0000 (15:39 -0800)
commitdb7ffa23169ec356479f50cbf8d52dd289388b96
treeb569c35a0ce526e2241e6f8915a1fa713e297601
parentabd70cc92fad809056f27298d11c479fa12ad4e9
hw/arm: introduce xenpvh machine

Add a new machine xenpvh which creates a IOREQ server to register/connect with
Xen Hypervisor.

Optional: When CONFIG_TPM is enabled, it also creates a tpm-tis-device, adds a
TPM emulator and connects to swtpm running on host machine via chardev socket
and support TPM functionalities for a guest domain.

Extra command line for aarch64 xenpvh QEMU to connect to swtpm:
    -chardev socket,id=chrtpm,path=/tmp/myvtpm2/swtpm-sock \
    -tpmdev emulator,id=tpm0,chardev=chrtpm \
    -machine tpm-base-addr=0x0c000000 \

swtpm implements a TPM software emulator(TPM 1.2 & TPM 2) built on libtpms and
provides access to TPM functionality over socket, chardev and CUSE interface.
Github repo: https://github.com/stefanberger/swtpm
Example for starting swtpm on host machine:
    mkdir /tmp/vtpm2
    swtpm socket --tpmstate dir=/tmp/vtpm2 \
    --ctrl type=unixio,path=/tmp/vtpm2/swtpm-sock &

Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
docs/system/arm/xenpvh.rst [new file with mode: 0644]
docs/system/target-arm.rst
hw/arm/meson.build
hw/arm/xen_arm.c [new file with mode: 0644]
include/hw/arm/xen_arch_hvm.h [new file with mode: 0644]
include/hw/xen/arch_hvm.h