Stefano Stabellini
2012-Nov-27 15:17 UTC
[PATCH] libxl: use qemu-xen (upstream QEMU) as device model by default
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c index 9d20086..c40f597 100644 --- a/tools/libxl/libxl_create.c +++ b/tools/libxl/libxl_create.c @@ -144,7 +144,7 @@ int libxl__domain_build_info_setdefault(libxl__gc *gc, if (!b_info->device_model_version) { if (b_info->type == LIBXL_DOMAIN_TYPE_HVM) b_info->device_model_version - LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN_TRADITIONAL; + LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN; else { const char *dm; int rc;
Ian Campbell
2012-Nov-27 15:23 UTC
Re: [PATCH] libxl: use qemu-xen (upstream QEMU) as device model by default
Is the test system prepared for this change? Unless someone tells me otherwise I''m going to leave this one to Ian J to apply when the ducks are all in the appropriate rows. On Tue, 2012-11-27 at 15:17 +0000, Stefano Stabellini wrote:> Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> > > diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c > index 9d20086..c40f597 100644 > --- a/tools/libxl/libxl_create.c > +++ b/tools/libxl/libxl_create.c > @@ -144,7 +144,7 @@ int libxl__domain_build_info_setdefault(libxl__gc *gc, > if (!b_info->device_model_version) { > if (b_info->type == LIBXL_DOMAIN_TYPE_HVM) > b_info->device_model_version > - LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN_TRADITIONAL; > + LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN; > else { > const char *dm; > int rc; > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xen.org > http://lists.xen.org/xen-devel
Ian Jackson
2012-Nov-29 17:17 UTC
Re: [PATCH] libxl: use qemu-xen (upstream QEMU) as device model by default
Ian Campbell writes ("Re: [Xen-devel] [PATCH] libxl: use qemu-xen (upstream QEMU) as device model by default"):> Is the test system prepared for this change? > > Unless someone tells me otherwise I''m going to leave this one to Ian J > to apply when the ducks are all in the appropriate rows.Something filled up a disk so I''m still waiting for the necessary push... Ian.
Roger Pau Monné
2012-Dec-03 16:24 UTC
Re: [PATCH] libxl: use qemu-xen (upstream QEMU) as device model by default
On 27/11/12 16:17, Stefano Stabellini wrote:> > Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> > > diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c > index 9d20086..c40f597 100644 > --- a/tools/libxl/libxl_create.c > +++ b/tools/libxl/libxl_create.c > @@ -144,7 +144,7 @@ int libxl__domain_build_info_setdefault(libxl__gc *gc, > if (!b_info->device_model_version) { > if (b_info->type == LIBXL_DOMAIN_TYPE_HVM) > b_info->device_model_version > - LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN_TRADITIONAL; > + LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN;Is there anyway we may keep qemu-traditional as default for NetBSD? Upstream Qemu is not working on NetBSD, and I''m afraid it needs some heavy patching. Could a helper function be added to libxl_{netbsd/linux}.c to decide which device model to use?> else { > const char *dm; > int rc; > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xen.org > http://lists.xen.org/xen-devel >
Sander Eikelenboom
2012-Dec-03 18:37 UTC
Re: [PATCH] libxl: use qemu-xen (upstream QEMU) as device model by default
Monday, December 3, 2012, 5:24:43 PM, you wrote:> On 27/11/12 16:17, Stefano Stabellini wrote: >> >> Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> >> >> diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c >> index 9d20086..c40f597 100644 >> --- a/tools/libxl/libxl_create.c >> +++ b/tools/libxl/libxl_create.c >> @@ -144,7 +144,7 @@ int libxl__domain_build_info_setdefault(libxl__gc *gc, >> if (!b_info->device_model_version) { >> if (b_info->type == LIBXL_DOMAIN_TYPE_HVM) >> b_info->device_model_version >> - LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN_TRADITIONAL; >> + LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN;> Is there anyway we may keep qemu-traditional as default for NetBSD? > Upstream Qemu is not working on NetBSD, and I''m afraid it needs some > heavy patching.> Could a helper function be added to libxl_{netbsd/linux}.c to decide > which device model to use?And shouldn''t the example configuration files and documentation be patched as well ?>> else { >> const char *dm; >> int rc; >> >> _______________________________________________ >> Xen-devel mailing list >> Xen-devel@lists.xen.org >> http://lists.xen.org/xen-devel >>
Stefano Stabellini
2012-Dec-04 12:45 UTC
Re: [PATCH] libxl: use qemu-xen (upstream QEMU) as device model by default
On Mon, 3 Dec 2012, Roger Pau Monne wrote:> On 27/11/12 16:17, Stefano Stabellini wrote: > > > > Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> > > > > diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c > > index 9d20086..c40f597 100644 > > --- a/tools/libxl/libxl_create.c > > +++ b/tools/libxl/libxl_create.c > > @@ -144,7 +144,7 @@ int libxl__domain_build_info_setdefault(libxl__gc *gc, > > if (!b_info->device_model_version) { > > if (b_info->type == LIBXL_DOMAIN_TYPE_HVM) > > b_info->device_model_version > > - LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN_TRADITIONAL; > > + LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN; > > Is there anyway we may keep qemu-traditional as default for NetBSD? > Upstream Qemu is not working on NetBSD, and I''m afraid it needs some > heavy patching. > > Could a helper function be added to libxl_{netbsd/linux}.c to decide > which device model to use?Yes, we could have a libxl__default_device_model function in libxl_{netbsd/linux}.c.
Stefano Stabellini
2012-Dec-04 12:48 UTC
Re: [PATCH] libxl: use qemu-xen (upstream QEMU) as device model by default
On Mon, 3 Dec 2012, Sander Eikelenboom wrote:> Monday, December 3, 2012, 5:24:43 PM, you wrote: > > > On 27/11/12 16:17, Stefano Stabellini wrote: > >> > >> Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> > >> > >> diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c > >> index 9d20086..c40f597 100644 > >> --- a/tools/libxl/libxl_create.c > >> +++ b/tools/libxl/libxl_create.c > >> @@ -144,7 +144,7 @@ int libxl__domain_build_info_setdefault(libxl__gc *gc, > >> if (!b_info->device_model_version) { > >> if (b_info->type == LIBXL_DOMAIN_TYPE_HVM) > >> b_info->device_model_version > >> - LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN_TRADITIONAL; > >> + LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN; > > > Is there anyway we may keep qemu-traditional as default for NetBSD? > > Upstream Qemu is not working on NetBSD, and I''m afraid it needs some > > heavy patching. > > > Could a helper function be added to libxl_{netbsd/linux}.c to decide > > which device model to use? > > And shouldn''t the example configuration files and documentation be patched as well ?The example config files don''t have anything on the device model. However I do need to update the xl man page. Thanks for the reminder!
Sander Eikelenboom
2012-Dec-04 13:01 UTC
Re: [PATCH] libxl: use qemu-xen (upstream QEMU) as device model by default
Tuesday, December 4, 2012, 1:48:03 PM, you wrote:> On Mon, 3 Dec 2012, Sander Eikelenboom wrote: >> Monday, December 3, 2012, 5:24:43 PM, you wrote: >> >> > On 27/11/12 16:17, Stefano Stabellini wrote: >> >> >> >> Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> >> >> >> >> diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c >> >> index 9d20086..c40f597 100644 >> >> --- a/tools/libxl/libxl_create.c >> >> +++ b/tools/libxl/libxl_create.c >> >> @@ -144,7 +144,7 @@ int libxl__domain_build_info_setdefault(libxl__gc *gc, >> >> if (!b_info->device_model_version) { >> >> if (b_info->type == LIBXL_DOMAIN_TYPE_HVM) >> >> b_info->device_model_version >> >> - LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN_TRADITIONAL; >> >> + LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN; >> >> > Is there anyway we may keep qemu-traditional as default for NetBSD? >> > Upstream Qemu is not working on NetBSD, and I''m afraid it needs some >> > heavy patching. >> >> > Could a helper function be added to libxl_{netbsd/linux}.c to decide >> > which device model to use? >> >> And shouldn''t the example configuration files and documentation be patched as well ?> The example config files don''t have anything on the device model. > However I do need to update the xl man page. > Thanks for the reminder!What i did perhaps miss, are both qemu traditional and upstream going to be build and installed side-by-side, so a admin can mix guest with different device models during a transitional phase ? -- Sander
Stefano Stabellini
2012-Dec-04 13:05 UTC
Re: [PATCH] libxl: use qemu-xen (upstream QEMU) as device model by default
On Tue, 4 Dec 2012, Sander Eikelenboom wrote:> Tuesday, December 4, 2012, 1:48:03 PM, you wrote: > > > On Mon, 3 Dec 2012, Sander Eikelenboom wrote: > >> Monday, December 3, 2012, 5:24:43 PM, you wrote: > >> > >> > On 27/11/12 16:17, Stefano Stabellini wrote: > >> >> > >> >> Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> > >> >> > >> >> diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c > >> >> index 9d20086..c40f597 100644 > >> >> --- a/tools/libxl/libxl_create.c > >> >> +++ b/tools/libxl/libxl_create.c > >> >> @@ -144,7 +144,7 @@ int libxl__domain_build_info_setdefault(libxl__gc *gc, > >> >> if (!b_info->device_model_version) { > >> >> if (b_info->type == LIBXL_DOMAIN_TYPE_HVM) > >> >> b_info->device_model_version > >> >> - LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN_TRADITIONAL; > >> >> + LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN; > >> > >> > Is there anyway we may keep qemu-traditional as default for NetBSD? > >> > Upstream Qemu is not working on NetBSD, and I''m afraid it needs some > >> > heavy patching. > >> > >> > Could a helper function be added to libxl_{netbsd/linux}.c to decide > >> > which device model to use? > >> > >> And shouldn''t the example configuration files and documentation be patched as well ? > > > The example config files don''t have anything on the device model. > > However I do need to update the xl man page. > > Thanks for the reminder! > > What i did perhaps miss, are both qemu traditional and upstream going to be build and installed side-by-side, so a admin can mix guest with different device models during a transitional phase ?Yes: there is a config option to select what device_model you want at VM creation time. I am only changing the default (if no option is specified).
Ian Jackson
2012-Dec-05 15:58 UTC
Re: [PATCH] libxl: use qemu-xen (upstream QEMU) as device model by default
Roger Pau Monne writes ("Re: [Xen-devel] [PATCH] libxl: use qemu-xen (upstream QEMU) as device model by default"):> On 27/11/12 16:17, Stefano Stabellini wrote: > > - LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN_TRADITIONAL; > > + LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN; > > Is there anyway we may keep qemu-traditional as default for NetBSD? > Upstream Qemu is not working on NetBSD, and I''m afraid it needs some > heavy patching.Right. OK, that''s something we need to take care of then.> Could a helper function be added to libxl_{netbsd/linux}.c to decide > which device model to use?Yes, I think that would be fine. Ian.
Roger Pau Monné
2012-Dec-05 16:29 UTC
Re: [PATCH] libxl: use qemu-xen (upstream QEMU) as device model by default
On 05/12/12 16:58, Ian Jackson wrote:> Roger Pau Monne writes ("Re: [Xen-devel] [PATCH] libxl: use qemu-xen (upstream QEMU) as device model by default"): >> On 27/11/12 16:17, Stefano Stabellini wrote: >>> - LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN_TRADITIONAL; >>> + LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN; >> >> Is there anyway we may keep qemu-traditional as default for NetBSD? >> Upstream Qemu is not working on NetBSD, and I''m afraid it needs some >> heavy patching. > > Right. OK, that''s something we need to take care of then.I have a pending patch for NetBSD that fixes a problem with the privcmd device, and the way NetBSD handles IOCTL_PRIVCMD_MMAPBATCH. It is here: http://mail-index.netbsd.org/port-xen/2012/06/27/msg007464.html With this patch at least we are able to launch Qemu-upstream without crashing, but the next problem is with network interfaces. There''s no way in NetBSD to change the name of a cloned tap interface, and in libxl we pass the desired name of the tap interface to be created to Qemu, and then we launch hotplug scripts according to that name. This doesn''t work in NetBSD, but I see several possible solutions: 1. Implement interface renaming in NetBSD 2. Implement a QMP interface in Qemu to query information about network devices, so we can get the actual name of the interface that Qemu has created. There was a partial implementation of this as part of a Qemu GSoC, but it never got commited, see http://wiki.qemu.org/Google_Summer_of_Code_2010/QMP#query-netdev 3. Create the tap interface in libxl and use pass fd to pass that file descriptor to Qemu "-net tap,fd=XXX[,...]" More suggestions?>> Could a helper function be added to libxl_{netbsd/linux}.c to decide >> which device model to use? > > Yes, I think that would be fine. > > Ian. >