[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] Re: [PATCH] Play with spice for xen-upstream-qemu on upstream Xen
On Mon, 18 Apr 2011, ZhouPeng wrote: > Signed-off-by: Zhou Peng <zhoupeng@xxxxxxxxxxxxxxx> > > This patch allows you to play with spice for > xen-upstream-qemu on upstream Xen or released Xen-4.1.0. > > Nothing need to be modified in xen-upstream-qemu, > because qemu has include spice's code as a new feature since qemu-0.14. > > Usage: > > Add spice fields in VM configuration file. > #spice > spice=1 > spiceport=6000 > spicehost='192.168.1.187' > spicedisable_ticketing = 0 # default is 0 > spicepasswd = 'password' > > apic=0 # disable acpi, but if you used the appended patch, set acpi=0 > > You may need to disable acpi(I'm not sure), > but if you want to disable acpi, you may need to set > apic = 0, (Yes, It is apic not acpi, pls don't ask me why, because I am also > confused with it). > If you feel uncomfortable by setting apic = 0, you can try an additional > patch appended, > then you can use acpi=0 in vm cfg file to give "no-acpi" argument to qemu. > > For detailed: > http://code.google.com/p/spice4xen/wiki/Using_Upstream_Qemu Cool! Does it mean that it works right now? > diff -r 3f00c5faa12a tools/libxl/libxl.idl > --- a/tools/libxl/libxl.idl Wed Apr 13 16:10:26 2011 +0100 > +++ b/tools/libxl/libxl.idl Mon Apr 18 10:52:09 2011 +0800 > @@ -153,6 +153,13 @@ libxl_device_model_info = Struct("device >  ("keymap", string, False, "set keyboard layout, > default is en-us keyboard"), >  ("sdl", bool, False, "sdl enabled or > disabled"), >  ("opengl", bool, False, "opengl enabled or > disabled (if enabled requires sdl enabled)"), > + ("spice", bool, False, "spice enabled or > disabled"), > + ("spiceport", integer, False, "the port that should be > listened on for the spice server"), > + ("spicetls_port", integer, False, "the tls port that should > be listened on for the spice server, at > least one of the port or tls port must be given"), > + ("spicehost", string, False, "the interface that > should be listened on if given otherwise any > interface"), > + ("spicedisable_ticketing", bool, False, "Enable client connection > with no password"), > + ("spicepasswd", string, False, "set ticket password, > witch must be used by a client for connection. > The passwords never expires"), > + ("spiceagent_mouset",bool, False, "Whether spice agent is > used for client mouse mode(default is on)"), >  ("nographic", bool, False, "no graphics, use serial > port"), >  ("gfx_passthru", bool, False, "graphics passthrough > enabled or disabled"), >  ("serial", string, False, "serial port re-direct to > pty deivce"), > diff -r 3f00c5faa12a tools/libxl/libxl_dm.c > --- a/tools/libxl/libxl_dm.c Wed Apr 13 16:10:26 2011 +0100 > +++ b/tools/libxl/libxl_dm.c Mon Apr 18 10:52:09 2011 +0800 > @@ -225,15 +225,44 @@ static char ** libxl__build_device_model >  >  if (strchr(listen, ':') != NULL) >  flexarray_append(dm_args, > - libxl__sprintf(gc, "%s%s", listen, > - info->vncunused ? ",to=99" : "")); > + libxl__sprintf(gc, "%s%s,%s", listen, > + info->vncunused ? ",to=99" : "", info->vncpasswd)); >  else >  flexarray_append(dm_args, > - libxl__sprintf(gc, "%s:%d%s", listen, display, > - info->vncunused ? ",to=99" : "")); > + libxl__sprintf(gc, "%s:%d%s,%s", listen, display, > + info->vncunused ? ",to=99" : "", info->vncpasswd)); This is not actually part of the spice support patch to libxl, is it? It looks like a generic bug fix to the vncpasswd handling. Could you please send it as a separate patch? >  } >  if (info->sdl) { >  flexarray_append(dm_args, "-sdl"); > + } > + if (info->spice) { > + char *spiceoptions = NULL; > + if (!info->spiceport && !info->spicetls_port) { > + assert(!"at least one of the spiceport or tls_port must be > provided"); > + } please return error here and let the caller handle the failure > + > + if (!info->spicedisable_ticketing) { > + if (!info->spicepasswd) > + assert(!"spice ticketing is enabled but missing password"); > + else if (!info->spicepasswd[0]) > + assert(!"missing code for supplying spice password"); > + } same here: replace the asserts with return errors > + spiceoptions = libxl__sprintf(gc, "port=%d,tls-port=%d", > + info->spiceport, info->spicetls_port); > + if (!info->spicehost) > + spiceoptions = libxl__sprintf(gc, > + "%s,host=%s", spiceoptions, info->spicehost); > + if (info->spicedisable_ticketing) > + spiceoptions = libxl__sprintf(gc, "%s,disable-ticketing", > spiceoptions); > + else > + spiceoptions = libxl__sprintf(gc, > + "%s,password=%s", spiceoptions, info->spicepasswd); > + spiceoptions = libxl__sprintf(gc, "%s,agent-mouse=%s", spiceoptions, > + info->spiceagent_mouset ? "on" : > "off"); > + > + flexarray_append(dm_args, "-spice"); > + flexarray_append(dm_args, spiceoptions); > + printf("SPICE Options:\n -spice %s\n", spiceoptions); >  } >  >  if (info->type == XENPV && !info->nographic) { > diff -r 3f00c5faa12a tools/libxl/xl_cmdimpl.c > --- a/tools/libxl/xl_cmdimpl.c Wed Apr 13 16:10:26 2011 +0100 > +++ b/tools/libxl/xl_cmdimpl.c Mon Apr 18 10:52:10 2011 +0800 > @@ -1089,6 +1089,20 @@ skip_vfb: >  dm_info->sdl = l; >  if (!xlu_cfg_get_long (config, "opengl", &l)) >  dm_info->opengl = l; > + if (!xlu_cfg_get_long (config, "spice", &l)) > + dm_info->spice = l; > + if (!xlu_cfg_get_long (config, "spiceport", &l)) > + dm_info->spiceport = l; > + if (!xlu_cfg_get_long (config, "spicetls_port", &l)) > + dm_info->spicetls_port = l; > + xlu_cfg_replace_string (config, "spicehost", &dm_info->spicehost); > + if (!xlu_cfg_get_long (config, "spicedisable_ticketing", &l)) > + dm_info->spicedisable_ticketing = l; > + xlu_cfg_replace_string (config, "spicepasswd", > &dm_info->spicepasswd); > + if (!xlu_cfg_get_long (config, "spiceagent_mouse", &l)) > + dm_info->spiceagent_mouset = l; > + else > + dm_info->spiceagent_mouset = 1; >  if (!xlu_cfg_get_long (config, "nographic", &l)) >  dm_info->nographic = l; >  if (!xlu_cfg_get_long (config, "gfx_passthru", &l)) > > > ==============================Appended patch====================== thanks for the patches, next time could you please send the patches inline as plain text, each patch as a separate email? See this document on how to send patches to the LKML as a reference: http://www.mjmwired.net/kernel/Documentation/email-clients.txt > Signed-off-by: Zhou Peng <zhoupeng@xxxxxxxxxxxxxxx> > > tool/libxl: mistake apic for acpi in libxl__build_device_model_args_old/new > It may be advisedly coded for some reason, then it can be a mistake of my > understanding. > Thanks for the patch, I found the first version that you sent and reply to it now. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |