[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH 0/2 v2] 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 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> _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |