From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paulina Szubarczyk Subject: [PATCH v2 1/2] libs, libxc: Interface for grant copy operation Date: Mon, 13 Jun 2016 11:43:55 +0200 Message-ID: <1465811036-17026-2-git-send-email-paulinaszubarczyk@gmail.com> References: <1465811036-17026-1-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 1bCOSm-0003VY-0y for xen-devel@lists.xenproject.org; Mon, 13 Jun 2016 09:47:20 +0000 Received: by mail-lf0-f67.google.com with SMTP id j191so1384478lfb.3 for ; Mon, 13 Jun 2016 02:45:35 -0700 (PDT) In-Reply-To: <1465811036-17026-1-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: xen-devel@lists.xenproject.org, roger.pau@citrix.com Cc: sstabellini@kernel.org, wei.liu2@citrix.com, Paulina Szubarczyk , ian.jackson@eu.citrix.com, P.Gawkowski@ii.pw.edu.pl, dvrabel@cantab.net, anthony.perard@citrix.com List-Id: xen-devel@lists.xenproject.org SW1wbGVudGF0aW9uIG9mIGludGVyZmFjZSBmb3IgZ3JhbnQgY29weSBvcGVyYXRpb24gaW4gbGli cyBhbmQKbGlieGMuCgpJbiBhIGxpbnV4IHBhcnQgYW4gaW9jdGwoZ250ZGV2LCBJT0NUTF9HTlRE RVZfR1JBTlRfQ09QWSwgLi4pCnN5c3RlbSBjYWxsIGlzIGludm9rZWQuIEluIG1pbmktb3MgdGhl IG9wZXJhdGlvbiBpcyB5ZXQgbm90CmltcGxlbWVudGVkLiBGb3Igb3RoZXIgT1NzIHRoZXJlIGlz IGEgZHVtbXkgaW1wbGVtZW50YXRpb24uCgpTaWduZWQtb2ZmLWJ5OiBQYXVsaW5hIFN6dWJhcmN6 eWsgPHBhdWxpbmFzenViYXJjenlrQGdtYWlsLmNvbT4KCi0tLQpDaGFuZ2VzIHNpbmNlIHYxOgot IGNoYW5nZWQgdGhlIGludGVyZmFjZSB0byBjYWxsIGdyYW50IGNvcHkgb3BlcmF0aW9uIHRvIG1h dGNoIGlvY3RsCiAgaW50IHhlbmdudHRhYl9ncmFudF9jb3B5KHhlbmdudHRhYl9oYW5kbGUgKnhn dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgY291bnQsCiAgICAgICAgICAg ICAgICAgICAgICAgICAgIHhlbmdudHRhYl9ncmFudF9jb3B5X3NlZ21lbnRfdCogc2VncykKLSBh ZGRlZCBhIHN0cnVjdCAneGVuZ250dGFiX2NvcHlfZ3JhbnRfc2VnbWVudCcgZGVmaW5pdGlvbiB0 byB0b29scy9saWJzICAKICAvZ250dGFiL3ByaXZhdGUuaCwgdG9vbHMvbGlieGMvaW5jbHVkZS94 ZW5jdHJsX2NvbXBhdC5oCi0gY2hhbmdlZCB0aGUgZnVuY3Rpb24gb3NkZXBfZ250dGFiX2dyYW50 X2NvcHkgd2hpY2ggcmlnaHQgbm93IGp1c3QgY2FsbAogIHRoZSBpb2N0bAotIGFkZGVkIGEgbmV3 IFZFUjEuMSB0byB0b29scy9saWJzL2dudHRhYi9saWJ4ZW5nbnR0YWIubWFwIAoKIHRvb2xzL2lu Y2x1ZGUveGVuLXN5cy9MaW51eC9nbnRkZXYuaCAgfCAyMSArKysrKysrKysrKysrKysrKysrKysK IHRvb2xzL2xpYnMvZ250dGFiL2dudHRhYl9jb3JlLmMgICAgICAgfCAgNiArKysrKysKIHRvb2xz L2xpYnMvZ250dGFiL2dudHRhYl91bmltcC5jICAgICAgfCAgNiArKysrKysKIHRvb2xzL2xpYnMv Z250dGFiL2luY2x1ZGUveGVuZ250dGFiLmggfCAxNCArKysrKysrKysrKysrKwogdG9vbHMvbGli cy9nbnR0YWIvbGlieGVuZ250dGFiLm1hcCAgICB8ICA0ICsrKysKIHRvb2xzL2xpYnMvZ250dGFi L2xpbnV4LmMgICAgICAgICAgICAgfCAxOCArKysrKysrKysrKysrKysrKysKIHRvb2xzL2xpYnMv Z250dGFiL21pbmlvcy5jICAgICAgICAgICAgfCAgNiArKysrKysKIHRvb2xzL2xpYnMvZ250dGFi L3ByaXZhdGUuaCAgICAgICAgICAgfCAxOCArKysrKysrKysrKysrKysrKysKIHRvb2xzL2xpYnhj L2luY2x1ZGUveGVuY3RybF9jb21wYXQuaCAgfCAyMyArKysrKysrKysrKysrKysrKysrKysrKwog dG9vbHMvbGlieGMveGNfZ250dGFiX2NvbXBhdC5jICAgICAgICB8ICA3ICsrKysrKysKIDEwIGZp bGVzIGNoYW5nZWQsIDEyMyBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvdG9vbHMvaW5jbHVk ZS94ZW4tc3lzL0xpbnV4L2dudGRldi5oIGIvdG9vbHMvaW5jbHVkZS94ZW4tc3lzL0xpbnV4L2du dGRldi5oCmluZGV4IGNhZjZmYjQuLjBjYTA3YzkgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2luY2x1ZGUv eGVuLXN5cy9MaW51eC9nbnRkZXYuaAorKysgYi90b29scy9pbmNsdWRlL3hlbi1zeXMvTGludXgv Z250ZGV2LmgKQEAgLTE0Nyw0ICsxNDcsMjUgQEAgc3RydWN0IGlvY3RsX2dudGRldl91bm1hcF9u b3RpZnkgewogLyogU2VuZCBhbiBpbnRlcnJ1cHQgb24gdGhlIGluZGljYXRlZCBldmVudCBjaGFu bmVsICovCiAjZGVmaW5lIFVOTUFQX05PVElGWV9TRU5EX0VWRU5UIDB4MgogCitzdHJ1Y3QgaW9j dGxfZ250ZGV2X2dyYW50X2NvcHlfc2VnbWVudCB7CisgICAgdW5pb24geworICAgICAgICB2b2lk ICp2aXJ0OworICAgICAgICBzdHJ1Y3QgeworICAgICAgICAgICAgdWludDMyX3QgcmVmOworICAg ICAgICAgICAgdWludDE2X3Qgb2Zmc2V0OworICAgICAgICAgICAgdWludDE2X3QgZG9taWQ7Cisg ICAgICAgIH0gZm9yZWlnbjsKKyAgICB9IHNvdXJjZSwgZGVzdDsKKyAgICB1aW50MTZfdCBsZW47 CisgICAgdWludDE2X3QgZmxhZ3M7CisgICAgaW50MTZfdCBzdGF0dXM7Cit9OworCisjZGVmaW5l IElPQ1RMX0dOVERFVl9HUkFOVF9DT1BZIFwKK19JT0MoX0lPQ19OT05FLCAnRycsIDgsIHNpemVv ZihzdHJ1Y3QgaW9jdGxfZ250ZGV2X2dyYW50X2NvcHkpKQorc3RydWN0IGlvY3RsX2dudGRldl9n cmFudF9jb3B5IHsKKyAgICB1bnNpZ25lZCBpbnQgY291bnQ7CisgICAgc3RydWN0IGlvY3RsX2du dGRldl9ncmFudF9jb3B5X3NlZ21lbnQgKnNlZ21lbnRzOworfTsKKwogI2VuZGlmIC8qIF9fTElO VVhfUFVCTElDX0dOVERFVl9IX18gKi8KZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnMvZ250dGFiL2du dHRhYl9jb3JlLmMgYi90b29scy9saWJzL2dudHRhYi9nbnR0YWJfY29yZS5jCmluZGV4IDVkMDQ3 NGQuLjliYWRjNTggMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnMvZ250dGFiL2dudHRhYl9jb3JlLmMK KysrIGIvdG9vbHMvbGlicy9nbnR0YWIvZ250dGFiX2NvcmUuYwpAQCAtMTEzLDYgKzExMywxMiBA QCBpbnQgeGVuZ250dGFiX3VubWFwKHhlbmdudHRhYl9oYW5kbGUgKnhndCwgdm9pZCAqc3RhcnRf YWRkcmVzcywgdWludDMyX3QgY291bnQpCiAgICAgcmV0dXJuIG9zZGVwX2dudHRhYl91bm1hcCh4 Z3QsIHN0YXJ0X2FkZHJlc3MsIGNvdW50KTsKIH0KIAoraW50IHhlbmdudHRhYl9ncmFudF9jb3B5 KHhlbmdudHRhYl9oYW5kbGUgKnhndCwKKyAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJf dCBjb3VudCwKKyAgICAgICAgICAgICAgICAgICAgICAgICB4ZW5nbnR0YWJfZ3JhbnRfY29weV9z ZWdtZW50X3QqIHNlZ3MpCit7CisgICAgcmV0dXJuIG9zZGVwX2dudHRhYl9ncmFudF9jb3B5KHhn dCwgY291bnQsIHNlZ3MpOworfQogLyoKICAqIExvY2FsIHZhcmlhYmxlczoKICAqIG1vZGU6IEMK ZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnMvZ250dGFiL2dudHRhYl91bmltcC5jIGIvdG9vbHMvbGli cy9nbnR0YWIvZ250dGFiX3VuaW1wLmMKaW5kZXggYjNhNGEyMC4uNzlhNWM4OCAxMDA2NDQKLS0t IGEvdG9vbHMvbGlicy9nbnR0YWIvZ250dGFiX3VuaW1wLmMKKysrIGIvdG9vbHMvbGlicy9nbnR0 YWIvZ250dGFiX3VuaW1wLmMKQEAgLTc4LDYgKzc4LDEyIEBAIGludCB4ZW5nbnR0YWJfdW5tYXAo eGVuZ250dGFiX2hhbmRsZSAqeGd0LCB2b2lkICpzdGFydF9hZGRyZXNzLCB1aW50MzJfdCBjb3Vu dCkKICAgICBhYm9ydCgpOwogfQogCitpbnQgeGVuZ250dGFiX2NvcHlfZ3JhbnQoeGVuZ250dGFi X2hhbmRsZSAqeGd0LAorICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGNvdW50LAor ICAgICAgICAgICAgICAgICAgICAgICAgIHhlbmdudHRhYl9jb3B5X2dyYW50X3NlZ21lbnRfdCog c2VncykKK3sKKyAgICByZXR1cm4gLTE7Cit9CiAvKgogICogTG9jYWwgdmFyaWFibGVzOgogICog bW9kZTogQwpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlicy9nbnR0YWIvaW5jbHVkZS94ZW5nbnR0YWIu aCBiL3Rvb2xzL2xpYnMvZ250dGFiL2luY2x1ZGUveGVuZ250dGFiLmgKaW5kZXggMDQzMWRjZi4u YTlmYTFmZSAxMDA2NDQKLS0tIGEvdG9vbHMvbGlicy9nbnR0YWIvaW5jbHVkZS94ZW5nbnR0YWIu aAorKysgYi90b29scy9saWJzL2dudHRhYi9pbmNsdWRlL3hlbmdudHRhYi5oCkBAIC0yNTgsNiAr MjU4LDIwIEBAIGludCB4ZW5nbnR0YWJfdW5tYXAoeGVuZ250dGFiX2hhbmRsZSAqeGd0LCB2b2lk ICpzdGFydF9hZGRyZXNzLCB1aW50MzJfdCBjb3VudCk7CiBpbnQgeGVuZ250dGFiX3NldF9tYXhf Z3JhbnRzKHhlbmdudHRhYl9oYW5kbGUgKnhndCwKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgdWludDMyX3QgbnJfZ3JhbnRzKTsKIAordHlwZWRlZiBzdHJ1Y3QgeGVuZ250dGFiX2dyYW50 X2NvcHlfc2VnbWVudCB4ZW5nbnR0YWJfZ3JhbnRfY29weV9zZWdtZW50X3Q7CisKKy8qKgorICog Q29weSBtZW1vcnkgZnJvbSBvciB0byBncmFudCByZWZlcmVuY2VzLiBUaGUgaW5mb3JtYXRpb24g b2YgZWFjaCBvcGVyYXRpb25zCisgKiBhcmUgY29udGFpbmVkIGluICd4ZW5nbnR0YWJfZ3JhbnRf Y29weV9zZWdtZW50X3QnLiBUaGUgQGZsYWcgdmFsdWUgaW5kaWNhdGUKKyAqIHRoZSBkaXJlY3Rp b24gb2YgYW4gb3BlcmF0aW9uIChHTlRDT1BZX3NvdXJjZV9ncmVmXEdOVENPUFlfZGVzdF9ncmVm KS4KKyAqCisgKiBUaGUgc3VtIG9mIGZpZWxkcyBAb2Zmc2V0W2ldIGFuZCBAbGVuW2ldIG9mICd4 ZW5nbnR0YWJfZ3JhbnRfY29weV9zZWdtZW50X3QnCisgKiBzaG91bGQgbm90IGV4Y2VlZCBYRU5f UEFHRV9TSVpFCisgKi8KK2ludCB4ZW5nbnR0YWJfZ3JhbnRfY29weSh4ZW5nbnR0YWJfaGFuZGxl ICp4Z3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgY291bnQsCisgICAgICAg ICAgICAgICAgICAgICAgICAgeGVuZ250dGFiX2dyYW50X2NvcHlfc2VnbWVudF90KiBzZWdzKTsK KwogLyoKICAqIEdyYW50IFNoYXJpbmcgSW50ZXJmYWNlIChhbGxvY2F0aW5nIGFuZCBncmFudGlu ZyBwYWdlcyB0byBvdGhlcnMpCiAgKi8KZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnMvZ250dGFiL2xp YnhlbmdudHRhYi5tYXAgYi90b29scy9saWJzL2dudHRhYi9saWJ4ZW5nbnR0YWIubWFwCmluZGV4 IGRjNzM3YWMuLjA5Mjg5NjMgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnMvZ250dGFiL2xpYnhlbmdu dHRhYi5tYXAKKysrIGIvdG9vbHMvbGlicy9nbnR0YWIvbGlieGVuZ250dGFiLm1hcApAQCAtMjEs MyArMjEsNyBAQCBWRVJTXzEuMCB7CiAJCXhlbmdudHNocl91bnNoYXJlOwogCWxvY2FsOiAqOyAv KiBEbyBub3QgZXhwb3NlIGFueXRoaW5nIGJ5IGRlZmF1bHQgKi8KIH07CisKK1ZFUlNfMS4xIHsK KwkJeGVuZ250dGFiX2dyYW50X2NvcHk7Cit9IFZFUlNfMS4wOwpcIE5vIG5ld2xpbmUgYXQgZW5k IG9mIGZpbGUKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnMvZ250dGFiL2xpbnV4LmMgYi90b29scy9s aWJzL2dudHRhYi9saW51eC5jCmluZGV4IDdiMGZiYTQuLjI2YmZiZGMgMTAwNjQ0Ci0tLSBhL3Rv b2xzL2xpYnMvZ250dGFiL2xpbnV4LmMKKysrIGIvdG9vbHMvbGlicy9nbnR0YWIvbGludXguYwpA QCAtMjM1LDYgKzIzNSwyNCBAQCBpbnQgb3NkZXBfZ250dGFiX3VubWFwKHhlbmdudHRhYl9oYW5k bGUgKnhndCwKICAgICByZXR1cm4gMDsKIH0KIAoraW50IG9zZGVwX2dudHRhYl9ncmFudF9jb3B5 KHhlbmdudHRhYl9oYW5kbGUgKnhndCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50 MzJfdCBjb3VudCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB4ZW5nbnR0YWJfZ3JhbnRf Y29weV9zZWdtZW50X3QqIHNlZ3MpCit7CisgICAgaW50IGZkID0geGd0LT5mZDsKKyAgICBzdHJ1 Y3QgaW9jdGxfZ250ZGV2X2dyYW50X2NvcHkgY29weTsKKworICAgIGNvcHkuc2VnbWVudHMgPSAo c3RydWN0IGlvY3RsX2dudGRldl9ncmFudF9jb3B5X3NlZ21lbnQqKXNlZ3M7CisgICAgY29weS5j b3VudCA9IGNvdW50OworCisgICAgaWYgKGlvY3RsKGZkLCBJT0NUTF9HTlRERVZfR1JBTlRfQ09Q WSwgJmNvcHkpKSB7CisgICAgICAgIEdURVJST1IoeGd0LT5sb2dnZXIsICJpb2N0bCBHUkFOVCBD T1BZIGZhaWxlZCAlZCAiLCBlcnJubyk7CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisKKyAg ICByZXR1cm4gMDsKK30KKwogaW50IG9zZGVwX2dudHNocl9vcGVuKHhlbmdudHNocl9oYW5kbGUg KnhncykKIHsKICAgICBpbnQgZmQgPSBvcGVuKERFVlhFTiAiZ250YWxsb2MiLCBPX1JEV1IpOwpk aWZmIC0tZ2l0IGEvdG9vbHMvbGlicy9nbnR0YWIvbWluaW9zLmMgYi90b29scy9saWJzL2dudHRh Yi9taW5pb3MuYwppbmRleCA3ZTA0MTc0Li45M2U0Zjg5IDEwMDY0NAotLS0gYS90b29scy9saWJz L2dudHRhYi9taW5pb3MuYworKysgYi90b29scy9saWJzL2dudHRhYi9taW5pb3MuYwpAQCAtMTA2 LDYgKzEwNiwxMiBAQCBpbnQgb3NkZXBfZ250dGFiX3NldF9tYXhfZ3JhbnRzKHhlbmdudHRhYl9o YW5kbGUgKnhndCwgdWludDMyX3QgY291bnQpCiAgICAgcmV0dXJuIHJldDsKIH0KIAoraW50IG9z ZGVwX2dudHRhYl9ncmFudF9jb3B5KHhlbmdudHRhYl9oYW5kbGUgKnhndCwKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICB1aW50MzJfdCBjb3VudCwKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICB4ZW5nbnR0YWJfZ3JhbnRfY29weV9zZWdtZW50X3QqIHNlZ3MpCit7CisgICAgcmV0dXJu IC0xOworfQogLyoKICAqIExvY2FsIHZhcmlhYmxlczoKICAqIG1vZGU6IEMKZGlmZiAtLWdpdCBh L3Rvb2xzL2xpYnMvZ250dGFiL3ByaXZhdGUuaCBiL3Rvb2xzL2xpYnMvZ250dGFiL3ByaXZhdGUu aAppbmRleCBkMjg2Yzg2Li4yMmFkNTNhIDEwMDY0NAotLS0gYS90b29scy9saWJzL2dudHRhYi9w cml2YXRlLmgKKysrIGIvdG9vbHMvbGlicy9nbnR0YWIvcHJpdmF0ZS5oCkBAIC05LDYgKzksMjAg QEAgc3RydWN0IHhlbmdudGRldl9oYW5kbGUgewogICAgIGludCBmZDsKIH07CiAKK3N0cnVjdCB4 ZW5nbnR0YWJfY29weV9ncmFudF9zZWdtZW50IHsKKyAgICB1bmlvbiB4ZW5nbnR0YWJfY29weV9w dHIgeworICAgICAgICB2b2lkICp2aXJ0OworICAgICAgICBzdHJ1Y3QgeworICAgICAgICAgICAg dWludDMyX3QgcmVmOworICAgICAgICAgICAgdWludDE2X3Qgb2Zmc2V0OworICAgICAgICAgICAg dWludDE2X3QgZG9taWQ7CisgICAgICAgIH0gZm9yZWlnbjsKKyAgICB9IHNvdXJjZSwgZGVzdDsK KyAgICB1aW50MTZfdCBsZW47CisgICAgdWludDE2X3QgZmxhZ3M7CisgICAgaW50MTZfdCBzdGF0 dXM7Cit9OworCiBpbnQgb3NkZXBfZ250dGFiX29wZW4oeGVuZ250dGFiX2hhbmRsZSAqeGd0KTsK IGludCBvc2RlcF9nbnR0YWJfY2xvc2UoeGVuZ250dGFiX2hhbmRsZSAqeGd0KTsKIApAQCAtMjMs NiArMzcsMTAgQEAgdm9pZCAqb3NkZXBfZ250dGFiX2dyYW50X21hcCh4ZW5nbnR0YWJfaGFuZGxl ICp4Z3QsCiBpbnQgb3NkZXBfZ250dGFiX3VubWFwKHhlbmdudHRhYl9oYW5kbGUgKnhndCwKICAg ICAgICAgICAgICAgICAgICAgICAgdm9pZCAqc3RhcnRfYWRkcmVzcywKICAgICAgICAgICAgICAg ICAgICAgICAgdWludDMyX3QgY291bnQpOworaW50IG9zZGVwX2dudHRhYl9ncmFudF9jb3B5KHhl bmdudHRhYl9oYW5kbGUgKnhndCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJf dCBjb3VudCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB4ZW5nbnR0YWJfZ3JhbnRfY29w eV9zZWdtZW50X3QqIHNlZ3MpOworCiBpbnQgb3NkZXBfZ250c2hyX29wZW4oeGVuZ250c2hyX2hh bmRsZSAqeGdzKTsKIGludCBvc2RlcF9nbnRzaHJfY2xvc2UoeGVuZ250c2hyX2hhbmRsZSAqeGdz KTsKIApkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGMvaW5jbHVkZS94ZW5jdHJsX2NvbXBhdC5oIGIv dG9vbHMvbGlieGMvaW5jbHVkZS94ZW5jdHJsX2NvbXBhdC5oCmluZGV4IDkzY2NhZGIuLjdiYjI0 YTQgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhjL2luY2x1ZGUveGVuY3RybF9jb21wYXQuaAorKysg Yi90b29scy9saWJ4Yy9pbmNsdWRlL3hlbmN0cmxfY29tcGF0LmgKQEAgLTEwNSw2ICsxMDUsMjkg QEAgaW50IHhjX2dudHRhYl9tdW5tYXAoeGNfZ250dGFiICp4Y2csCiBpbnQgeGNfZ250dGFiX3Nl dF9tYXhfZ3JhbnRzKHhjX2dudHRhYiAqeGNnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB1aW50MzJfdCBjb3VudCk7CiAKK3VuaW9uIHhlbmdudHRhYl9ncmFudF9jb3B5X3B0ciB7Cisg ICAgdm9pZCAqdmlydDsKKyAgICBzdHJ1Y3QgeworICAgICAgICB1aW50MzJfdCByZWY7CisgICAg ICAgIHVpbnQxNl90IG9mZnNldDsKKyAgICAgICAgdWludDE2X3QgZG9taWQ7CisgICAgfSBmb3Jl aWduOworfTsKKworc3RydWN0IHhlbmdudHRhYl9ncmFudF9jb3B5X3NlZ21lbnQgeworICAgIHVu aW9uIHhlbmdudHRhYl9ncmFudF9jb3B5X3B0ciBzb3VyY2UsIGRlc3Q7CisgICAgdWludDE2X3Qg bGVuOworICAgIHVpbnQxNl90IGZsYWdzOworICAgIGludDE2X3Qgc3RhdHVzOworfTsKKwordHlw ZWRlZiBzdHJ1Y3QgeGVuZ250dGFiX2dyYW50X2NvcHlfc2VnbWVudCB4Y19nbnR0YWJfZ3JhbnRf Y29weV9zZWdtZW50X3Q7Cit0eXBlZGVmIHVuaW9uIHhlbmdudHRhYl9ncmFudF9jb3B5X3B0ciB4 Y19nbnR0YWJfZ3JhbnRfY29weV9wdHJfdDsKKworaW50IHhjX2dudHRhYl9ncmFudF9jb3B5KHhj X2dudHRhYiAqeGd0LAorICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGNvdW50LAor ICAgICAgICAgICAgICAgICAgICAgICAgIHhjX2dudHRhYl9ncmFudF9jb3B5X3NlZ21lbnRfdCog c2Vncyk7CisKIHR5cGVkZWYgc3RydWN0IHhlbmdudGRldl9oYW5kbGUgeGNfZ250c2hyOwogCiB4 Y19nbnRzaHIgKnhjX2dudHNocl9vcGVuKHhlbnRvb2xsb2dfbG9nZ2VyICpsb2dnZXIsCmRpZmYg LS1naXQgYS90b29scy9saWJ4Yy94Y19nbnR0YWJfY29tcGF0LmMgYi90b29scy9saWJ4Yy94Y19n bnR0YWJfY29tcGF0LmMKaW5kZXggNmYwMzZkOC4uYzI2NWJiMCAxMDA2NDQKLS0tIGEvdG9vbHMv bGlieGMveGNfZ250dGFiX2NvbXBhdC5jCisrKyBiL3Rvb2xzL2xpYnhjL3hjX2dudHRhYl9jb21w YXQuYwpAQCAtNjksNiArNjksMTMgQEAgaW50IHhjX2dudHRhYl9zZXRfbWF4X2dyYW50cyh4Y19n bnR0YWIgKnhjZywKICAgICByZXR1cm4geGVuZ250dGFiX3NldF9tYXhfZ3JhbnRzKHhjZywgY291 bnQpOwogfQogCitpbnQgeGNfZ250dGFiX2dyYW50X2NvcHkoeGNfZ250dGFiICp4Z3QsCisgICAg ICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgY291bnQsCisgICAgICAgICAgICAgICAgICAg ICAgICAgeGNfZ250dGFiX2dyYW50X2NvcHlfc2VnbWVudF90KiBzZWdzKQoreworICAgIHJldHVy biB4ZW5nbnR0YWJfZ3JhbnRfY29weSh4Z3QsIGNvdW50LCBzZWdzKTsKK30KKwogeGNfZ250c2hy ICp4Y19nbnRzaHJfb3Blbih4ZW50b29sbG9nX2xvZ2dlciAqbG9nZ2VyLAogICAgICAgICAgICAg ICAgICAgICAgICAgICB1bnNpZ25lZCBvcGVuX2ZsYWdzKQogewotLSAKMS45LjEKCgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGlu ZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW4ub3JnL3hlbi1k ZXZlbAo=