From mboxrd@z Thu Jan 1 00:00:00 1970 From: ZhouPeng Subject: Re: [PATCH] Play with spice for xen-upstream-qemu on upstream Xen Date: Tue, 19 Apr 2011 09:31:42 +0800 Message-ID: References: <19884.26020.847575.426352@mariner.uk.xensource.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="===============0637960339==" Return-path: In-Reply-To: <19884.26020.847575.426352@mariner.uk.xensource.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Ian Jackson Cc: "Xen-Devel (E-mail)" , Stefano Stabellini List-Id: xen-devel@lists.xenproject.org --===============0637960339== Content-Type: multipart/alternative; boundary=bcaec539641c6bbbd304a13b784d --bcaec539641c6bbbd304a13b784d Content-Type: text/plain; charset=ISO-8859-1 2011/4/19 Ian Jackson > ZhouPeng writes ("[Xen-devel] [PATCH] Play with spice for xen-upstream-qemu > on upstream Xen"): > > Signed-off-by: Zhou Peng > > > > This patch allows you to play with spice for > > xen-upstream-qemu on upstream Xen or released Xen-4.1.0. > > Thanks. There seems to be some unrelated code in here. For example: > > > - libxl__sprintf(gc, "%s%s", listen, > > - info->vncunused ? ",to=99" : "")); > > + libxl__sprintf(gc, "%s%s,%s", listen, > > + info->vncunused ? ",to=99" : "", > info->vncpasswd)); > > and > > > - if (info->apic) { > > + if (info->acpi) { > yes, it's it's unrelated. Thanks, > Ian. > Signed-off-by: Zhou Peng 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. 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 16:12:16 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 16:12:16 2011 +0800 @@ -234,6 +234,35 @@ static char ** libxl__build_device_model } 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"); + } + + 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"); + } + 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 16:12:16 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============================================ Signed-off-by: Zhou Peng 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. diff -r 6871474a2a09 -r 01f8b29dda8e tools/libxl/libxl_dm.c --- a/tools/libxl/libxl_dm.c Fri Apr 15 10:06:59 2011 +0800 +++ b/tools/libxl/libxl_dm.c Fri Apr 15 15:17:42 2011 +0800 @@ -120,7 +120,7 @@ static char ** libxl__build_device_model if (info->soundhw) { flexarray_vappend(dm_args, "-soundhw", info->soundhw, NULL); } - if (info->apic) { + if (info->acpi) { flexarray_append(dm_args, "-acpi"); } if (info->vcpus > 1) { @@ -268,7 +268,7 @@ static char ** libxl__build_device_model if (info->soundhw) { flexarray_vappend(dm_args, "-soundhw", info->soundhw, NULL); } - if (!info->apic) { + if (!info->acpi) { flexarray_append(dm_args, "-no-acpi"); } if (info->vcpus > 1) { -- Zhou Peng Operating System Technology Group Institute of Software, the Chinese Academy of Sciences (ISCAS) --bcaec539641c6bbbd304a13b784d Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable

2011/4/19 Ian Jackson = <Ian.Jackson@eu.citrix.com<= /a>>
ZhouPeng writes ("[Xen-devel] [PATCH] Play with spice for xen-upstream= -qemu on upstream Xen"):
> Signed-off-by: Zhou Peng <zhoupeng@nfs.iscas.ac.cn>
>
> This patch allows you to play with spice for
> xen-upstream-qemu on upstream Xen or released Xen-4.1.0.

Thanks. =A0There seems to be some unrelated code in here. =A0For exam= ple:

> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0libxl__sprintf(gc, "%s%s= ", listen,
> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0inf= o->vncunused ? ",to=3D99" : ""));
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0libxl__sprintf(gc, "%s%s= ,%s", listen,
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0info->vncunused ? = ",to=3D99" : "", info->vncpasswd));

and

> - =A0 =A0 =A0 =A0if (info->apic) {
> + =A0 =A0 =A0 =A0if (info->acpi) {
=A0=A0=A0 y= es, it's it's unrelated.
=A0=A0=A0 Thanks,
Ian.

Signed-off-by: Zhou Peng <zhoupeng@nfs.iscas.ac.cn>

This pa= tch 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=3D1
spiceport=3D6000
spicehost=3D'192.168.1.187'
spicedisable_tic= keting =3D 0 # default is 0
spicepasswd =3D 'password'

ap= ic=3D0 # disable acpi, but if you used the appended patch, set acpi=3D0
=
You may need to disable acpi(I'm not sure),
but if you want to disable acpi, you may need to set
apic =3D 0, (Yes, I= t is apic not acpi, pls don't ask me why, because I am also confused wi= th it).
If you feel uncomfortable by setting apic =3D 0, you can try an = additional patch appended,
then you can use acpi=3D0 in vm cfg file to give "no-acpi" argume= nt to qemu.


diff -r 3f00c5faa12a tools/libxl/libxl.idl
--- a/= tools/libxl/libxl.idl=A0=A0=A0=A0 Wed Apr 13 16:10:26 2011 +0100
+++ b/t= ools/libxl/libxl.idl=A0=A0=A0=A0 Mon Apr 18 16:12:16 2011 +0800
@@ -153,6 +153,13 @@ libxl_device_model_info =3D Struct("device
=A0= =A0=A0=A0 ("keymap",=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 string,=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0 False, "set keyboard layout, default is en= -us keyboard"),
=A0=A0=A0=A0 ("sdl",=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0 bool,=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 False, &quo= t;sdl enabled or disabled"),
=A0=A0=A0=A0 ("opengl",=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 bool,=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 False, "opengl enabled or disabled (= if enabled requires sdl enabled)"),
+=A0=A0=A0 ("spice",= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 bool,=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0 False, "spice enabled or disabled"),
+=A0=A0=A0 ("spiceport",=A0=A0=A0=A0=A0=A0=A0 integer,=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0 False, "the port that should be listened on for = the spice server"),
+=A0=A0=A0 ("spicetls_port",=A0=A0=A0= integer,=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 False, "the tls port that shou= ld be listened on for the spice server, at least one of the port or tls por= t must be given"),
+=A0=A0=A0 ("spicehost",=A0=A0=A0=A0=A0=A0=A0 string,=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0 False, "the interface that should be listened on= if given otherwise any interface"),
+=A0=A0=A0 ("spicedisable= _ticketing", bool,=A0=A0=A0=A0=A0=A0=A0 False, "Enable client con= nection with no password"),
+=A0=A0=A0 ("spicepasswd",=A0=A0=A0=A0=A0 string,=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0 False, "set ticket password, witch must be used by = a client for connection. The passwords never expires"),
+=A0=A0=A0 = ("spiceagent_mouset",bool,=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= False, "Whether spice agent is used for client mouse mode(default is = on)"),
=A0=A0=A0=A0 ("nographic",=A0=A0=A0=A0=A0=A0=A0 bool,=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0 False, "no graphics, use serial port"= ),
=A0=A0=A0=A0 ("gfx_passthru",=A0=A0=A0=A0 bool,=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0 False, "graphics passthrough enabled or di= sabled"),
=A0=A0=A0=A0 ("serial",=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 string,=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 False, "serial port re-direct to pty de= ivce"),
diff -r 3f00c5faa12a tools/libxl/libxl_dm.c
--- a/tools/= libxl/libxl_dm.c=A0=A0=A0 Wed Apr 13 16:10:26 2011 +0100
+++ b/tools/libxl/libxl_dm.c=A0=A0=A0 Mon Apr 18 16:12:16 2011 +0800
@@ = -234,6 +234,35 @@ static char ** libxl__build_device_model
=A0=A0=A0=A0 = }
=A0=A0=A0=A0 if (info->sdl) {
=A0=A0=A0=A0=A0=A0=A0=A0 flexarray= _append(dm_args, "-sdl");
+=A0=A0=A0 }
+=A0=A0=A0 if (info->spice) {
+=A0=A0=A0=A0=A0=A0=A0 = char *spiceoptions =3D NULL;
+=A0=A0=A0=A0=A0=A0=A0 if (!info->spicep= ort && !info->spicetls_port) {
+=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0 assert(!"at least one of the spiceport or tls_port must be prov= ided");
+=A0=A0=A0=A0=A0=A0=A0 }
+
+=A0=A0=A0=A0=A0=A0=A0 if (!info->spice= disable_ticketing) {
+=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 if (!info->sp= icepasswd)
+=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 assert(!"= spice ticketing is enabled but missing password");
+=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0 else if (!info->spicepasswd[0])
+=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 assert(!"missing code f= or supplying spice password");
+=A0=A0=A0=A0=A0=A0=A0 }
+=A0=A0= =A0=A0=A0=A0=A0 spiceoptions =3D libxl__sprintf(gc, "port=3D%d,tls-por= t=3D%d",
+=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0 info->spiceport, info->spicetls_port);
+=A0=A0=A0=A0=A0=A0=A0 if (!info->spicehost)
+=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0 spiceoptions =3D libxl__sprintf(gc,
+=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 "%s,host=3D%s", spiceoptions= , info->spicehost);
+=A0=A0=A0=A0=A0=A0=A0 if (info->spicedisable_= ticketing)
+=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 spiceoptions =3D libxl__sp= rintf(gc, "%s,disable-ticketing", spiceoptions);
+=A0=A0=A0=A0=A0=A0=A0 else
+=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 spiceopti= ons =3D libxl__sprintf(gc,
+=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0 "%s,password=3D%s", spiceoptions, info->spicep= asswd);
+=A0=A0=A0=A0=A0=A0=A0 spiceoptions =3D libxl__sprintf(gc, "= ;%s,agent-mouse=3D%s", spiceoptions,
+=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 info->spiceagent_mouset ? "= on" : "off");
+
+=A0=A0=A0=A0=A0=A0=A0 flexarray_appen= d(dm_args, "-spice");
+=A0=A0=A0=A0=A0=A0=A0 flexarray_append(= dm_args, spiceoptions);
+=A0=A0=A0=A0=A0=A0=A0 printf("SPICE Options:\n=A0 -spice %s\n", = spiceoptions);
=A0=A0=A0=A0 }
=A0
=A0=A0=A0=A0 if (info->type = =3D=3D XENPV && !info->nographic) {
diff -r 3f00c5faa12a tool= s/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c=A0 Wed Apr 13 16:10:= 26 2011 +0100
+++ b/tools/libxl/xl_cmdimpl.c=A0 Mon Apr 18 16:12:16 2011 +0800
@@ -108= 9,6 +1089,20 @@ skip_vfb:
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 dm_info-&= gt;sdl =3D l;
=A0=A0=A0=A0=A0=A0=A0=A0 if (!xlu_cfg_get_long (config, &q= uot;opengl", &l))
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 dm_info-= >opengl =3D l;
+=A0=A0=A0=A0=A0=A0=A0 if (!xlu_cfg_get_long (config, "spice", &a= mp;l))
+=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 dm_info->spice =3D l;
+= =A0=A0=A0=A0=A0=A0=A0 if (!xlu_cfg_get_long (config, "spiceport",= &l))
+=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 dm_info->spiceport =3D l= ;
+=A0=A0=A0=A0=A0=A0=A0 if (!xlu_cfg_get_long (config, "spicetls_port&q= uot;, &l))
+=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 dm_info->spicetls_p= ort =3D l;
+=A0=A0=A0=A0=A0=A0=A0 xlu_cfg_replace_string (config, "= spicehost", &dm_info->spicehost);
+=A0=A0=A0=A0=A0=A0=A0 if (!xlu_cfg_get_long (config, "spicedisable_ti= cketing", &l))
+=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 dm_info->s= picedisable_ticketing =3D l;
+=A0=A0=A0=A0=A0=A0=A0 xlu_cfg_replace_stri= ng (config, "spicepasswd", &dm_info->spicepasswd);
+=A0=A0=A0=A0=A0=A0=A0 if (!xlu_cfg_get_long (config, "spiceagent_mous= e", &l))
+=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 dm_info->spiceag= ent_mouset =3D l;
+=A0=A0=A0=A0=A0=A0=A0 else
+=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0 dm_info->spiceagent_mouset =3D 1;
=A0=A0=A0=A0=A0=A0=A0= =A0 if (!xlu_cfg_get_long (config, "nographic", &l))
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 dm_info->nographic =3D l;
=A0=A0= =A0=A0=A0=A0=A0=A0 if (!xlu_cfg_get_long (config, "gfx_passthru",= &l))


=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3DAppended patch=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
Signed-off-by: Zhou Peng <zh= oupeng@nfs.iscas.ac.cn>

tool/libxl: mistake apic for acpi in = libxl__build_device_model_args_old/new
It may be advisedly coded for som= e reason, then it can be a mistake of my understanding.

diff -r 6871474a2a09 -r 01f8b29dda8e tools/libxl/libxl_dm.c
--- a/to= ols/libxl/libxl_dm.c=A0=A0=A0 Fri Apr 15 10:06:59 2011 +0800
+++ b/tools= /libxl/libxl_dm.c=A0=A0=A0 Fri Apr 15 15:17:42 2011 +0800
@@ -120,7 +120= ,7 @@ static char ** libxl__build_device_model
=A0=A0=A0=A0=A0=A0=A0=A0 if (info->soundhw) {
=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0 flexarray_vappend(dm_args, "-soundhw", info->s= oundhw, NULL);
=A0=A0=A0=A0=A0=A0=A0=A0 }
-=A0=A0=A0=A0=A0=A0=A0 if (= info->apic) {
+=A0=A0=A0=A0=A0=A0=A0 if (info->acpi) {
=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 flexarray_append(dm_args, "-acpi")= ;
=A0=A0=A0=A0=A0=A0=A0=A0 }
=A0=A0=A0=A0=A0=A0=A0=A0 if (info->vcpus &= gt; 1) {
@@ -268,7 +268,7 @@ static char ** libxl__build_device_model=A0=A0=A0=A0=A0=A0=A0=A0 if (info->soundhw) {
=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0 flexarray_vappend(dm_args, "-soundhw", info->s= oundhw, NULL);
=A0=A0=A0=A0=A0=A0=A0=A0 }
-=A0=A0=A0=A0=A0=A0=A0 if (!info->apic) {<= br>+=A0=A0=A0=A0=A0=A0=A0 if (!info->acpi) {
=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0 flexarray_append(dm_args, "-no-acpi");
=A0=A0=A0= =A0=A0=A0=A0=A0 }
=A0=A0=A0=A0=A0=A0=A0=A0 if (info->vcpus > 1) {<= br>

--
Zhou Peng
Operating System Technology Group
Institute of Softw= are, the Chinese Academy of Sciences (ISCAS)

--bcaec539641c6bbbd304a13b784d-- --===============0637960339== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel --===============0637960339==--