]> git.proxmox.com Git - mirror_qemu.git/commit
hw/arm: introduce xenpvh machine
authorVikram Garhwal <vikram.garhwal@amd.com>
Thu, 15 Jun 2023 00:03:37 +0000 (17:03 -0700)
committerStefano Stabellini <stefano.stabellini@amd.com>
Thu, 15 Jun 2023 23:46:47 +0000 (16:46 -0700)
commit733766cd37338ea08cb6c22c6e040d55b26f326c
treee81698f37a2331f04aae195593199fedcde74f56
parenta4b4b40be86f69a994bf614edd49d8f1fb79422e
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