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, 24 May 2011 11:29:11 +0800 Message-ID: References: <19884.26020.847575.426352@mariner.uk.xensource.com> <19926.34224.455450.51781@mariner.uk.xensource.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=bcaec51f933b033b6a04a3fd31e4 Return-path: In-Reply-To: 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 --bcaec51f933b033b6a04a3fd31e4 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable 2011/5/23 ZhouPeng : >> Can you please not put unrelated changes in patches ? =A0If you resend >> it with only the spice parts (that Stefano has acked) I will apply it. > Resend the patch again with 3 fixes: 1) Change 'if (!info->spicehost)' to 'if (info->spicehost)' , sorry for my carelessness 2) In the new spice, the spice option of spiced qemu is "addr=3D hostaddr " not "host=3Dhostaddr", according to the new qemu's file qemu-options.hx 3) Delete 'printf("SPICE Options:\n -spice %s\n", spiceoptions);' , which is not necessary. Testing this patch on xen-unstable, I think there is no problem now. 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 0e67672ea59e tools/libxl/libxl.idl --- a/tools/libxl/libxl.idl Fri May 20 18:20:09 2011 +0100 +++ b/tools/libxl/libxl.idl Tue May 24 10:45:17 2011 +0800 @@ -210,6 +210,13 @@ 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 passwords 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 0e67672ea59e 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 Tue May 24 10:45:17 2011 +0800 @@ -281,6 +281,41 @@ 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 provided"); + 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 0e67672ea59e 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 Tue May 24 10:45:17 2011 +0800 @@ -367,6 +367,12 @@ 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 +1130,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) --bcaec51f933b033b6a04a3fd31e4 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_go2a7ig41 U2lnbmVkLW9mZi1ieTogWmhvdSBQZW5nIDx6aG91cGVuZ0BuZnMuaXNjYXMuYWMuY24+CkFja2Vk LWJ5OiBTdGVmYW5vIFN0YWJlbGxpbmkgPHN0ZWZhbm8uc3RhYmVsbGluaUBldS5jaXRyaXguY29t PgpBY2tlZC1ieTogSWFuIEphY2tzb24gPGlhbi5qYWNrc29uQGV1LmNpdHJpeC5jb20+CgpUaGlz IHBhdGNoIGFsbG93cyB5b3UgdG8gdXNlIHNwaWNlIGZvcgp4ZW4tdXBzdHJlYW0tcWVtdSBvbiB1 cHN0cmVhbSBYZW4gb3IgcmVsZWFzZWQgWGVuLTQuMS4wLgoKTm90aGluZyBuZWVkIHRvIGJlIG1v ZGlmaWVkIGluIHhlbi11cHN0cmVhbS1xZW11LCAKYmVjYXVzZSBxZW11IGhhcyBpbmNsdWRlIHNw aWNlJ3MgY29kZSBhcyBhIG5ldyBmZWF0dXJlIHNpbmNlIHFlbXUtMC4xNC4KCj0gVXNhZ2UgPQoK QWRkIHNwaWNlIGZpZWxkcyBpbiBWTSBjZmcgZmlsZS4KCmUuZy4KCnNwaWNlPTEKc3BpY2Vwb3J0 PTYwMDAKc3BpY2Vob3N0PScxOTIuMTY4LjEuMTg3JwpzcGljZWRpc2FibGVfdGlja2V0aW5nID0g MCAjIGRlZmF1bHQgaXMgMApzcGljZXBhc3N3ZCA9ICdwYXNzd29yZCcKc3BpY2VhZ2VudF9tb3Vz ZSA9IDEgIyBkZWZhdWx0IGlzIDEKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpkaWZmIC1yIGZiNTE3 Y2MyN2FkZSAtciAwZTY3NjcyZWE1OWUgdG9vbHMvbGlieGwvbGlieGwuaWRsCi0tLSBhL3Rvb2xz L2xpYnhsL2xpYnhsLmlkbAlGcmkgTWF5IDIwIDE4OjIwOjA5IDIwMTEgKzAxMDAKKysrIGIvdG9v bHMvbGlieGwvbGlieGwuaWRsCVR1ZSBNYXkgMjQgMTA6NDU6MTcgMjAxMSArMDgwMApAQCAtMjEw LDYgKzIxMCwxMyBAQCBsaWJ4bF9kZXZpY2VfbW9kZWxfaW5mbyA9IFN0cnVjdCgiZGV2aWNlCiAg ICAgKCJrZXltYXAiLCAgICAgICAgICAgc3RyaW5nLCAgICAgICAgICAgIEZhbHNlLCAic2V0IGtl eWJvYXJkIGxheW91dCwgZGVmYXVsdCBpcyBlbi11cyBrZXlib2FyZCIpLAogICAgICgic2RsIiwg ICAgICAgICAgICAgIGJvb2wsICAgICAgICAgICAgICBGYWxzZSwgInNkbCBlbmFibGVkIG9yIGRp c2FibGVkIiksCiAgICAgKCJvcGVuZ2wiLCAgICAgICAgICAgYm9vbCwgICAgICAgICAgICAgIEZh bHNlLCAib3BlbmdsIGVuYWJsZWQgb3IgZGlzYWJsZWQgKGlmIGVuYWJsZWQgcmVxdWlyZXMgc2Rs IGVuYWJsZWQpIiksCisgICAgKCJzcGljZSIsICAgICAgICAgICAgYm9vbCwgICAgICAgICAgICAg IEZhbHNlLCAic3BpY2UgZW5hYmxlZCBvciBkaXNhYmxlZCIpLAorICAgICgic3BpY2Vwb3J0Iiwg ICAgICAgIGludGVnZXIsICAgICAgICAgICBGYWxzZSwgInRoZSBwb3J0IHRoYXQgc2hvdWxkIGJl IGxpc3RlbmVkIG9uIGZvciB0aGUgc3BpY2Ugc2VydmVyIiksCisgICAgKCJzcGljZXRsc19wb3J0 IiwgICAgaW50ZWdlciwgICAgICAgICAgIEZhbHNlLCAidGhlIHRscyBwb3J0IHRoYXQgc2hvdWxk IGJlIGxpc3RlbmVkIG9uIGZvciB0aGUgc3BpY2Ugc2VydmVyLCBhdCBsZWFzdCBvbmUgb2YgdGhl IHBvcnQgb3IgdGxzIHBvcnQgbXVzdCBiZSBnaXZlbiIpLAorICAgICgic3BpY2Vob3N0IiwgICAg ICAgIHN0cmluZywgICAgICAgICAgICBGYWxzZSwgInRoZSBpbnRlcmZhY2UgdGhhdCBzaG91bGQg YmUgbGlzdGVuZWQgb24gaWYgZ2l2ZW4gb3RoZXJ3aXNlIGFueSBpbnRlcmZhY2UiKSwKKyAgICAo InNwaWNlZGlzYWJsZV90aWNrZXRpbmciLCBib29sLCAgICAgICAgRmFsc2UsICJFbmFibGUgY2xp ZW50IGNvbm5lY3Rpb24gd2l0aCBubyBwYXNzd29yZCIpLAorICAgICgic3BpY2VwYXNzd2QiLCAg ICAgIHN0cmluZywgICAgICAgICAgICBGYWxzZSwgInNldCB0aWNrZXQgcGFzc3dvcmQsIHdpdGNo IG11c3QgYmUgdXNlZCBieSBhIGNsaWVudCBmb3IgY29ubmVjdGlvbi4gVGhlIHBhc3N3b3JkcyBu ZXZlciBleHBpcmVzIiksCisgICAgKCJzcGljZWFnZW50X21vdXNlIiwgYm9vbCwgICAgICAgICAg ICAgIEZhbHNlLCAiV2hldGhlciBzcGljZSBhZ2VudCBpcyB1c2VkIGZvciBjbGllbnQgbW91c2Ug bW9kZShkZWZhdWx0IGlzIG9uKSIpLAogICAgICgibm9ncmFwaGljIiwgICAgICAgIGJvb2wsICAg ICAgICAgICAgICBGYWxzZSwgIm5vIGdyYXBoaWNzLCB1c2Ugc2VyaWFsIHBvcnQiKSwKICAgICAo ImdmeF9wYXNzdGhydSIsICAgICBib29sLCAgICAgICAgICAgICAgRmFsc2UsICJncmFwaGljcyBw YXNzdGhyb3VnaCBlbmFibGVkIG9yIGRpc2FibGVkIiksCiAgICAgKCJzZXJpYWwiLCAgICAgICAg ICAgc3RyaW5nLCAgICAgICAgICAgIEZhbHNlLCAic2VyaWFsIHBvcnQgcmUtZGlyZWN0IHRvIHB0 eSBkZWl2Y2UiKSwKZGlmZiAtciBmYjUxN2NjMjdhZGUgLXIgMGU2NzY3MmVhNTllIHRvb2xzL2xp YnhsL2xpYnhsX2RtLmMKLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfZG0uYwlGcmkgTWF5IDIwIDE4 OjIwOjA5IDIwMTEgKzAxMDAKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfZG0uYwlUdWUgTWF5IDI0 IDEwOjQ1OjE3IDIwMTEgKzA4MDAKQEAgLTI4MSw2ICsyODEsNDEgQEAgc3RhdGljIGNoYXIgKiog bGlieGxfX2J1aWxkX2RldmljZV9tb2RlbAogICAgIH0KICAgICBpZiAoaW5mby0+c2RsKSB7CiAg ICAgICAgIGZsZXhhcnJheV9hcHBlbmQoZG1fYXJncywgIi1zZGwiKTsKKyAgICB9CisgICAgaWYg KGluZm8tPnNwaWNlKSB7CisgICAgICAgIGNoYXIgKnNwaWNlb3B0aW9ucyA9IE5VTEw7CisgICAg ICAgIGlmICghaW5mby0+c3BpY2Vwb3J0ICYmICFpbmZvLT5zcGljZXRsc19wb3J0KSB7CisgICAg ICAgICAgICBMSUJYTF9fTE9HKGN0eCwgTElCWExfX0xPR19FUlJPUiwKKyAgICAgICAgICAgICAg ICAgICAgICAgIjogYXQgbGVhc3Qgb25lIG9mIHRoZSBzcGljZXBvcnQgb3IgdGxzX3BvcnQgbXVz dCBiZSBwcm92aWRlZCIpOworICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIH0KKwor ICAgICAgICBpZiAoIWluZm8tPnNwaWNlZGlzYWJsZV90aWNrZXRpbmcpIHsKKyAgICAgICAgICAg IGlmICghaW5mby0+c3BpY2VwYXNzd2QpIHsKKyAgICAgICAgICAgICAgICBMSUJYTF9fTE9HKGN0 eCwgTElCWExfX0xPR19FUlJPUiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICI6IHNwaWNl IHRpY2tldGluZyBpcyBlbmFibGVkIGJ1dCBtaXNzaW5nIHBhc3N3b3JkIik7CisgICAgICAgICAg ICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBlbHNlIGlmICgh aW5mby0+c3BpY2VwYXNzd2RbMF0pIHsKKyAgICAgICAgICAgICAgICBMSUJYTF9fTE9HKGN0eCwg TElCWExfX0xPR19FUlJPUiwgIjogc3BpY2UgcGFzc3dvcmQgY2FuJ3QgYmUgZW1wdHkiKTsKKyAg ICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAg ICAgICBzcGljZW9wdGlvbnMgPSBsaWJ4bF9fc3ByaW50ZihnYywgInBvcnQ9JWQsdGxzLXBvcnQ9 JWQiLAorICAgICAgICAgICAgICAgICAgICAgICBpbmZvLT5zcGljZXBvcnQsIGluZm8tPnNwaWNl dGxzX3BvcnQpOworICAgICAgICBpZiAoaW5mby0+c3BpY2Vob3N0KQorICAgICAgICAgICAgc3Bp Y2VvcHRpb25zID0gbGlieGxfX3NwcmludGYoZ2MsCisgICAgICAgICAgICAgICAgICAgICIlcyxh ZGRyPSVzIiwgc3BpY2VvcHRpb25zLCBpbmZvLT5zcGljZWhvc3QpOworICAgICAgICBpZiAoaW5m by0+c3BpY2VkaXNhYmxlX3RpY2tldGluZykKKyAgICAgICAgICAgIHNwaWNlb3B0aW9ucyA9IGxp YnhsX19zcHJpbnRmKGdjLCAiJXMsZGlzYWJsZS10aWNrZXRpbmciLCBzcGljZW9wdGlvbnMpOwor ICAgICAgICBlbHNlCisgICAgICAgICAgICBzcGljZW9wdGlvbnMgPSBsaWJ4bF9fc3ByaW50Zihn YywKKyAgICAgICAgICAgICAgICAgICAgIiVzLHBhc3N3b3JkPSVzIiwgc3BpY2VvcHRpb25zLCBp bmZvLT5zcGljZXBhc3N3ZCk7CisgICAgICAgIHNwaWNlb3B0aW9ucyA9IGxpYnhsX19zcHJpbnRm KGdjLCAiJXMsYWdlbnQtbW91c2U9JXMiLCBzcGljZW9wdGlvbnMsCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGluZm8tPnNwaWNlYWdlbnRfbW91c2UgPyAib24iIDogIm9m ZiIpOworCisgICAgICAgIGZsZXhhcnJheV9hcHBlbmQoZG1fYXJncywgIi1zcGljZSIpOworICAg ICAgICBmbGV4YXJyYXlfYXBwZW5kKGRtX2FyZ3MsIHNwaWNlb3B0aW9ucyk7CiAgICAgfQogCiAg ICAgaWYgKGluZm8tPnR5cGUgPT0gTElCWExfRE9NQUlOX1RZUEVfUFYgJiYgIWluZm8tPm5vZ3Jh cGhpYykgewpkaWZmIC1yIGZiNTE3Y2MyN2FkZSAtciAwZTY3NjcyZWE1OWUgdG9vbHMvbGlieGwv eGxfY21kaW1wbC5jCi0tLSBhL3Rvb2xzL2xpYnhsL3hsX2NtZGltcGwuYwlGcmkgTWF5IDIwIDE4 OjIwOjA5IDIwMTEgKzAxMDAKKysrIGIvdG9vbHMvbGlieGwveGxfY21kaW1wbC5jCVR1ZSBNYXkg MjQgMTA6NDU6MTcgMjAxMSArMDgwMApAQCAtMzY3LDYgKzM2NywxMiBAQCBzdGF0aWMgdm9pZCBw cmludGZfaW5mbyhpbnQgZG9taWQsCiAgICAgICAgIHByaW50ZigiXHRcdFx0KHVzYiAlZClcbiIs IGRtX2luZm8tPnVzYik7CiAgICAgICAgIHByaW50ZigiXHRcdFx0KHVzYmRldmljZSAlcylcbiIs IGRtX2luZm8tPnVzYmRldmljZSk7CiAgICAgICAgIHByaW50ZigiXHRcdFx0KGFjcGkgJWQpXG4i LCBkbV9pbmZvLT5hY3BpKTsKKyAgICAgICAgcHJpbnRmKCJcdFx0XHQoc3BpY2UgJWQpXG4iLCBk bV9pbmZvLT5zcGljZSk7CisgICAgICAgIHByaW50ZigiXHRcdFx0KHNwaWNlcG9ydCAlZClcbiIs IGRtX2luZm8tPnNwaWNlcG9ydCk7CisgICAgICAgIHByaW50ZigiXHRcdFx0KHNwaWNldGxzX3Bv cnQgJWQpXG4iLCBkbV9pbmZvLT5zcGljZXRsc19wb3J0KTsKKyAgICAgICAgcHJpbnRmKCJcdFx0 XHQoc3BpY2Vob3N0ICVzKVxuIiwgZG1faW5mby0+c3BpY2Vob3N0KTsKKyAgICAgICAgcHJpbnRm KCJcdFx0XHQoc3BpY2VkaXNhYmxlX3RpY2tldGluZyAlZClcbiIsIGRtX2luZm8tPnNwaWNlZGlz YWJsZV90aWNrZXRpbmcpOworICAgICAgICBwcmludGYoIlx0XHRcdChzcGljZWFnZW50X21vdXNl ICVkKVxuIiwgZG1faW5mby0+c3BpY2VhZ2VudF9tb3VzZSk7CiAgICAgICAgIHByaW50ZigiXHRc dClcbiIpOwogICAgIH0gZWxzZSB7CiAgICAgICAgIHByaW50ZigiXHRcdChsaW51eCAlZClcbiIs IGJfaW5mby0+aHZtKTsKQEAgLTExMjQsNiArMTEzMCwyMCBAQCBza2lwX3ZmYjoKICAgICAgICAg ICAgIGRtX2luZm8tPnNkbCA9IGw7CiAgICAgICAgIGlmICgheGx1X2NmZ19nZXRfbG9uZyAoY29u ZmlnLCAib3BlbmdsIiwgJmwpKQogICAgICAgICAgICAgZG1faW5mby0+b3BlbmdsID0gbDsKKyAg ICAgICAgaWYgKCF4bHVfY2ZnX2dldF9sb25nIChjb25maWcsICJzcGljZSIsICZsKSkKKyAgICAg ICAgICAgIGRtX2luZm8tPnNwaWNlID0gbDsKKyAgICAgICAgaWYgKCF4bHVfY2ZnX2dldF9sb25n IChjb25maWcsICJzcGljZXBvcnQiLCAmbCkpCisgICAgICAgICAgICBkbV9pbmZvLT5zcGljZXBv cnQgPSBsOworICAgICAgICBpZiAoIXhsdV9jZmdfZ2V0X2xvbmcgKGNvbmZpZywgInNwaWNldGxz X3BvcnQiLCAmbCkpCisgICAgICAgICAgICBkbV9pbmZvLT5zcGljZXRsc19wb3J0ID0gbDsKKyAg ICAgICAgeGx1X2NmZ19yZXBsYWNlX3N0cmluZyAoY29uZmlnLCAic3BpY2Vob3N0IiwgJmRtX2lu Zm8tPnNwaWNlaG9zdCk7CisgICAgICAgIGlmICgheGx1X2NmZ19nZXRfbG9uZyAoY29uZmlnLCAi c3BpY2VkaXNhYmxlX3RpY2tldGluZyIsICZsKSkKKyAgICAgICAgICAgIGRtX2luZm8tPnNwaWNl ZGlzYWJsZV90aWNrZXRpbmcgPSBsOworICAgICAgICB4bHVfY2ZnX3JlcGxhY2Vfc3RyaW5nIChj b25maWcsICJzcGljZXBhc3N3ZCIsICZkbV9pbmZvLT5zcGljZXBhc3N3ZCk7CisgICAgICAgIGlm ICgheGx1X2NmZ19nZXRfbG9uZyAoY29uZmlnLCAic3BpY2VhZ2VudF9tb3VzZSIsICZsKSkKKyAg ICAgICAgICAgIGRtX2luZm8tPnNwaWNlYWdlbnRfbW91c2UgPSBsOworICAgICAgICBlbHNlCisg ICAgICAgICAgICBkbV9pbmZvLT5zcGljZWFnZW50X21vdXNlID0gMTsKICAgICAgICAgaWYgKCF4 bHVfY2ZnX2dldF9sb25nIChjb25maWcsICJub2dyYXBoaWMiLCAmbCkpCiAgICAgICAgICAgICBk bV9pbmZvLT5ub2dyYXBoaWMgPSBsOwogICAgICAgICBpZiAoIXhsdV9jZmdfZ2V0X2xvbmcgKGNv bmZpZywgImdmeF9wYXNzdGhydSIsICZsKSkK --bcaec51f933b033b6a04a3fd31e4 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 --bcaec51f933b033b6a04a3fd31e4--