From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.3 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9E673C34031 for ; Thu, 20 Feb 2020 07:28:01 +0000 (UTC) Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 67D8624654 for ; Thu, 20 Feb 2020 07:28:01 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 67D8624654 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=suse.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1j4gFD-0006HY-Ow; Thu, 20 Feb 2020 07:27:35 +0000 Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1j4gFC-0006HT-M5 for xen-devel@lists.xenproject.org; Thu, 20 Feb 2020 07:27:34 +0000 X-Inumbo-ID: 757d8220-53b2-11ea-84e0-12813bfff9fa Received: from mx2.suse.de (unknown [195.135.220.15]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id 757d8220-53b2-11ea-84e0-12813bfff9fa; Thu, 20 Feb 2020 07:27:33 +0000 (UTC) X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (unknown [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id 16622AB3D; Thu, 20 Feb 2020 07:27:32 +0000 (UTC) To: Jan Beulich References: <20200219081126.29534-1-jgross@suse.com> <20200219081126.29534-4-jgross@suse.com> <1e04b723-58d2-cb2b-6571-3e041eecf6cd@suse.com> From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= Message-ID: <17d40116-cb35-74d3-f98e-fa323dddfa89@suse.com> Date: Thu, 20 Feb 2020 08:27:28 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.4.1 MIME-Version: 1.0 In-Reply-To: <1e04b723-58d2-cb2b-6571-3e041eecf6cd@suse.com> Content-Language: en-US Subject: Re: [Xen-devel] [PATCH v5 3/8] xen: add basic hypervisor filesystem support X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: Stefano Stabellini , Julien Grall , Wei Liu , Konrad Rzeszutek Wilk , George Dunlap , Andrew Cooper , Ian Jackson , xen-devel@lists.xenproject.org, Daniel De Graaf , Volodymyr Babchuk , =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" T24gMTkuMDIuMjAgMTY6NDksIEphbiBCZXVsaWNoIHdyb3RlOgo+IE9uIDE5LjAyLjIwMjAgMDk6 MTEsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6Cj4+ICtzdGF0aWMgaW50IGh5cGZzX2dldF9wYXRoX3Vz ZXIoY2hhciAqYnVmLAo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhFTl9HVUVT VF9IQU5ETEVfUEFSQU0oY29uc3RfY2hhcikgdWFkZHIsCj4+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgdW5zaWduZWQgbG9uZyB1bGVuKQo+PiArewo+PiArICAgIGlmICggdWxlbiA+ IFhFTl9IWVBGU19NQVhfUEFUSExFTiApCj4+ICsgICAgICAgIHJldHVybiAtRUlOVkFMOwo+PiAr Cj4+ICsgICAgaWYgKCBjb3B5X2Zyb21fZ3Vlc3QoYnVmLCB1YWRkciwgdWxlbikgKQo+PiArICAg ICAgICByZXR1cm4gLUVGQVVMVDsKPj4gKwo+PiArICAgIGlmICggYnVmW3VsZW4gLSAxXSApCj4+ ICsgICAgICAgIHJldHVybiAtRUlOVkFMOwo+IAo+IEkgKHN0aWxsLCBidXQgSSBtYXkgbm90IGhh dmUgc2FpZCBzbyBiZWZvcmUpIHdvbmRlciB3aGV0aGVyCj4gbWVtY2hyKGJ1ZiwgMCwgdWxlbikg IT0gYnVmICsgdWxlbiAtIDEgd291bGRuJ3QgYmUgYmV0dGVyIGhlcmUuCgpJIGxpa2UgdGhlIGlk ZWEuCgo+IAo+PiAraW50IGh5cGZzX3dyaXRlX2xlYWYoc3RydWN0IGh5cGZzX2VudHJ5X2xlYWYg KmxlYWYsCj4+ICsgICAgICAgICAgICAgICAgICAgICBYRU5fR1VFU1RfSEFORExFX1BBUkFNKHZv aWQpIHVhZGRyLCB1bnNpZ25lZCBsb25nIHVsZW4pCj4+ICt7Cj4+ICsgICAgY2hhciAqYnVmOwo+ PiArICAgIGludCByZXQ7Cj4+ICsKPj4gKyAgICBpZiAoIHVsZW4gPiBsZWFmLT5lLnNpemUgKQo+ PiArICAgICAgICByZXR1cm4gLUVOT1NQQzsKPiAKPiBPa2F5LCB0aGlzIG1ha2VzIHN1cmUgeW91 IGRvbid0IG92ZXJydW4gdGhlIGludGVybmFsIGJ1ZmZlci4KPiBXaGF0IGFib3V0IHRoZSBvcHBv c2l0ZSBtaXNtYXRjaCAodWxlbiA8IGxlYWYtPmUuc2l6ZSk/IFRoZQo+IHJlc3VsdCwgZXhjZXB0 IHBlcmhhcHMgZm9yIChudWwtdGVybWluYXRlZCkgc3RyaW5ncywgaXMgbm90Cj4gZ29pbmcgdG8g YmUgdmVyeSB1c2VmdWwsIGF0IHRoZSB2ZXJ5IGxlYXN0LgoKWWVzLCB3aWxsIHRpZ2h0ZW4gdGhl IHRlc3QuCgo+IAo+PiArICAgIGJ1ZiA9IHhtYWxsb2NfYXJyYXkoY2hhciwgdWxlbik7Cj4+ICsg ICAgaWYgKCAhYnVmICkKPj4gKyAgICAgICAgcmV0dXJuIC1FTk9NRU07Cj4+ICsKPj4gKyAgICBy ZXQgPSAtRUZBVUxUOwo+PiArICAgIGlmICggY29weV9mcm9tX2d1ZXN0KGJ1ZiwgdWFkZHIsIHVs ZW4pICkKPj4gKyAgICAgICAgZ290byBvdXQ7Cj4+ICsKPj4gKyAgICByZXQgPSAtRUlOVkFMOwo+ PiArICAgIGlmICggbGVhZi0+ZS50eXBlID09IFhFTl9IWVBGU19UWVBFX1NUUklORyAmJiBidWZb dWxlbl0gKQo+IAo+IGJ1Zlt1bGVuIC0gMV0gSSBndWVzcz8gT3IsIGFzIGFib3ZlLCBtZW1jaHIo KSBhZ2Fpbj8KCkknbGwgZ28gdGhlIG1lbWNocigpIHdheS4KCj4gCj4+ICtpbnQgaHlwZnNfd3Jp dGVfYm9vbChzdHJ1Y3QgaHlwZnNfZW50cnlfbGVhZiAqbGVhZiwKPj4gKyAgICAgICAgICAgICAg ICAgICAgIFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0odm9pZCkgdWFkZHIsIHVuc2lnbmVkIGxvbmcg dWxlbikKPj4gK3sKPj4gKyAgICB1bmlvbiB7Cj4+ICsgICAgICAgIGNoYXIgYnVmWzhdOwo+PiAr ICAgICAgICB1aW50OF90IHU4Owo+PiArICAgICAgICB1aW50MTZfdCB1MTY7Cj4+ICsgICAgICAg IHVpbnQzMl90IHUzMjsKPj4gKyAgICAgICAgdWludDY0X3QgdTY0Owo+PiArICAgIH0gdTsKPj4g Kwo+PiArICAgIEFTU0VSVChsZWFmLT5lLnR5cGUgPT0gWEVOX0hZUEZTX1RZUEVfVUlOVCAmJiBs ZWFmLT5lLnNpemUgPD0gOCk7Cj4+ICsKPj4gKyAgICBpZiAoIHVsZW4gIT0gbGVhZi0+ZS5zaXpl ICkKPj4gKyAgICAgICAgcmV0dXJuIC1FRE9NOwo+PiArCj4+ICsgICAgaWYgKCBjb3B5X2Zyb21f Z3Vlc3QodS5idWYsIHVhZGRyLCB1bGVuKSApCj4+ICsgICAgICAgIHJldHVybiAtRUZBVUxUOwo+ PiArCj4+ICsgICAgc3dpdGNoICggbGVhZi0+ZS5zaXplICkKPj4gKyAgICB7Cj4+ICsgICAgY2Fz ZSAxOgo+PiArICAgICAgICAqKHVpbnQ4X3QgKilsZWFmLT53cml0ZV9wdHIgPSAhIXUudTg7Cj4+ ICsgICAgICAgIGJyZWFrOwo+PiArICAgIGNhc2UgMjoKPj4gKyAgICAgICAgKih1aW50MTZfdCAq KWxlYWYtPndyaXRlX3B0ciA9ICEhdS51MTY7Cj4+ICsgICAgICAgIGJyZWFrOwo+PiArICAgIGNh c2UgNDoKPj4gKyAgICAgICAgKih1aW50MzJfdCAqKWxlYWYtPndyaXRlX3B0ciA9ICEhdS51MzI7 Cj4+ICsgICAgICAgIGJyZWFrOwo+PiArICAgIGNhc2UgODoKPj4gKyAgICAgICAgKih1aW50NjRf dCAqKWxlYWYtPndyaXRlX3B0ciA9ICEhdS51NjQ7Cj4+ICsgICAgICAgIGJyZWFrOwo+PiArICAg IH0KPiAKPiBMb29raW5nIGF0IHRoaXMgYWdhaW4sIGlzIHRoZXJlIHJlYWxseSBhIG5lZWQgZm9y IHVpbnQ2NF90IHN1cHBvcnQKPiBoZXJlPyBJLmUuIGNhbid0IHlvdSBjYXAgYXQgdW5zaWduZWQg bG9uZyAob3IgZXZlbiB1bnNpZ25lZCBpbnQpLAo+IGFuZCBwZXJoYXBzIGFkZGl0aW9uYWxseSBh dm9pZCB1c2Ugb2YgZml4ZWQgd2lkdGggdHlwZXMgaGVyZQo+IGFsdG9nZXRoZXIgKHNvbWUgdHJp Y2tlcnkgbWF5IGJlIG5lZWRlZCBmb3IgMzItYml0J3MKPiBzaXplb2YobG9uZykgPT0gc2l6ZW9m KGludCkpPwoKVGhlIHJlYXNvbiBmb3IgZGlmZmVyZW50IGxlbmd0aHMgZm9yIGJvb2wgaXMgdGhh dCBib29sZWFuX3BhcmFtKCkgaXMKZmFsbGluZyBiYWNrIHRvIHRoZSBnZW5lcmFsIGludGVnZXIg cGFyYW0gaGFuZGxpbmcgd2l0aCBhbGwgdGhlIG5hdHVyYWwKaW50ZWdlciBzaXplcy4KCkkgdGhp bmsgSSdsbCBtb2RpZnkgdGhlIG1hY3JvcyBpbiBwYXJhbS5oIHRvIGFjY2VwdCBvbmx5IHNpemVv Zihib29sKQp2YXJpYWJsZXMgZm9yIGJvb2xlYW4gcGFyYW1ldGVycyBhbmQgdGhlbiBJIGNhbiBz d2l0Y2ggdG8gdGhpcyBmaXhlZApzaXplIGhlcmUuCgo+IAo+PiAtLS0gL2Rldi9udWxsCj4+ICsr KyBiL3hlbi9pbmNsdWRlL3B1YmxpYy9oeXBmcy5oCj4+IEBAIC0wLDAgKzEsMTI3IEBACj4+ICsv KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqCj4+ICsgKiBYZW4gSHlwZXJ2aXNvciBGaWxlc3lzdGVtCj4+ ICsgKgo+PiArICogQ29weXJpZ2h0IChjKSAyMDE5LCBTVVNFIFNvZnR3YXJlIFNvbHV0aW9ucyBH ZXJtYW55IEdtYkgKPj4gKyAqCj4+ICsgKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBm cmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5Cj4+ICsgKiBvZiB0 aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29m dHdhcmUiKSwgdG8KPj4gKyAqIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rp b24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlCj4+ICsgKiByaWdodHMgdG8gdXNl LCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBh bmQvb3IKPj4gKyAqIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBw ZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzCj4+ICsgKiBmdXJuaXNoZWQgdG8gZG8gc28s IHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgo+PiArICoKPj4gKyAqIFRoZSBh Ym92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJl IGluY2x1ZGVkIGluCj4+ICsgKiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9m IHRoZSBTb2Z0d2FyZS4KPj4gKyAqCj4+ICsgKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFT IElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgo+PiArICogSU1Q TElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJD SEFOVEFCSUxJVFksCj4+ICsgKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQg Tk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUKPj4gKyAqIEFVVEhPUlMgT1Ig Q09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RI RVIKPj4gKyAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRP UlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HCj4+ICsgKiBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVD VElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSCj4+ICsgKiBERUFMSU5H UyBJTiBUSEUgU09GVFdBUkUuCj4+ICsgKgo+PiArICovCj4+ICsKPj4gKyNpZm5kZWYgX19YRU5f UFVCTElDX0hZUEZTX0hfXwo+PiArI2RlZmluZSBfX1hFTl9QVUJMSUNfSFlQRlNfSF9fCj4+ICsK Pj4gKyNpbmNsdWRlICJ4ZW4uaCIKPj4gKwo+PiArLyoKPj4gKyAqIERlZmluaXRpb25zIGZvciB0 aGUgX19IWVBFUlZJU09SX2h5cGZzX29wIGh5cGVyY2FsbC4KPj4gKyAqLwo+PiArCj4+ICsvKiBI aWdoZXN0IHZlcnNpb24gbnVtYmVyIG9mIHRoZSBoeXBmcyBpbnRlcmZhY2UgY3VycmVudGx5IGRl ZmluZWQuICovCj4+ICsjZGVmaW5lIFhFTl9IWVBGU19WRVJTSU9OICAgICAgMQo+PiArCj4+ICsv KiBNYXhpbXVtIGxlbmd0aCBvZiBhIHBhdGggaW4gdGhlIGZpbGVzeXN0ZW0uICovCj4+ICsjZGVm aW5lIFhFTl9IWVBGU19NQVhfUEFUSExFTiAxMDI0Cj4gCj4gSSB0aGluayBpdCB3b3VsZCBiZSBu aWNlIGlmIHRoZSBibGFuayBwYWRkaW5nIGhlcmUgbWF0Y2hlZCB0aGF0Cj4gb2YgdGhlIG90aGVy ICNkZWZpbmUtcyB1cCBhbmQgZG93biBmcm9tIGhlcmUuCgpPa2F5LgoKPiAKPj4gKy8qCj4+ICsg KiBYRU5fSFlQRlNfT1BfZ2V0X3ZlcnNpb24KPj4gKyAqCj4+ICsgKiBSZWFkIGhpZ2hlc3QgaW50 ZXJmYWNlIHZlcnNpb24gc3VwcG9ydGVkIGJ5IHRoZSBoeXBlcnZpc29yLgo+PiArICoKPj4gKyAq IFBvc3NpYmxlIHJldHVybiB2YWx1ZXM6Cj4+ICsgKiA+MDogaGlnaGVzdCBzdXBwb3J0ZWQgaW50 ZXJmYWNlIHZlcnNpb24KPj4gKyAqIDwwOiBuZWdhdGl2ZSBYZW4gZXJybm8gdmFsdWUKPj4gKyAq Lwo+PiArI2RlZmluZSBYRU5fSFlQRlNfT1BfZ2V0X3ZlcnNpb24gICAgIDAKPj4gKwo+PiArLyoK Pj4gKyAqIFhFTl9IWVBGU19PUF9yZWFkCj4+ICsgKgo+PiArICogUmVhZCBhIGZpbGVzeXN0ZW0g ZW50cnkuCj4+ICsgKgo+PiArICogUmV0dXJucyB0aGUgZGlyZW50cnkgYW5kIGNvbnRlbnRzIG9m IGFuIGVudHJ5IGluIHRoZSBidWZmZXIgc3VwcGxpZWQgYnkgdGhlCj4+ICsgKiBjYWxsZXIgKHN0 cnVjdCB4ZW5faHlwZnNfZGlyZW50cnkgd2l0aCB0aGUgY29udGVudHMgZm9sbG93aW5nIGRpcmVj dGx5Cj4+ICsgKiBhZnRlciBpdCkuCj4+ICsgKiBUaGUgZGF0YSBidWZmZXIgbXVzdCBiZSBhdCBs ZWFzdCB0aGUgc2l6ZSBvZiB0aGUgZGlyZW50cnkgcmV0dXJuZWQgaW4gb3JkZXIKPj4gKyAqIHRv IGhhdmUgc3VjY2Vzcy4gSWYgdGhlIGRhdGEgYnVmZmVyIHdhcyBub3QgbGFyZ2UgZW5vdWdoIGZv ciBhbGwgdGhlIGRhdGEKPiAKPiBMb29rcyBsaWtlIHRoZSAidG8gaGF2ZSBzdWNjZXNzIiBpcyBz dGFsZSBub3c/CgpZZXMuCgo+IAo+PiArICogLUVOT0JVRlMgYW5kIG5vIGVudHJ5IGRhdGEgaXMg cmV0dXJuZWQsIGJ1dCB0aGUgZGlyZW50cnkgd2lsbCBjb250YWluIHRoZQo+PiArICogbmVlZGVk IHNpemUgZm9yIHRoZSByZXR1cm5lZCBkYXRhLgo+PiArICogVGhlIGZvcm1hdCBvZiB0aGUgY29u dGVudHMgaXMgYWNjb3JkaW5nIHRvIGl0cyBlbnRyeSB0eXBlIGFuZCBlbmNvZGluZy4KPj4gKyAq IFRoZSBjb250ZW50cyBvZiBhIGRpcmVjdG9yeSBhcmUgbXVsdGlwbGUgc3RydWN0IHhlbl9oeXBm c19kaXJsaXN0ZW50cnkKPj4gKyAqIGl0ZW1zLgo+PiArICoKPj4gKyAqIGFyZzE6IFhFTl9HVUVT VF9IQU5ETEUocGF0aCBuYW1lKQo+PiArICogYXJnMjogbGVuZ3RoIG9mIHBhdGggbmFtZSAoaW5j bHVkaW5nIHRyYWlsaW5nIHplcm8gYnl0ZSkKPj4gKyAqIGFyZzM6IFhFTl9HVUVTVF9IQU5ETEUo ZGF0YSBidWZmZXIgd3JpdHRlbiBieSBoeXBlcnZpc29yKQo+PiArICogYXJnNDogZGF0YSBidWZm ZXIgc2l6ZQo+PiArICoKPj4gKyAqIFBvc3NpYmxlIHJldHVybiB2YWx1ZXM6Cj4+ICsgKiAwOiBz dWNjZXNzIChhdCBsZWFzdCB0aGUgZGlyZW50cnkgd2FzIHJldHVybmVkKQo+IAo+IEFzIGlzIHRo aXM/CgpZZXMuCgo+IAo+PiArc3RhdGljIGlubGluZSB2b2lkIGh5cGZzX3N0cmluZ19zZXQoc3Ry dWN0IGh5cGZzX2VudHJ5X2xlYWYgKmxlYWYsCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBjb25zdCBjaGFyICpzdHIpCj4+ICt7Cj4+ICsgICAgbGVhZi0+Y29udGVudCA9 IHN0cjsKPj4gKyAgICBsZWFmLT5lLnNpemUgPSBzdHJsZW4oc3RyKSArIDE7Cj4+ICt9Cj4gCj4g VGhpcyBsb29rcyBhdCBsZWFzdCByaXNreSB0byBtZSwgYXMgdGhlIGZ1bmN0aW9uIG5hbWUgZG9l cyBpbgo+IG5vIHdheSBpbmRpY2F0ZSB0aGF0IG5vIGNvcHkgb2YgdGhlIHN0cmluZyB3aWxsIGJl IG1hZGUuIEhlbmNlCj4gaXRzIHVzZSB3aXRoIGUuZy4gLmluaXQucm9kYXRhIGNvbnRlbnRzIG9y IGEgc3RhY2sgdmFyaWFibGUKPiB3aWxsIG5vdCBwcm9kdWNlIHRoZSBpbnRlbmRlZCByZXN1bHQu CgpPa2F5LCB3aGF0IGFib3V0IG5hbWluZyBpdCBoeXBmc19zdHJpbmdfc2V0X3JlZmVyZW5jZSgp ID8KCj4gCj4+ICsjZGVmaW5lIEhZUEZTX1VJTlRfSU5JVCh2YXIsIG5hbSwgY29udHZhcikgICAg ICAgIFwKPj4gKyAgICBzdHJ1Y3QgaHlwZnNfZW50cnlfbGVhZiBfX3JlYWRfbW9zdGx5IHZhciA9 IHsgXAo+PiArICAgICAgICAuZS50eXBlID0gWEVOX0hZUEZTX1RZUEVfVUlOVCwgICAgICAgICAg ICBcCj4+ICsgICAgICAgIC5lLmVuY29kaW5nID0gWEVOX0hZUEZTX0VOQ19QTEFJTiwgICAgICAg IFwKPj4gKyAgICAgICAgLmUubmFtZSA9IG5hbSwgICAgICAgICAgICAgICAgICAgICAgICAgICAg XAo+PiArICAgICAgICAuZS5zaXplID0gc2l6ZW9mKGNvbnR2YXIpLCAgICAgICAgICAgICAgICBc Cj4+ICsgICAgICAgIC5lLnJlYWQgPSBoeXBmc19yZWFkX2xlYWYsICAgICAgICAgICAgICAgIFwK Pj4gKyAgICAgICAgLmNvbnRlbnQgPSAmY29udHZhciwgICAgICAgICAgICAgICAgICAgICAgXAo+ PiArICAgIH0KPj4gKwo+PiArI2RlZmluZSBIWVBGU19JTlRfSU5JVCh2YXIsIG5hbSwgY29udHZh cikgICAgICAgICBcCj4+ICsgICAgc3RydWN0IGh5cGZzX2VudHJ5X2xlYWYgX19yZWFkX21vc3Rs eSB2YXIgPSB7IFwKPj4gKyAgICAgICAgLmUudHlwZSA9IFhFTl9IWVBGU19UWVBFX0lOVCwgICAg ICAgICAgICAgXAo+PiArICAgICAgICAuZS5lbmNvZGluZyA9IFhFTl9IWVBGU19FTkNfUExBSU4s ICAgICAgICBcCj4+ICsgICAgICAgIC5lLm5hbWUgPSBuYW0sICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFwKPj4gKyAgICAgICAgLmUuc2l6ZSA9IHNpemVvZihjb250dmFyKSwgICAgICAgICAg ICAgICAgXAo+PiArICAgICAgICAuZS5yZWFkID0gaHlwZnNfcmVhZF9sZWFmLCAgICAgICAgICAg ICAgICBcCj4+ICsgICAgICAgIC5jb250ZW50ID0gJmNvbnR2YXIsICAgICAgICAgICAgICAgICAg ICAgIFwKPj4gKyAgICB9Cj4+ICsKPj4gKyNkZWZpbmUgSFlQRlNfQk9PTF9JTklUKHZhciwgbmFt LCBjb250dmFyKSAgICAgICAgXAo+PiArICAgIHN0cnVjdCBoeXBmc19lbnRyeV9sZWFmIF9fcmVh ZF9tb3N0bHkgdmFyID0geyBcCj4+ICsgICAgICAgIC5lLnR5cGUgPSBYRU5fSFlQRlNfVFlQRV9C T09MLCAgICAgICAgICAgIFwKPj4gKyAgICAgICAgLmUuZW5jb2RpbmcgPSBYRU5fSFlQRlNfRU5D X1BMQUlOLCAgICAgICAgXAo+PiArICAgICAgICAuZS5uYW1lID0gbmFtLCAgICAgICAgICAgICAg ICAgICAgICAgICAgICBcCj4+ICsgICAgICAgIC5lLnNpemUgPSBzaXplb2YoY29udHZhciksICAg ICAgICAgICAgICAgIFwKPj4gKyAgICAgICAgLmUucmVhZCA9IGh5cGZzX3JlYWRfbGVhZiwgICAg ICAgICAgICAgICAgXAo+PiArICAgICAgICAuY29udGVudCA9ICZjb250dmFyLCAgICAgICAgICAg ICAgICAgICAgICBcCj4+ICsgICAgfQo+IAo+IFF1aXRlIGEgbG90IG9mIHJlZHVuZGFuY3kgZm9y IGp1c3QgYSBzaW5nbGUgbGluZSBvZiBkaWZmZXJlbmNlCj4gYmV0d2VlbiB0aGUgaW5zdGFuY2Uu IFBlcmhhcHMgaGF2ZSBhbm90aGVyIGhlbHBlciBtYWNybz8KCkZpbmUgd2l0aCBtZS4KCj4gCj4+ IC0tLSBhL3hlbi9pbmNsdWRlL3hsYXQubHN0Cj4+ICsrKyBiL3hlbi9pbmNsdWRlL3hsYXQubHN0 Cj4+IEBAIC04Niw2ICs4Niw4IEBACj4+ICAgPwl2Y3B1X2h2bV9jb250ZXh0CQlodm0vaHZtX3Zj cHUuaAo+PiAgID8JdmNwdV9odm1feDg2XzMyCQkJaHZtL2h2bV92Y3B1LmgKPj4gICA/CXZjcHVf aHZtX3g4Nl82NAkJCWh2bS9odm1fdmNwdS5oCj4+ICs/CXhlbl9oeXBmc19kaXJlbnRyeQkJaHlw ZnMuaAo+PiArPwl4ZW5faHlwZnNfZGlybGlzdGVudHJ5CQloeXBmcy5oCj4gCj4gV2hlcmUgYXJl IHRoZSBjaGVja2luZyBtYWNyb3MgdXNlZCB0aGF0IHRoZXNlIHByb2R1Y2U/CgpBaCwgc29ycnku IFdpbGwgYWRkIHRoZW0uCgo+IAo+PiAtLS0gYS94ZW4veHNtL2ZsYXNrL3BvbGljeS9hY2Nlc3Nf dmVjdG9ycwo+PiArKysgYi94ZW4veHNtL2ZsYXNrL3BvbGljeS9hY2Nlc3NfdmVjdG9ycwo+PiBA QCAtNjcsNiArNjcsOCBAQCBjbGFzcyB4ZW4KPj4gICAgICAgbG9ja3Byb2YKPj4gICAjIFhFTl9T WVNDVExfY3B1cG9vbF9vcAo+PiAgICAgICBjcHVwb29sX29wCj4+ICsjIGh5cGZzIGh5cGVyY2Fs bAo+PiArICAgIGh5cGZzX29wCj4+ICAgIyBYRU5fU1lTQ1RMX3NjaGVkdWxlcl9vcCB3aXRoIFhF Tl9ET01DVExfU0NIRURPUF9nZXRpbmZvLCBYRU5fU1lTQ1RMX3NjaGVkX2lkLCBYRU5fRE9NQ1RM X1NDSEVET1BfZ2V0dmNwdWluZm8KPj4gICAgICAgZ2V0c2NoZWR1bGVyCj4+ICAgIyBYRU5fU1lT Q1RMX3NjaGVkdWxlcl9vcCB3aXRoIFhFTl9ET01DVExfU0NIRURPUF9wdXRpbmZvLCBYRU5fRE9N Q1RMX1NDSEVET1BfcHV0dmNwdWluZm8KPiAKPiBJIG1heSBub3Qga25vdyBlbm91Z2ggYWJvdXQg WFNNIHRvIHNlZSB3aHkgeW91IGNhbiBnZXQgYXdheSB3aXRob3V0Cj4gYWxzbyBtb2RpZnlpbmcg Zmxhc2svaG9va3MuYy4KCkhtbSwgc3RyYW5nZSwgSSB3YXMgc3VyZSB0byBoYXZlIGFkZGVkIGl0 LgoKCkp1ZXJnZW4KCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9y ZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs