Hi all, I can (successfully) passthrough my TPM i.e. Windows 10 reports the device under security in device manager, the driver etc all loads fine, however TPM Administrator within Windows advises no compatible TPM devices can be found?
Host: Ubuntu 16.04, libvirt 1.3.1, qemu 2.5 AND qemu 2.6.1
Hardware: ASRock Z97 Extreme6 with ASRock TPM v1.2 module
Have proven the hardware booting directly into Win 10 Pro on bare metal which reports the TPM module as described above as well as opening the TPM Administrator panel and allowing me to take ownership & clear the TPM etc.
Using Ubuntu 16.04 on bare metal with kvm and qemu 2.6.1 I've tried combinations of seabios, ovmf, q35 and i440fx but all result in the same condition...Win10 reports the TPM their with the driver successfully loaded but the TPM Administrator snap-in within Win10 advises there is no compatible TPM found.
I noted that stock binaries in Ubuntu 16.04 suffer a known bug in qemu 2.5 that prevents the TPM module driver loading successfully (verified via this fedora thread https://bugzilla.redhat.com/show_bug.cgi?id=1281413
), hence I grabbed the qemu 2.6.1 tarball and built this which does allow the TPM driver in the Windows guest to load.
The qemu cmdline i'm running as root is (for q35 with OVMF)...
-machine q35 \
-cpu host \
-m 4096 \
-smp 4,sockets=1,cores=2,threads=2 \
-drive file=/usr/share/OVMF/OVMF_CODE.fd,if=pflash,format=raw,unit=0,readonly=on \
-drive file=/var/lib/libvirt/qemu/nvram/generic_VARS.fd,if=pflash,format=raw,unit=1 \
-device i82801b11-bridge,id=pci.1,bus=pcie.0,addr=0x1e -device pci-bridge,chassis_nr=2,id=pci.2,bus=pci.1,addr=0x1 \
-device nec-usb-xhci,id=usb,bus=pci.2,addr=0x2 \
-drive file=/mnt/share/vms/generic.qcow2,format=qcow2,if=none,id=drive-virtio-disk0 \
-device virtio-blk-pci,scsi=off,bus=pci.2,addr=0x3,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=2 \
-tpmdev passthrough,id=tpm-tpm0,path=/dev/tpm0,cancel-path=/sys/class/tpm/tpm0/device/cancel \
The guest is a clean Win10 Pro install specifically for TPM testing/proving. I'd really appreciate any pointers and guidance or keywords to research as I've burnt several hours now to no avail.