Here is some more data for vfio-vga.

I have tried NVIDIA (MSI) GT610 and ATI (MSI) 7850 cards separately in
primary and secondary (to Cirrus) modes. The ATI can boot as primary in VGA
mode, but installing Catalyst causes the VM to reboot repeatedly on bootup.
The NVIDIA doesn't get past POST as primary. Neither card works as a
secondary with their drivers; they each complain that there aren't enough
resources available (code 12) in Windows device manager.

I have tried a few different KVM device settings, but feel like I am poking
in the dark at this point. What I am currently using is at the bottom of
the e-mail. I have URLs pointing to the various compressed logs since they
are fairly large. If there is any other data I can provide, please let me
know, I would really like to get this working :).

Machine:

Motherboard: Intel DQ67SW (BIOS: WQ6710H.86A.0052.2011.0520.1802 05/20/2011)
CPU: i5-2400
Kernel: 3.9 - current vfio-vga-reset branch
Qemu: 1.4.50 - current vfio-vga-reset branch
Guest: Windows Server 2008 R2 64-bit

Qemu has this patch added to vfio_ati_3c3_quirk_read():
+    if (1 || data == quirk->data.address_match) {

NVIDIA:

When it is primary, the NVIDIA card ends up with a QEMU fatal error within
a couple seconds of startup (the EIP seems to vary slightly). I have seen
this with 3 different NVidia cards (Quadro FX 580, GeForce 8800 GTS, and a
brand new GT610):

qemu: fatal: Trying to execute code outside RAM or ROM at 0x00000000000a0000

EAX=00009e48 EBX=00000000 ECX=0000b79d EDX=000003d4
ESI=000000e2 EDI=0000823a EBP=00004918 ESP=00008234
EIP=0009ffca EFL=00000002 [-------] CPL=0 II=0 A20=1 SMM=0 HLT=0
[…]

QEMU output when card is primary is at:
http://www.tnld.net/~mikenel/vga/qemu-nv-primary.txt.bz2

QEMU output when card is secondary is at:
http://www.tnld.net/~mikenel/vga/qemu-nv-secondary.txt.bz2

ATI:

The ATI card is able to boot Windows in VGA mode once I add "if (1)" to the
3C3 quirk in QEMU. Once I install the Catalyst drivers and reboot, the
machine reboots itself 10-15 seconds after the Windows boot loader
finishes. I am not sure if it's blue screening and I am not seeing it --
there is no output.

QEMU output when card is primary is at:
http://www.tnld.net/~mikenel/vga/qemu-ati-primary.txt.bz2

QEMU output when card is secondary is at:
http://www.tnld.net/~mikenel/vga/qemu-ati-secondary.txt.bz2

KVM command line:

~/qemu/usr/local/bin/qemu-system-x86_64 \
-nodefconfig -readconfig /root/q35-chipset.cfg \
-enable-kvm \
-M q35 \
-cpu host \
-L ~/seabios-out -L ~/qemu/usr/local/share/qemu \
-m 1024 \
-drive file=/dev/vgsys/vm.delete,if=virtio -boot order=cad,menu=on \
-vga cirrus \
-device vfio-pci,host=00:1d.0,addr=3.0,bus=pcie.0 \
-netdev tap,ifname=vm_rest_lan,id=hostnet0,vhost=on \
-device
virtio-net-pci,netdev=hostnet0,id=net0,mac=54:52:00:00:59:03,addr=05.00 \
-vnc 0.0.0.0:1 \
-device
vfio-pci,host=01:00.0,addr=0.0,bus=ich9-pcie-port-1,multifunction=on,x-vga=on
\
-device vfio-pci,host=01:00.1,addr=0.1,bus=ich9-pcie-port-1 \

Thanks,
-mike

Reply via email to