WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] [PATCH 1/2] libxl, Introduce the command line handler fo

On Thu, 2010-08-05 at 14:25 +0100, Anthony Perard wrote:
> Stefano Stabellini wrote:
> > On Wed, 4 Aug 2010, anthony.perard@xxxxxxxxxx wrote:
> >> From: Anthony PERARD <anthony.perard@xxxxxxxxxx>
> >>
> >> This patch adds a function to check the version of the device model.
> >> Depending on the version of the DM, the command line arguments will be
> >> built differently.
> >>
> >> Signed-off-by: Anthony PERARD <anthony.perard@xxxxxxxxxx>
> >> ---
> >>  tools/libxl/libxl.c       |  163 
> >> ++++++++++++++++++++++++++++++++++++++++++++-
> >>  tools/libxl/libxl_utils.c |   73 ++++++++++++++++++++
> >>  tools/libxl/libxl_utils.h |    5 ++
> >>  3 files changed, 240 insertions(+), 1 deletions(-)
>  >>
>  >> [...]
>  >>
> >> +    // Search for the new version or the old version:
> >> +    // QEMU emulator version 0.12.50, ...
> >> +    // QEMU PC emulator version 0.10.2, ...
> >> +    if (strncmp("QEMU", buf, 4) == 0) {
> >> +        char *v = strstr(buf, "version ");
> >> +        if (v) {
> >> +            int major, minor;
> >> +            char *endptr = NULL;
> >> +
> >> +            v += strlen("version ");
> >> +            major = strtol(v, &endptr, 10);
> >> +            if (major == 0 && endptr && *endptr == '.') {
> >> +                v = endptr + 1;
> >> +                minor = strtol(v, &endptr, 10);
> >> +                if (minor >= 12)
> >> +                    return 1;
> >> +            }
> >> +            return 0;
> >> +        }
> >> +    }
> >> +    return 0;
> >> +}
> > 
> > I think Gianni is right about the string to search: it is probably
> > better to add a Xen specific string to qemu-dm, like "QEMU-DM", and rely
> > on that and the version (0.10.2 or older) to distinguish between the
> > two.
> 
> I can do something better by run "qemu -M ?" and check if "xenfv" 
> machine is supported. This work with both versions.

Yes but this is the problem exactly. The output of this does not
correlate to which set of command-line options are supported.

We cannot predict the future as to precisely what form any merge to qemu
upstream will take. Our only reliable choice is to add something new and
deliberately non-standardized to existing qemu-xen fork and detect that.

Gianni


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

<Prev in Thread] Current Thread [Next in Thread>