From mboxrd@z Thu Jan 1 00:00:00 1970 From: Don Slutz Subject: [PATCH v13 1/8] tools: Add vga=vmware Date: Sat, 28 Nov 2015 16:44:58 -0500 Message-ID: <1448747105-19966-2-git-send-email-Don.Slutz@Gmail.com> References: <1448747105-19966-1-git-send-email-Don.Slutz@Gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1448747105-19966-1-git-send-email-Don.Slutz@Gmail.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: xen-devel@lists.xen.org Cc: Jun Nakajima , Wei Liu , Kevin Tian , Keir Fraser , Ian Campbell , George Dunlap , Andrew Cooper , Stefano Stabellini , Eddie Dong , Don Slutz , Don Slutz , Tim Deegan , Aravind Gopalakrishnan , Jan Beulich , Suravee Suthikulpanit , Boris Ostrovsky , Ian Jackson List-Id: xen-devel@lists.xenproject.org From: Don Slutz This allows use of QEMU's VMware emulated video card NOTE: vga=vmware is not supported by device_model_version=qemu-xen-traditional Signed-off-by: Don Slutz CC: Don Slutz Acked-by: Ian Campbell --- v13: Added Acked-by: Ian Campbell v12: Dropped LIBXL_HAVE_LIBXL_VGA_INTERFACE_TYPE_VMWARE This means that the later patch that defines LIBXL_HAVE_VMWARE is now also required. v11: Dropped support for Qemu-trad. Also changed later patchs to not need this one. v10: New at v10. Was part of "tools: Add vmware_hwver support" docs/man/xl.cfg.pod.5 | 4 +++- tools/libxl/libxl_dm.c | 9 +++++++++ tools/libxl/libxl_types.idl | 1 + tools/libxl/xl_cmdimpl.c | 2 ++ 4 files changed, 15 insertions(+), 1 deletion(-) diff --git a/docs/man/xl.cfg.pod.5 b/docs/man/xl.cfg.pod.5 index 3b695bd..9a5744d 100644 --- a/docs/man/xl.cfg.pod.5 +++ b/docs/man/xl.cfg.pod.5 @@ -1547,7 +1547,7 @@ This option is deprecated, use vga="stdvga" instead. =item B -Selects the emulated video card (none|stdvga|cirrus|qxl). +Selects the emulated video card (none|stdvga|cirrus|qxl|vmware). The default is cirrus. In general, QXL should work with the Spice remote display protocol @@ -1555,6 +1555,8 @@ for acceleration, and QXL driver is necessary in guest in this case. QXL can also work with the VNC protocol, but it will be like a standard VGA without acceleration. +NOTE: vmware is not supported on B + =item B Allow access to the display via the VNC protocol. This enables the diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c index a4934df..c76fd90 100644 --- a/tools/libxl/libxl_dm.c +++ b/tools/libxl/libxl_dm.c @@ -529,6 +529,10 @@ static int libxl__build_device_model_args_old(libxl__gc *gc, case LIBXL_VGA_INTERFACE_TYPE_NONE: flexarray_append_pair(dm_args, "-vga", "none"); break; + case LIBXL_VGA_INTERFACE_TYPE_VMWARE: + LOG(ERROR, "vga=vmware is not supported by " + "qemu-xen-traditional"); + return ERROR_INVAL; case LIBXL_VGA_INTERFACE_TYPE_QXL: break; } @@ -969,6 +973,11 @@ static int libxl__build_device_model_args_new(libxl__gc *gc, GCSPRINTF("qxl-vga,vram_size_mb=%"PRIu64",ram_size_mb=%"PRIu64, (b_info->video_memkb/2/1024), (b_info->video_memkb/2/1024) ) ); break; + case LIBXL_VGA_INTERFACE_TYPE_VMWARE: + flexarray_append_pair(dm_args, "-device", + GCSPRINTF("vmware-svga,vgamem_mb=%d", + libxl__sizekb_to_mb(b_info->video_memkb))); + break; } if (b_info->u.hvm.boot) { diff --git a/tools/libxl/libxl_types.idl b/tools/libxl/libxl_types.idl index cf3730f..4f46594 100644 --- a/tools/libxl/libxl_types.idl +++ b/tools/libxl/libxl_types.idl @@ -207,6 +207,7 @@ libxl_vga_interface_type = Enumeration("vga_interface_type", [ (2, "STD"), (3, "NONE"), (4, "QXL"), + (5, "VMWARE"), ], init_val = "LIBXL_VGA_INTERFACE_TYPE_CIRRUS") libxl_vendor_device = Enumeration("vendor_device", [ diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c index 2b6371d..93d5295 100644 --- a/tools/libxl/xl_cmdimpl.c +++ b/tools/libxl/xl_cmdimpl.c @@ -2260,6 +2260,8 @@ skip_vfb: b_info->u.hvm.vga.kind = LIBXL_VGA_INTERFACE_TYPE_NONE; } else if (!strcmp(buf, "qxl")) { b_info->u.hvm.vga.kind = LIBXL_VGA_INTERFACE_TYPE_QXL; + } else if (!strcmp(buf, "vmware")) { + b_info->u.hvm.vga.kind = LIBXL_VGA_INTERFACE_TYPE_VMWARE; } else { fprintf(stderr, "Unknown vga \"%s\" specified\n", buf); exit(1); -- 1.8.3.1