From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julien Grall Subject: Re: [PATCH] xen/arm: introduce vwfi parameter Date: Tue, 21 Feb 2017 12:30:11 +0000 Message-ID: <14575011-0042-8940-c19f-2482136ff91c@foss.arm.com> References: <1487286292-29502-1-git-send-email-sstabellini@kernel.org> <484f2a39-1322-f40e-de01-97746e5de280@arm.com> <1487618436.6732.230.camel@citrix.com> <1845466e-c6a3-bcb9-0813-80ecdf267f03@arm.com> <1487631215.6732.266.camel@citrix.com> <06f20feb-0e9e-c757-b245-ebb55b422c67@arm.com> <1487668158.6732.310.camel@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cg9aD-0001sN-Fw for xen-devel@lists.xenproject.org; Tue, 21 Feb 2017 12:30:17 +0000 In-Reply-To: <1487668158.6732.310.camel@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Dario Faggioli , Stefano Stabellini Cc: edgar.iglesias@xilinx.com, george.dunlap@eu.citrix.com, nd@arm.com, Punit Agrawal , xen-devel@lists.xenproject.org List-Id: xen-devel@lists.xenproject.org SGkgRGFyaW8sCgpPbiAyMS8wMi8yMDE3IDA5OjA5LCBEYXJpbyBGYWdnaW9saSB3cm90ZToKPiBP biBUdWUsIDIwMTctMDItMjEgYXQgMDc6NTkgKzAwMDAsIEp1bGllbiBHcmFsbCB3cm90ZToKPj4g T24gMjAvMDIvMjAxNyAyMjo1MywgRGFyaW8gRmFnZ2lvbGkgd3JvdGU6Cj4+PiBGb3IgaW5zdGFu Y2UsIGFzIHlvdSBzYXksIGV4ZWN1dGluZyBhIFdGSSBmcm9tIGEgZ3Vlc3QgZGlyZWN0bHkgb24K Pj4+IGhhcmR3YXJlLCBvbmx5IG1ha2VzIHNlbnNlIGlmIHdlIGhhdmUgMToxIHN0YXRpYyBwaW5u aW5nLiBXaGljaAo+Pj4gbWVhbnMKPj4+IGl0IGNhbid0IGp1c3QgYmUgZG9uZSBieSBkZWZhdWx0 LCBvciB3aXRoIGEgYm9vdCBwYXJhbWV0ZXIsIGJlY2F1c2UKPj4+IHdlCj4+PiBuZWVkIHRvIGNo ZWNrIGFuZCBlbmZvcmNlIHRoYXQgdGhlcmUncyBvbmx5IDE6MSBwaW5uaW5nIGFyb3VuZC4KPj4K Pj4gSSBhZ3JlZSBpdCBjYW5ub3QgYmUgZG9uZSBieSBkZWZhdWx0LiBTaW1pbGFybHksIHRoZSBw b2xsIG1vZGUgY2Fubm90Cj4+IGJlCj4+IGRvbmUgYnkgZGVmYXVsdCBpbiBwbGF0Zm9ybSBub3Ig YnkgZG9tYWluIGJlY2F1c2UgeW91IG5lZWQgdG8ga25vdwo+PiB0aGF0Cj4+IGFsbCB2Q1BVcyB3 aWxsIGJlIGluIHBvbGxpbmcgbW9kZS4KPj4KPiBObywgdGhhdCdzIHRoZSBiaWcgZGlmZmVyZW5j ZS4gUG9sbGluZyAod2hpY2gsIGFzIGZhciBhcyB0aGlzIHBhdGNoCj4gZ29lcywgaXMgeWllbGRp bmcsIGluIHRoaXMgY2FzZSkgaXMgZ2VuZXJpYyBpbiB0aGUgc2Vuc2UgdGhhdCwgbm8KPiBtYXR0 ZXIgdGhlIHBpbm5lZCBvciBub24tcGlubmVkIHN0YXRlLCB0aGluZ3Mgd29yay4gUG93ZXIgaXMg d2FzdGVkLAo+IGJ1dCBub3RoaW5nIGJyZWFrcy4KPgo+IE5vdCB0cmFwcGluZyBXRiogaXMgbm90 IGdlbmVyaWMgaW4gdGhlIHNlbnNlIHRoYXQsIGlmIHlvdSBkbyBpbiB0aGUKPiBwaW5uZWQgY2Fz ZSwgaSAocHJvYmFibHkpIHdvcmtzLiBJZiB5b3UgbGlmdCB0aGUgcGlubmluZywgYnV0IGxlYXZl IHRoZQo+IGRpcmVjdCBXRiogZXhlY3V0aW9uIGluIHBsYWNlLCBldmVyeXRoaW5nIGJyZWFrcy4K Pgo+IFRoaXMgaXMgYWxsIEknbSBzYXlpbmc6IHRoYXQgaWYgeW91IHNheSwgbm90IHRyYXBwaW5n IGlzIGFuIGFsdGVybmF0aXZlCj4gdG8gdGhpcyBwYXRjaCwgd2VsbCwgaXQgaXMgbm90LiBOb3Qg dHJhcHBpbmcgX3BsdXNfIG1lYXN1cmVzIGZvcgo+IHByZXZlbnRpbmcgdGhpbmdzIHRvIGJyZWFr LCBpcyBhbiBhbHRlcm5hdGl2ZS4KPgo+IEFtIEkgbml0cGlja2luZz8gUGVyaGFwcy4uLiBJbiB3 aGljaCBjYXNlLCBzb3JyeS4gOi1QCgpJIGFtIHNvcnJ5IGJ1dCBJIHN0aWxsIGRvbid0IHVuZGVy c3RhbmQgd2h5IHlvdSBzYXkgdGhpbmdzIHdpbGwgYnJlYWsgaWYgCnlvdSBkb24ndCB0cmFwIFdG SS9XRkUuIENhbiB5b3UgZGV0YWlsIGl0PwoKPgo+PiBCdXQgYXMgSSBzYWlkLCBpZiB2Q1BVcyBh cmUgbm90IHBpbm5lZCB0aGlzIHBhdGNoIGFzIHZlcnkgbGl0dGxlCj4+IGFkdmFudGFnZSBiZWNh dXNlIHlvdSBtYXkgY29udGV4dCBzd2l0Y2ggYmV0d2VlbiB0aGVtIHdoZW4geWllbGRpbmcuCj4+ Cj4gU21hbGxlciBhZHZhbnRhZ2UsIHN1cmUuIEhvdyBtdWNoIHNtYWxsZXIsIGhhcmQgdG8gdGVs bC4gVGhhdCBpcyB0aGUKPiByZWFzb24gd2h5IEkgc2VlIHNvbWUgcG90ZW50aWFsIHZhbHVlIGlu IHRoaXMgcGF0Y2gsIGVzcGVjaWFsbHkgaWYKPiBjb252ZXJ0ZWQgdG8gZG9pbmcgaXRzIHRoaW5n IHBlci1kb21haW4sIGFzIEdlb3JnZSBzdWdnZXN0ZWQuIE9uZSBjYW4KPiB0cnkgKGFuZCwgd2hl biB0aGF0IGhhcHBlbnMsIHdlJ2xsIHNob3cgYSBiaWcgV0FSTklORyBhYm91dCB3YXN0aW5nCj4g cG93ZXIgYW4gaGVhdGluZyB1cCB0aGUgQ1BVcyEpLCBhbmQgZGVjaWRlIHdoZXRoZXIgdGhlIHJl c3VsdCBpcyBnb29kCj4gb3Igbm90IGZvciB0aGUgc3BlY2lmaWMgdXNlIGNhc2UuCgpJIGV2ZW4g dGhpbmsgdGhlcmUgd2lsbCBiZSBubyBhZHZhbnRhZ2UgYXQgYWxsIGluIG11bHRpcGxlIHZDUFVz IGNhc2UgCmJlY2F1c2UgSSB3b3VsZCBub3QgYmUgc3VycHJpc2VkIHRoYXQgdGhlIG92ZXJoZWFk IG9mIHZDUFUgYmxvY2sgaXMgCmJlY2F1c2Ugd2Ugc3dpdGNoIGJhY2sgYW5kIGZvcnRoIHRvIHRo ZSBpZGxlIHZDUFUgcmVxdWlyaW5nIHRvIApzYXZlL3Jlc3RvcmUgdGhlIGNvbnRleHQgb2YgdGhl IHNhbWUgdkNQVS4KCkFueXdheSwgaGF2aW5nIG51bWJlciBoZXJlIHdvdWxkIGhlbHAgdG8gY29u ZmlybS4KCk15IGNvbmNlcm4gb2YgcGVyLWRvbWFpbiBzb2x1dGlvbiBvciBldmVuIHN5c3RlbSB3 aWRlIGlzIHlvdSBtYXkgaGF2ZSBhbiAKaWRsZSB2Q1BVIHdoZXJlIHlvdSBkb24ndCBleHBlY3Qg aW50ZXJydXB0IHRvIGNvbWUuIEluIHRoaXMgY2FzZSwgeW91ciAKdkNQVSB3aWxsIHdhc3RlIHBv d2VyIGFuZCBhbiB1bm1vZGlmaWVkIGFwcCAoZS5nIG5vbi1YZW4gYXdhcmUpIGFzIHRoZXJlIApp cyBubyBzb2x1dGlvbiB0byBzdXNwZW5kIHRoZSB2Q1BVIHRvZGF5IG9uIFhlbi4KCj4KPj4+IElz IGl0IHBvc3NpYmxlIHRvIGRlY2lkZSB3aGV0aGVyIHRvIHRyYXAgYW5kIGVtdWxhdGUgV0ZJLCBv ciBqdXN0Cj4+PiBleGVjdXRlIGl0LCBvbmxpbmUsIGFuZCBjaGFuZ2Ugc3VjaCBkZWNpc2lvbiBk eW5hbWljYWxseT8gQW5kIGV2ZW4KPj4+IGlmCj4+PiB5ZXMsIGhvdyB3b3VsZCB0aGUgd2hvbGUg dGhpbmcgd29yaz8gV2hlbiB0aGUgZGlyZWN0IGV4ZWN1dGlvbiBpcwo+Pj4gZW5hYmxlZCBmb3Ig YSBkb21haW4gd2UgYXV0b21hdGljYWxseSBlbmZvcmNlIDE6MSBwaW5uaW5nIGZvciB0aGF0Cj4+ PiBkb21haW4sIGFuZCBraWNrIGFsbCB0aGUgb3RoZXIgZG9tYWluIG91dCBvZiBpdHMgcGNwdXM/ IFdoYXQgaWYKPj4+IHRoZXkKPj4+IGhhdmUgdGhlaXIgb3duIHBpbm5pbmcsIHdoYXQgaWYgdGhl eSBhbHNvIGhhdmUgJ2RpcmVjdCBXRkknCj4+PiBiZWhhdmlvcgo+Pj4gZW5hYmxlZD8KPj4KPj4g SXQgY2FuIGJlIGNoYW5nZWQgb25saW5lLCB0aGUgV0ZJL1dGRSB0cmFwcGluZyBpcyBwZXIgcENQ VSAoc2VlCj4+IEhDUl9FTDIue1RXRSxUV0l9Cj4+Cj4gT2ssIHRoYW5rcyBmb3IgdGhlIGluZm8u IE5vdCBiYWQuIFdpdGggYWRkZWQgbG9naWMgKHBlcmhhcHMgaW4gdGhlIG5vcAo+IHNjaGVkdWxl ciksIHRoaXMgbG9va3MgbGlrZSBpdCBjb3VsZCBiZSB1c2VmdWwuCj4KPj4+IFRoZXNlIGFyZSBq dXN0IGV4YW1wbGVzLCBteSBwb2ludCBiZWluZyB0aGF0IGluIHRoZW9yeSwgaWYgd2UKPj4+IGNv bnNpZGVyCj4+PiBhIHZlcnkgc3BlY2lmaWMgdXNlY2FzZSBvciBzZXQgb2YgdXNlY2FzZSwgdGhl cmUncyBhIGxvdCB3ZSBjYW4gZG8uCj4+PiBCdXQKPj4+IHdoZW4geW91IHNheSAid2h5IGRvbid0 IHlvdSBsZXQgdGhlIGd1ZXN0IGRpcmVjdGx5IGV4ZWN1dGUgV0ZJIiwgaW4KPj4+IHJlc3BvbnNl IHRvIGEgcGF0Y2ggYW5kIGEgZGlzY3Vzc2lvbiBsaWtlIHRoaXMsIHBlb3BsZSBtYXkgdGhpbmsK Pj4+IHRoYXQKPj4+IHlvdSBhcmUgYWN0dWFsbHkgcHJvcG9zaW5nIGRvaW5nIGl0IGFzIGEgc29s dXRpb24sIHdoaWNoIGlzIG5vdAo+Pj4gcG9zc2libGUgd2l0aG91dCBmaWd1cmluZyBvdXQgYWxs IHRoZSBvcGVuIHF1ZXN0aW9ucyBhYm92ZQo+Pj4gKGFjdHVhbGx5LAo+Pj4gcHJvYmFibHksIG1v cmUpIGFuZCB3aXRob3V0IGludHJvZHVjaW5nIGEgbG90IG9mIGNyb3NzLXN1YnN5c3RlbQo+Pj4g cG9saWNpbmcgaW5zaWRlIFhlbiwgd2hpY2ggaXMgb2Z0ZW4gc29tZXRoaW5nIHdlIGRvbid0IHdh bnQuCj4+Cj4+IEkgbWFkZSB0aGlzIHJlc3BvbnNlIGJlY2F1c2UgdGhlIHBhdGNoIHNlbnQgYnkg U3RlZmFubyBhcyBhIHZlcnkKPj4gc3BlY2lmaWMgdXNlIGNhc2UgdGhhdCBjYW4gYmUgc29sdmVk IHRoZSBzYW1lIHdheS4gRXZlcnlvbmUgaGVyZSBpcwo+PiBzdWdnZXN0aW5nIHBvbGxpbmcgYnV0 IGl0IGhhcyBpdCBpcyBvd24gZGlzYWR2YW50YWdlOiBwb3dlcgo+PiBjb25zdW1wdGlvbi4KPj4K Pj4gQW55d2F5LCBJIHN0aWxsIHRoaW5rIGluIGJvdGggY2FzZSB3ZSBhcmUgc29sdmluZyBhIHNw ZWNpZmljIHByb2JsZW0KPj4gd2l0aG91dCBsb29raW5nIGF0IHdoYXQgbWF0dGVycy4gSS5lIFdo eSB0aGUgc2NoZWR1bGVyIHRha2VzIHNvIG11Y2gKPj4gdGltZSB0byBibG9jay91bmJsb2NrLgo+ Pgo+IFdlbGwsIFRCSCwgd2Ugc3RpbGwgYXJlIG5vdCBlbnRpcmVseSBzdXJlIHdobyB0aGUgY3Vs cHJpdCBpcyBmb3IgaGlnaAo+IGxhdGVuY3kuIFRoZXJlIGFyZSBzcGlrZXMgaW4gQ3JlZGl0Miwg YW5kIEknbSBpbnZlc3RpZ2F0aW5nIHRoYXQuIEJ1dAo+IGFwYXJ0IGZyb20gdGhlbT8gSSB0aGlu ayB3ZSBuZWVkIG90aGVyIG51bWJlcnMgd2l0aCB3aGljaCB3ZSBjYW4KPiBjb21wYXJlIHRoZSBu dW1iZXJzIHRoYXQgU3RlZmFubyBoYXMgY29sbGVjdGVkLgoKSSB0aGluayB0aGUgcHJvYmxlbSBp cyBiZWNhdXNlIHdlIHNhdmUvcmVzdG9yZSB0aGUgdkNQVSBzdGF0ZSB3aGVuIApzd2l0Y2hpbmcg dG8gdGhlIGlkbGUgdkNQVS4KCkxldCBzYXkgdGhlIG9ubHkgMSB2Q1BVIGNhbiBydW4gb24gdGhl IHBDUFUsIHdoZW4gdGhlIHZDUFUgaXMgaXNzdWluZyBhIApXRkkgdGhlIGZvbGxvd2luZyBzdGVw cyB3aWxsIGhhcHBlbjoKICAgICAgKiBXRkkgdHJhcHBlZCBhbmQgdmNwdSBibG9ja2VkCiAgICAg ICogc2F2ZSB2Q1BVIHN0YXRlCiAgICAgICogcnVuIGlkbGVfbG9vcAotPiBJbnRlcnJ1cHQgaW5j b21pbmcgZm9yIHRoZSBndWVzdAogICAgICAqIHJlc3RvcmUgdkNQVSBzdGF0ZQogICAgICAqIGJh Y2sgdG8gdGhlIGd1ZXN0CgpTYXZpbmcvcmVzdG9yaW5nIG9uIEFSTSByZXF1aXJlcyB0byBjb250 ZXh0IHN3aXRjaCBhbGwgdGhlIHN0YXRlIG9mIHRoZSAKVk0gKHRoaXMgaXMgbm90IHNhdmVkIGlu IG1lbW9yeSB3aGVuIGVudGVyaW5nIGluIHRoZSBoeXBlcnZpc29yKS4gVGhpcyAKaW5jbHVkZSB0 aGluZ3MgbGlrZSBzeXN0ZW0gcmVnaXN0ZXIsIGludGVycnVwdCBjb250cm9sbGVyIHN0YXRlLCBG UFUuLi4KCkNvbnRleHQgc3dpdGNoaW5nIHRoZSBpbnRlcnJ1cHQgY29udHJvbGxlciBhbmQgdGhl IEZQVSBjYW4gdGFrZSBzb21lIAp0aW1lcyBhcyB5b3UgZ290IGxvdHMgb2YgcmVnaXN0ZXIgYW5k IHNvbWUgYXJlIG9ubHkgYWNjZXNzaWJsZSB0aHJvdWdoIAp0aGUgbWVtb3J5IGludGVyZmFjZSAo c2VlIEdJQ3YyIGZvciBpbnN0YW5jZSkuCgpTbyBhIGNvbnRleHQgc3dpdGNoIHdpbGwgbGlrZWx5 IGh1cnQgdGhlIHBlcmZvcm1hbmNlIG9mIGJsb2NrIHZjcHUgaW4gCnRoZSBjb250ZXh0IG9mIDEg dkNQVSBvbmx5IHJ1bm5pbmcgcGVyIHBDUFUuCgo+Cj4gSSdsbCBzZW5kIGNvZGUgZm9yIHRoZSBu b3Agc2NoZWR1bGVyLCBhbmQgd2Ugd2lsbCBjb21wYXJlIHdpdGggd2hhdAo+IHdlJ2xsIGdldCB3 aXRoIGl0LiBBbm90aGVyIGludGVyZXN0aW5nIGRhdGEgcG9pbnQgd291bGQgYmUga25vd2luZyBo b3cKPiB0aGUgbnVtYmVycyBsb29rIGxpa2Ugb24gYmFyZW1ldGFsLCBvbiB0aGUgc2FtZSBwbGF0 Zm9ybSBhbmQgdW5kZXIKPiBjb21wYXJhYmxlIGNvbmRpdGlvbnMuCj4KPiBBbmQgSSBndWVzcyB0 aGVyZSBhcmUgb3RoZXIgY29tcG9uZW50cyBhbmQgbGF5ZXJzLCBpbiB0aGUgWGVuCj4gYXJjaGl0 ZWN0dXJlLCB0aGF0IG1heSBiZSBjYXVzaW5nIGluY3JlYXNlZCBsYXRlbmN5LCB3aGljaCB3ZSBt YXkgaGF2ZQo+IG5vdCBpZGVudGlmaWVkIHlldC4KPgo+IEFueXdheSwgbm9wIHNjaGVkdWxlciBp cyBwcm9iYWJseSBmaXJzdCB0aGluZyB3ZSB3YW50IHRvIGNoZWNrLiBJJ2xsCj4gc2VuZCB0aGUg cGF0Y2hlcyBzb29uLgo+Cj4+Pj4gU28sIHllcyBpbiBmaW5lIHRoZSBndWVzdCB3aWxsIHdhc3Rl IGl0cyBzbG90Lgo+Pj4+Cj4+PiBEaWQgSSBzYXkgaXQgYWxyZWFkeSB0aGF0IHRoaXMgY29uY2Vw dCBvZiAic2xvdHMiIGRvZXMgbm90IGFwcGx5Cj4+PiBoZXJlPwo+Pj4gOi1ECj4+Cj4+IFNvcnJ5 IGZvcmdvdCBhYm91dCB0aGlzIDovLiBJIGd1ZXNzIHlvdSB1c2UgdGhlIHRlcm0gY3JlZGl0PyBJ ZiBzbywKPj4gdGhlCj4+IGd1ZXN0IHdpbGwgdXNlIGl0cyBjcmVkaXQgZm9yIG5vdGhpbmcuCj4+ Cj4gSWYgdGhlIGd1ZXN0IGlzIGFsb25lLCBvciBpbiBnZW5lcmFsIHRoZSBzeXN0ZW0gaXMgdW5k ZXJzdWJzY3JpYmVkLCBpdAo+IHdvdWxkLCBieSBjb250aW51b3VzbHkgeWllbGRpbmcgaW4gYSBi dXN5IGxvb3AsIGJ1dCB0aGF0IGRvZXNuJ3QKPiBtYXR0ZXIsIGJlY2F1c2UgdGhlcmUgYXJlIGVu b3VnaCBwQ1BVcyB0byBydW4gZXZlbiB2Q1BVcyB0aGF0IGFyZSBvdXQKPiBvZiBjcmVkaXRzLgo+ Cj4gSWYgdGhlIGd1ZXN0IGlzIG5vdCBhbG9uZSwgYW5kIHRoZSBzeXN0ZW0gaXMgb3ZlcnN1YnNj cmliZWQsIGl0IHdvdWxkCj4gdXNlIGEgdmVyeSB0aW55IGFtb3VudCBvZiBpdHMgY3JlZGl0cywg ZXZlcnkgbm93IGFuZCB0aGVuLCBpLmUuLCB0aGUKPiBvbmVzIHRoYXQgYXJlIG5lY2Vzc2FyeSB0 byBleGVjdXRlIGEgV0ZJLCBhbmQsIGZvciBYZW4sIHRvIGlzc3VlIGEgY2FsbAo+IHRvIHNjaGVk X3lpZWxkKCkuIEJ1dCBhZnRlciB0aGF0LCB3ZSB3aWxsIHJ1biBzb21lb25lIGVsc2UuIFRoaXMg dG8gc2F5Cj4gdGhhdCB0aGUgcHJvYmxlbSBvZiB0aGlzIHBhdGNoIG1pZ2h0IGJlIHRoYXQsIGlu IHRoZSBvdmVyc3Vic2NyaWJlZAo+IGNhc2UsIGl0IHJlbGllcyB0b28gbXVjaCBvbiB0aGUgYmVo YXZpb3Igb2YgeWllbGQsIGJ1dCBub3QgdGhhdCBpdCBkb2VzCj4gbm90aGluZy4KPgo+IEJ1dCBt YXliZSBJJ20gbml0cGlja2luZyBhZ2Fpbi4gU29ycnkuIEkgZG9uJ3QgZ2V0IHRvIHRhbGsgYWJv dXQgdGhlc2UKPiBpbm5lciAoYW5kIHZlcnkgaW50ZXJlc3RpbmcsIHRvIG1lIGF0IGxlYXN0KSBz Y2hlZHVsaW5nIGRldGFpbHMgdG9vCj4gb2Z0ZW4sIGFuZCB3aGVuIGl0IGhhcHBlbnMsIEkgdGVu ZCB0byBnZXQgZXhjaXRlZCBhbmQgZXhhZ2dlcmF0ZSEgOi1QCgpMZXQncyB0YWtlIGEgc3RlcCBh c2lkZS4gVGhlIEFSTSBBUk0gZGVzY3JpYmVzIFdGSSBhcyAiaGludCBpbnN0cnVjdGlvbiAKdGhh dCBwZXJtaXRzIHRoZSBwcm9jZXNzb3IgdG8gZW50ZXIgYSBsb3ctcG93ZXIgc3RhdGUgdW50aWwg b25lIG9mIGEgCm51bWJlciBvZiBhc3luY2hyb25vdXMgZXZlbnQgb2NjdXJzIi4gRW50ZXJpbmcg aW4gbG93ZXItcG93ZXIgc3RhdGUgCm1lYW5zIGl0IHdpbGwgaGF2ZSBhbiBpbXBhY3QgKG1heWJl IHNtYWxsKSBpbnRlcnJ1cHQgbGF0ZW5jeSBiZWNhdXNlIHRoZSAKQ1BVIHdvdWxkIGhhdmUgdG8g bGVhdmUgdGhlIGxvdy1wb3dlciBzdGF0ZS4KCkEgYmFyZW1ldGFsIGFwcGxpY2F0aW9uIHRoYXQg dXNlIFdGSSBpcyBhd2FyZSBvZiB0aGUgaW1wYWN0IGFuZCB3aXNoIHRvIApzYXZlIHBvd2VyLiBJ ZiB0aGF0IGFwcGxpY2F0aW9uIHJlYWxseSBjYXJlIGFib3V0IGludGVycnVwdCBsYXRlbmN5IGl0 IAp3aWxsIHVzZSBwb2xsaW5nIGFuZCBub3QgV0ZJLiBJdCBkZXBlbmRzIG9uIGhvdyBtdWNoIHlv dSBjb3VsZCB0b2xlcmF0ZSAKdGhlIGludGVycnVwdCBsYXRlbmN5LgoKTm93LCBhIHNhbWUgYmFy ZW1ldGFsIHJ1bm5pbmcgYXMgWGVuIGd1ZXN0IHdpbGwgZXhwZWN0IHRoZSBzYW1lIApiZWhhdmlv ci4gVGhpcyBpcyB3aHkgV0ZJIGlzIGltcGxlbWVudCB3aXRoIGJsb2NrIGJ1dCBpcyBoYXMgYW4g aGlnaCAKaW1wYWN0IHRvZGF5IChzZWUgYWJvdmUgZm9yIGEgcG9zc2libGUgZXhwbGFuYXRpb24p LiBNb3ZpbmcgdG8geWllbGQgbWF5IApoYXZlIHRoZSBzYW1lIGhpZ2ggaW1wYWN0IGJlY2F1c2Ug YXMgeW91IHNhaWQgdGhlIGltcGxlbWVudGF0aW9uIHdpbGwgCmRlcGVuZCBvbiB0aGUgc2NoZWR1 bGVyIGFuZCB3aGVuIG11bHRpcGxlIHZDUFUgYXJlIHJ1bm5pbmcgb24gdGhlIHNhbWUgCnBDUFUg dGhlbiB5b3Ugd291bGQgaGF2ZSB0byBjb250ZXh0IHN3aXRjaCBhbmQgaXQgaGFzIGEgY29zdC4K CkEgdXNlciB3aG8gd2FudCB0byBtb3ZlIGhpcyBiYXJlbWV0YWwgYXBwIGludG8gYSBndWVzdCB3 aWxsIGhhdmUgdG8gcGF5IAp0aGUgcHJpY2Ugb2YgdmlydHVhbGl6YXRpb24gb3ZlcmhlYWQgKyBw b3dlciBpZiBoZSB3YW50cyB0byBnZXQgZ29vZCAKaW50ZXJydXB0IGxhdGVuY3kgcmVzdWx0IGV2 ZW4gYnkgdXNpbmcgV0ZJLiBJIHdvdWxkIGJlIHN1cnByaXNlIGlmIGl0IApsb29rcyBhcHBlYWxp bmcgdG8gc29tZSBwZW9wbGUuCgpUaGlzIGlzIHdoeSBmb3IgbWUgaW1wbGVtZW50aW5nIGd1ZXN0 IFdGSSBhcyBwb2xsaW5nIGxvb2tzIGxpa2UgYW4gCmF0dGVtcHQgdG8gbXVkZHkgdGhlIHdhdGVy cy4KCklmIHlvdSB3YW50IGEgZ29vZCBpbnRlcnJ1cHQgbGF0ZW5jeSB3aXRoIHZpcnR1YWxpemF0 aW9uLCB5b3Ugd291bGQgcGluIAp5b3VyIHZDUFUgYW5kIGVuc3VyZSBubyBvdGhlciB2Q1BVIHdp bGwgcnVuIG9uIHRoaXMgcENQVS4gQW5kIHRoZSB5b3UgCmNhbiBwbGF5IHdpdGggdGhlIHNjaGVk dWxlciB0byBvcHRpbWl6ZSBpdCAoZS5nIGF2b2lkaW5nIHBvaW50bGVzcyAKY29udGV4dCBzd2l0 Y2guLi4pLgoKU28gZm9yIG1lIGltcGxlbWVudGluZyBndWVzdCBXRkkgYXMgcG9sbGluZyBsb29r cyBsaWtlIGFuIGF0dGVtcHQgdG8gCm11ZGR5IHRoZSB3YXRlcnMuIEl0IGlzIG5vdCBnb25uYSBz b2x2ZSB0aGUgcHJvYmxlbSBvZiB0aGUgY29udGV4dCAKc3dpdGNoIHRha2VzIHRpbWUuCgpDaGVl cnMsCgotLSAKSnVsaWVuIEdyYWxsCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4u b3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK