This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


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

To: "'xen-devel@xxxxxxxxxxxxxxxxxxx'" <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: [Xen-devel] [PATCH 0/2] graphics passthrough with VT-d
From: "Han, Weidong" <weidong.han@xxxxxxxxx>
Date: Fri, 28 Aug 2009 15:53:56 +0800
Accept-language: en-US
Acceptlanguage: en-US
Cc: "Lin, Ben Y" <ben.y.lin@xxxxxxxxx>, "'bengheng@xxxxxxxxxxxxxx'" <bengheng@xxxxxxxxxxxxxx>, "Kay, Allen M" <allen.m.kay@xxxxxxxxx>, "'Keir.Fraser@xxxxxxxxxxxxx'" <Keir.Fraser@xxxxxxxxxxxxx>, 'Jean Guyader' <jean.guyader@xxxxxxxxxxxxx>
Delivery-date: Fri, 28 Aug 2009 00:55:39 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: AcontLHy+n9zRIltTQim/QyaHJt2ZA==
Thread-topic: [Xen-devel] [PATCH 0/2] graphics passthrough with VT-d
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

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.)

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

Signed-off-by: Ben Lin <ben.y.lin@xxxxxxxxx>
Signed-off-by: Weidong Han <weidong.han@xxxxxxxxx>
Xen-devel mailing list