From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wei Liu Subject: Re: [PATCH v2 1/2] libs, libxc: Interface for grant copy operation Date: Thu, 16 Jun 2016 13:16:54 +0100 Message-ID: <20160616121654.GQ28116@citrix.com> References: <1465811036-17026-1-git-send-email-paulinaszubarczyk@gmail.com> <1465811036-17026-2-git-send-email-paulinaszubarczyk@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta14.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bDWEF-0004Og-JA for xen-devel@lists.xenproject.org; Thu, 16 Jun 2016 12:16:59 +0000 Content-Disposition: inline In-Reply-To: <1465811036-17026-2-git-send-email-paulinaszubarczyk@gmail.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Paulina Szubarczyk Cc: sstabellini@kernel.org, wei.liu2@citrix.com, ian.jackson@eu.citrix.com, P.Gawkowski@ii.pw.edu.pl, dvrabel@cantab.net, anthony.perard@citrix.com, xen-devel@lists.xenproject.org, roger.pau@citrix.com List-Id: xen-devel@lists.xenproject.org T24gTW9uLCBKdW4gMTMsIDIwMTYgYXQgMTE6NDM6NTVBTSArMDIwMCwgUGF1bGluYSBTenViYXJj enlrIHdyb3RlOgo+IEltcGxlbnRhdGlvbiBvZiBpbnRlcmZhY2UgZm9yIGdyYW50IGNvcHkgb3Bl cmF0aW9uIGluIGxpYnMgYW5kCj4gbGlieGMuCj4gCj4gSW4gYSBsaW51eCBwYXJ0IGFuIGlvY3Rs KGdudGRldiwgSU9DVExfR05UREVWX0dSQU5UX0NPUFksIC4uKQo+IHN5c3RlbSBjYWxsIGlzIGlu dm9rZWQuIEluIG1pbmktb3MgdGhlIG9wZXJhdGlvbiBpcyB5ZXQgbm90Cj4gaW1wbGVtZW50ZWQu IEZvciBvdGhlciBPU3MgdGhlcmUgaXMgYSBkdW1teSBpbXBsZW1lbnRhdGlvbi4KPiAKPiBTaWdu ZWQtb2ZmLWJ5OiBQYXVsaW5hIFN6dWJhcmN6eWsgPHBhdWxpbmFzenViYXJjenlrQGdtYWlsLmNv bT4KPiAKPiAtLS0KPiBDaGFuZ2VzIHNpbmNlIHYxOgo+IC0gY2hhbmdlZCB0aGUgaW50ZXJmYWNl IHRvIGNhbGwgZ3JhbnQgY29weSBvcGVyYXRpb24gdG8gbWF0Y2ggaW9jdGwKPiAgIGludCB4ZW5n bnR0YWJfZ3JhbnRfY29weSh4ZW5nbnR0YWJfaGFuZGxlICp4Z3QsCj4gICAgICAgICAgICAgICAg ICAgICAgICAgICAgdWludDMyX3QgY291bnQsCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAg eGVuZ250dGFiX2dyYW50X2NvcHlfc2VnbWVudF90KiBzZWdzKQo+IC0gYWRkZWQgYSBzdHJ1Y3Qg J3hlbmdudHRhYl9jb3B5X2dyYW50X3NlZ21lbnQnIGRlZmluaXRpb24gdG8gdG9vbHMvbGlicyAg Cj4gICAvZ250dGFiL3ByaXZhdGUuaCwgdG9vbHMvbGlieGMvaW5jbHVkZS94ZW5jdHJsX2NvbXBh dC5oCj4gLSBjaGFuZ2VkIHRoZSBmdW5jdGlvbiBvc2RlcF9nbnR0YWJfZ3JhbnRfY29weSB3aGlj aCByaWdodCBub3cganVzdCBjYWxsCj4gICB0aGUgaW9jdGwKPiAtIGFkZGVkIGEgbmV3IFZFUjEu MSB0byB0b29scy9saWJzL2dudHRhYi9saWJ4ZW5nbnR0YWIubWFwIAo+IAo+ICB0b29scy9pbmNs dWRlL3hlbi1zeXMvTGludXgvZ250ZGV2LmggIHwgMjEgKysrKysrKysrKysrKysrKysrKysrCj4g IHRvb2xzL2xpYnMvZ250dGFiL2dudHRhYl9jb3JlLmMgICAgICAgfCAgNiArKysrKysKPiAgdG9v bHMvbGlicy9nbnR0YWIvZ250dGFiX3VuaW1wLmMgICAgICB8ICA2ICsrKysrKwo+ICB0b29scy9s aWJzL2dudHRhYi9pbmNsdWRlL3hlbmdudHRhYi5oIHwgMTQgKysrKysrKysrKysrKysKPiAgdG9v bHMvbGlicy9nbnR0YWIvbGlieGVuZ250dGFiLm1hcCAgICB8ICA0ICsrKysKPiAgdG9vbHMvbGli cy9nbnR0YWIvbGludXguYyAgICAgICAgICAgICB8IDE4ICsrKysrKysrKysrKysrKysrKwo+ICB0 b29scy9saWJzL2dudHRhYi9taW5pb3MuYyAgICAgICAgICAgIHwgIDYgKysrKysrCj4gIHRvb2xz L2xpYnMvZ250dGFiL3ByaXZhdGUuaCAgICAgICAgICAgfCAxOCArKysrKysrKysrKysrKysrKysK PiAgdG9vbHMvbGlieGMvaW5jbHVkZS94ZW5jdHJsX2NvbXBhdC5oICB8IDIzICsrKysrKysrKysr KysrKysrKysrKysrCj4gIHRvb2xzL2xpYnhjL3hjX2dudHRhYl9jb21wYXQuYyAgICAgICAgfCAg NyArKysrKysrCj4gIDEwIGZpbGVzIGNoYW5nZWQsIDEyMyBpbnNlcnRpb25zKCspCj4gCj4gZGlm ZiAtLWdpdCBhL3Rvb2xzL2luY2x1ZGUveGVuLXN5cy9MaW51eC9nbnRkZXYuaCBiL3Rvb2xzL2lu Y2x1ZGUveGVuLXN5cy9MaW51eC9nbnRkZXYuaAo+IGluZGV4IGNhZjZmYjQuLjBjYTA3YzkgMTAw NjQ0Cj4gLS0tIGEvdG9vbHMvaW5jbHVkZS94ZW4tc3lzL0xpbnV4L2dudGRldi5oCj4gKysrIGIv dG9vbHMvaW5jbHVkZS94ZW4tc3lzL0xpbnV4L2dudGRldi5oCj4gQEAgLTE0Nyw0ICsxNDcsMjUg QEAgc3RydWN0IGlvY3RsX2dudGRldl91bm1hcF9ub3RpZnkgewo+ICAvKiBTZW5kIGFuIGludGVy cnVwdCBvbiB0aGUgaW5kaWNhdGVkIGV2ZW50IGNoYW5uZWwgKi8KPiAgI2RlZmluZSBVTk1BUF9O T1RJRllfU0VORF9FVkVOVCAweDIKPiAgCj4gK3N0cnVjdCBpb2N0bF9nbnRkZXZfZ3JhbnRfY29w eV9zZWdtZW50IHsKPiArICAgIHVuaW9uIHsKPiArICAgICAgICB2b2lkICp2aXJ0Owo+ICsgICAg ICAgIHN0cnVjdCB7Cj4gKyAgICAgICAgICAgIHVpbnQzMl90IHJlZjsKPiArICAgICAgICAgICAg dWludDE2X3Qgb2Zmc2V0Owo+ICsgICAgICAgICAgICB1aW50MTZfdCBkb21pZDsKPiArICAgICAg ICB9IGZvcmVpZ247Cj4gKyAgICB9IHNvdXJjZSwgZGVzdDsKPiArICAgIHVpbnQxNl90IGxlbjsK PiArICAgIHVpbnQxNl90IGZsYWdzOwo+ICsgICAgaW50MTZfdCBzdGF0dXM7Cj4gK307Cj4gKwo+ ICsjZGVmaW5lIElPQ1RMX0dOVERFVl9HUkFOVF9DT1BZIFwKPiArX0lPQyhfSU9DX05PTkUsICdH JywgOCwgc2l6ZW9mKHN0cnVjdCBpb2N0bF9nbnRkZXZfZ3JhbnRfY29weSkpCj4gK3N0cnVjdCBp b2N0bF9nbnRkZXZfZ3JhbnRfY29weSB7Cj4gKyAgICB1bnNpZ25lZCBpbnQgY291bnQ7Cj4gKyAg ICBzdHJ1Y3QgaW9jdGxfZ250ZGV2X2dyYW50X2NvcHlfc2VnbWVudCAqc2VnbWVudHM7Cj4gK307 Cj4gKwoKVGhpcyBpcyBvay4KCj4gICNlbmRpZiAvKiBfX0xJTlVYX1BVQkxJQ19HTlRERVZfSF9f ICovCj4gZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnMvZ250dGFiL2dudHRhYl9jb3JlLmMgYi90b29s cy9saWJzL2dudHRhYi9nbnR0YWJfY29yZS5jCj4gaW5kZXggNWQwNDc0ZC4uOWJhZGM1OCAxMDA2 NDQKPiAtLS0gYS90b29scy9saWJzL2dudHRhYi9nbnR0YWJfY29yZS5jCj4gKysrIGIvdG9vbHMv bGlicy9nbnR0YWIvZ250dGFiX2NvcmUuYwo+IEBAIC0xMTMsNiArMTEzLDEyIEBAIGludCB4ZW5n bnR0YWJfdW5tYXAoeGVuZ250dGFiX2hhbmRsZSAqeGd0LCB2b2lkICpzdGFydF9hZGRyZXNzLCB1 aW50MzJfdCBjb3VudCkKPiAgICAgIHJldHVybiBvc2RlcF9nbnR0YWJfdW5tYXAoeGd0LCBzdGFy dF9hZGRyZXNzLCBjb3VudCk7Cj4gIH0KPiAgCj4gK2ludCB4ZW5nbnR0YWJfZ3JhbnRfY29weSh4 ZW5nbnR0YWJfaGFuZGxlICp4Z3QsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJf dCBjb3VudCwKPiArICAgICAgICAgICAgICAgICAgICAgICAgIHhlbmdudHRhYl9ncmFudF9jb3B5 X3NlZ21lbnRfdCogc2VncykKPiArewo+ICsgICAgcmV0dXJuIG9zZGVwX2dudHRhYl9ncmFudF9j b3B5KHhndCwgY291bnQsIHNlZ3MpOwo+ICt9Cj4gIC8qCj4gICAqIExvY2FsIHZhcmlhYmxlczoK PiAgICogbW9kZTogQwo+IGRpZmYgLS1naXQgYS90b29scy9saWJzL2dudHRhYi9nbnR0YWJfdW5p bXAuYyBiL3Rvb2xzL2xpYnMvZ250dGFiL2dudHRhYl91bmltcC5jCj4gaW5kZXggYjNhNGEyMC4u NzlhNWM4OCAxMDA2NDQKPiAtLS0gYS90b29scy9saWJzL2dudHRhYi9nbnR0YWJfdW5pbXAuYwo+ ICsrKyBiL3Rvb2xzL2xpYnMvZ250dGFiL2dudHRhYl91bmltcC5jCj4gQEAgLTc4LDYgKzc4LDEy IEBAIGludCB4ZW5nbnR0YWJfdW5tYXAoeGVuZ250dGFiX2hhbmRsZSAqeGd0LCB2b2lkICpzdGFy dF9hZGRyZXNzLCB1aW50MzJfdCBjb3VudCkKPiAgICAgIGFib3J0KCk7Cj4gIH0KPiAgCj4gK2lu dCB4ZW5nbnR0YWJfY29weV9ncmFudCh4ZW5nbnR0YWJfaGFuZGxlICp4Z3QsCj4gKyAgICAgICAg ICAgICAgICAgICAgICAgICB1aW50MzJfdCBjb3VudCwKPiArICAgICAgICAgICAgICAgICAgICAg ICAgIHhlbmdudHRhYl9jb3B5X2dyYW50X3NlZ21lbnRfdCogc2VncykKCkNvZGluZyBzdHlsZS4g U2hvdWxkIGJlICIgKnNlZ3MiIGluc3RlYWQgb2YgIiogc2VncyIuCgpQbGVhc2UgYWxzbyBmaXgg b3RoZXIgaW5zdGFuY2VzIG9mIHRoaXMgbml0LgoKPiArewo+ICsgICAgcmV0dXJuIC0xOwoKUGxl YXNlIHVzZSBhYm9ydCgpIGhlcmUgaW5zdGVhZC4KCj4gK30KPiAgLyoKPiAgICogTG9jYWwgdmFy aWFibGVzOgo+ICAgKiBtb2RlOiBDCj4gZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnMvZ250dGFiL2lu Y2x1ZGUveGVuZ250dGFiLmggYi90b29scy9saWJzL2dudHRhYi9pbmNsdWRlL3hlbmdudHRhYi5o Cj4gaW5kZXggMDQzMWRjZi4uYTlmYTFmZSAxMDA2NDQKPiAtLS0gYS90b29scy9saWJzL2dudHRh Yi9pbmNsdWRlL3hlbmdudHRhYi5oCj4gKysrIGIvdG9vbHMvbGlicy9nbnR0YWIvaW5jbHVkZS94 ZW5nbnR0YWIuaAo+IEBAIC0yNTgsNiArMjU4LDIwIEBAIGludCB4ZW5nbnR0YWJfdW5tYXAoeGVu Z250dGFiX2hhbmRsZSAqeGd0LCB2b2lkICpzdGFydF9hZGRyZXNzLCB1aW50MzJfdCBjb3VudCk7 Cj4gIGludCB4ZW5nbnR0YWJfc2V0X21heF9ncmFudHMoeGVuZ250dGFiX2hhbmRsZSAqeGd0LAo+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IG5yX2dyYW50cyk7Cj4gIAo+ ICt0eXBlZGVmIHN0cnVjdCB4ZW5nbnR0YWJfZ3JhbnRfY29weV9zZWdtZW50IHhlbmdudHRhYl9n cmFudF9jb3B5X3NlZ21lbnRfdDsKPiArCj4gKy8qKgo+ICsgKiBDb3B5IG1lbW9yeSBmcm9tIG9y IHRvIGdyYW50IHJlZmVyZW5jZXMuIFRoZSBpbmZvcm1hdGlvbiBvZiBlYWNoIG9wZXJhdGlvbnMK PiArICogYXJlIGNvbnRhaW5lZCBpbiAneGVuZ250dGFiX2dyYW50X2NvcHlfc2VnbWVudF90Jy4g VGhlIEBmbGFnIHZhbHVlIGluZGljYXRlCj4gKyAqIHRoZSBkaXJlY3Rpb24gb2YgYW4gb3BlcmF0 aW9uIChHTlRDT1BZX3NvdXJjZV9ncmVmXEdOVENPUFlfZGVzdF9ncmVmKS4KPiArICoKPiArICog VGhlIHN1bSBvZiBmaWVsZHMgQG9mZnNldFtpXSBhbmQgQGxlbltpXSBvZiAneGVuZ250dGFiX2dy YW50X2NvcHlfc2VnbWVudF90Jwo+ICsgKiBzaG91bGQgbm90IGV4Y2VlZCBYRU5fUEFHRV9TSVpF Cj4gKyAqLwo+ICtpbnQgeGVuZ250dGFiX2dyYW50X2NvcHkoeGVuZ250dGFiX2hhbmRsZSAqeGd0 LAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgY291bnQsCj4gKyAgICAgICAg ICAgICAgICAgICAgICAgICB4ZW5nbnR0YWJfZ3JhbnRfY29weV9zZWdtZW50X3QqIHNlZ3MpOwo+ ICsKPiAgLyoKPiAgICogR3JhbnQgU2hhcmluZyBJbnRlcmZhY2UgKGFsbG9jYXRpbmcgYW5kIGdy YW50aW5nIHBhZ2VzIHRvIG90aGVycykKPiAgICovCj4gZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnMv Z250dGFiL2xpYnhlbmdudHRhYi5tYXAgYi90b29scy9saWJzL2dudHRhYi9saWJ4ZW5nbnR0YWIu bWFwCj4gaW5kZXggZGM3MzdhYy4uMDkyODk2MyAxMDA2NDQKPiAtLS0gYS90b29scy9saWJzL2du dHRhYi9saWJ4ZW5nbnR0YWIubWFwCj4gKysrIGIvdG9vbHMvbGlicy9nbnR0YWIvbGlieGVuZ250 dGFiLm1hcAo+IEBAIC0yMSwzICsyMSw3IEBAIFZFUlNfMS4wIHsKPiAgCQl4ZW5nbnRzaHJfdW5z aGFyZTsKPiAgCWxvY2FsOiAqOyAvKiBEbyBub3QgZXhwb3NlIGFueXRoaW5nIGJ5IGRlZmF1bHQg Ki8KPiAgfTsKPiArCj4gK1ZFUlNfMS4xIHsKCk1pc3NpbmcgImdsb2JhbDoiIGhlcmU/Cgo+ICsJ CXhlbmdudHRhYl9ncmFudF9jb3B5Owo+ICt9IFZFUlNfMS4wOwoKWW91IGFsc28gbmVlZCB0byBt b2RpZnkgdGhlICJNSU5PUiIgZmllbGQgaW4gZ250dGFiL01ha2VmaWxlIHNvIHRoYXQgdGhlCmdl bmVyYXRlIHNvIGZpbGUgY29udGFpbnMgdGhlIGNvcnJlY3QgdmVyc2lvbiBudW1iZXIuCgo+IFwg Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo+IGRpZmYgLS1naXQgYS90b29scy9saWJzL2dudHRh Yi9saW51eC5jIGIvdG9vbHMvbGlicy9nbnR0YWIvbGludXguYwo+IGluZGV4IDdiMGZiYTQuLjI2 YmZiZGMgMTAwNjQ0Cj4gLS0tIGEvdG9vbHMvbGlicy9nbnR0YWIvbGludXguYwo+ICsrKyBiL3Rv b2xzL2xpYnMvZ250dGFiL2xpbnV4LmMKPiBAQCAtMjM1LDYgKzIzNSwyNCBAQCBpbnQgb3NkZXBf Z250dGFiX3VubWFwKHhlbmdudHRhYl9oYW5kbGUgKnhndCwKPiAgICAgIHJldHVybiAwOwo+ICB9 Cj4gIAo+IGRpZmYgLS1naXQgYS90b29scy9saWJzL2dudHRhYi9wcml2YXRlLmggYi90b29scy9s aWJzL2dudHRhYi9wcml2YXRlLmgKPiBpbmRleCBkMjg2Yzg2Li4yMmFkNTNhIDEwMDY0NAo+IC0t LSBhL3Rvb2xzL2xpYnMvZ250dGFiL3ByaXZhdGUuaAo+ICsrKyBiL3Rvb2xzL2xpYnMvZ250dGFi L3ByaXZhdGUuaAo+IEBAIC05LDYgKzksMjAgQEAgc3RydWN0IHhlbmdudGRldl9oYW5kbGUgewo+ ICAgICAgaW50IGZkOwo+ICB9Owo+ICAKPiArc3RydWN0IHhlbmdudHRhYl9jb3B5X2dyYW50X3Nl Z21lbnQgewo+ICsgICAgdW5pb24geGVuZ250dGFiX2NvcHlfcHRyIHsKPiArICAgICAgICB2b2lk ICp2aXJ0Owo+ICsgICAgICAgIHN0cnVjdCB7Cj4gKyAgICAgICAgICAgIHVpbnQzMl90IHJlZjsK PiArICAgICAgICAgICAgdWludDE2X3Qgb2Zmc2V0Owo+ICsgICAgICAgICAgICB1aW50MTZfdCBk b21pZDsKPiArICAgICAgICB9IGZvcmVpZ247Cj4gKyAgICB9IHNvdXJjZSwgZGVzdDsKPiArICAg IHVpbnQxNl90IGxlbjsKPiArICAgIHVpbnQxNl90IGZsYWdzOwo+ICsgICAgaW50MTZfdCBzdGF0 dXM7Cj4gK307Cj4gKwoKVGhlIHN0cnVjdCBpcyBtb3JlIG9yIGxlc3MgYSBkaXJlY3QgY29weSBv ZiBMaW51eCBzdHJ1Y3R1cmUuIEl0IGlzCnByb2JhYmx5IGZpbmUgYXMtaXMsIGJ1dCBJIGRvbid0 IHdhbnQgdG8gcmlzayBtYWtpbmcgdGhpcyBsaWJyYXJ5IExpbnV4CmNlbnRyaWMuIElmIHlvdSBs b29rIGF0IG90aGVyIGZ1bmN0aW9ucywgdGhleSBhY2NlcHQgYSBidW5jaCBvZiBkaXNjcmV0ZQph cmd1bWVudHMgdGhlbiBhc3NlbWJsZSB0aG9zZSBhcmd1bWVudHMgaW50byBPUyBkZXBlbmRlbnQg c3RydWN0dXJlIGluCm9zZGVwIGZ1bmN0aW9ucy4gSSBrbm93IGhhdmluZyBkaXNjcmV0ZSBhcmd1 bWVudHMgZm9yIHRoZSBBUEkgeW91IHdhbnQKdG8gaW50cm9kdWNlIHNlZW1zIGN1bWJlcnNvbWUs IGJ1dCBJIHdhbnQgdG8gYXQgbGVhc3QgdGVsbCB5b3UgYWxsIHRoZQpiYWNrZ3JvdW5kIGluZm9y bWF0aW9uIG5lZWRlZCBmb3IgYSB0aG9yb3VnaCBkaXNjdXNzaW9uLiBJIHdvdWxkIGJlCmludGVy ZXN0ZWQgaW4gUm9nZXIncyB2aWV3IG9uIHRoaXMuCgpJIGFwb2xvZ2lzZSBmb3Igbm90IGhhdmlu ZyBjb21tZW50ZWQgb24geW91ciBzZXJpZXMgZWFybGllci4KCj4gIGludCBvc2RlcF9nbnR0YWJf b3Blbih4ZW5nbnR0YWJfaGFuZGxlICp4Z3QpOwo+ICBpbnQgb3NkZXBfZ250dGFiX2Nsb3NlKHhl bmdudHRhYl9oYW5kbGUgKnhndCk7Cj4gIAo+IEBAIC0yMyw2ICszNywxMCBAQCB2b2lkICpvc2Rl cF9nbnR0YWJfZ3JhbnRfbWFwKHhlbmdudHRhYl9oYW5kbGUgKnhndCwKPiAgaW50IG9zZGVwX2du dHRhYl91bm1hcCh4ZW5nbnR0YWJfaGFuZGxlICp4Z3QsCj4gICAgICAgICAgICAgICAgICAgICAg ICAgdm9pZCAqc3RhcnRfYWRkcmVzcywKPiAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJf dCBjb3VudCk7Cj4gK2ludCBvc2RlcF9nbnR0YWJfZ3JhbnRfY29weSh4ZW5nbnR0YWJfaGFuZGxl ICp4Z3QsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBjb3VudCwKPiAr ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhlbmdudHRhYl9ncmFudF9jb3B5X3NlZ21lbnRf dCogc2Vncyk7Cj4gKwo+ICBpbnQgb3NkZXBfZ250c2hyX29wZW4oeGVuZ250c2hyX2hhbmRsZSAq eGdzKTsKPiAgaW50IG9zZGVwX2dudHNocl9jbG9zZSh4ZW5nbnRzaHJfaGFuZGxlICp4Z3MpOwo+ ICAKPiBkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGMvaW5jbHVkZS94ZW5jdHJsX2NvbXBhdC5oIGIv dG9vbHMvbGlieGMvaW5jbHVkZS94ZW5jdHJsX2NvbXBhdC5oCj4gaW5kZXggOTNjY2FkYi4uN2Ji MjRhNCAxMDA2NDQKPiAtLS0gYS90b29scy9saWJ4Yy9pbmNsdWRlL3hlbmN0cmxfY29tcGF0LmgK PiArKysgYi90b29scy9saWJ4Yy9pbmNsdWRlL3hlbmN0cmxfY29tcGF0LmgKPiBAQCAtMTA1LDYg KzEwNSwyOSBAQCBpbnQgeGNfZ250dGFiX211bm1hcCh4Y19nbnR0YWIgKnhjZywKPiAgaW50IHhj X2dudHRhYl9zZXRfbWF4X2dyYW50cyh4Y19nbnR0YWIgKnhjZywKPiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB1aW50MzJfdCBjb3VudCk7Cj4gIAo+ICt1bmlvbiB4ZW5nbnR0YWJfZ3Jh bnRfY29weV9wdHIgewo+ICsgICAgdm9pZCAqdmlydDsKPiArICAgIHN0cnVjdCB7Cj4gKyAgICAg ICAgdWludDMyX3QgcmVmOwo+ICsgICAgICAgIHVpbnQxNl90IG9mZnNldDsKPiArICAgICAgICB1 aW50MTZfdCBkb21pZDsKPiArICAgIH0gZm9yZWlnbjsKPiArfTsKPiArCj4gK3N0cnVjdCB4ZW5n bnR0YWJfZ3JhbnRfY29weV9zZWdtZW50IHsKPiArICAgIHVuaW9uIHhlbmdudHRhYl9ncmFudF9j b3B5X3B0ciBzb3VyY2UsIGRlc3Q7Cj4gKyAgICB1aW50MTZfdCBsZW47Cj4gKyAgICB1aW50MTZf dCBmbGFnczsKPiArICAgIGludDE2X3Qgc3RhdHVzOwo+ICt9Owo+ICsKPiArdHlwZWRlZiBzdHJ1 Y3QgeGVuZ250dGFiX2dyYW50X2NvcHlfc2VnbWVudCB4Y19nbnR0YWJfZ3JhbnRfY29weV9zZWdt ZW50X3Q7Cj4gK3R5cGVkZWYgdW5pb24geGVuZ250dGFiX2dyYW50X2NvcHlfcHRyIHhjX2dudHRh Yl9ncmFudF9jb3B5X3B0cl90Owo+ICsKPiAraW50IHhjX2dudHRhYl9ncmFudF9jb3B5KHhjX2du dHRhYiAqeGd0LAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgY291bnQsCj4g KyAgICAgICAgICAgICAgICAgICAgICAgICB4Y19nbnR0YWJfZ3JhbnRfY29weV9zZWdtZW50X3Qq IHNlZ3MpOwo+ICsKClRoZSBwdXJwb3NlIG9mIGNvbXBhY3QgaGVhZGVyIGlzIHRvIG1ha2Ugb2xk IGFwcGxpY2F0aW9uIGNvZGUgdGhhdCB1c2VzCm9sZCBBUElzICh0aGUgeGNfKiBmdW5jdGlvbnMp IGNvbnRpbnVlIHRvIGNvbXBpbGUgYnkgcHJvdmlkaW5nIG5lY2Vzc2FyeQpzdHVicy4KClRoaXMg aXMgbmV3IEFQSSwgc28gaXQgZG9lc24ndCBiZWxvbmcgdG8gdGhlIGNvbXBhdCBoZWFkZXIuIEFu eW9uZSB3aG8Kd2FudHMgdG8gdXNlIHRoaXMgbmV3IEFQSSBzaG91bGQgYmUgdXNpbmcgbGlieGVu Z250dGFiIGluc3RlYWQuIFdlIHdvbid0CmJlIGFkZGluZyBtb3JlIHhjXyBmdW5jdGlvbnMuCgpJ IHRoaW5rIHlvdSBjYW4ganVzdCBkcm9wIHRoZXNlIGNoYW5nZXMgY29tcGxldGVseS4KClRoaXMg YWxzbyBtZWFucyB0aGUgY29tcGF0aWJpbGl0eSBzaG91bGQgYmUgb24gUUVNVSBzaWRlLiBJIHRo aW5rIFFFTVUKYWxyZWFkeSBrbm93cyBob3cgdG8gbGluayBhZ2FpbnN0IGxpYnhlbmdudHRhYi4g V2hhdCB5b3UgbmVlZCB0byBkbyBpcwp0byBhY3R1YWxseSB0ZXN0IGlmIHRoZSBBUEkgZXhpc3Rz IGFuZCB0YWtlIGFwcHJvcHJpYXRlIGFjdGlvbiB0aGVyZS4KCklmIEknbSBub3QgY2xlYXIgZW5v dWdoLCBmZWVsIGZyZWUgdG8gYXNrLgoKV2VpLgoKPiAgdHlwZWRlZiBzdHJ1Y3QgeGVuZ250ZGV2 X2hhbmRsZSB4Y19nbnRzaHI7Cj4gIAo+ICB4Y19nbnRzaHIgKnhjX2dudHNocl9vcGVuKHhlbnRv b2xsb2dfbG9nZ2VyICpsb2dnZXIsCj4gZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhjL3hjX2dudHRh Yl9jb21wYXQuYyBiL3Rvb2xzL2xpYnhjL3hjX2dudHRhYl9jb21wYXQuYwo+IGluZGV4IDZmMDM2 ZDguLmMyNjViYjAgMTAwNjQ0Cj4gLS0tIGEvdG9vbHMvbGlieGMveGNfZ250dGFiX2NvbXBhdC5j Cj4gKysrIGIvdG9vbHMvbGlieGMveGNfZ250dGFiX2NvbXBhdC5jCj4gQEAgLTY5LDYgKzY5LDEz IEBAIGludCB4Y19nbnR0YWJfc2V0X21heF9ncmFudHMoeGNfZ250dGFiICp4Y2csCj4gICAgICBy ZXR1cm4geGVuZ250dGFiX3NldF9tYXhfZ3JhbnRzKHhjZywgY291bnQpOwo+ICB9Cj4gIAo+ICtp bnQgeGNfZ250dGFiX2dyYW50X2NvcHkoeGNfZ250dGFiICp4Z3QsCj4gKyAgICAgICAgICAgICAg ICAgICAgICAgICB1aW50MzJfdCBjb3VudCwKPiArICAgICAgICAgICAgICAgICAgICAgICAgIHhj X2dudHRhYl9ncmFudF9jb3B5X3NlZ21lbnRfdCogc2VncykKPiArewo+ICsgICAgcmV0dXJuIHhl bmdudHRhYl9ncmFudF9jb3B5KHhndCwgY291bnQsIHNlZ3MpOwo+ICt9Cj4gKwo+ICB4Y19nbnRz aHIgKnhjX2dudHNocl9vcGVuKHhlbnRvb2xsb2dfbG9nZ2VyICpsb2dnZXIsCj4gICAgICAgICAg ICAgICAgICAgICAgICAgICAgdW5zaWduZWQgb3Blbl9mbGFncykKPiAgewo+IC0tIAo+IDEuOS4x Cj4gCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4t ZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54 ZW4ub3JnL3hlbi1kZXZlbAo=