From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jean Guyader Subject: Re: [PATCH 0/2] graphics passthrough with VT-d Date: Fri, 28 Aug 2009 09:24:31 +0100 Message-ID: <20090828082431.GA16003@citrix.com> References: <715D42877B251141A38726ABF5CABF2C054B533681@pdsmsx503.ccr.corp.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Return-path: Content-Disposition: inline In-Reply-To: <715D42877B251141A38726ABF5CABF2C054B533681@pdsmsx503.ccr.corp.intel.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: "Han, Weidong" Cc: "'xen-devel@lists.xensource.com'" , "Lin, Ben Y" , "Kay, Allen M" , Fraser Keir, "'bengheng@eecs.umich.edu'" List-Id: xen-devel@lists.xenproject.org On Fri, Aug 28, 2009 at 03:53:56AM -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.) > Once we have those patch inside xen-unstable, I could commit the patch we have for XCI to share the host keyboard/mouse with multiple vms. > > The patchset is as follows: > 1. PATCH 1/2: changes in xen-unstable > - retrieves VGA bios from host VGA BIOS address (0xC0000), then load it to guest VGA BIOS address (This is the same with XCI). > - Enlarge guest MMIO range to contain gfx card's large memory > - add a config option 'gfx_passthru' for gfx passthrough > > 2. PATCH 2/2: changes in QEMU > - disable emulated VGA adapter > - register/unregister legacy VGA I/O ports and MMIOs > > Hi, Has those patch been tested with an intel IGD? Because I think they are some pieces missing: - GMCH mapping in the guest. - VID DID pt for the host bridge (for linux hvm guest). - TOM pass through for winxp guest. Jean