From mboxrd@z Thu Jan 1 00:00:00 1970 From: George Dunlap Subject: [PATCH 8/8] DO NOT APPLY libxl: Change hotplug script interface to use physical-device-path Date: Wed, 16 Mar 2016 16:09:17 +0000 Message-ID: <1458144557-29070-9-git-send-email-george.dunlap@citrix.com> References: <1458144557-29070-1-git-send-email-george.dunlap@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1458144557-29070-1-git-send-email-george.dunlap@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xen.org Cc: Wei Liu , Ian Jackson , George Dunlap , Roger Pau Monne List-Id: xen-devel@lists.xenproject.org RnJvbTogSWFuIEphY2tzb24gPGlhbi5qYWNrc29uQGV1LmNpdHJpeC5jb20+CgpETyBOT1QgQVBQ TFkuICBUaGlzIGlzIHByb3ZpZGVkIGZvciBmdXR1cmUgcmVmZXJlbmNlLCBhcyBhIHN0YXJ0aW5n CnBvaW50IHRvIGNsZWFuIHVwIHRoZSBkaXNrIHBhdGguICBBIHNpbXBsZSBmaXggd2lsbCBtYWtl IGl0ICJ3b3JrIiwKYnV0IHdpbGwgaW50cm9kdWNlIGEgc3VidGxlIHJhY2UgY29uZGl0aW9uLgoK KiBDaGFuZ2UgYmxvY2stY29tbW9uLnNoIG9uIExpbnV4IHRvIG9ubHkgd3JpdGUgcGh5c2ljYWwt ZGV2aWNlLXBhdGgKICB3aXRoIHRoZSBwYXRoIG9mIHRoZSBkZXZpY2Ugbm9kZSwgcmF0aGVyIHRo YW4gYWxzbyB3cml0aW5nCiAgcGh5c2ljYWwtZGV2aWNlIHdpdGggaXRzIG1ham9yOm1pbm9yIG51 bWJlcnMuCgoqIEhhdmUgdGhlIGxpYnhsIExpbnV4IGhvdHBsdWcgc2NyaXB0IHNjaGVkdWxlciBj b252ZXJ0IHRoaXMsIGJ5CiAgcmVhZGluZyBwaHlzaWNhbC1kZXZpY2UtcGF0aCBhbmQgd3JpdGlu ZyBwaHlzaWNhbC1kZXZpY2UuICBUaGlzCiAgaGFwcGVucyBqdXN0IHdoZW4gd2UgaGF2ZSBkZWNp ZGVkIHRoYXQgdGhlcmUgaXMgbm8gbW9yZSBzY3JpcHQgdG8KICBydW4uCgooQXMgYSByZW1pbmRl cjogTWFueSBob3RwbHVnIHNjcmlwdHMgYXJlIGNhbGxlZCBtdWx0aXBsZSB0aW1lczsgc28KbGli eGxfX2dldF9ob3RwbHVnX3NjcmlwdF9pbmZvKCkgaXMgY2FsbGVkIHJlcGVhdGVkbHkgdW50aWwg aXQgcmV0dXJucwonMCcuICBCbG9jayBzY3JpcHRzIGFyZSBvbmx5IGNhbGxlZCBvbmNlOyBidXQg dGhpcyBnaXZlcyB1cyB0aGUKb3Bwb3J0dW5pdHkgdG8gZG8gdGhlIHRyYW5zbGF0aW9uIGF0IGFu eSBwb2ludCB3aGVuCmxpYnhsX19nZXRfaG90cGx1Z19zY3JpcHRfaW5mbygpICp3b3VsZCogcmV0 dXJuIHplcm8uKQoKKiBBZGQgYW4geHh4IGFib3V0IHRoZSBmYWN0IHRoYXQgdGhlIHNoYXJpbmcg Y2hlY2sgaW4KICB0b29scy9ob3RwbHVnL0xpbnV4L2Jsb2NrIG5lZWRzIGFkanVzdGluZy4gIE5v dGUgdGhhdCBXSVRIT1VUIFRISVMKICBPVEhFUiBGSVggVEhFIENIQU5HRSBUTyBCTE9DSy1DT01N T04uU0ggSVMgQlJPS0VOLgoKKiBUaGlzIGhhcyBiZWVuIHRlc3RlZCAod2l0aCB0aGUgeHh4IGNv bW1lbnRlZCBvdXQpIGFuZCB3b3Jrcy4KClRoZSByZWFzb24gdGhlIGJsb2NrIHNjcmlwdCBpcyBi cm9rZW4gd2l0aCB0aGlzIGNoYW5nZSBpcyB0aGF0CmJsb2NrOmNoZWNrX3NoYXJpbmcoKSByZWFk cyBwaHlzaWNhbC1kZXZpY2UgdG8gY2hlY2sgdGhlIG1ham9yOm1pbm9yCmZvciBkdXBsaWNhdGVz IHJhdGhlciB0aGFuIGNoZWNraW5nIHRoZSBwYXRoLiAgQnV0IHNpbmNlIHRoaXMgaXMgKG5vdykK d3JpdHRlbiBieSBsaWJ4bCB3aXRob3V0IHRoZSBibG9jayBzY3JpcHQgbG9jayBoZWxkLCBpdCdz IHBvc3NpYmxlCnRoYXQgYSBkdXBsaWNhdGUgaW5zdGFuY2Ugd2lsbCBydW4gdGhlIGNoZWNrX3No YXJpbmcoKSBjaGVjayBiZWZvcmUKbGlieGwgZ2V0cyBhIGNoYW5jZSB0byB3cml0ZSB0aGF0IG5v ZGUuCgpJdCBzaG91bGQgYmUgc3VmZmljaWVudCB0byBtb2RpZnkgY2hlY2tfc2hhcmluZygpIHRv IHJlYWQgdGhhdCBub2RlIGlmCml0J3MgYXZpYWxhYmxlLCBhbmQgaWYgaXQncyBub3QgYXZhaWxh YmxlLCB0byBpbnN0ZWFkIHJlYWQgdGhlCm1ham9yL21pbm9yIGZyb20gcGh5c2ljYWwtZGV2aWNl LXBhdGguCgpTaWduZWQtb2ZmLWJ5OiBJYW4gSmFja3NvbiA8SWFuLkphY2tzb25AZXUuY2l0cml4 LmNvbT4KU2lnbmVkLW9mZi1ieTogR2VvcmdlIER1bmxhcCA8Z2VvcmdlLmR1bmxhcEBjaXRyaXgu Y29tPgotLS0KQ2hhbmNlcyBzaW5jZSByZmMgdjE6Ci0gRml4ZWQgdHdvIGJ1Z3MgaW4gdGhlIHBh dGNoCiAtIFVzZSBiYWNrZW5kIHhlbnN0b3JlIG5vZGUgcmF0aGVyIHRoYW4gZnJvbmRlbmQKIC0g Q29ycmVjdGx5IGludGVycHJldCByZXR1cm4gdmFsdWUgZm9yIGxpYnhsX19kZXZpY2VfcGh5c2Rp c2tfbWFqb3JfbWlub3IoKQotIFJlbW92ZSBlcnJvbmVvdXMgY29tbWVudCBhYm91dCBsaWJ4bF9f ZGV2aWNlX3BoeXNkaXNrX21ham9yX21pbm9yKCkncyByZXR1cm4gdmFsdWUKLSBQb3J0IHRvIGxp YnhsIHNjcmlwdAoKQ0M6IFJvZ2VyIFBhdSBNb25uZSA8cm9nZXIucGF1QGNpdHJpeC5jb20+CkND OiBXZWkgTGl1IDx3ZWkubGl1MkBjaXRyaXguY29tPgotLS0KIGRvY3MvbWlzYy9ibG9jay1zY3Jp cHRzLnR4dCAgICAgICAgIHwgMzggKysrKysrLS0tLS0tLS0tLS0tLS0KIHRvb2xzL2hvdHBsdWcv TGludXgvYmxvY2stY29tbW9uLnNoIHwgMTUgKystLS0tLS0KIHRvb2xzL2xpYnhsL2xpYnhsX2xp bnV4LmMgICAgICAgICAgIHwgNzAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKyst LQogMyBmaWxlcyBjaGFuZ2VkLCA4MiBpbnNlcnRpb25zKCspLCA0MSBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS9kb2NzL21pc2MvYmxvY2stc2NyaXB0cy50eHQgYi9kb2NzL21pc2MvYmxvY2st c2NyaXB0cy50eHQKaW5kZXggZWYxOTIwNy4uMDZhZmIzNSAxMDA2NDQKLS0tIGEvZG9jcy9taXNj L2Jsb2NrLXNjcmlwdHMudHh0CisrKyBiL2RvY3MvbWlzYy9ibG9jay1zY3JpcHRzLnR4dApAQCAt NDgsMTggKzQ4LDE4IEBAIE91dHB1dAogQmxvY2sgc2NyaXB0cyBhcmUgcmVzcG9uc2libGUgZm9y IG1ha2luZyBzdXJlIHRoYXQgaWYgYSBmaWxlIGlzCiBwcm92aWRlZCB0byBhIFZNIHJlYWQvd3Jp dGUsIHRoYXQgaXQgaXMgbm90IHByb3ZpZGVkIHRvIGFueSBvdGhlciBWTS4KIAotRnJlZUJTRCBi bG9jayBob3RwbHVnIHNjcmlwdHMgbXVzdCB3cml0ZQotIiRYRU5CVVNfUEFUSC9waHlzaWNhbC1k ZXZpY2UtcGF0aCIgd2l0aCB0aGUgcGF0aCB0byB0aGUgcGh5c2ljYWwKLWRldmljZSBvciBmaWxl LiAgTGludXggYW5kIE5ldEJTRCBibG9jayBob3RwbHVnIHNjcmlwdHMgKnNob3VsZCogYWxzbwot d3JpdGUgdGhpcyBub2RlLgorQmxvY2sgaG90cGx1ZyBzY3JpcHRzIG11c3Qgd3JpdGUgIiRYRU5C VVNfUEFUSC9waHlzaWNhbC1kZXZpY2UtcGF0aCIKK3dpdGggdGhlIHBhdGggdG8gdGhlIHBoeXNp Y2FsIGRldmljZSBvciBmaWxlLgogCi1Gb3IgdGhlIHRpbWUgYmVpbmcsIExpbnV4IGFuZCBOZXRC U0QgYmxvY2sgaG90cGx1ZyBzY3JpcHRzIG11c3Qgd3JpdGUKLSIkWEVOQlVTX1BBVEgvcGh5c2lj YWwtZGV2aWNlIiB3aXRoIHRoZSBkZXZpY2UncyBtYWpvciBhbmQgbWlub3IKLW51bWJlcnMsIHdy aXR0ZW4gaW4gaGV4LCBhbmQgc2VwYXJhdGVkIGJ5IGEgY29sb24uCitMaW51eCBzY3JpcHRzIHVz ZWQgdG8gd3JpdGUgIiRYRU5CVVNfUEFUSC9waHlzaWNhbC1kZXZpY2UiIHdpdGggdGhlCittYWpv ciBhbmQgbWlub3IgbnVtYmVyIG9mIGEgYmxvY2sgZGV2aWNlLCBzZXBhcmF0ZWQgYnkgYSBjb2xv biwKK2luc3RlYWQgb2YgcGh5c2ljYWwtZGV2aWNlLXBhdGguICBUaGlzIGludGVyZmFjZSBzdHls ZSBpcyBkZXByZWNhdGVkCitidXQgc3RpbGwgc3VwcG9ydGVkLiAgSG93ZXZlciwgc29tZSBmdW5j dGlvbmFsaXR5LCBzdWNoIGFzIGVtdWxhdGVkCitkZXZpY2VzIGZvciBIVk0gZ3Vlc3RzLCBtYXkg bm90IHdvcmsuCiAKIFNjcmlwdHMgd2hpY2ggaW5jbHVkZSBibG9jay1jb21tb24uc2ggY2FuIHNp bXBseSBjYWxsIHdyaXRlX2RldiAiJGRldiIKIHdpdGggYSBwYXRoIHRvIHRoZSBkZXZpY2UsIGFu ZCB3cml0ZV9kZXYgd2lsbCBkbyB0aGUgcmlnaHQgdGhpbmcsIG5vdwotYW5kIGdvaW5nIGZvcndh cmQuICAoU2VlIHRoZSBkaXNjdXNzaW9uIGJlbG93LikKK2FuZCBnb2luZyBmb3J3YXJkLgogCiBS YXRpb25hbGUgYW5kIGZ1dHVyZSB3b3JrCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkBAIC03 NCwyNSArNzQsOSBAQCBtYWpvci9taW5vciBudW1iZXJzLCBhbmQgY2FuIGdpdmUgZGlyZWN0IGFj Y2VzcyB0byBhIGZpbGUgd2l0aG91dAogZ29pbmcgdGhyb3VnaCBsb29wYmFjazsgc28gaXRzIGRy aXZlciB3aWxsIGNvbnN1bWUKIHBoeXNpY2FsLWRldmljZS1wYXRoLgogCi1PbiBMaW51eCwgdGhl IGRldmljZSBtb2RlbCAocWVtdSkgbmVlZHMgYWNjZXNzIHRvIGEgZmlsZSBpdCBjYW4KLWludGVy cHJldCB0byBwcm92aWRlIGVtdWxhdGVkIGRpc2tzIGJlZm9yZSBwYXJhdmlydHVhbGl6ZWQgZHJp dmVycyBhcmUKLW1hcmtlZCBhcyB1cC4gIFRoZSBlYXNpZXN0IHdheSB0byBhY2NvbXBsaXNoIHRo aXMgaXMgdG8gYWxsb3cgcWVtdSB0bwotY29uc3VtZSBwaHlzaWNhbC1kZXZpY2UtcGF0aCAocmF0 aGVyIHRoYW4sIHNheSwgaGF2aW5nIGRvbTAgYWN0IGFzCi1ib3RoIGEgZnJvbnRlbmQgYW5kIGEg YmFja2VuZCkuCi0KLUdvaW5nIGZvcndhcmQsIHRoZSBwbGFuIGlzIGF0IHNvbWUgcG9pbnQgdG8g aGF2ZSBhbGwgYmxvY2sgc2NyaXB0cwotc2ltcGx5IHdyaXRlICJwaHlzaWNhbC1kZXZpY2UtcGF0 aCIsIGFuZCB0aGVuIGhhdmUgbGlieGwgd3JpdGUgdGhlCi1vdGhlciBub2Rlcy4gIFRoZSByZWFz b24gd2UgaGF2ZW4ndCBkb25lIHRoaXMgeWV0IGlzIHRoYXQgdGhlIG1haW4KLWJsb2NrIHNjcmlw dCB3YW50cyB0byBjaGVjayB0byBtYWtlIHN1cmUgdGhlICptYWpvci9taW5vciogbnVtYmVyCi1o YXNuJ3QgYmVlbiByZS11c2VkLCByYXRoZXIgdGhhbiBqdXN0IGNoZWNraW5nIHRoYXQgdGhlICpz cGVjaWZpYwotZGV2aWNlIG5vZGUqIGlzbid0IHJlLXVzZWQuICBUbyBkbyB0aGlzIGl0IGN1cnJl bnRseSB1c2VzCi1waHlzaWNhbC1kZXZpY2U7IGFuZCB0byBkbyB0aGlzICpzYWZlbHkqIGl0IG5l ZWRzIHBoeXNpY2FsLWRldmljZSB0bwotYmUgd3JpdHRlbiB3aXRoIHRoZSBsb2NrIGhlbGQuCi0K LVRoZSBzaW1wbGVzdCBzb2x1dGlvbiBmb3Igc29ydGluZyB0aGlzIG91dCB3b3VsZCBiZSB0byBo YXZlIHRoZSBibG9jawotc2NyaXB0IHVzZSBwaHlzaWNhbC1kZXZpY2UgaWYgaXQncyBwcmVzZW50 LCBidXQgaWYgbm90LCB0byBkaXJlY3RseQotc3RhdCBwaHlzaWNhbC1kZXZpY2UtcGF0aC4gIEJ1 dCB0aGVyZSdzIG5vdCB0aW1lIGJlZm9yZSB0aGUgNC43Ci1yZWxlYXNlIHRvIG1ha2Ugc3VyZSBh bGwgdGhhdCB3b3Jrcy4KK1JhdGhlciB0aGFuIGhhdmUgZGlmZmVyZW50IGludGVyZmFjZXMgZm9y IGRpZmZlcmVudCBvcGVyYXRpbmcgc3lzdGVtcywKK3dlIGp1c3QgaGF2ZSB0aGUgYmxvY2sgc2Ny aXB0IHdyaXRlIHRoZSBwYXRoLCBhbmQgbGlieGwgZG8gdGhlCit0cmFubGF0aW9uIHdoZW4gbmVj ZXNzYXJ5LgogCiBBbm90aGVyIHBvc3NpYmlsaXR5IHdvdWxkIGJlIHRvIGRvIGF3YXkgd2l0aCB0 aGUgYmxvY2sgc2NyaXB0cwogYWx0b2dldGhlciB3aGVuIG5vdCBhY3R1YWxseSBydW5uaW5nIGFu eSBzY3JpcHRzLCBhbmQgZG8gdGhlIGR1cGxpY2F0ZQpkaWZmIC0tZ2l0IGEvdG9vbHMvaG90cGx1 Zy9MaW51eC9ibG9jay1jb21tb24uc2ggYi90b29scy9ob3RwbHVnL0xpbnV4L2Jsb2NrLWNvbW1v bi5zaAppbmRleCAzNTExMGI0Li4yZmNiZjc2IDEwMDY0NAotLS0gYS90b29scy9ob3RwbHVnL0xp bnV4L2Jsb2NrLWNvbW1vbi5zaAorKysgYi90b29scy9ob3RwbHVnL0xpbnV4L2Jsb2NrLWNvbW1v bi5zaApAQCAtNTAsMjMgKzUwLDE0IEBAIGRldmljZV9tYWpvcl9taW5vcigpCiAKIAogIyMKLSMg V3JpdGUgcGh5c2ljYWwtZGV2aWNlID0gTU0sbW0gdG8gdGhlIHN0b3JlLCB3aGVyZSBNTSBhbmQg bW0gYXJlIHRoZSBtYWpvciAKLSMgYW5kIG1pbm9yIG51bWJlcnMgb2YgZGV2aWNlIHJlc3BlY3Rp dmVseS4KKyMgV3JpdGUgcGh5c2ljYWwtZGV2aWNlLXBhdGggPSAiJDEiIHRvIHRoZSBzdG9yZQog IwogIyBAcGFyYW0gZGV2aWNlIFRoZSBkZXZpY2UgZnJvbSB3aGljaCBtYWpvciBhbmQgbWlub3Ig bnVtYmVycyBhcmUgcmVhZCwgd2hpY2gKICMgICAgICAgICAgICAgICB3aWxsIGJlIHdyaXR0ZW4g aW50byB0aGUgc3RvcmUuCiAjCiB3cml0ZV9kZXYoKSB7Ci0gIGxvY2FsIG1tCi0gIAotICBtbT0k KGRldmljZV9tYWpvcl9taW5vciAiJDEiKQotIAotICBpZiBbIC16ICRtbSBdCi0gIHRoZW4KLSAg ICBmYXRhbCAiQmFja2VuZCBkZXZpY2UgZG9lcyBub3QgZXhpc3QiCi0gIGZpCi0gCi0gIHhlbnN0 b3JlX3dyaXRlICIkWEVOQlVTX1BBVEgvcGh5c2ljYWwtZGV2aWNlIiAiJG1tIgorICB4eHggY2hl Y2tfc2hhcmluZyBuZWVkcyB0byBiZSBmaXhlZCBvciB0aGlzIGludHJvZHVjZXMgYSByYWNlCisg ICAgCiAgIHhlbnN0b3JlX3dyaXRlICIkWEVOQlVTX1BBVEgvcGh5c2ljYWwtZGV2aWNlLXBhdGgi ICIkMSIKICAgCiAgIHN1Y2Nlc3MKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX2xpbnV4 LmMgYi90b29scy9saWJ4bC9saWJ4bF9saW51eC5jCmluZGV4IGJlNGFmYzYuLjk1MjZkYmQgMTAw NjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX2xpbnV4LmMKKysrIGIvdG9vbHMvbGlieGwvbGli eGxfbGludXguYwpAQCAtMjMzLDYgKzIzMyw2NSBAQCBlcnJvcjoKICAgICByZXR1cm4gcmM7CiB9 CiAKK3N0YXRpYyBpbnQgZGlza19jb3B5X2Jsb2NrX2RldmljZShsaWJ4bF9fZ2MgKmdjLCBsaWJ4 bF9fZGV2aWNlICpkZXYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxf X2RldmljZV9hY3Rpb24gYWN0aW9uKQoreworICAgIGludCByYzsKKyAgICB4c190cmFuc2FjdGlv bl90IHQgPSAwOworICAgIGNvbnN0IGNoYXIgKmJlX3BhdGggPSBsaWJ4bF9fZGV2aWNlX2JhY2tl bmRfcGF0aChnYywgZGV2KTsKKyAgICBjb25zdCBjaGFyICptYWptaW5fcGF0aCA9IEdDU1BSSU5U RigiJXMvcGh5c2ljYWwtZGV2aWNlIiwgYmVfcGF0aCk7CisgICAgY29uc3QgY2hhciAqcGF0aF9w YXRoID0gR0NTUFJJTlRGKCIlcy9waHlzaWNhbC1kZXZpY2UtcGF0aCIsIGJlX3BhdGgpOworICAg IGludCBtYWpvciwgbWlub3I7CisKKyAgICBpZiAoYWN0aW9uICE9IExJQlhMX19ERVZJQ0VfQUNU SU9OX0FERCkKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICBmb3IgKDs7KSB7CisgICAgICAgIHJj ID0gbGlieGxfX3hzX3RyYW5zYWN0aW9uX3N0YXJ0KGdjLCAmdCk7CisgICAgICAgIGlmIChyYykg Z290byBvdXQ7CisKKyAgICAgICAgY29uc3QgY2hhciAqbWFqbWluOworICAgICAgICByYyA9IGxp YnhsX194c19yZWFkX2NoZWNrZWQoZ2MsdCwgbWFqbWluX3BhdGgsICZtYWptaW4pOworICAgICAg ICBpZiAocmMpIGdvdG8gb3V0OworICAgICAgICBpZiAobWFqbWluKSB7CisgICAgICAgICAgICAv KiBPbGQtc3R5bGUgTGludXgtb25seSBob3RwbHVnIHNjcmlwdCB3cm90ZSBwaHlzaWNhbC1kZXZp Y2UgKi8KKyAgICAgICAgICAgIHJjID0gMDsKKyAgICAgICAgICAgIGdvdG8gb3V0OworICAgICAg ICB9CisKKyAgICAgICAgY29uc3QgY2hhciAqYmRldjsKKyAgICAgICAgcmMgPSBsaWJ4bF9feHNf cmVhZF9jaGVja2VkKGdjLHQsIHBhdGhfcGF0aCwgJmJkZXYpOworICAgICAgICBpZiAocmMpIGdv dG8gb3V0OworICAgICAgICBpZiAoIWJkZXYpIHsKKyAgICAgICAgICAgIExPR0UoRVJST1IsICJu b3RoaW5nIHdyb3RlIHBoeXNpY2FsIGRldmljZSB0byAlcyIsIHBhdGhfcGF0aCk7CisgICAgICAg ICAgICByYyA9IEVSUk9SX0ZBSUw7CisgICAgICAgICAgICBnb3RvIG91dDsKKyAgICAgICAgfQor CisgICAgICAgIGlmIChsaWJ4bF9fZGV2aWNlX3BoeXNkaXNrX21ham9yX21pbm9yKGJkZXYsICZt YWpvciwgJm1pbm9yKTwwKSB7CisgICAgICAgICAgICBMT0coRVJST1IsICJsaWJ4bF9fZGV2aWNl X3BoeXNkaXNrX21ham9yX21pbm9yIGZhaWxlZCAob24gJXMpIiwKKyAgICAgICAgICAgICAgICBi ZGV2KTsKKyAgICAgICAgICAgIHJjID0gRVJST1JfRkFJTDsKKyAgICAgICAgICAgIGdvdG8gb3V0 OworICAgICAgICB9CisKKyAgICAgICAgbWFqbWluID0gR0NTUFJJTlRGKCIleDoleCIsIG1ham9y LCBtaW5vcik7CisgICAgICAgIHJjID0gbGlieGxfX3hzX3dyaXRlX2NoZWNrZWQoZ2MsdCwgbWFq bWluX3BhdGgsIG1ham1pbik7CisgICAgICAgIGlmIChyYykgZ290byBvdXQ7CisKKyAgICAgICAg cmMgPSBsaWJ4bF9feHNfdHJhbnNhY3Rpb25fY29tbWl0KGdjLCAmdCk7CisgICAgICAgIGlmICgh cmMpIGJyZWFrOworICAgICAgICBpZiAocmM8MCkgZ290byBvdXQ7CisgICAgfQorCisgICAgcmV0 dXJuIHJjOworCisgb3V0OgorICAgIGxpYnhsX194c190cmFuc2FjdGlvbl9hYm9ydChnYywgJnQp OworICAgIHJldHVybiByYzsKK30KKworCiBpbnQgbGlieGxfX2dldF9ob3RwbHVnX3NjcmlwdF9p bmZvKGxpYnhsX19nYyAqZ2MsIGxpYnhsX19kZXZpY2UgKmRldiwKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgY2hhciAqKiphcmdzLCBjaGFyICoqKmVudiwKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX2RldmljZV9hY3Rpb24gYWN0aW9uLApAQCAt MjQ1LDkgKzMwNCwxNiBAQCBpbnQgbGlieGxfX2dldF9ob3RwbHVnX3NjcmlwdF9pbmZvKGxpYnhs X19nYyAqZ2MsIGxpYnhsX19kZXZpY2UgKmRldiwKICAgICAgICAgaWYgKG51bV9leGVjICE9IDAp IHsKICAgICAgICAgICAgIExPRyhERUJVRywgIm51bV9leGVjICVkLCBub3QgcnVubmluZyBob3Rw bHVnIHNjcmlwdHMiLCBudW1fZXhlYyk7CiAgICAgICAgICAgICByYyA9IDA7Ci0gICAgICAgICAg ICBnb3RvIG91dDsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIHJjID0gbGlieGxfX2hv dHBsdWdfZGlzayhnYywgZGV2LCBhcmdzLCBlbnYsIGFjdGlvbik7CisgICAgICAgIH0KKyAgICAg ICAgaWYgKCFyYykgeworICAgICAgICAgICAgLyogTm8gbW9yZSBob3RwbHVnIHNjcmlwdHMgdG8g cnVuLiAgQnV0LCB0aGUgaG90cGx1ZworICAgICAgICAgICAgICogc2NyaXB0cyB3cml0ZSBwaHlz aWNhbC1kZXZpY2UtcGF0aCBidXQgd2UgYmxrYmFjayB3YW50cworICAgICAgICAgICAgICogcGh5 c2ljYWwtZGV2aWNlIChtYWpvcjptaW5vcikuICBTbyBub3cgd2UgYWRqdXN0CisgICAgICAgICAg ICAgKiB0aGF0LiAqLworICAgICAgICAgICAgcmMgPSBkaXNrX2NvcHlfYmxvY2tfZGV2aWNlKGdj LCBkZXYsIGFjdGlvbik7CiAgICAgICAgIH0KLSAgICAgICAgcmMgPSBsaWJ4bF9faG90cGx1Z19k aXNrKGdjLCBkZXYsIGFyZ3MsIGVudiwgYWN0aW9uKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2Fz ZSBMSUJYTF9fREVWSUNFX0tJTkRfVklGOgogICAgICAgICAvKgotLSAKMi4xLjQKCgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGlu ZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW4ub3JnL3hlbi1k ZXZlbAo=