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: Mon, 23 May 2011 19:17:25 +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=bcaec52e6221b7be1c04a3ef9dd1 Return-path: In-Reply-To: <19926.34224.455450.51781@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 --bcaec52e6221b7be1c04a3ef9dd1 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable > 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. thanks ----------------------- Signed-off-by: Zhou Peng Acked-by: Stefano Stabellini Acked-by: Ian Jackson 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. =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 14664ae4bfb7 tools/libxl/libxl.idl --- a/tools/libxl/libxl.idl Fri May 20 18:20:09 2011 +0100 +++ b/tools/libxl/libxl.idl Mon May 23 18:37:42 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 14664ae4bfb7 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 Mon May 23 18:37:42 2011 +0800 @@ -281,6 +281,42 @@ 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,host=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); + printf("SPICE Options:\n -spice %s\n", spiceoptions); } if (info->type =3D=3D LIBXL_DOMAIN_TYPE_PV && !info->nographic) { diff -r fb517cc27ade -r 14664ae4bfb7 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 Mon May 23 18:37:42 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) --bcaec52e6221b7be1c04a3ef9dd1 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_go1bih970 U2lnbmVkLW9mZi1ieTogWmhvdSBQZW5nIDx6aG91cGVuZ0BuZnMuaXNjYXMuYWMuY24+CkFja2Vk LWJ5OiBTdGVmYW5vIFN0YWJlbGxpbmkgPHN0ZWZhbm8uc3RhYmVsbGluaUBldS5jaXRyaXguY29t PgpBY2tlZC1ieTogSWFuIEphY2tzb24gPGlhbi5qYWNrc29uQGV1LmNpdHJpeC5jb20+CgpUaGlz IHBhdGNoIGFsbG93cyB5b3UgdG8gcGxheSB3aXRoIHNwaWNlIGZvcgp4ZW4tdXBzdHJlYW0tcWVt dSBvbiB1cHN0cmVhbSBYZW4gb3IgcmVsZWFzZWQgWGVuLTQuMS4wLgoKTm90aGluZyBuZWVkIHRv IGJlIG1vZGlmaWVkIGluIHhlbi11cHN0cmVhbS1xZW11LCAKYmVjYXVzZSBxZW11IGhhcyBpbmNs dWRlIHNwaWNlJ3MgY29kZSBhcyBhIG5ldyBmZWF0dXJlIHNpbmNlIHFlbXUtMC4xNC4KCj0gVXNh Z2UgPQoKQWRkIHNwaWNlIGZpZWxkcyBpbiBWTSBjZmcgZmlsZS4KCmUuZy4KCnNwaWNlPTEKc3Bp Y2Vwb3J0PTYwMDAKc3BpY2Vob3N0PScxOTIuMTY4LjEuMTg3JwpzcGljZWRpc2FibGVfdGlja2V0 aW5nID0gMCAjIGRlZmF1bHQgaXMgMApzcGljZXBhc3N3ZCA9ICdwYXNzd29yZCcKc3BpY2VhZ2Vu dF9tb3VzZSA9IDEgIyBkZWZhdWx0IGlzIDEKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpkaWZmIC1y IGZiNTE3Y2MyN2FkZSAtciAxNDY2NGFlNGJmYjcgdG9vbHMvbGlieGwvbGlieGwuaWRsCi0tLSBh L3Rvb2xzL2xpYnhsL2xpYnhsLmlkbAlGcmkgTWF5IDIwIDE4OjIwOjA5IDIwMTEgKzAxMDAKKysr IGIvdG9vbHMvbGlieGwvbGlieGwuaWRsCU1vbiBNYXkgMjMgMTg6Mzc6NDIgMjAxMSArMDgwMApA QCAtMjEwLDYgKzIxMCwxMyBAQCBsaWJ4bF9kZXZpY2VfbW9kZWxfaW5mbyA9IFN0cnVjdCgiZGV2 aWNlCiAgICAgKCJrZXltYXAiLCAgICAgICAgICAgc3RyaW5nLCAgICAgICAgICAgIEZhbHNlLCAi c2V0IGtleWJvYXJkIGxheW91dCwgZGVmYXVsdCBpcyBlbi11cyBrZXlib2FyZCIpLAogICAgICgi c2RsIiwgICAgICAgICAgICAgIGJvb2wsICAgICAgICAgICAgICBGYWxzZSwgInNkbCBlbmFibGVk IG9yIGRpc2FibGVkIiksCiAgICAgKCJvcGVuZ2wiLCAgICAgICAgICAgYm9vbCwgICAgICAgICAg ICAgIEZhbHNlLCAib3BlbmdsIGVuYWJsZWQgb3IgZGlzYWJsZWQgKGlmIGVuYWJsZWQgcmVxdWly ZXMgc2RsIGVuYWJsZWQpIiksCisgICAgKCJzcGljZSIsICAgICAgICAgICAgYm9vbCwgICAgICAg ICAgICAgIEZhbHNlLCAic3BpY2UgZW5hYmxlZCBvciBkaXNhYmxlZCIpLAorICAgICgic3BpY2Vw b3J0IiwgICAgICAgIGludGVnZXIsICAgICAgICAgICBGYWxzZSwgInRoZSBwb3J0IHRoYXQgc2hv dWxkIGJlIGxpc3RlbmVkIG9uIGZvciB0aGUgc3BpY2Ugc2VydmVyIiksCisgICAgKCJzcGljZXRs c19wb3J0IiwgICAgaW50ZWdlciwgICAgICAgICAgIEZhbHNlLCAidGhlIHRscyBwb3J0IHRoYXQg c2hvdWxkIGJlIGxpc3RlbmVkIG9uIGZvciB0aGUgc3BpY2Ugc2VydmVyLCBhdCBsZWFzdCBvbmUg b2YgdGhlIHBvcnQgb3IgdGxzIHBvcnQgbXVzdCBiZSBnaXZlbiIpLAorICAgICgic3BpY2Vob3N0 IiwgICAgICAgIHN0cmluZywgICAgICAgICAgICBGYWxzZSwgInRoZSBpbnRlcmZhY2UgdGhhdCBz aG91bGQgYmUgbGlzdGVuZWQgb24gaWYgZ2l2ZW4gb3RoZXJ3aXNlIGFueSBpbnRlcmZhY2UiKSwK KyAgICAoInNwaWNlZGlzYWJsZV90aWNrZXRpbmciLCBib29sLCAgICAgICAgRmFsc2UsICJFbmFi bGUgY2xpZW50IGNvbm5lY3Rpb24gd2l0aCBubyBwYXNzd29yZCIpLAorICAgICgic3BpY2VwYXNz d2QiLCAgICAgIHN0cmluZywgICAgICAgICAgICBGYWxzZSwgInNldCB0aWNrZXQgcGFzc3dvcmQs IHdpdGNoIG11c3QgYmUgdXNlZCBieSBhIGNsaWVudCBmb3IgY29ubmVjdGlvbi4gVGhlIHBhc3N3 b3JkcyBuZXZlciBleHBpcmVzIiksCisgICAgKCJzcGljZWFnZW50X21vdXNlIiwgYm9vbCwgICAg ICAgICAgICAgIEZhbHNlLCAiV2hldGhlciBzcGljZSBhZ2VudCBpcyB1c2VkIGZvciBjbGllbnQg bW91c2UgbW9kZShkZWZhdWx0IGlzIG9uKSIpLAogICAgICgibm9ncmFwaGljIiwgICAgICAgIGJv b2wsICAgICAgICAgICAgICBGYWxzZSwgIm5vIGdyYXBoaWNzLCB1c2Ugc2VyaWFsIHBvcnQiKSwK ICAgICAoImdmeF9wYXNzdGhydSIsICAgICBib29sLCAgICAgICAgICAgICAgRmFsc2UsICJncmFw aGljcyBwYXNzdGhyb3VnaCBlbmFibGVkIG9yIGRpc2FibGVkIiksCiAgICAgKCJzZXJpYWwiLCAg ICAgICAgICAgc3RyaW5nLCAgICAgICAgICAgIEZhbHNlLCAic2VyaWFsIHBvcnQgcmUtZGlyZWN0 IHRvIHB0eSBkZWl2Y2UiKSwKZGlmZiAtciBmYjUxN2NjMjdhZGUgLXIgMTQ2NjRhZTRiZmI3IHRv b2xzL2xpYnhsL2xpYnhsX2RtLmMKLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfZG0uYwlGcmkgTWF5 IDIwIDE4OjIwOjA5IDIwMTEgKzAxMDAKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfZG0uYwlNb24g TWF5IDIzIDE4OjM3OjQyIDIwMTEgKzA4MDAKQEAgLTI4MSw2ICsyODEsNDIgQEAgc3RhdGljIGNo YXIgKiogbGlieGxfX2J1aWxkX2RldmljZV9tb2RlbAogICAgIH0KICAgICBpZiAoaW5mby0+c2Rs KSB7CiAgICAgICAgIGZsZXhhcnJheV9hcHBlbmQoZG1fYXJncywgIi1zZGwiKTsKKyAgICB9Cisg ICAgaWYgKGluZm8tPnNwaWNlKSB7CisgICAgICAgIGNoYXIgKnNwaWNlb3B0aW9ucyA9IE5VTEw7 CisgICAgICAgIGlmICghaW5mby0+c3BpY2Vwb3J0ICYmICFpbmZvLT5zcGljZXRsc19wb3J0KSB7 CisgICAgICAgICAgICBMSUJYTF9fTE9HKGN0eCwgTElCWExfX0xPR19FUlJPUiwKKyAgICAgICAg ICAgICAgICAgICAgICAgIjogYXQgbGVhc3Qgb25lIG9mIHRoZSBzcGljZXBvcnQgb3IgdGxzX3Bv cnQgbXVzdCBiZSBwcm92aWRlZCIpOworICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAg IH0KKworICAgICAgICBpZiAoIWluZm8tPnNwaWNlZGlzYWJsZV90aWNrZXRpbmcpIHsKKyAgICAg ICAgICAgIGlmICghaW5mby0+c3BpY2VwYXNzd2QpIHsKKyAgICAgICAgICAgICAgICBMSUJYTF9f TE9HKGN0eCwgTElCWExfX0xPR19FUlJPUiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICI6 IHNwaWNlIHRpY2tldGluZyBpcyBlbmFibGVkIGJ1dCBtaXNzaW5nIHBhc3N3b3JkIik7CisgICAg ICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBlbHNl IGlmICghaW5mby0+c3BpY2VwYXNzd2RbMF0pIHsKKyAgICAgICAgICAgICAgICBMSUJYTF9fTE9H KGN0eCwgTElCWExfX0xPR19FUlJPUiwgIjogc3BpY2UgcGFzc3dvcmQgY2FuJ3QgYmUgZW1wdHki KTsKKyAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg fQorICAgICAgICBzcGljZW9wdGlvbnMgPSBsaWJ4bF9fc3ByaW50ZihnYywgInBvcnQ9JWQsdGxz LXBvcnQ9JWQiLAorICAgICAgICAgICAgICAgICAgICAgICBpbmZvLT5zcGljZXBvcnQsIGluZm8t PnNwaWNldGxzX3BvcnQpOworICAgICAgICBpZiAoIWluZm8tPnNwaWNlaG9zdCkKKyAgICAgICAg ICAgIHNwaWNlb3B0aW9ucyA9IGxpYnhsX19zcHJpbnRmKGdjLAorICAgICAgICAgICAgICAgICAg ICAiJXMsaG9zdD0lcyIsIHNwaWNlb3B0aW9ucywgaW5mby0+c3BpY2Vob3N0KTsKKyAgICAgICAg aWYgKGluZm8tPnNwaWNlZGlzYWJsZV90aWNrZXRpbmcpCisgICAgICAgICAgICBzcGljZW9wdGlv bnMgPSBsaWJ4bF9fc3ByaW50ZihnYywgIiVzLGRpc2FibGUtdGlja2V0aW5nIiwgc3BpY2VvcHRp b25zKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgc3BpY2VvcHRpb25zID0gbGlieGxfX3Nw cmludGYoZ2MsCisgICAgICAgICAgICAgICAgICAgICIlcyxwYXNzd29yZD0lcyIsIHNwaWNlb3B0 aW9ucywgaW5mby0+c3BpY2VwYXNzd2QpOworICAgICAgICBzcGljZW9wdGlvbnMgPSBsaWJ4bF9f c3ByaW50ZihnYywgIiVzLGFnZW50LW1vdXNlPSVzIiwgc3BpY2VvcHRpb25zLAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmZvLT5zcGljZWFnZW50X21vdXNlID8gIm9u IiA6ICJvZmYiKTsKKworICAgICAgICBmbGV4YXJyYXlfYXBwZW5kKGRtX2FyZ3MsICItc3BpY2Ui KTsKKyAgICAgICAgZmxleGFycmF5X2FwcGVuZChkbV9hcmdzLCBzcGljZW9wdGlvbnMpOworICAg ICAgICBwcmludGYoIlNQSUNFIE9wdGlvbnM6XG4gIC1zcGljZSAlc1xuIiwgc3BpY2VvcHRpb25z KTsKICAgICB9CiAKICAgICBpZiAoaW5mby0+dHlwZSA9PSBMSUJYTF9ET01BSU5fVFlQRV9QViAm JiAhaW5mby0+bm9ncmFwaGljKSB7CmRpZmYgLXIgZmI1MTdjYzI3YWRlIC1yIDE0NjY0YWU0YmZi NyB0b29scy9saWJ4bC94bF9jbWRpbXBsLmMKLS0tIGEvdG9vbHMvbGlieGwveGxfY21kaW1wbC5j CUZyaSBNYXkgMjAgMTg6MjA6MDkgMjAxMSArMDEwMAorKysgYi90b29scy9saWJ4bC94bF9jbWRp bXBsLmMJTW9uIE1heSAyMyAxODozNzo0MiAyMDExICswODAwCkBAIC0zNjcsNiArMzY3LDEyIEBA IHN0YXRpYyB2b2lkIHByaW50Zl9pbmZvKGludCBkb21pZCwKICAgICAgICAgcHJpbnRmKCJcdFx0 XHQodXNiICVkKVxuIiwgZG1faW5mby0+dXNiKTsKICAgICAgICAgcHJpbnRmKCJcdFx0XHQodXNi ZGV2aWNlICVzKVxuIiwgZG1faW5mby0+dXNiZGV2aWNlKTsKICAgICAgICAgcHJpbnRmKCJcdFx0 XHQoYWNwaSAlZClcbiIsIGRtX2luZm8tPmFjcGkpOworICAgICAgICBwcmludGYoIlx0XHRcdChz cGljZSAlZClcbiIsIGRtX2luZm8tPnNwaWNlKTsKKyAgICAgICAgcHJpbnRmKCJcdFx0XHQoc3Bp Y2Vwb3J0ICVkKVxuIiwgZG1faW5mby0+c3BpY2Vwb3J0KTsKKyAgICAgICAgcHJpbnRmKCJcdFx0 XHQoc3BpY2V0bHNfcG9ydCAlZClcbiIsIGRtX2luZm8tPnNwaWNldGxzX3BvcnQpOworICAgICAg ICBwcmludGYoIlx0XHRcdChzcGljZWhvc3QgJXMpXG4iLCBkbV9pbmZvLT5zcGljZWhvc3QpOwor ICAgICAgICBwcmludGYoIlx0XHRcdChzcGljZWRpc2FibGVfdGlja2V0aW5nICVkKVxuIiwgZG1f aW5mby0+c3BpY2VkaXNhYmxlX3RpY2tldGluZyk7CisgICAgICAgIHByaW50ZigiXHRcdFx0KHNw aWNlYWdlbnRfbW91c2UgJWQpXG4iLCBkbV9pbmZvLT5zcGljZWFnZW50X21vdXNlKTsKICAgICAg ICAgcHJpbnRmKCJcdFx0KVxuIik7CiAgICAgfSBlbHNlIHsKICAgICAgICAgcHJpbnRmKCJcdFx0 KGxpbnV4ICVkKVxuIiwgYl9pbmZvLT5odm0pOwpAQCAtMTEyNCw2ICsxMTMwLDIwIEBAIHNraXBf dmZiOgogICAgICAgICAgICAgZG1faW5mby0+c2RsID0gbDsKICAgICAgICAgaWYgKCF4bHVfY2Zn X2dldF9sb25nIChjb25maWcsICJvcGVuZ2wiLCAmbCkpCiAgICAgICAgICAgICBkbV9pbmZvLT5v cGVuZ2wgPSBsOworICAgICAgICBpZiAoIXhsdV9jZmdfZ2V0X2xvbmcgKGNvbmZpZywgInNwaWNl IiwgJmwpKQorICAgICAgICAgICAgZG1faW5mby0+c3BpY2UgPSBsOworICAgICAgICBpZiAoIXhs dV9jZmdfZ2V0X2xvbmcgKGNvbmZpZywgInNwaWNlcG9ydCIsICZsKSkKKyAgICAgICAgICAgIGRt X2luZm8tPnNwaWNlcG9ydCA9IGw7CisgICAgICAgIGlmICgheGx1X2NmZ19nZXRfbG9uZyAoY29u ZmlnLCAic3BpY2V0bHNfcG9ydCIsICZsKSkKKyAgICAgICAgICAgIGRtX2luZm8tPnNwaWNldGxz X3BvcnQgPSBsOworICAgICAgICB4bHVfY2ZnX3JlcGxhY2Vfc3RyaW5nIChjb25maWcsICJzcGlj ZWhvc3QiLCAmZG1faW5mby0+c3BpY2Vob3N0KTsKKyAgICAgICAgaWYgKCF4bHVfY2ZnX2dldF9s b25nIChjb25maWcsICJzcGljZWRpc2FibGVfdGlja2V0aW5nIiwgJmwpKQorICAgICAgICAgICAg ZG1faW5mby0+c3BpY2VkaXNhYmxlX3RpY2tldGluZyA9IGw7CisgICAgICAgIHhsdV9jZmdfcmVw bGFjZV9zdHJpbmcgKGNvbmZpZywgInNwaWNlcGFzc3dkIiwgJmRtX2luZm8tPnNwaWNlcGFzc3dk KTsKKyAgICAgICAgaWYgKCF4bHVfY2ZnX2dldF9sb25nIChjb25maWcsICJzcGljZWFnZW50X21v dXNlIiwgJmwpKQorICAgICAgICAgICAgZG1faW5mby0+c3BpY2VhZ2VudF9tb3VzZSA9IGw7Cisg ICAgICAgIGVsc2UKKyAgICAgICAgICAgIGRtX2luZm8tPnNwaWNlYWdlbnRfbW91c2UgPSAxOwog ICAgICAgICBpZiAoIXhsdV9jZmdfZ2V0X2xvbmcgKGNvbmZpZywgIm5vZ3JhcGhpYyIsICZsKSkK ICAgICAgICAgICAgIGRtX2luZm8tPm5vZ3JhcGhpYyA9IGw7CiAgICAgICAgIGlmICgheGx1X2Nm Z19nZXRfbG9uZyAoY29uZmlnLCAiZ2Z4X3Bhc3N0aHJ1IiwgJmwpKQo= --bcaec52e6221b7be1c04a3ef9dd1 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 --bcaec52e6221b7be1c04a3ef9dd1--