> ddccontrol This is unrelated to your problem, but thank you very much for mentioning this software. I was not aware of ddc/i2c or ddccontrol before. After some tinkering i came up with full software kwm switch for VMs <https://rokups.github.io/blog/#%21pages/full-software-kvm-switch.md>. Hope it will be useful for ya people.
Rokas Kupstys On 22/01/17 01:15, P. Pronk wrote: > Hi all, > > Hope you can help me with this. I've built a new pc specifically with > vfio in mind but unfortunately I can't get it too work. My pc consists > of an Asus X99-M motherboard, Intel E5-1620v4, AMD RX480 in PCIE slot > 1 (for Windows guest) and AMD RX460 in slot 3 (for Linux host). Both > GPU's are connected to the same monitor, I will switch inputs by using > ddccontrol. > > What is probably important to know, the one thing I missed when > searching components is that Asus doesn't offer a 'boot gpu in slot X > first' option. So that means when my pc boots it uses the RX480 as > display. I have tried both setting the ids using pci-stub as vfio-pci, > and although I can get the vfio-pci driver correctly assigned to the > RX480 it seems in both cases there is a problem with the ROM. > > When I start my Windows guest, I can see a quite some CPU activity in > virt-manager but the screen never turns on. The dmesg log says the > following: > ------------------- > [ 216.982418] vgaarb: device changed decodes: > PCI:0000:01:00.0,olddecodes=io+mem,decodes=io+mem:owns=io+mem > [ 217.091942] device vnet0 entered promiscuous mode > [ 217.092107] br0: port 2(vnet0) entered forwarding state > [ 217.092123] br0: port 2(vnet0) entered forwarding state > [ 218.067955] vfio_ecap_init: 0000:01:00.0 hiding ecap 0x19@0x270 > [ 218.067961] vfio_ecap_init: 0000:01:00.0 hiding ecap 0x1b@0x2d0 > [ 218.067965] vfio_ecap_init: 0000:01:00.0 hiding ecap 0x1e@0x370 > [ 218.068429] vfio-pci 0000:01:00.0: BAR 0: can't reserve [mem > 0xc0000000-0xcfffffff 64bit pref] > [ 220.465312] kvm: zapping shadow pages for mmio generation wraparound > [ 220.465835] kvm: zapping shadow pages for mmio generation wraparound > [ 220.512593] vfio-pci 0000:01:00.0: Invalid ROM contents > [ 220.512617] vfio-pci 0000:01:00.0: Invalid ROM contents > ------------------- > > So I tried Alex's rom-parser, but unfortunately that doesnt seem to > work either for the RX480: > ------------------- > # ./rom-parser /tmp/rx480.rom > Valid ROM signature found @0h, PCIR offset 24ch > PCIR: type 0 (x86 PC-AT), vendor: 1002, device: 67df, class: 030000 > PCIR: revision 0, vendor revision: f32 > Error, ran off the end > ------------------- > > For the RX460 it does work: > ------------------- > # ./rom-parser /tmp/rx460.rom > Valid ROM signature found @0h, PCIR offset 26ch > PCIR: type 0 (x86 PC-AT), vendor: 1002, device: 67ef, class: 030000 > PCIR: revision 0, vendor revision: f32 > Valid ROM signature found @ec00h, PCIR offset 1ch > PCIR: type 3 (EFI), vendor: 1002, device: 67ef, class: 030000 > PCIR: revision 0, vendor revision: 0 > EFI: Signature Valid, Subsystem: Boot, Machine: X64 > Last image > ------------------- > > I am running Linux Mint 18, which is basically Ubuntu 16.04. > Kernel: Linux 4.4.0-59-generic > Qemu: 1:2.5+dfsg-5ubuntu10.6 > Ovmf: 0~20160408.ffea0a2c-2 > Amdgpu: amdgpu-pro-16.50-362463 > > Maybe related, in dmesg I also get these errors (repeatedly): > ------------------- > [ 17.918696] pcieport 0000:00:02.0: AER: Multiple Corrected error > received: id=0010 > [ 17.918705] pcieport 0000:00:02.0: PCIe Bus Error: > severity=Corrected, type=Data Link Layer, id=0010(Receiver ID) > [ 17.918707] pcieport 0000:00:02.0: device [8086:6f04] error > status/mask=00000040/00002000 > [ 17.918708] pcieport 0000:00:02.0: [ 6] Bad TLP > ------------------- > > See below the output of 'lspci -tv' > ------------------- > -+-[0000:ff]-+-0b.0 Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 > v4/Xeon D R3 QPI Link 0/1 > +(shorted_but_a_lot_of_Intel_stuff) > \-[0000:00]-+-00.0 Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 > v4/Xeon D DMI2 > +-01.0-[03]-- > +-02.0-[02]--+-00.0 Advanced Micro Devices, Inc. > [AMD/ATI] Device 67ef > | \-00.1 Advanced Micro Devices, Inc. > [AMD/ATI] Device aae0 > +-03.0-[01]--+-00.0 Advanced Micro Devices, Inc. > [AMD/ATI] Device 67df > | \-00.1 Advanced Micro Devices, Inc. > [AMD/ATI] Device aaf0 > +-05.0 Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 > v4/Xeon D Map/VTd_Misc/System Management > +-05.1 Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 > v4/Xeon D IIO Hot Plug > +-05.2 Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 > v4/Xeon D IIO RAS/Control Status/Global Errors > +-05.4 Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 > v4/Xeon D I/O APIC > +-11.0 Intel Corporation C610/X99 series chipset SPSR > +-14.0 Intel Corporation C610/X99 series chipset USB > xHCI Host Controller > +-16.0 Intel Corporation C610/X99 series chipset MEI > Controller #1 > +-19.0 Intel Corporation Ethernet Connection (2) I218-LM > +-1a.0 Intel Corporation C610/X99 series chipset USB > Enhanced Host Controller #2 > +-1b.0 Intel Corporation C610/X99 series chipset HD > Audio Controller > +-1c.0-[04]-- > +-1c.3-[05]----00.0 Intel Corporation I210 Gigabit > Network Connection > +-1c.4-[06]----00.0 ASMedia Technology Inc. ASM1142 USB > 3.1 Host Controller > +-1d.0 Intel Corporation C610/X99 series chipset USB > Enhanced Host Controller #1 > +-1f.0 Intel Corporation C610/X99 series chipset LPC > Controller > +-1f.2 Intel Corporation C610/X99 series chipset 6-Port > SATA Controller [AHCI mode] > \-1f.3 Intel Corporation C610/X99 series chipset SMBus > Controller > ------------------- > > Are these problems caused by the fact that I can't set the RX460 as > boot_vga? Or is the RX480 at fault here? Or is there maybe something > else at play? > > Would appreciate your help! > > With kind regards, Pim > > _______________________________________________ > vfio-users mailing list > vfio-users@redhat.com > https://www.redhat.com/mailman/listinfo/vfio-users
_______________________________________________ vfio-users mailing list vfio-users@redhat.com https://www.redhat.com/mailman/listinfo/vfio-users