<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <p>
      <blockquote type="cite">
        ddccontrol</blockquote>
      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 <a
href="https://rokups.github.io/blog/#%21pages/full-software-kvm-switch.md">full
        software kwm switch for VMs</a>. Hope it will be useful for ya
      people.<br>
    </p>
    <pre class="moz-signature" cols="72">Rokas Kupstys</pre>
    <div class="moz-cite-prefix">On 22/01/17 01:15, P. Pronk wrote:<br>
    </div>
    <blockquote cite="mid:6a9e55f21497e398ca2c692ce07466ea@pronk.nl"
      type="cite">Hi all,
      <br>
      <br>
      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.
      <br>
      <br>
      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.
      <br>
      <br>
      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:
      <br>
      -------------------
      <br>
      [  216.982418] vgaarb: device changed decodes:
      PCI:0000:01:00.0,olddecodes=io+mem,decodes=io+mem:owns=io+mem
      <br>
      [  217.091942] device vnet0 entered promiscuous mode
      <br>
      [  217.092107] br0: port 2(vnet0) entered forwarding state
      <br>
      [  217.092123] br0: port 2(vnet0) entered forwarding state
      <br>
      [  218.067955] vfio_ecap_init: 0000:01:00.0 hiding ecap 0x19@0x270
      <br>
      [  218.067961] vfio_ecap_init: 0000:01:00.0 hiding ecap 0x1b@0x2d0
      <br>
      [  218.067965] vfio_ecap_init: 0000:01:00.0 hiding ecap 0x1e@0x370
      <br>
      [  218.068429] vfio-pci 0000:01:00.0: BAR 0: can't reserve [mem
      0xc0000000-0xcfffffff 64bit pref]
      <br>
      [  220.465312] kvm: zapping shadow pages for mmio generation
      wraparound
      <br>
      [  220.465835] kvm: zapping shadow pages for mmio generation
      wraparound
      <br>
      [  220.512593] vfio-pci 0000:01:00.0: Invalid ROM contents
      <br>
      [  220.512617] vfio-pci 0000:01:00.0: Invalid ROM contents
      <br>
      -------------------
      <br>
      <br>
      So I tried Alex's rom-parser, but unfortunately that doesnt seem
      to work either for the RX480:
      <br>
      -------------------
      <br>
      # ./rom-parser /tmp/rx480.rom
      <br>
      Valid ROM signature found @0h, PCIR offset 24ch
      <br>
          PCIR: type 0 (x86 PC-AT), vendor: 1002, device: 67df, class:
      030000
      <br>
          PCIR: revision 0, vendor revision: f32
      <br>
      Error, ran off the end
      <br>
      -------------------
      <br>
      <br>
      For the RX460 it does work:
      <br>
      -------------------
      <br>
      # ./rom-parser /tmp/rx460.rom
      <br>
      Valid ROM signature found @0h, PCIR offset 26ch
      <br>
          PCIR: type 0 (x86 PC-AT), vendor: 1002, device: 67ef, class:
      030000
      <br>
          PCIR: revision 0, vendor revision: f32
      <br>
      Valid ROM signature found @ec00h, PCIR offset 1ch
      <br>
          PCIR: type 3 (EFI), vendor: 1002, device: 67ef, class: 030000
      <br>
          PCIR: revision 0, vendor revision: 0
      <br>
              EFI: Signature Valid, Subsystem: Boot, Machine: X64
      <br>
          Last image
      <br>
      -------------------
      <br>
      <br>
      I am running Linux Mint 18, which is basically Ubuntu 16.04.
      <br>
      Kernel: Linux 4.4.0-59-generic
      <br>
      Qemu: 1:2.5+dfsg-5ubuntu10.6
      <br>
      Ovmf: 0~20160408.ffea0a2c-2
      <br>
      Amdgpu: amdgpu-pro-16.50-362463
      <br>
      <br>
      Maybe related, in dmesg I also get these errors (repeatedly):
      <br>
      -------------------
      <br>
      [   17.918696] pcieport 0000:00:02.0: AER: Multiple Corrected
      error received: id=0010
      <br>
      [   17.918705] pcieport 0000:00:02.0: PCIe Bus Error:
      severity=Corrected, type=Data Link Layer, id=0010(Receiver ID)
      <br>
      [   17.918707] pcieport 0000:00:02.0:   device [8086:6f04] error
      status/mask=00000040/00002000
      <br>
      [   17.918708] pcieport 0000:00:02.0:    [ 6] Bad TLP
      <br>
      -------------------
      <br>
      <br>
      See below the output of 'lspci -tv'
      <br>
      -------------------
      <br>
      -+-[0000:ff]-+-0b.0  Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon
      E3 v4/Xeon D R3 QPI Link 0/1
      <br>
                   +(shorted_but_a_lot_of_Intel_stuff)
      <br>
       \-[0000:00]-+-00.0  Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon
      E3 v4/Xeon D DMI2
      <br>
                   +-01.0-[03]--
      <br>
                   +-02.0-[02]--+-00.0  Advanced Micro Devices, Inc.
      [AMD/ATI] Device 67ef
      <br>
                   |            \-00.1  Advanced Micro Devices, Inc.
      [AMD/ATI] Device aae0
      <br>
                   +-03.0-[01]--+-00.0  Advanced Micro Devices, Inc.
      [AMD/ATI] Device 67df
      <br>
                   |            \-00.1  Advanced Micro Devices, Inc.
      [AMD/ATI] Device aaf0
      <br>
                   +-05.0  Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon
      E3 v4/Xeon D Map/VTd_Misc/System Management
      <br>
                   +-05.1  Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon
      E3 v4/Xeon D IIO Hot Plug
      <br>
                   +-05.2  Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon
      E3 v4/Xeon D IIO RAS/Control Status/Global Errors
      <br>
                   +-05.4  Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon
      E3 v4/Xeon D I/O APIC
      <br>
                   +-11.0  Intel Corporation C610/X99 series chipset
      SPSR
      <br>
                   +-14.0  Intel Corporation C610/X99 series chipset USB
      xHCI Host Controller
      <br>
                   +-16.0  Intel Corporation C610/X99 series chipset MEI
      Controller #1
      <br>
                   +-19.0  Intel Corporation Ethernet Connection (2)
      I218-LM
      <br>
                   +-1a.0  Intel Corporation C610/X99 series chipset USB
      Enhanced Host Controller #2
      <br>
                   +-1b.0  Intel Corporation C610/X99 series chipset HD
      Audio Controller
      <br>
                   +-1c.0-[04]--
      <br>
                   +-1c.3-[05]----00.0  Intel Corporation I210 Gigabit
      Network Connection
      <br>
                   +-1c.4-[06]----00.0  ASMedia Technology Inc. ASM1142
      USB 3.1 Host Controller
      <br>
                   +-1d.0  Intel Corporation C610/X99 series chipset USB
      Enhanced Host Controller #1
      <br>
                   +-1f.0  Intel Corporation C610/X99 series chipset LPC
      Controller
      <br>
                   +-1f.2  Intel Corporation C610/X99 series chipset
      6-Port SATA Controller [AHCI mode]
      <br>
                   \-1f.3  Intel Corporation C610/X99 series chipset
      SMBus Controller
      <br>
      -------------------
      <br>
      <br>
      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?
      <br>
      <br>
      Would appreciate your help!
      <br>
      <br>
      With kind regards, Pim
      <br>
      <br>
      _______________________________________________
      <br>
      vfio-users mailing list
      <br>
      <a class="moz-txt-link-abbreviated" href="mailto:vfio-users@redhat.com">vfio-users@redhat.com</a>
      <br>
      <a class="moz-txt-link-freetext" href="https://www.redhat.com/mailman/listinfo/vfio-users">https://www.redhat.com/mailman/listinfo/vfio-users</a>
      <br>
    </blockquote>
    <br>
  </body>
</html>