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

Re: [Xen-devel] [PATCH 0/2 v2] graphics passthrough with VT-d



On Tue, Sep 01, 2009 at 02:00:43AM -0400, Han, Weidong wrote:
> Hi all,
> 
> Recently, more and more people are interesting in gfx passthrough. But now 
> xen-unstable doesn't support it, although some guys (Jean Guyader, Beng Heng, 
> Ng) posted gfx passthrough patches. If xen-unstable includes gfx passthrough 
> support, people can be easy to try it.
> 
> gfx passthrough is more complicated than other PCI device passthrough such as 
> NIC, and is hard to use a generic approach for all gfx passthrough. But there 
> are some necessary changes for gfx passthrough:
>   1. disable emulated VGA adapter, instead use passthroughed gfx
>   2. load VGA bios of the gfx to guest
>   3. passthrough legacy VGA IO ports and MMIOs to guest
> 
> This patchset implements above common changes. Based on the common changes, 
> we are investigating to support more gfx cards and guest OSs. We will post 
> the hacks in future.
> 
> The patchset supports to passthrough the primary gfx and discrete gfx. With 
> the patchset, virtualization friendly gfx cards can be passthroughed (e.g. 
> Nvidia FX3800), IGD and many discrete gfx cards are not supported yet. 
> 
> This is easy to use, the only difference from other PCI passthrough is to add 
> following lines to hvm configure file:
> #----------------------------------------------------------------------------------------
> # 0: no gfx passthru, 1: IGD passthru, 2: discrete gfx passthru, default is 0
> gfx_passthru=2
> 
> and also pls passthrough a USB controller for keyboard/mouse use in guest. 
> (Now there are some issues on USB controller passthrough with pv-ops dom0, so 
> currently prefer to use 2.6.18 dom0.) In future, Jean said he would like to 
> commit the patch to share the host keyboard/mouse with multiple vms. At that 
> time, USB controller assignment is not needed.
> 
> 
> v1 -> v2 changelogs:
>   - Removed the code to nnlarge guest MMIO range to contain gfx card's large 
> memory, because hvmloader will auto-size the MMIO hole
>   - Implemented the VGA bios mapping and copying inside qemu, so that don't 
> need to modify xc_hvm_build functions
> 
> The patchset is as follows:
> 1. PATCH 1/2: changes in xen-unstable
>       - add a VGA type for gfx passthrough, and get the size of VGA bios of 
> passthrouged gfx in hvmloader
>       - add a config option 'gfx_passthru' for gfx passthrough
> 
> 2. PATCH 2/2: changes in QEMU
>       - disable emulated VGA adapter if there is a passthroughed gfx
>       - retrieves VGA bios from host VGA BIOS address (0xC0000), then load it 
> to guest VGA BIOS address
>       - register/unregister legacy VGA I/O ports and MMIOs for passthroughed 
> gfx
> 
> 
> Signed-off-by: Ben Lin <ben.y.lin@xxxxxxxxx>
> Signed-off-by: Weidong Han <weidong.han@xxxxxxxxx>
Acked-by: Jean Guyader <jean.guyader@xxxxxxxxxx>

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

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