* [PATCH RFC 1/3] libxl: upstream Qemu as PV backend for IOEMU stubdom
2017-06-25 22:15 [PATCH RFC 0/3] libxl: upstream Qemu as PV backend for IOEMU stubdom Simon Waterman
@ 2017-06-25 22:15 ` Simon Waterman
2017-06-25 22:15 ` [PATCH RFC 2/3] " Simon Waterman
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: Simon Waterman @ 2017-06-25 22:15 UTC (permalink / raw)
To: xen-devel; +Cc: ian.jackson, wei.liu2, Simon Waterman
Add new domain build setting recording the chosen version of PV
Qemu backend for an IOEMU stubdom.
Signed-off-by: Simon Waterman <watermansrdev@gmail.com>
---
tools/libxl/libxl_types.idl | 1 +
1 file changed, 1 insertion(+)
diff --git a/tools/libxl/libxl_types.idl b/tools/libxl/libxl_types.idl
index 2204425..16ddeaf 100644
--- a/tools/libxl/libxl_types.idl
+++ b/tools/libxl/libxl_types.idl
@@ -474,6 +474,7 @@ libxl_domain_build_info = Struct("domain_build_info",[
("vnuma_nodes", Array(libxl_vnode_info, "num_vnuma_nodes")),
("device_model_version", libxl_device_model_version),
+ ("device_model_pv_version", libxl_device_model_version),
("device_model_stubdomain", libxl_defbool),
# if you set device_model you must set device_model_version too
("device_model", string),
--
2.7.4
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel
^ permalink raw reply related [flat|nested] 5+ messages in thread* [PATCH RFC 2/3] libxl: upstream Qemu as PV backend for IOEMU stubdom
2017-06-25 22:15 [PATCH RFC 0/3] libxl: upstream Qemu as PV backend for IOEMU stubdom Simon Waterman
2017-06-25 22:15 ` [PATCH RFC 1/3] " Simon Waterman
@ 2017-06-25 22:15 ` Simon Waterman
2017-06-25 22:15 ` [PATCH RFC 3/3] " Simon Waterman
2017-06-28 17:36 ` [PATCH RFC 0/3] " Wei Liu
3 siblings, 0 replies; 5+ messages in thread
From: Simon Waterman @ 2017-06-25 22:15 UTC (permalink / raw)
To: xen-devel; +Cc: ian.jackson, wei.liu2, Simon Waterman
Process xl.cfg file setting for PV device model version.
Valid values are qemu-xen and qemu-xen-traditional.
Signed-off-by: Simon Waterman <watermansrdev@gmail.com>
---
tools/xl/xl_parse.c | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
diff --git a/tools/xl/xl_parse.c b/tools/xl/xl_parse.c
index 856a304..48cbb18 100644
--- a/tools/xl/xl_parse.c
+++ b/tools/xl/xl_parse.c
@@ -1883,6 +1883,25 @@ skip_usbdev:
xlu_cfg_replace_string(config, "device_model_user",
&b_info->device_model_user, 0);
+ if (!xlu_cfg_get_string (config, "device_model_pv_version", &buf, 0)) {
+ if (!libxl_defbool_val(b_info->device_model_stubdomain)) {
+ fprintf(stderr, "WARNING: device_model_pv_version specified but no stub domain\n");
+ }
+ if (!strcmp(buf, "qemu-xen-traditional")) {
+ b_info->device_model_pv_version
+ = LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN_TRADITIONAL;
+ } else if (!strcmp(buf, "qemu-xen")) {
+ b_info->device_model_pv_version
+ = LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN;
+ } else {
+ fprintf(stderr,
+ "Unknown device_model_pv_version \"%s\" specified\n", buf);
+ exit(1);
+ }
+ } else
+ b_info->device_model_pv_version
+ = LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN_TRADITIONAL;
+
#define parse_extra_args(type) \
e = xlu_cfg_get_list_as_string_list(config, "device_model_args"#type, \
&b_info->extra##type, 0); \
--
2.7.4
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel
^ permalink raw reply related [flat|nested] 5+ messages in thread* [PATCH RFC 3/3] libxl: upstream Qemu as PV backend for IOEMU stubdom
2017-06-25 22:15 [PATCH RFC 0/3] libxl: upstream Qemu as PV backend for IOEMU stubdom Simon Waterman
2017-06-25 22:15 ` [PATCH RFC 1/3] " Simon Waterman
2017-06-25 22:15 ` [PATCH RFC 2/3] " Simon Waterman
@ 2017-06-25 22:15 ` Simon Waterman
2017-06-28 17:36 ` [PATCH RFC 0/3] " Wei Liu
3 siblings, 0 replies; 5+ messages in thread
From: Simon Waterman @ 2017-06-25 22:15 UTC (permalink / raw)
To: xen-devel; +Cc: ian.jackson, wei.liu2, Simon Waterman
Set the PV model version for the IOEMU stubdom from
the new device_model_pv_version setting. Existing code
sets up the command line and spawns the specified version
correctly.
In addition, the upstream QEMU doesn't allow the restore
console to be undefined (it SEGV's) so if this is not a restore
set it to "null" instead. This has the same affect on both upstream
QEMU and qemu-xen-traditional.
Signed-off-by: Simon Waterman <watermansrdev@gmail.com>
---
tools/libxl/libxl_dm.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
index f8ba859..9e4a27a 100644
--- a/tools/libxl/libxl_dm.c
+++ b/tools/libxl/libxl_dm.c
@@ -1847,8 +1847,8 @@ void libxl__spawn_stub_dm(libxl__egc *egc, libxl__stub_dm_spawn_state *sdss)
dm_config->b_info.u.pv.features = "";
- dm_config->b_info.device_model_version =
- guest_config->b_info.device_model_version;
+ dm_config->b_info.device_model_version =
+ guest_config->b_info.device_model_pv_version;
dm_config->b_info.device_model =
guest_config->b_info.device_model;
dm_config->b_info.extra = guest_config->b_info.extra;
@@ -2014,6 +2014,8 @@ static void spawn_stub_launch_dm(libxl__egc *egc,
if (d_state->saved_state)
console[i].output =
GCSPRINTF("pipe:%s", d_state->saved_state);
+ else
+ console[i].output = "null";
break;
default:
console[i].output = "pty";
--
2.7.4
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel
^ permalink raw reply related [flat|nested] 5+ messages in thread* Re: [PATCH RFC 0/3] libxl: upstream Qemu as PV backend for IOEMU stubdom
2017-06-25 22:15 [PATCH RFC 0/3] libxl: upstream Qemu as PV backend for IOEMU stubdom Simon Waterman
` (2 preceding siblings ...)
2017-06-25 22:15 ` [PATCH RFC 3/3] " Simon Waterman
@ 2017-06-28 17:36 ` Wei Liu
3 siblings, 0 replies; 5+ messages in thread
From: Wei Liu @ 2017-06-28 17:36 UTC (permalink / raw)
To: Simon Waterman; +Cc: ian.jackson, wei.liu2, xen-devel
On Sun, Jun 25, 2017 at 11:15:28PM +0100, Simon Waterman wrote:
> This patch adds support for choosing upstream QEMU as the PV QEMU
> backend for an IOEMU stubdom instead of qemu-xen-traditional.
> The motivation is to expose QEMU features only available in upstream
> like VNC auth options.
>
> It adds a new xl.cfg file parameter named device_model_pv_version taking
> the same values as device_model_version. I made the choice configurable
> as upstream QEMU requires more RAM than qemu-xen-traditional.
>
How much more?
I am not very interested in supporting two modes TBH.
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel
^ permalink raw reply [flat|nested] 5+ messages in thread