[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] xen pci and vga passthrough + option roms



IIRC, qemu-traditional supports Intel Gfx passthrough but qemu-xen does not.

Unlike generic PCI device passthrough, Gfx device has some tricky points (and 
different vendor has different tricky points?).
For example, per qemu-traditional implementation for Intel Gfx, it need add 
some logic
At Qemu side
  do not create emulated VGA, for iGfx passthrough
  using dummy console, avoid keyboard and mouse passthrough
  Reserve 00:02.0 for iGfx
  PCI-ISA bridge emulation (OS install proper iGfx-gen-driver per bridge dev-id)
Hvmloader
  Reserve 2 pages at e820 for iGfx OpRegion

Some questions embedded below.

Thanks,
Jinsong


Sander Eikelenboom wrote:
> Hi Konrad,
> 
> I'm starting a new thread .. since i'm essentially trying to start
> over from scratch. (shoot i forgot to include xen-devel on the first
> mail ...) 

Would you please paste history mail?

> 
> - Xen-unstable the latest and greatest
> - Linux 3.13-rc7 as dom0 and guest kernel
> - Qemu-xen
> - Some patches (vga="none", enableing qemu debug, fixing builderrors
> when enabling qemu debug) 
> 
> I'm now first trying to replicate you :-) (don't worry .. it won't
> hurt :p), 
> i'm using an intel NIC now (found one laying around and it has a rom.
> and after it was flashed .. it even has valid rom content :-) )
> 
> Now the first experiment is to see if the sequence "echo 1 > rom; cat
> rom > romfile.bin; echo 0 > rom;" works. 

Where do you run these commands? like ./pci0000:00/0000:00:03.2/0000:xx:xx.x 
(NIC and VGA dir)?
I run at my machine but fail so would you please elaborate more your test step?

> 
> - Running Xen, on dom0, NIC owned by e1000e: dumping the rom works
> - Running Xen, on dom0, NIC owned by pciback: dumping the rom FAILS,
> kernel gives "cat: rom: Input/output error" 
> - Running Xen, in a HVM guest, NIC passedthrough: dumping the rom
> works, contents are the same as under dom0 
> 
> The failure with pciback is perhaps because the device wasn't
> initialized on boot because it was seized by pciback. 
> So generally speaking the rombar of pci devices is correctly passed
> through and can be dumped. 
> 
> So it indeed appears to be a VGA passthrough specific issue.
> 
> This was on my intel machine, but unfortunately that one has an IGD
> that shares it's pci-e lanes with the only pcie x16 slot, 
> so will put the NIC in my AMD machine .. and verify if it works there
> and then continue with the VGA card. 
> 
> Now trying on the AMD machine:
> 
> NIC:
> - Running Xen, on dom0, NIC owned by e1000e: dumping the rom works
> - Running Xen, on dom0, NIC owned by pciback: dumping the rom FAILS,
> kernel gives "cat: rom: Input/output error" 
> - Running Xen, in a HVM guest, NIC passedthrough: dumping the rom
> works, contents are the same as under dom0 
> 
> VGA card:
> - Running Xen, on dom0, VGA card owned by radeon: dumping the rom
> works 
> - Running Xen, on dom0, VGA card owned by nothing (due to setting
> nomodeset): dumping the rom FAILS, kernel gives "cat: rom:
> Input/output error"  
> - Running Xen, on dom0, VGA card owned by pciback: dumping the rom
> FAILS, kernel gives "cat: rom: Input/output error" 
> - Running Xen, in a HVM guest, VGA card passedthrough: dumping the
> rom works, contents are DIFFERENT from dom0, i get the BOCHS VGAbios 
> 
> Prelimanary conclusions:
> - Passing through the rombar from a NIC works
> - Passing through the rombar from a VGA card doesn't work out of the
> box. 
> - the sequence "echo 1 > rom; cat rom > romfile.bin; echo 0 > rom;"
>   works but seems to rely on a loaded and working driver and is thus
> not very reliable for testing so i need to dust of my arithmatic and
> use /dev/kmem and dd. - So Anthony is probably right .. something is
> playing tricks with the rombar when it's VGA class, even if it's the
> secondary card in the Guest.   


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.