a785b8c089
- bnc#865682 - Local attach support for PHY backends using scripts local_attach_support_for_phy.patch - bnc#798770 - Improve multipath support for npiv devices block-npiv block-npiv-common.sh - honor global keymap= option in libxl libxl.honor-more-top-level-vfb-options.patch OBS-URL: https://build.opensuse.org/package/show/Virtualization/xen?expand=0&rev=303
78 lines
3.3 KiB
Diff
78 lines
3.3 KiB
Diff
From: Wei Liu <wei.liu2@citrix.com>
|
|
Date: Tue, 28 Jan 2014 15:38:01 +0000
|
|
Subject: xl: honor more top level vfb options
|
|
|
|
Now that SDL and keymap options for VFB can also be specified in top
|
|
level options. Documentation is also updated.
|
|
|
|
This fixes bug #31 and further possible problems.
|
|
|
|
Signed-off-by: Wei Liu <wei.liu2@citrix.com>
|
|
Cc: Olaf Hering <olaf@aepfle.de>
|
|
Cc: Ian Campbell <ian.campbell@citrix.com>
|
|
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
|
|
---
|
|
docs/man/xl.cfg.pod.5 | 4 ++--
|
|
tools/libxl/xl_cmdimpl.c | 17 ++++++++++++++---
|
|
2 files changed, 16 insertions(+), 5 deletions(-)
|
|
|
|
diff --git a/docs/man/xl.cfg.pod.5 b/docs/man/xl.cfg.pod.5
|
|
index e15a49f..49a9250 100644
|
|
--- a/docs/man/xl.cfg.pod.5
|
|
+++ b/docs/man/xl.cfg.pod.5
|
|
@@ -389,8 +389,8 @@ This options does not control the emulated graphics card presented to
|
|
an HVM guest. See L<Emulated VGA Graphics Device> below for how to
|
|
configure the emulated device. If L<Emulated VGA Graphics Device> options
|
|
are used in a PV guest configuration, xl will pick up B<vnc>, B<vnclisten>,
|
|
-B<vncpasswd>, B<vncdisplay> and B<vncunused> to construct paravirtual
|
|
-framebuffer device for the guest.
|
|
+B<vncpasswd>, B<vncdisplay>, B<vncunused>, B<sdl>, B<opengl> and
|
|
+B<keymap> to construct paravirtual framebuffer device for the guest.
|
|
|
|
Each B<VFB_SPEC_STRING> is a comma-separated list of C<KEY=VALUE>
|
|
settings, from the following list:
|
|
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
|
|
index 4fc46eb..28212e2 100644
|
|
--- a/tools/libxl/xl_cmdimpl.c
|
|
+++ b/tools/libxl/xl_cmdimpl.c
|
|
@@ -721,6 +721,15 @@ static void parse_top_level_vnc_options(XLU_Config *config,
|
|
xlu_cfg_get_defbool(config, "vncunused", &vnc->findunused, 0);
|
|
}
|
|
|
|
+static void parse_top_level_sdl_options(XLU_Config *config,
|
|
+ libxl_sdl_info *sdl)
|
|
+{
|
|
+ xlu_cfg_get_defbool(config, "sdl", &sdl->enable, 0);
|
|
+ xlu_cfg_get_defbool(config, "opengl", &sdl->opengl, 0);
|
|
+ xlu_cfg_replace_string (config, "display", &sdl->display, 0);
|
|
+ xlu_cfg_replace_string (config, "xauthority", &sdl->xauthority, 0);
|
|
+}
|
|
+
|
|
static void parse_config_data(const char *config_source,
|
|
const char *config_data,
|
|
int config_len,
|
|
@@ -1657,9 +1666,13 @@ skip_vfb:
|
|
libxl_device_vkb_init);
|
|
|
|
parse_top_level_vnc_options(config, &vfb->vnc);
|
|
+ parse_top_level_sdl_options(config, &vfb->sdl);
|
|
+ xlu_cfg_replace_string (config, "keymap", &vfb->keymap, 0);
|
|
}
|
|
- } else
|
|
+ } else {
|
|
parse_top_level_vnc_options(config, &b_info->u.hvm.vnc);
|
|
+ parse_top_level_sdl_options(config, &b_info->u.hvm.sdl);
|
|
+ }
|
|
|
|
if (c_info->type == LIBXL_DOMAIN_TYPE_HVM) {
|
|
if (!xlu_cfg_get_string (config, "vga", &buf, 0)) {
|
|
@@ -1676,8 +1689,6 @@ skip_vfb:
|
|
LIBXL_VGA_INTERFACE_TYPE_CIRRUS;
|
|
|
|
xlu_cfg_replace_string (config, "keymap", &b_info->u.hvm.keymap, 0);
|
|
- xlu_cfg_get_defbool(config, "sdl", &b_info->u.hvm.sdl.enable, 0);
|
|
- xlu_cfg_get_defbool(config, "opengl", &b_info->u.hvm.sdl.opengl, 0);
|
|
xlu_cfg_get_defbool (config, "spice", &b_info->u.hvm.spice.enable, 0);
|
|
if (!xlu_cfg_get_long (config, "spiceport", &l, 0))
|
|
b_info->u.hvm.spice.port = l;
|