I got code 43 in the guest when I use kvm pci passthrough with nvidia gt 620.
It worked fine with AMD gpu. I had tried to add "-cpu host,kvm=off,hv_vendor_id=123456789ab" and it did not work for me. The version of nividia driver is 376.33. Does nvidia use some new detect method to check if the os is kvm? How can I spoof it ? Or do I used in a wrong way? Infomation of my host: Version of qemu QEMU emulator version 2.5.1.1, Copyright (c) 2003-2008 Fabrice Bellard kernel: Linux ns.mqcache.net 4.2.0-1.el7.elrepo.x86_64 #1 SMP Sun Aug 30 21:25:29 EDT 2015 x86_64 x86_64 x86_64 GNU/Linux qemu cmd: /usr/bin/qemu-system-x86_64 \ -name i-gputest \ -machine q35,accel=kvm,usb=off \ -cpu host,kvm=off,hv_vendor_id=123456789ab \ -m 2048 \ -realtime mlock=off \ -smp 2,sockets=1,cores=2,threads=1 \ -no-user-config \ -nodefaults \ -rtc base=localtime \ -no-shutdown \ -boot strict=on \ -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 \ -drive file=/root/gpuvm/image.qcow2,if=none,id=drive-virtio-disk0,format=qcow2 \ -device virtio-blk-pci,scsi=off,bus=pci.2,addr=0x2,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 \ -spice port=6000,addr=0.0.0.0,disable-ticketing,seamless-migration=on \ -k en-us \ -device virtio-balloon-pci,id=balloon0,bus=pci.2,addr=0x4 \ -machine smm=off \ -device ioh3420,bus=pcie.0,addr=1c.0,multifunction=on,port=1,chassis=1,id=root.1 \ -device vfio-pci,host=01:00.0,bus=root.1,addr=00.0,multifunction=on,x-vga=on \ -device vfio-pci,host=01:00.1,bus=root.1,addr=00.1 \ -msg timestamp=on \ -vga cirrus \ -net nic,model=virtio -net tap,ifname=tap1,script=/root/gpuvm/qemu-ifup.sh,downscript=/root/gpuvm/qemu-ifdown.sh Regards John