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: Wed, 25 May 2011 22:12:26 +0800 Message-ID: References: <19884.26020.847575.426352@mariner.uk.xensource.com> <19926.34224.455450.51781@mariner.uk.xensource.com> <19931.54520.528337.70653@mariner.uk.xensource.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=bcaec5215bcd4d01bf04a41a4b22 Return-path: In-Reply-To: <19931.54520.528337.70653@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 --bcaec5215bcd4d01bf04a41a4b22 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable > I was just about to apply this when I noticed a couple of > oddities: Fixed in this patch. >> + =A0 =A0 =A0 =A0 =A0 =A0LIBXL__LOG(ctx, LIBXL__LOG_ERROR, >> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 ": at least one of the spi= ceport or tls_port must be provided"); > > punctuation and I think if you run this it will produce output like: > =A0libxl: something: : at least one of the spiceport .... > > Did you add the ": " after testing ? =A0If so then perhaps the existing > logging functions are wrong. The output is like this, libxl: something : at least one of the spiceport .... It is void libxl__logv(...) libxl__logv xtl_log(ctx->lg, msglevel, errnoval, "libxl", "%s%s%s%s" "%s", fileline, func&&file?":":"", func?func:"", func||file?" ":"", // here output the msg. It use a space not ': ' between func name and log msg. So no bug But I feel the format like below is more clear void libxl__logv(...) libxl__logv xtl_log(ctx->lg, msglevel, errnoval, "libxl", "%s%s%s%s" "%s", fileline, func&&file?":":"", func?func:"", func||file?": ":"", // here If you reply to agree to use ': ' instead of ' ', I will send a little patch for this. Any way, I agree with you to trim the header ':' like below ": at least one of the spiceport or tls_port must be provided" to "at least one of the spiceport or tls_port must be provided" > Secondly, your patch has a lot of rather long lines in new code. =A0Can > you please try to keep your lines down to 75 characters (or 80 if you > absolutely must) ? Fixed in this patch. There are many lines up to 80 characters in libxl.idl and even in libxl_dm.c, that's why I turn a blind eye to libxl.idl in my last patch. I think I will send a patch for libxl.idl to cut down lines to 80, after this patch applied. Thanks. ----- Signed-off-by: Zhou Peng Acked-by: Stefano Stabellini Acked-by: Ian Jackson This patch allows you to use 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. =3D Usage =3D Add spice fields in VM cfg file. e.g. spice=3D1 spiceport=3D6000 spicehost=3D'192.168.1.187' spicedisable_ticketing =3D 0 # default is 0 spicepasswd =3D 'password' spiceagent_mouse =3D 1 # default is 1 ---------------------------------------------------------------------------= --- diff -r fb517cc27ade -r a19b590873e6 tools/libxl/libxl.idl --- a/tools/libxl/libxl.idl Fri May 20 18:20:09 2011 +0100 +++ b/tools/libxl/libxl.idl Wed May 25 21:21:55 2011 +0800 @@ -210,6 +210,22 @@ libxl_device_model_info =3D Struct("device ("keymap", string, False, "set keyboard layout, default is en-us keyboard"), ("sdl", bool, False, "sdl enabled or disable= d"), ("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 password never expires"""), + ("spiceagent_mouse", 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 fb517cc27ade -r a19b590873e6 tools/libxl/libxl_dm.c --- a/tools/libxl/libxl_dm.c Fri May 20 18:20:09 2011 +0100 +++ b/tools/libxl/libxl_dm.c Wed May 25 21:21:55 2011 +0800 @@ -281,6 +281,43 @@ static char ** libxl__build_device_model } if (info->sdl) { flexarray_append(dm_args, "-sdl"); + } + if (info->spice) { + char *spiceoptions =3D NULL; + if (!info->spiceport && !info->spicetls_port) { + LIBXL__LOG(ctx, LIBXL__LOG_ERROR, + "at least one of the spiceport or tls_port must be provide= d"); + return NULL; + } + + if (!info->spicedisable_ticketing) { + if (!info->spicepasswd) { + LIBXL__LOG(ctx, LIBXL__LOG_ERROR, + "spice ticketing is enabled but missing password"); + return NULL; + } + else if (!info->spicepasswd[0]) { + LIBXL__LOG(ctx, LIBXL__LOG_ERROR, + "spice password can't be empty"); + return NULL; + } + } + spiceoptions =3D libxl__sprintf(gc, "port=3D%d,tls-port=3D%d", + info->spiceport, info->spicetls_port); + if (info->spicehost) + spiceoptions =3D libxl__sprintf(gc, + "%s,addr=3D%s", spiceoptions, info->spicehost); + if (info->spicedisable_ticketing) + spiceoptions =3D libxl__sprintf(gc, "%s,disable-ticketing", + spiceoptions); + else + spiceoptions =3D libxl__sprintf(gc, + "%s,password=3D%s", spiceoptions, info->spicepasswd); + spiceoptions =3D libxl__sprintf(gc, "%s,agent-mouse=3D%s", spiceop= tions, + info->spiceagent_mouse ? "on" : "off= "); + + flexarray_append(dm_args, "-spice"); + flexarray_append(dm_args, spiceoptions); } if (info->type =3D=3D LIBXL_DOMAIN_TYPE_PV && !info->nographic) { diff -r fb517cc27ade -r a19b590873e6 tools/libxl/xl_cmdimpl.c --- a/tools/libxl/xl_cmdimpl.c Fri May 20 18:20:09 2011 +0100 +++ b/tools/libxl/xl_cmdimpl.c Wed May 25 21:21:55 2011 +0800 @@ -367,6 +367,13 @@ static void printf_info(int domid, printf("\t\t\t(usb %d)\n", dm_info->usb); printf("\t\t\t(usbdevice %s)\n", dm_info->usbdevice); printf("\t\t\t(acpi %d)\n", dm_info->acpi); + printf("\t\t\t(spice %d)\n", dm_info->spice); + printf("\t\t\t(spiceport %d)\n", dm_info->spiceport); + printf("\t\t\t(spicetls_port %d)\n", dm_info->spicetls_port); + printf("\t\t\t(spicehost %s)\n", dm_info->spicehost); + printf("\t\t\t(spicedisable_ticketing %d)\n", + dm_info->spicedisable_ticketing); + printf("\t\t\t(spiceagent_mouse %d)\n", dm_info->spiceagent_mouse)= ; printf("\t\t)\n"); } else { printf("\t\t(linux %d)\n", b_info->hvm); @@ -1124,6 +1131,20 @@ skip_vfb: dm_info->sdl =3D l; if (!xlu_cfg_get_long (config, "opengl", &l)) dm_info->opengl =3D l; + if (!xlu_cfg_get_long (config, "spice", &l)) + dm_info->spice =3D l; + if (!xlu_cfg_get_long (config, "spiceport", &l)) + dm_info->spiceport =3D l; + if (!xlu_cfg_get_long (config, "spicetls_port", &l)) + dm_info->spicetls_port =3D l; + xlu_cfg_replace_string (config, "spicehost", &dm_info->spicehost); + if (!xlu_cfg_get_long (config, "spicedisable_ticketing", &l)) + dm_info->spicedisable_ticketing =3D l; + xlu_cfg_replace_string (config, "spicepasswd", &dm_info->spicepass= wd); + if (!xlu_cfg_get_long (config, "spiceagent_mouse", &l)) + dm_info->spiceagent_mouse =3D l; + else + dm_info->spiceagent_mouse =3D 1; if (!xlu_cfg_get_long (config, "nographic", &l)) dm_info->nographic =3D l; if (!xlu_cfg_get_long (config, "gfx_passthru", &l)) --=20 Zhou Peng Operating System Technology Group Institute of Software, the Chinese Academy of Sciences (ISCAS) --bcaec5215bcd4d01bf04a41a4b22 Content-Type: text/x-patch; charset=US-ASCII; name="spice-upstreamXen-upstreamQemu.diff" Content-Disposition: attachment; filename="spice-upstreamXen-upstreamQemu.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_go4b7xb40 U2lnbmVkLW9mZi1ieTogWmhvdSBQZW5nIDx6aG91cGVuZ0BuZnMuaXNjYXMuYWMuY24+CkFja2Vk LWJ5OiBTdGVmYW5vIFN0YWJlbGxpbmkgPHN0ZWZhbm8uc3RhYmVsbGluaUBldS5jaXRyaXguY29t PgpBY2tlZC1ieTogSWFuIEphY2tzb24gPGlhbi5qYWNrc29uQGV1LmNpdHJpeC5jb20+CgpUaGlz IHBhdGNoIGFsbG93cyB5b3UgdG8gdXNlIHNwaWNlIGZvcgp4ZW4tdXBzdHJlYW0tcWVtdSBvbiB1 cHN0cmVhbSBYZW4gb3IgcmVsZWFzZWQgWGVuLTQuMS4wLgoKTm90aGluZyBuZWVkIHRvIGJlIG1v ZGlmaWVkIGluIHhlbi11cHN0cmVhbS1xZW11LCAKYmVjYXVzZSBxZW11IGhhcyBpbmNsdWRlIHNw aWNlJ3MgY29kZSBhcyBhIG5ldyBmZWF0dXJlIHNpbmNlIHFlbXUtMC4xNC4KCj0gVXNhZ2UgPQoK QWRkIHNwaWNlIGZpZWxkcyBpbiBWTSBjZmcgZmlsZS4KCmUuZy4KCnNwaWNlPTEKc3BpY2Vwb3J0 PTYwMDAKc3BpY2Vob3N0PScxOTIuMTY4LjEuMTg3JwpzcGljZWRpc2FibGVfdGlja2V0aW5nID0g MCAjIGRlZmF1bHQgaXMgMApzcGljZXBhc3N3ZCA9ICdwYXNzd29yZCcKc3BpY2VhZ2VudF9tb3Vz ZSA9IDEgIyBkZWZhdWx0IGlzIDEKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpkaWZmIC1yIGZiNTE3 Y2MyN2FkZSAtciBhMTliNTkwODczZTYgdG9vbHMvbGlieGwvbGlieGwuaWRsCi0tLSBhL3Rvb2xz L2xpYnhsL2xpYnhsLmlkbAlGcmkgTWF5IDIwIDE4OjIwOjA5IDIwMTEgKzAxMDAKKysrIGIvdG9v bHMvbGlieGwvbGlieGwuaWRsCVdlZCBNYXkgMjUgMjE6MjE6NTUgMjAxMSArMDgwMApAQCAtMjEw LDYgKzIxMCwyMiBAQCBsaWJ4bF9kZXZpY2VfbW9kZWxfaW5mbyA9IFN0cnVjdCgiZGV2aWNlCiAg ICAgKCJrZXltYXAiLCAgICAgICAgICAgc3RyaW5nLCAgICAgICAgICAgIEZhbHNlLCAic2V0IGtl eWJvYXJkIGxheW91dCwgZGVmYXVsdCBpcyBlbi11cyBrZXlib2FyZCIpLAogICAgICgic2RsIiwg ICAgICAgICAgICAgIGJvb2wsICAgICAgICAgICAgICBGYWxzZSwgInNkbCBlbmFibGVkIG9yIGRp c2FibGVkIiksCiAgICAgKCJvcGVuZ2wiLCAgICAgICAgICAgYm9vbCwgICAgICAgICAgICAgIEZh bHNlLCAib3BlbmdsIGVuYWJsZWQgb3IgZGlzYWJsZWQgKGlmIGVuYWJsZWQgcmVxdWlyZXMgc2Rs IGVuYWJsZWQpIiksCisgICAgKCJzcGljZSIsICAgICAgICAgICAgYm9vbCwgICAgICAgICAgICAg IEZhbHNlLAorICAgICJzcGljZSBlbmFibGVkIG9yIGRpc2FibGVkIiksCisgICAgKCJzcGljZXBv cnQiLCAgICAgICAgaW50ZWdlciwgICAgICAgICAgIEZhbHNlLCAKKyAgICAidGhlIHBvcnQgdGhh dCBzaG91bGQgYmUgbGlzdGVuZWQgb24gZm9yIHRoZSBzcGljZSBzZXJ2ZXIiKSwKKyAgICAoInNw aWNldGxzX3BvcnQiLCAgICBpbnRlZ2VyLCAgICAgICAgICAgRmFsc2UsICIiInRoZSB0bHMgcG9y dAordGhhdCBzaG91bGQgYmUgbGlzdGVuZWQgb24gZm9yIHRoZSBzcGljZSBzZXJ2ZXIsIAorYXQg bGVhc3Qgb25lIG9mIHRoZSBwb3J0IG9yIHRscyBwb3J0IG11c3QgYmUgZ2l2ZW4iIiIpLAorICAg ICgic3BpY2Vob3N0IiwgICAgICAgIHN0cmluZywgICAgICAgICAgICBGYWxzZSwgIiIidGhlIGlu dGVyZmFjZQordGhhdCBzaG91bGQgYmUgbGlzdGVuZWQgb24gaWYgZ2l2ZW4gb3RoZXJ3aXNlIGFu eSBpbnRlcmZhY2UiIiIpLAorICAgICgic3BpY2VkaXNhYmxlX3RpY2tldGluZyIsIGJvb2wsICAg ICAgICBGYWxzZSwgCisgICAgImVuYWJsZSBjbGllbnQgY29ubmVjdGlvbiB3aXRoIG5vIHBhc3N3 b3JkIiksCisgICAgKCJzcGljZXBhc3N3ZCIsICAgICAgc3RyaW5nLCAgICAgICAgICAgIEZhbHNl LCAiIiJzZXQgdGlja2V0IHBhc3N3b3JkCit3aXRjaCBtdXN0IGJlIHVzZWQgYnkgYSBjbGllbnQg Zm9yIGNvbm5lY3Rpb24uCitUaGUgcGFzc3dvcmQgbmV2ZXIgZXhwaXJlcyIiIiksCisgICAgKCJz cGljZWFnZW50X21vdXNlIiwgYm9vbCwgICAgICAgICAgICAgIEZhbHNlLCAKKyAgICAiV2hldGhl ciBzcGljZSBhZ2VudCBpcyB1c2VkIGZvciBjbGllbnQgbW91c2UgbW9kZShkZWZhdWx0IGlzIG9u KSIpLAogICAgICgibm9ncmFwaGljIiwgICAgICAgIGJvb2wsICAgICAgICAgICAgICBGYWxzZSwg Im5vIGdyYXBoaWNzLCB1c2Ugc2VyaWFsIHBvcnQiKSwKICAgICAoImdmeF9wYXNzdGhydSIsICAg ICBib29sLCAgICAgICAgICAgICAgRmFsc2UsICJncmFwaGljcyBwYXNzdGhyb3VnaCBlbmFibGVk IG9yIGRpc2FibGVkIiksCiAgICAgKCJzZXJpYWwiLCAgICAgICAgICAgc3RyaW5nLCAgICAgICAg ICAgIEZhbHNlLCAic2VyaWFsIHBvcnQgcmUtZGlyZWN0IHRvIHB0eSBkZWl2Y2UiKSwKZGlmZiAt ciBmYjUxN2NjMjdhZGUgLXIgYTE5YjU5MDg3M2U2IHRvb2xzL2xpYnhsL2xpYnhsX2RtLmMKLS0t IGEvdG9vbHMvbGlieGwvbGlieGxfZG0uYwlGcmkgTWF5IDIwIDE4OjIwOjA5IDIwMTEgKzAxMDAK KysrIGIvdG9vbHMvbGlieGwvbGlieGxfZG0uYwlXZWQgTWF5IDI1IDIxOjIxOjU1IDIwMTEgKzA4 MDAKQEAgLTI4MSw2ICsyODEsNDMgQEAgc3RhdGljIGNoYXIgKiogbGlieGxfX2J1aWxkX2Rldmlj ZV9tb2RlbAogICAgIH0KICAgICBpZiAoaW5mby0+c2RsKSB7CiAgICAgICAgIGZsZXhhcnJheV9h cHBlbmQoZG1fYXJncywgIi1zZGwiKTsKKyAgICB9CisgICAgaWYgKGluZm8tPnNwaWNlKSB7Cisg ICAgICAgIGNoYXIgKnNwaWNlb3B0aW9ucyA9IE5VTEw7CisgICAgICAgIGlmICghaW5mby0+c3Bp Y2Vwb3J0ICYmICFpbmZvLT5zcGljZXRsc19wb3J0KSB7CisgICAgICAgICAgICBMSUJYTF9fTE9H KGN0eCwgTElCWExfX0xPR19FUlJPUiwKKyAgICAgICAgICAgICAgICAiYXQgbGVhc3Qgb25lIG9m IHRoZSBzcGljZXBvcnQgb3IgdGxzX3BvcnQgbXVzdCBiZSBwcm92aWRlZCIpOworICAgICAgICAg ICAgcmV0dXJuIE5VTEw7CisgICAgICAgIH0KKworICAgICAgICBpZiAoIWluZm8tPnNwaWNlZGlz YWJsZV90aWNrZXRpbmcpIHsKKyAgICAgICAgICAgIGlmICghaW5mby0+c3BpY2VwYXNzd2QpIHsK KyAgICAgICAgICAgICAgICBMSUJYTF9fTE9HKGN0eCwgTElCWExfX0xPR19FUlJPUiwKKyAgICAg ICAgICAgICAgICAgICAgInNwaWNlIHRpY2tldGluZyBpcyBlbmFibGVkIGJ1dCBtaXNzaW5nIHBh c3N3b3JkIik7CisgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgICAgICB9Cisg ICAgICAgICAgICBlbHNlIGlmICghaW5mby0+c3BpY2VwYXNzd2RbMF0pIHsKKyAgICAgICAgICAg ICAgICBMSUJYTF9fTE9HKGN0eCwgTElCWExfX0xPR19FUlJPUiwKKyAgICAgICAgICAgICAgICAg ICAgInNwaWNlIHBhc3N3b3JkIGNhbid0IGJlIGVtcHR5Iik7CisgICAgICAgICAgICAgICAgcmV0 dXJuIE5VTEw7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgc3BpY2VvcHRpb25z ID0gbGlieGxfX3NwcmludGYoZ2MsICJwb3J0PSVkLHRscy1wb3J0PSVkIiwKKyAgICAgICAgICAg ICAgICAgICAgICAgaW5mby0+c3BpY2Vwb3J0LCBpbmZvLT5zcGljZXRsc19wb3J0KTsKKyAgICAg ICAgaWYgKGluZm8tPnNwaWNlaG9zdCkKKyAgICAgICAgICAgIHNwaWNlb3B0aW9ucyA9IGxpYnhs X19zcHJpbnRmKGdjLAorICAgICAgICAgICAgICAgICAgICAiJXMsYWRkcj0lcyIsIHNwaWNlb3B0 aW9ucywgaW5mby0+c3BpY2Vob3N0KTsKKyAgICAgICAgaWYgKGluZm8tPnNwaWNlZGlzYWJsZV90 aWNrZXRpbmcpCisgICAgICAgICAgICBzcGljZW9wdGlvbnMgPSBsaWJ4bF9fc3ByaW50ZihnYywg IiVzLGRpc2FibGUtdGlja2V0aW5nIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgc3BpY2VvcHRpb25zKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAg c3BpY2VvcHRpb25zID0gbGlieGxfX3NwcmludGYoZ2MsCisgICAgICAgICAgICAgICAgICAgICIl cyxwYXNzd29yZD0lcyIsIHNwaWNlb3B0aW9ucywgaW5mby0+c3BpY2VwYXNzd2QpOworICAgICAg ICBzcGljZW9wdGlvbnMgPSBsaWJ4bF9fc3ByaW50ZihnYywgIiVzLGFnZW50LW1vdXNlPSVzIiwg c3BpY2VvcHRpb25zLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmZv LT5zcGljZWFnZW50X21vdXNlID8gIm9uIiA6ICJvZmYiKTsKKworICAgICAgICBmbGV4YXJyYXlf YXBwZW5kKGRtX2FyZ3MsICItc3BpY2UiKTsKKyAgICAgICAgZmxleGFycmF5X2FwcGVuZChkbV9h cmdzLCBzcGljZW9wdGlvbnMpOwogICAgIH0KIAogICAgIGlmIChpbmZvLT50eXBlID09IExJQlhM X0RPTUFJTl9UWVBFX1BWICYmICFpbmZvLT5ub2dyYXBoaWMpIHsKZGlmZiAtciBmYjUxN2NjMjdh ZGUgLXIgYTE5YjU5MDg3M2U2IHRvb2xzL2xpYnhsL3hsX2NtZGltcGwuYwotLS0gYS90b29scy9s aWJ4bC94bF9jbWRpbXBsLmMJRnJpIE1heSAyMCAxODoyMDowOSAyMDExICswMTAwCisrKyBiL3Rv b2xzL2xpYnhsL3hsX2NtZGltcGwuYwlXZWQgTWF5IDI1IDIxOjIxOjU1IDIwMTEgKzA4MDAKQEAg LTM2Nyw2ICszNjcsMTMgQEAgc3RhdGljIHZvaWQgcHJpbnRmX2luZm8oaW50IGRvbWlkLAogICAg ICAgICBwcmludGYoIlx0XHRcdCh1c2IgJWQpXG4iLCBkbV9pbmZvLT51c2IpOwogICAgICAgICBw cmludGYoIlx0XHRcdCh1c2JkZXZpY2UgJXMpXG4iLCBkbV9pbmZvLT51c2JkZXZpY2UpOwogICAg ICAgICBwcmludGYoIlx0XHRcdChhY3BpICVkKVxuIiwgZG1faW5mby0+YWNwaSk7CisgICAgICAg IHByaW50ZigiXHRcdFx0KHNwaWNlICVkKVxuIiwgZG1faW5mby0+c3BpY2UpOworICAgICAgICBw cmludGYoIlx0XHRcdChzcGljZXBvcnQgJWQpXG4iLCBkbV9pbmZvLT5zcGljZXBvcnQpOworICAg ICAgICBwcmludGYoIlx0XHRcdChzcGljZXRsc19wb3J0ICVkKVxuIiwgZG1faW5mby0+c3BpY2V0 bHNfcG9ydCk7CisgICAgICAgIHByaW50ZigiXHRcdFx0KHNwaWNlaG9zdCAlcylcbiIsIGRtX2lu Zm8tPnNwaWNlaG9zdCk7CisgICAgICAgIHByaW50ZigiXHRcdFx0KHNwaWNlZGlzYWJsZV90aWNr ZXRpbmcgJWQpXG4iLAorICAgICAgICAgICAgICAgICAgICBkbV9pbmZvLT5zcGljZWRpc2FibGVf dGlja2V0aW5nKTsKKyAgICAgICAgcHJpbnRmKCJcdFx0XHQoc3BpY2VhZ2VudF9tb3VzZSAlZClc biIsIGRtX2luZm8tPnNwaWNlYWdlbnRfbW91c2UpOwogICAgICAgICBwcmludGYoIlx0XHQpXG4i KTsKICAgICB9IGVsc2UgewogICAgICAgICBwcmludGYoIlx0XHQobGludXggJWQpXG4iLCBiX2lu Zm8tPmh2bSk7CkBAIC0xMTI0LDYgKzExMzEsMjAgQEAgc2tpcF92ZmI6CiAgICAgICAgICAgICBk bV9pbmZvLT5zZGwgPSBsOwogICAgICAgICBpZiAoIXhsdV9jZmdfZ2V0X2xvbmcgKGNvbmZpZywg Im9wZW5nbCIsICZsKSkKICAgICAgICAgICAgIGRtX2luZm8tPm9wZW5nbCA9IGw7CisgICAgICAg IGlmICgheGx1X2NmZ19nZXRfbG9uZyAoY29uZmlnLCAic3BpY2UiLCAmbCkpCisgICAgICAgICAg ICBkbV9pbmZvLT5zcGljZSA9IGw7CisgICAgICAgIGlmICgheGx1X2NmZ19nZXRfbG9uZyAoY29u ZmlnLCAic3BpY2Vwb3J0IiwgJmwpKQorICAgICAgICAgICAgZG1faW5mby0+c3BpY2Vwb3J0ID0g bDsKKyAgICAgICAgaWYgKCF4bHVfY2ZnX2dldF9sb25nIChjb25maWcsICJzcGljZXRsc19wb3J0 IiwgJmwpKQorICAgICAgICAgICAgZG1faW5mby0+c3BpY2V0bHNfcG9ydCA9IGw7CisgICAgICAg IHhsdV9jZmdfcmVwbGFjZV9zdHJpbmcgKGNvbmZpZywgInNwaWNlaG9zdCIsICZkbV9pbmZvLT5z cGljZWhvc3QpOworICAgICAgICBpZiAoIXhsdV9jZmdfZ2V0X2xvbmcgKGNvbmZpZywgInNwaWNl ZGlzYWJsZV90aWNrZXRpbmciLCAmbCkpCisgICAgICAgICAgICBkbV9pbmZvLT5zcGljZWRpc2Fi bGVfdGlja2V0aW5nID0gbDsKKyAgICAgICAgeGx1X2NmZ19yZXBsYWNlX3N0cmluZyAoY29uZmln LCAic3BpY2VwYXNzd2QiLCAmZG1faW5mby0+c3BpY2VwYXNzd2QpOworICAgICAgICBpZiAoIXhs dV9jZmdfZ2V0X2xvbmcgKGNvbmZpZywgInNwaWNlYWdlbnRfbW91c2UiLCAmbCkpCisgICAgICAg ICAgICBkbV9pbmZvLT5zcGljZWFnZW50X21vdXNlID0gbDsKKyAgICAgICAgZWxzZQorICAgICAg ICAgICAgZG1faW5mby0+c3BpY2VhZ2VudF9tb3VzZSA9IDE7CiAgICAgICAgIGlmICgheGx1X2Nm Z19nZXRfbG9uZyAoY29uZmlnLCAibm9ncmFwaGljIiwgJmwpKQogICAgICAgICAgICAgZG1faW5m by0+bm9ncmFwaGljID0gbDsKICAgICAgICAgaWYgKCF4bHVfY2ZnX2dldF9sb25nIChjb25maWcs ICJnZnhfcGFzc3RocnUiLCAmbCkpCg== --bcaec5215bcd4d01bf04a41a4b22 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 --bcaec5215bcd4d01bf04a41a4b22--