From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:59313) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YZr1V-0003jc-OX for qemu-devel@nongnu.org; Sun, 22 Mar 2015 21:19:23 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YZr1S-0002Vh-He for qemu-devel@nongnu.org; Sun, 22 Mar 2015 21:19:21 -0400 Received: from mga09.intel.com ([134.134.136.24]:31309) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YZr1S-0002VR-C7 for qemu-devel@nongnu.org; Sun, 22 Mar 2015 21:19:18 -0400 From: Tiejun Chen Date: Mon, 23 Mar 2015 09:17:44 +0800 Message-Id: <1427073466-16956-1-git-send-email-tiejun.chen@intel.com> Subject: [Qemu-devel] [v3][PATCH 0/2] libxl: try to support IGD passthrough for qemu upstream List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: ian.campbell@citrix.com, wei.liu2@citrix.com, Ian.Jackson@eu.citrix.com, stefano.stabellini@citrix.com Cc: qemu-devel@nongnu.org, xen-devel@lists.xen.org v3: * Refine some codes based on Campbell's feedback so thanks for Campbell's kind guideline to patch #2 * Update the manpages in patch #2 v2: * Refine patch #2's head description * Improve codes quality inside patch #1 based on Wei's comments * Refill the summary inside patch #0 based on Konrad and Wei's suggestion When we're working to support IGD GFX passthrough with qemu upstream, instead of "-gfx_passthru" we'd like to make that a machine option, "-machine xxx,igd-passthru=on". https://lists.nongnu.org/archive/html/qemu-devel/2015-01/msg02050.html This need to bring a change on tool side. After a discussion with Campbell, we'd like to construct a table to record all IGD devices we can support. If we hit that table, we should pass that option. And so we also introduce a new field of type, 'gfx_passthru_kind', to cooperate with 'gfx_passthru' to cover all scenarios like this, gfx_passthru = 0 => sets build_info.u.gfx_passthru to false gfx_passthru = 1 => sets build_info.u.gfx_passthru to true and build_info.u.gfx_passthru_kind to DEFAULT gfx_passthru = "igd" => sets build_info.u.gfx_passthru to false and build_info.u.gfx_passthru_kind to IGD And note actually that option "-gfx_passthru" is just introduced to work for qemu-xen-traditional so we should get this away from libxl__build_device_model_args_new() in the case of qemu upstream. ---------------------------------------------------------------- Tiejun Chen (2): libxl: introduce libxl__is_igd_vga_passthru libxl: introduce gfx_passthru_kind docs/man/xl.cfg.pod.5 | 11 ++-- tools/libxl/libxl.h | 6 ++ tools/libxl/libxl_dm.c | 36 +++++++++- tools/libxl/libxl_internal.h | 6 ++ tools/libxl/libxl_pci.c | 124 +++++++++++++++++++++++++++++++++++ tools/libxl/libxl_types.idl | 6 ++ tools/libxl/xl_cmdimpl.c | 14 +++- 7 files changed, 194 insertions(+), 9 deletions(-) Thanks Tiejun