From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lan Tianyu Subject: Re: [RFC PATCH 5/23] Tools/libxc: Add viommu operations in libxc Date: Tue, 18 Apr 2017 17:59:34 +0800 Message-ID: <6b86c767-0dc3-7b69-6dcd-829e79815d0e@intel.com> References: <1489750043-17260-1-git-send-email-tianyu.lan@intel.com> <1489750043-17260-6-git-send-email-tianyu.lan@intel.com> <20170328162403.tjx2s6ywjhvbjsti@citrix.com> <20170329004005.GA5058@skl-2s3.sh.intel.com> <20170330195708.GA88651@skl-2s3.sh.intel.com> <747e0516-eab2-b12e-32a3-9085fb6a7d23@intel.com> <3a672f1441bd4ce7a004095a387d5688@AMSPEX02CL03.citrite.net> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <3a672f1441bd4ce7a004095a387d5688@AMSPEX02CL03.citrite.net> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Paul Durrant , Wei Liu , Kevin Tian , Ian Jackson , "xen-devel@lists.xen.org" List-Id: xen-devel@lists.xenproject.org T24gMjAxN+W5tDA05pyIMTjml6UgMTc6MDgsIFBhdWwgRHVycmFudCB3cm90ZToKPj4gLS0tLS1P cmlnaW5hbCBNZXNzYWdlLS0tLS0KPj4gRnJvbTogTGFuLCBUaWFueXUgW21haWx0bzp0aWFueXUu bGFuQGludGVsLmNvbV0KPj4gU2VudDogMTQgQXByaWwgMjAxNyAxNjozOAo+PiBUbzogUGF1bCBE dXJyYW50IDxQYXVsLkR1cnJhbnRAY2l0cml4LmNvbT47IFdlaSBMaXUgPHdlaS5saXUyQGNpdHJp eC5jb20+Owo+PiBLZXZpbiBUaWFuIDxrZXZpbi50aWFuQGludGVsLmNvbT47IElhbiBKYWNrc29u IDxJYW4uSmFja3NvbkBjaXRyaXguY29tPjsKPj4geGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKPj4g U3ViamVjdDogUmU6IFtYZW4tZGV2ZWxdIFtSRkMgUEFUQ0ggNS8yM10gVG9vbHMvbGlieGM6IEFk ZCB2aW9tbXUKPj4gb3BlcmF0aW9ucyBpbiBsaWJ4Ywo+Pgo+PiBIaSBQYXVsOgo+PiAJU29ycnkg Zm9yIGxhdGVyIHJlc3BvbnNlLgo+Pgo+PiBPbiAzLzMxLzIwMTcgMzo1NyBBTSwgQ2hhbyBHYW8g d3JvdGU6Cj4+PiBPbiBXZWQsIE1hciAyOSwgMjAxNyBhdCAwOTowODowNkFNICswMDAwLCBQYXVs IER1cnJhbnQgd3JvdGU6Cj4+Pj4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tCj4+Pj4+IEZy b206IFhlbi1kZXZlbCBbbWFpbHRvOnhlbi1kZXZlbC1ib3VuY2VzQGxpc3RzLnhlbi5vcmddIE9u IEJlaGFsZgo+PiBPZgo+Pj4+PiBDaGFvIEdhbwo+Pj4+PiBTZW50OiAyOSBNYXJjaCAyMDE3IDAx OjQwCj4+Pj4+IFRvOiBXZWkgTGl1IDx3ZWkubGl1MkBjaXRyaXguY29tPgo+Pj4+PiBDYzogTGFu IFRpYW55dSA8dGlhbnl1LmxhbkBpbnRlbC5jb20+OyBLZXZpbiBUaWFuCj4+IDxrZXZpbi50aWFu QGludGVsLmNvbT47Cj4+Pj4+IElhbiBKYWNrc29uIDxJYW4uSmFja3NvbkBjaXRyaXguY29tPjsg eGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKPj4+Pj4gU3ViamVjdDogUmU6IFtYZW4tZGV2ZWxdIFtS RkMgUEFUQ0ggNS8yM10gVG9vbHMvbGlieGM6IEFkZCB2aW9tbXUKPj4+Pj4gb3BlcmF0aW9ucyBp biBsaWJ4Ywo+Pj4+Pgo+Pj4+PiBUaWFueXUgaXMgb24gdmFjYXRpb24gdGhpcyB0d28gd2Vla3Ms IHNvIEkgd2lsbCB0cnkgdG8gYWRkcmVzcwo+Pj4+PiBzb21lIGNvbW1lbnRzIG9uIHRoaXMgc2Vy aWVzLgo+Pj4+Pgo+Pj4+PiBPbiBUdWUsIE1hciAyOCwgMjAxNyBhdCAwNToyNDowM1BNICswMTAw LCBXZWkgTGl1IHdyb3RlOgo+Pj4+Pj4gT24gRnJpLCBNYXIgMTcsIDIwMTcgYXQgMDc6Mjc6MDVQ TSArMDgwMCwgTGFuIFRpYW55dSB3cm90ZToKPj4+Pj4+PiBGcm9tOiBDaGFvIEdhbyA8Y2hhby5n YW9AaW50ZWwuY29tPgo+Pj4+Pj4+Cj4+Pj4+Pj4gSW4gcHJldmlvdXMgcGF0Y2gsIHdlIGludHJv ZHVjZSBhIGNvbW1vbiB2SU9NTVUgbGF5ZXIuIEluIG91cgo+PiBkZXNpZ24sCj4+Pj4+Pj4gd2Ug Y3JlYXRlL2Rlc3Ryb3kgdklPTU1VIHRocm91Z2ggRE1PUCBpbnRlcmZhY2UgaW5zdGVhZCBvZgo+ PiBjcmVhdGluZwo+Pj4+PiBpdAo+Pj4+Pj4+IGFjY29yZGluZyB0byBhIGNvbmZpZyBmbGFnIG9m IGRvbWFpbi4gSXQgbWFrZXMgaXQgaXMgcG9zc2libGUKPj4+Pj4+PiB0byBjcmVhdGUgdklPTU1V IGluIGRldmljZSBtb2RlbCBvciBpbiB0b29sIHN0YWNrLgo+Pj4+Pj4+Cj4+Pj4KPj4+PiBJJ3Zl IG5vdCBiZWVuIGZvbGxvd2luZyB0aGlzIGNsb3NlbHkgc28gYXBvbG9naWVzIGlmIHRoaXMgaGFz IGFscmVhZHkgYmVlbgo+PiBhc2tlZC4uLgo+Pj4+Cj4+Pj4gV2h5IHdvdWxkIHlvdSBuZWVkIHRv IGNyZWF0ZSBhIHZJT01NVSBpbnN0YW5jZSBpbiBhbiBleHRlcm5hbCBkZXZpY2UKPj4gbW9kZWwu Cj4+Pj4gU2luY2UgdGhlIHRvb2xzdGFjayBzaG91bGQgYmUgaW4gY29udHJvbCBvZiB0aGUgZGV2 aWNlIG1vZGVsIGNvbmZpZ3VyYXRpb24KPj4gd2h5IHdvdWxkIGl0IG5vdCBrbm93IGluIGFkdmFu Y2UgdGhhdCBvbmUgd2FzIHJlcXVpcmVkPwo+Pj4KPj4+IEkgYXNzdW1lIHlvdXIgcXVlc3Rpb24g aXMgd2h5IHdlIGRvbid0IGNyZWF0ZSBhIHZJT01NVSBpbnN0YW5jZSB2aWEKPj4gaHlwZXJjYWxs IGluIHRvb2xzdGFjay4KPj4+IEkgdGhpbmsgY3JlYXRpbmcgaW4gdG9vbHN0YWNrIGlzIGFsc28g b2sgYW5kIGlzIGVhc2llciB0byBiZSByZXVzZWQgYnkgcHZoLgo+Pj4KPj4+IElmIFRpYW55dSBo YXMgbm8gY29uY2VybiBhYm91dCB0aGlzLCB3aWxsIG1vdmUgdGhpcyBwYXJ0IHRvIHRvb2xzdGFj ay4KPj4KPj4gV2UgY2FuIG1vdmUgY3JlYXRlL2Rlc3Ryb3kgdklPTU1VIGluIHRoZSB0b29sIHN0 YWNrIGJ1dCB3ZSBzdGlsbCBuZWVkIHRvCj4+IGFkZCBzdWNoIGR1bW15IHZJT01NVSBkZXZpY2Ug bW9kZWwgaW4gUWVtdSB0byBwYXNzIHZpcnR1YWwgZGV2aWNlJ3MKPj4gRE1BCj4+IHJlcXVlc3Qg aW50byBYZW4gaHlwZXJ2aXNvci4KPiAKPiBOb3QgcXVpdGUgc3VyZSBJIHVuZGVyc3RhbmQgdGhp cy4gVGhlIFFFTXUgZGV2aWNlIG1vZGVsIGRvZXMgbm90ICdwYXNzIERNQSByZXF1ZXN0cycgYXMg c3VjaCwgaXQgbWFwcyBndWVzdCBSQU0gYW5kIHJlYWRzIG9yIHdyaXRlcyB0byBlbXVsYXRlIERN QSwgcmlnaHQ/IFNvLCB3aGF0J3MgbmVlZGVkIGlzIGEgbWVjaGFuaXNtIHRvIG1hcCBndWVzdCBS QU0gYnkgJ2J1cyBhZGRyZXNzJy4uLiBpLmUuIGFuIGFkZHJlc3MgdGhhdCB3aWxsIG5lZWQgdG8g YmUgdHJhbnNsYXRlZCB0aHJvdWdoIHRoZSB2SU9NTVUgbWFwcGluZ3MuIFRoaXMgaXMganVzdCBh biBldm9sdXRpb24gb2YgdGhlIGN1cnJlbnQgJ3ByaXYgbWFwcGluZycgb3BlcmF0aW9ucyB0aGF0 IGFsbG93IGd1ZXN0IFJBTSB0byBiZSBtYXBwZWQgYnkgZ3Vlc3QgcGh5c2ljYWwgYWRkcmVzcy4g U28geW91IGRvbid0IG5lZWQgYSB2SU9NTVUgJ2RldmljZSBtb2RlbCcgYXMgc3VjaCwgZG8geW91 PwoKCkd1ZXN0IGFsc28gbWF5IGVuYWJsZSBETUEgcHJvdGVjdGlvbiBtZWNoYW5pc20gaW4gbGlu dXgga2VybmVsIHdoaWNoCmxpbWl0cyBhZGRyZXNzIHNwYWNlIG9mIGVtdWxhdGVkIGRldmljZSBh bmQgdGhpcyBkZXBlbmRzIG9uIHRoZSB2SU9NTVUncwpETUEgdHJhbnNsYXRpb24gZnVuY3Rpb24u IEluIHZJT01NVSdzIE1NSU8gZW11bGF0aW9uIHBhcnQgaXMgaW4gdGhlIFhlbgpoeXBlcnNpb3Ig YW5kIHRoZSBndWVzdCBzaGFkb3cgSU8gcGFnZSB0YWJsZSB3aWxsIGJlIG9ubHkgaW4gdGhlCmh5 cGVydmlzb3IuIFRvIHRyYW5zbGF0ZSBlbXVsYXRlZCBkZXZpY2UncyBETUEgcmVxdWVzdC4gSXQn cyBuZWNlc3NhcnkKdG8gcGFzcyB0aGUgRE1BIHJlcXVlc3QgdG8gaHlwZXJ2aXNvci4KClNvIGZh ciB3ZSBkb24ndCBzdXBwb3J0IERNQSB0cmFuc2xhdGlvbiBhbmQgc28gZG9lc24ndCBwYXNzIERN QSByZXF1ZXN0LgoKTWFwL3VtYXAgZ3Vlc3QgbWVtb3J5IGFscmVhZHkgc3VwcG9ydCBpbiBRZW11 IGFuZCBqdXN0IGxpa2UgZW11bGF0ZWQKZGV2aWNlIG1vZGVsIGFjY2VzcyBndWVzdCBtZW1vcnku IFFlbXUgYWxzbyBwcm92aWRlcyB2SU9NTVUgaG9vayB0bwpyZWNlaXZlIERNQSByZXF1ZXN0IGFu ZCByZXR1cm4gdGFyZ2V0IGd1ZXN0IGFkZHJlc3MuIHZJT01NVSBmcmFtZXdvcmsKd2lsbCByZWFk L3dyaXRlIHRhcmdldCBhZGRyZXNzLiBXaGF0IHdlIG5lZWQgdG8gZG8gaXMgdG8gdHJhbnNsYXRl IERNQQpyZXF1ZXN0IHRvIHRhcmdldCBhZGRyZXNzIGFjY29yZGluZyBzaGFkb3cgSU8gcGFnZSB0 YWJsZSBpbiB0aGUgaHlwZXJ2aXNvci4KCgoKPiAKPj4gUWVtdSBpcyByZXF1aXJlZCB0byB1c2Ug RE1PUCBoeXBlcmNhbGwgYW5kCj4+IHRvb2wgc3RhY2sgbWF5IHVzZSBkb21jdGwgaHllcmNhbGwu IHZJT01NVSBoeXBlcmNhbGxzIHdpbGwgYmUgZGl2aWRlZAo+PiBpbnRvIHR3byBwYXJ0Lgo+Pgo+ PiBEb21jdGw6Cj4+IAljcmVhdGUsIGRlc3Ryb3kgYW5kIHF1ZXJ5Lgo+PiBETU9QOgo+PiAJdkRl didzIERNQSByZWxhdGVkIG9wZXJhdGlvbnMuCj4gCj4gWWVzLCB0aGUgbWFwcGluZy91bm1hcHBp bmcgb3BlcmF0aW9ucyBzaG91bGQgYmUgRE1PUHMgYW5kIElNTyBzaG91bGQgYmUgZGVzaWduZWQg c3VjaCB0aGF0IHRoZXkgY2FuIGJlIHVuaWZpZWQgd2l0aCByZXBsYWNlbWVudHMgZm9yIGN1cnJl bnQgJ3ByaXYgbWFwJyBvcHMgc3VjaCB0aGF0IFFFTVUgY2FuIHVzZSB0aGUgc2FtZSBmdW5jdGlv biBjYWxsLCBidXQgd2l0aCBkaWZmZXJlbnQgYWRkcmVzcyBzcGFjZSBpZGVudGlmaWVycyAoaS5l LiBidXMgYWRkcmVzcywgZ3Vlc3QgcGh5c2ljYWwgYWRkcmVzcywgZXRjLikuIEJUVywgSSBzYXkg J2V0Yy4nIGJlY2F1c2Ugd2Ugc2hvdWxkIGFsc28gY29uc2lkZXIgbWFwcGluZyB0aGUgaW9yZXEg cGFnZXMgZnJvbSBYZW4gdXNpbmcgdGhlIHNhbWUgY2FsbCAtIHdpdGggYSBkZWRpY2F0ZWQgYWRk cmVzcyBzcGFjZSBpZGVudGlmaWVyIC0gYXMgd2VsbC4KPiAKClNvIHlvdSBhZ3JlZSB0byBkaXZp ZGUgdklPTU1VJ3MgaHlwZXJjYWxscyBpbnRvIHR3byBwYXJ0cyhETU9QIGFuZApEb21jdGwpLCBy aWdodD8KCgo+ICAgQ2hlZXJzLAo+IAo+ICAgICBQYXVsCj4gCj4+Cj4+IElzIHRoaXMgT0s/Cj4+ Cj4+Pgo+Pj4gVGhhbmtzLAo+Pj4gQ2hhbwo+Pj4KPj4+Pgo+Pj4+ICBQYXVsCj4+Pj4KPj4+Pj4+ PiBUaGUgZm9sbG93aW5nIHRvb2xzdGFjayBjb2RlIGlzIHRvIGFkZCBYRU5fRE1PUF92aW9tbXVf WFhYCj4+IHN5c2NhbGxzOgo+Pj4+Pj4KPj4+Pj4+IEh5cGVyY2FsbHMsIG5vdCBzeXNjYWxscy4K Pj4+Pj4+Cj4+Pj4+Pj4gIC0gcXVlcnkgY2FwYWJpbGl0aWVzIG9mIHZJT01NVSBlbXVsYXRlZCBi eSBYZW4KPj4+Pj4+PiAgLSBjcmVhdGUgdklPTU1VIGluIFhlbiBoeXBlcnZpc29yIHdpdGggYmFz ZSBhZGRyZXNzLCBjYXBhYmlsaXR5Cj4+Pj4+Pj4gIC0gZGVzdHJveSB2SU9NTVUgc3BlY2lmaWVk IGJ5IHZpb21tdV9pZAo+Pj4+Pj4+Cj4+Pj4+Pj4gU2lnbmVkLW9mZi1ieTogQ2hhbyBHYW8gPGNo YW8uZ2FvQGludGVsLmNvbT4KPj4+Pj4+PiBTaWduZWQtb2ZmLWJ5OiBMYW4gVGlhbnl1IDx0aWFu eXUubGFuQGludGVsLmNvbT4KPj4+Pj4+PiAtLS0KPj4+Pj4+PiAgdG9vbHMvbGlicy9kZXZpY2Vt b2RlbC9jb3JlLmMgICAgICAgICAgICAgICAgICAgfCA2OQo+Pj4+PiArKysrKysrKysrKysrKysr KysrKysrKysrCj4+Pj4+Pj4gIHRvb2xzL2xpYnMvZGV2aWNlbW9kZWwvaW5jbHVkZS94ZW5kZXZp Y2Vtb2RlbC5oIHwgMzUKPj4gKysrKysrKysrKysrKwo+Pj4+Pj4+ICB0b29scy9saWJzL2Rldmlj ZW1vZGVsL2xpYnhlbmRldmljZW1vZGVsLm1hcCAgICB8ICAzICsrCj4+Pj4+Pj4gIHRvb2xzL2xp YnhjL2luY2x1ZGUveGVuY3RybF9jb21wYXQuaCAgICAgICAgICAgIHwgIDUgKysKPj4+Pj4+PiAg dG9vbHMvbGlieGMveGNfZGV2aWNlbW9kZWxfY29tcGF0LmMgICAgICAgICAgICAgfCAxOCArKysr KysrCj4+Pj4+Pj4gIDUgZmlsZXMgY2hhbmdlZCwgMTMwIGluc2VydGlvbnMoKykKPj4+Pj4+Pgo+ Pj4+Pj4+IGRpZmYgLS1naXQgYS90b29scy9saWJzL2RldmljZW1vZGVsL2NvcmUuYwo+PiBiL3Rv b2xzL2xpYnMvZGV2aWNlbW9kZWwvY29yZS5jCj4+Pj4+Pj4gaW5kZXggYTg1Y2I0OS4uYWVlMTE1 MCAxMDA2NDQKPj4+Pj4+PiAtLS0gYS90b29scy9saWJzL2RldmljZW1vZGVsL2NvcmUuYwo+Pj4+ Pj4+ICsrKyBiL3Rvb2xzL2xpYnMvZGV2aWNlbW9kZWwvY29yZS5jCj4+Pj4+Pgo+Pj4+Pj4gQmVh ciBpbiBtaW5kIHRoYXQgdGhpcyBsaWJyYXJ5IGlzIHN0YWJsZSwgc28gd2hhdGV2ZXIgZW5kcyB1 cCBoZXJlIGNhbgo+Pj4+Pj4gY2hhbmdlIGluIHRoZSBmdXR1cmUuCj4+Pj4+Pgo+Pj4+Pj4gVGhp cyBpcyBub3Qgc2F5aW5nIHRoZSBmb2xsb3dpbmcgY29kZSBpcyBwcm9ibGVtYXRpYy4gSXQgaXMg anVzdCBhCj4+Pj4+PiBnZW5lcmFsIEZZSS4KPj4+Pj4+Cj4+Pj4+PiBPYnZpb3VzbHkgdGhlIHRv b2xzdGFjayBzaWRlIGlzIGdvaW5nIHRvIGZvbGxvdyB0aGUgaHlwZXJ2aXNvcgo+Pj4+Pj4gaW50 ZXJmYWNlLCBzbyBJIHdpbGwgZG8gYSBkZXRhaWxlZCByZXZpZXcgbGF0ZXIuCj4+Pj4+Cj4+Pj4+ IFN1cmUuIElmIHRoZSBoeXBlcnZpc29yIGludGVyZmFjZSBzZXR0bGVzIGRvd24sIHdlIGNhbiBp bmZvcm0geW91Lgo+Pj4+Pgo+Pj4+Pj4KPj4+Pj4+PiAraW50IHhlbmRldmljZW1vZGVsX3Zpb21t dV9kZXN0cm95KAo+Pj4+Pj4+ICsgICAgeGVuZGV2aWNlbW9kZWxfaGFuZGxlICpkbW9kLCBkb21p ZF90IGRvbSwgdWludDMyX3QKPj4gdmlvbW11X2lkKTsKPj4+Pj4+PiAgI2VuZGlmIC8qIF9fWEVO X1RPT0xTX18gKi8KPj4+Pj4+Pgo+Pj4+Pj4+ICAjZW5kaWYgLyogWEVOREVWSUNFTU9ERUxfSCAq Lwo+Pj4+Pj4+IGRpZmYgLS1naXQgYS90b29scy9saWJzL2RldmljZW1vZGVsL2xpYnhlbmRldmlj ZW1vZGVsLm1hcAo+Pj4+PiBiL3Rvb2xzL2xpYnMvZGV2aWNlbW9kZWwvbGlieGVuZGV2aWNlbW9k ZWwubWFwCj4+Pj4+Pj4gaW5kZXggNDVjNzczZS4uYzJlMDk2OCAxMDA2NDQKPj4+Pj4+PiAtLS0g YS90b29scy9saWJzL2RldmljZW1vZGVsL2xpYnhlbmRldmljZW1vZGVsLm1hcAo+Pj4+Pj4+ICsr KyBiL3Rvb2xzL2xpYnMvZGV2aWNlbW9kZWwvbGlieGVuZGV2aWNlbW9kZWwubWFwCj4+Pj4+Pj4g QEAgLTE3LDYgKzE3LDkgQEAgVkVSU18xLjAgewo+Pj4+Pj4+ICAJCXhlbmRldmljZW1vZGVsX21v ZGlmaWVkX21lbW9yeTsKPj4+Pj4+PiAgCQl4ZW5kZXZpY2Vtb2RlbF9zZXRfbWVtX3R5cGU7Cj4+ Pj4+Pj4gIAkJeGVuZGV2aWNlbW9kZWxfaW5qZWN0X2V2ZW50Owo+Pj4+Pj4+ICsJCXhlbmRldmlj ZW1vZGVsX3Zpb21tdV9xdWVyeV9jYXA7Cj4+Pj4+Pj4gKwkJeGVuZGV2aWNlbW9kZWxfdmlvbW11 X2NyZWF0ZTsKPj4+Pj4+PiArCQl4ZW5kZXZpY2Vtb2RlbF92aW9tbXVfZGVzdHJveTsKPj4+Pj4+ PiAgCQl4ZW5kZXZpY2Vtb2RlbF9yZXN0cmljdDsKPj4+Pj4+PiAgCQl4ZW5kZXZpY2Vtb2RlbF9j bG9zZTsKPj4+Pj4+Cj4+Pj4+PiBJIHN1cHBvc2UgdGhpcyBzZXJpZXMgaXMgZ29pbmcgdG8gbWlz cyA0LjkuCj4+Pj4+Pgo+Pj4+Pj4gUGxlYXNlIGFkZCB0aGVzZSBmdW5jdGlvbnMgdG8gVkVSU18x LjEuCj4+Pj4+Cj4+Pj4+IFllcy4gV2Ugd2lsbCBmaXggdGhpcy4KPj4+Pj4KPj4+Pj4+Cj4+Pj4+ Pj4gIAlsb2NhbDogKjsgLyogRG8gbm90IGV4cG9zZSBhbnl0aGluZyBieSBkZWZhdWx0ICovCj4+ Pj4+Pj4gZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhjL2luY2x1ZGUveGVuY3RybF9jb21wYXQuaAo+ Pj4+PiBiL3Rvb2xzL2xpYnhjL2luY2x1ZGUveGVuY3RybF9jb21wYXQuaAo+Pj4+Pj4+IGluZGV4 IDA0MGU3YjIuLjMxNWM0NWQgMTAwNjQ0Cj4+Pj4+Pj4gLS0tIGEvdG9vbHMvbGlieGMvaW5jbHVk ZS94ZW5jdHJsX2NvbXBhdC5oCj4+Pj4+Pj4gKysrIGIvdG9vbHMvbGlieGMvaW5jbHVkZS94ZW5j dHJsX2NvbXBhdC5oCj4+Pj4+Pj4gQEAgLTE2NCw2ICsxNjQsMTEgQEAgaW50IHhjX2h2bV9zZXRf bWVtX3R5cGUoCj4+Pj4+Pj4gIGludCB4Y19odm1faW5qZWN0X3RyYXAoCj4+Pj4+Pj4gICAgICB4 Y19pbnRlcmZhY2UgKnhjaCwgZG9taWRfdCBkb21pZCwgaW50IHZjcHUsIHVpbnQ4X3QgdmVjdG9y LAo+Pj4+Pj4+ICAgICAgdWludDhfdCB0eXBlLCB1aW50MzJfdCBlcnJvcl9jb2RlLCB1aW50OF90 IGluc25fbGVuLCB1aW50NjRfdCBjcjIpOwo+Pj4+Pj4+ICtpbnQgeGNfdmlvbW11X3F1ZXJ5X2Nh cCh4Y19pbnRlcmZhY2UgKnhjaCwgZG9taWRfdCBkb20sCj4+IHVpbnQ2NF90Cj4+Pj4+ICpjYXAp Owo+Pj4+Pj4+ICtpbnQgeGNfdmlvbW11X2NyZWF0ZSgKPj4+Pj4+PiArICAgIHhjX2ludGVyZmFj ZSAqeGNoLCBkb21pZF90IGRvbSwgdWludDY0X3QgYmFzZV9hZGRyLCB1aW50NjRfdAo+PiBjYXAs Cj4+Pj4+Pj4gKyAgICB1aW50MzJfdCAqdmlvbW11X2lkKTsKPj4+Pj4+PiAraW50IHhjX3Zpb21t dV9kZXN0cm95KHhjX2ludGVyZmFjZSAqeGNoLCBkb21pZF90IGRvbSwgdWludDMyX3QKPj4+Pj4g dmlvbW11X2lkKTsKPj4+Pj4+Pgo+Pj4+Pj4+ICAjZW5kaWYgLyogWENfV0FOVF9DT01QQVRfREVW SUNFTU9ERUxfQVBJICovCj4+Pj4+Pj4KPj4+Pj4+PiBkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGMv eGNfZGV2aWNlbW9kZWxfY29tcGF0LmMKPj4+Pj4gYi90b29scy9saWJ4Yy94Y19kZXZpY2Vtb2Rl bF9jb21wYXQuYwo+Pj4+Pj4+IGluZGV4IGU0ZWRlZWEuLjYyZjcwM2EgMTAwNjQ0Cj4+Pj4+Pj4g LS0tIGEvdG9vbHMvbGlieGMveGNfZGV2aWNlbW9kZWxfY29tcGF0LmMKPj4+Pj4+PiArKysgYi90 b29scy9saWJ4Yy94Y19kZXZpY2Vtb2RlbF9jb21wYXQuYwo+Pj4+Pj4KPj4+Pj4+IEkgZG9uJ3Qg dGhpbmsgeW91IG5lZWQgdG8gcHJvdmlkZSBjb21wYXQgd3JhcHBlcnMgZm9yIHRoZW0uIFRoZXkg YXJlCj4+IG5ldwo+Pj4+Pj4gQVBJcy4KPj4+Pj4KPj4+Pj4gT0suIEdvdCBpdC4KPj4+Pj4KPj4+ Pj4gVGhhbmtzLAo+Pj4+PiBDaGFvCj4+Pj4+Pgo+Pj4+Pj4gV2VpLgo+Pj4+Pgo+Pj4+PiBfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+Pj4+PiBYZW4tZGV2 ZWwgbWFpbGluZyBsaXN0Cj4+Pj4+IFhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCj4+Pj4+IGh0dHBz Oi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwKCgotLSAKQmVzdCByZWdhcmRzClRpYW55dSBMYW4K Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZl bCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4u b3JnL3hlbi1kZXZlbAo=