From mboxrd@z Thu Jan 1 00:00:00 1970 From: Inki Dae Subject: Re: [PATCH 13/14] drm/exynos: use prime helpers Date: Sun, 16 Aug 2015 14:26:31 +0900 Message-ID: <55D01F07.20001@samsung.com> References: <1438073609-32664-1-git-send-email-jy0922.shim@samsung.com> <1438073609-32664-13-git-send-email-jy0922.shim@samsung.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mailout2.samsung.com (mailout2.samsung.com [203.254.224.25]) by gabe.freedesktop.org (Postfix) with ESMTPS id F27466E502 for ; Sat, 15 Aug 2015 22:26:34 -0700 (PDT) Received: from epcpsbgr3.samsung.com (u143.gpu120.samsung.co.kr [203.254.230.143]) by mailout2.samsung.com (Oracle Communications Messaging Server 7.0.5.31.0 64bit (built May 5 2014)) with ESMTP id <0NT5001D9TS75T40@mailout2.samsung.com> for dri-devel@lists.freedesktop.org; Sun, 16 Aug 2015 14:26:31 +0900 (KST) In-reply-to: <1438073609-32664-13-git-send-email-jy0922.shim@samsung.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Joonyoung Shim , dri-devel@lists.freedesktop.org Cc: sw0312.kim@samsung.com List-Id: dri-devel@lists.freedesktop.org T24gMjAxNeuFhCAwN+yblCAyOOydvCAxNzo1MywgSm9vbnlvdW5nIFNoaW0gd3JvdGU6Cj4gVGhl IGRtYS1idWYgY29kZXMgb2YgZXh5bm9zIGRybSBpcyBhbG1vc3Qgc2FtZSB3aXRoIHByaW1lIGhl bHBlcnMuIEEKPiBkaWZmZXJlbmNlIGlzIHRoYXQgY29uc2lkZXIgRE1BX05PTkUgd2hlbiBpbXBv cnQgZG1hLWJ1ZiwgYnV0IGl0J3Mgd3JvbmcKPiBhbmQgd2UgZG9uJ3QgY29uc2lkZXIgaXQgYW55 IG1vcmUsIHNvIHdlIGNhbiB1c2UgcHJpbWUgaW50ZXJmYWNlLgoKSSB0aGluayBpdCdzIGdvb2Qg aWRlYSB0byB1c2UgcHJpbWUgaGVscGVycy4gSG93ZXZlciwgSSdtIG5vdCBzdXJlIG9mCnRoZXJl IHJlYWxseSBpcyBubyBhbnkgY29ybmVyIGNhc2UgdGhlIHByaW1lIGhlbHBlciBkb2Vzbid0IGNv bnNpZGVyIGZvcgpWZW5kb3IgU29DIHlldC4gU28gbGV0J3MgaGF2ZSBtb3JlIHJldmlld3MgYWJv dXQgdGhpcy4KClRoYW5rcywKSW5raSBEYWUKCj4gCj4gU2lnbmVkLW9mZi1ieTogSm9vbnlvdW5n IFNoaW0gPGp5MDkyMi5zaGltQHNhbXN1bmcuY29tPgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0v ZXh5bm9zL01ha2VmaWxlICAgICAgICAgICAgfCAgIDIgKy0KPiAgZHJpdmVycy9ncHUvZHJtL2V4 eW5vcy9leHlub3NfZHJtX2RtYWJ1Zi5jIHwgMjg5IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2RybV9kbWFidWYuaCB8ICAyMCAt LQo+ICBkcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19kcm1fZHJ2LmMgICAgfCAgIDkgKy0K PiAgZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHJtX2dlbS5jICAgIHwgIDc5ICsrKysr KysrCj4gIGRyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2RybV9nZW0uaCAgICB8ICAgOSAr Cj4gIDYgZmlsZXMgY2hhbmdlZCwgOTUgaW5zZXJ0aW9ucygrKSwgMzEzIGRlbGV0aW9ucygtKQo+ ICBkZWxldGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHJtX2Rt YWJ1Zi5jCj4gIGRlbGV0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5v c19kcm1fZG1hYnVmLmgKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9N YWtlZmlsZSBiL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvTWFrZWZpbGUKPiBpbmRleCA3ZGUwYjEw Li45NWQwMzA2IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvTWFrZWZpbGUK PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL01ha2VmaWxlCj4gQEAgLTYsNyArNiw3IEBA IGNjZmxhZ3MteSA6PSAtSWluY2x1ZGUvZHJtIC1JZHJpdmVycy9ncHUvZHJtL2V4eW5vcwo+ICBl eHlub3Nkcm0teSA6PSBleHlub3NfZHJtX2Rydi5vIGV4eW5vc19kcm1fZW5jb2Rlci5vIFwKPiAg CQlleHlub3NfZHJtX2NydGMubyBleHlub3NfZHJtX2ZiZGV2Lm8gZXh5bm9zX2RybV9mYi5vIFwK PiAgCQlleHlub3NfZHJtX2J1Zi5vIGV4eW5vc19kcm1fZ2VtLm8gZXh5bm9zX2RybV9jb3JlLm8g XAo+IC0JCWV4eW5vc19kcm1fcGxhbmUubyBleHlub3NfZHJtX2RtYWJ1Zi5vCj4gKwkJZXh5bm9z X2RybV9wbGFuZS5vCj4gIAo+ICBleHlub3Nkcm0tJChDT05GSUdfRFJNX0VYWU5PU19JT01NVSkg Kz0gZXh5bm9zX2RybV9pb21tdS5vCj4gIGV4eW5vc2RybS0kKENPTkZJR19EUk1fRVhZTk9TX0ZJ TUQpCSs9IGV4eW5vc19kcm1fZmltZC5vCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9l eHlub3MvZXh5bm9zX2RybV9kbWFidWYuYyBiL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9z X2RybV9kbWFidWYuYwo+IGRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDYxOWVjZGQu LjAwMDAwMDAKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19kcm1fZG1hYnVm LmMKPiArKysgL2Rldi9udWxsCj4gQEAgLTEsMjg5ICswLDAgQEAKPiAtLyogZXh5bm9zX2RybV9k bWFidWYuYwo+IC0gKgo+IC0gKiBDb3B5cmlnaHQgKGMpIDIwMTIgU2Ftc3VuZyBFbGVjdHJvbmlj cyBDby4sIEx0ZC4KPiAtICogQXV0aG9yOiBJbmtpIERhZSA8aW5raS5kYWVAc2Ftc3VuZy5jb20+ Cj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlz dHJpYnV0ZSAgaXQgYW5kL29yIG1vZGlmeSBpdAo+IC0gKiB1bmRlciAgdGhlIHRlcm1zIG9mICB0 aGUgR05VIEdlbmVyYWwgIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUKPiAtICog RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyAgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgIExpY2Vu c2UsIG9yIChhdCB5b3VyCj4gLSAqIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCj4gLSAqLwo+ IC0KPiAtI2luY2x1ZGUgPGRybS9kcm1QLmg+Cj4gLSNpbmNsdWRlIDxkcm0vZXh5bm9zX2RybS5o Pgo+IC0jaW5jbHVkZSAiZXh5bm9zX2RybV9kbWFidWYuaCIKPiAtI2luY2x1ZGUgImV4eW5vc19k cm1fZHJ2LmgiCj4gLSNpbmNsdWRlICJleHlub3NfZHJtX2dlbS5oIgo+IC0KPiAtI2luY2x1ZGUg PGxpbnV4L2RtYS1idWYuaD4KPiAtCj4gLXN0cnVjdCBleHlub3NfZHJtX2RtYWJ1Zl9hdHRhY2ht ZW50IHsKPiAtCXN0cnVjdCBzZ190YWJsZSAqc2d0Owo+IC0JZW51bSBkbWFfZGF0YV9kaXJlY3Rp b24gZGlyOwo+IC0JYm9vbCBpc19tYXBwZWQ7Cj4gLX07Cj4gLQo+IC1zdGF0aWMgc3RydWN0IGV4 eW5vc19kcm1fZ2VtX29iaiAqZG1hX2J1Zl90b19vYmooc3RydWN0IGRtYV9idWYgKmJ1ZikKPiAt ewo+IC0JcmV0dXJuIHRvX2V4eW5vc19nZW1fb2JqKGJ1Zi0+cHJpdik7Cj4gLX0KPiAtCj4gLXN0 YXRpYyBpbnQgZXh5bm9zX2dlbV9hdHRhY2hfZG1hX2J1ZihzdHJ1Y3QgZG1hX2J1ZiAqZG1hYnVm LAo+IC0JCQkJCXN0cnVjdCBkZXZpY2UgKmRldiwKPiAtCQkJCQlzdHJ1Y3QgZG1hX2J1Zl9hdHRh Y2htZW50ICphdHRhY2gpCj4gLXsKPiAtCXN0cnVjdCBleHlub3NfZHJtX2RtYWJ1Zl9hdHRhY2ht ZW50ICpleHlub3NfYXR0YWNoOwo+IC0KPiAtCWV4eW5vc19hdHRhY2ggPSBremFsbG9jKHNpemVv ZigqZXh5bm9zX2F0dGFjaCksIEdGUF9LRVJORUwpOwo+IC0JaWYgKCFleHlub3NfYXR0YWNoKQo+ IC0JCXJldHVybiAtRU5PTUVNOwo+IC0KPiAtCWV4eW5vc19hdHRhY2gtPmRpciA9IERNQV9OT05F Owo+IC0JYXR0YWNoLT5wcml2ID0gZXh5bm9zX2F0dGFjaDsKPiAtCj4gLQlyZXR1cm4gMDsKPiAt fQo+IC0KPiAtc3RhdGljIHZvaWQgZXh5bm9zX2dlbV9kZXRhY2hfZG1hX2J1ZihzdHJ1Y3QgZG1h X2J1ZiAqZG1hYnVmLAo+IC0JCQkJCXN0cnVjdCBkbWFfYnVmX2F0dGFjaG1lbnQgKmF0dGFjaCkK PiAtewo+IC0Jc3RydWN0IGV4eW5vc19kcm1fZG1hYnVmX2F0dGFjaG1lbnQgKmV4eW5vc19hdHRh Y2ggPSBhdHRhY2gtPnByaXY7Cj4gLQlzdHJ1Y3Qgc2dfdGFibGUgKnNndDsKPiAtCj4gLQlpZiAo IWV4eW5vc19hdHRhY2gpCj4gLQkJcmV0dXJuOwo+IC0KPiAtCXNndCA9IGV4eW5vc19hdHRhY2gt PnNndDsKPiAtCWlmIChzZ3QpIHsKPiAtCQlpZiAoZXh5bm9zX2F0dGFjaC0+ZGlyICE9IERNQV9O T05FKQo+IC0JCQlkbWFfdW5tYXBfc2coYXR0YWNoLT5kZXYsIHNndC0+c2dsLCBzZ3QtPm5lbnRz LAo+IC0JCQkJCWV4eW5vc19hdHRhY2gtPmRpcik7Cj4gLQkJc2dfZnJlZV90YWJsZShzZ3QpOwo+ IC0JfQo+IC0KPiAtCWtmcmVlKHNndCk7Cj4gLQlrZnJlZShleHlub3NfYXR0YWNoKTsKPiAtCWF0 dGFjaC0+cHJpdiA9IE5VTEw7Cj4gLX0KPiAtCj4gLXN0YXRpYyBzdHJ1Y3Qgc2dfdGFibGUgKgo+ IC0JCWV4eW5vc19nZW1fbWFwX2RtYV9idWYoc3RydWN0IGRtYV9idWZfYXR0YWNobWVudCAqYXR0 YWNoLAo+IC0JCQkJCWVudW0gZG1hX2RhdGFfZGlyZWN0aW9uIGRpcikKPiAtewo+IC0Jc3RydWN0 IGV4eW5vc19kcm1fZG1hYnVmX2F0dGFjaG1lbnQgKmV4eW5vc19hdHRhY2ggPSBhdHRhY2gtPnBy aXY7Cj4gLQlzdHJ1Y3QgZXh5bm9zX2RybV9nZW1fb2JqICpnZW1fb2JqID0gZG1hX2J1Zl90b19v YmooYXR0YWNoLT5kbWFidWYpOwo+IC0Jc3RydWN0IGV4eW5vc19kcm1fZ2VtX2J1ZiAqYnVmOwo+ IC0Jc3RydWN0IHNnX3RhYmxlICpzZ3Q7Cj4gLQlpbnQgbnBhZ2VzOwo+IC0KPiAtCS8qIGp1c3Qg cmV0dXJuIGN1cnJlbnQgc2d0IGlmIGFscmVhZHkgcmVxdWVzdGVkLiAqLwo+IC0JaWYgKGV4eW5v c19hdHRhY2gtPmRpciA9PSBkaXIgJiYgZXh5bm9zX2F0dGFjaC0+aXNfbWFwcGVkKQo+IC0JCXJl dHVybiBleHlub3NfYXR0YWNoLT5zZ3Q7Cj4gLQo+IC0JYnVmID0gZ2VtX29iai0+YnVmZmVyOwo+ IC0JaWYgKCFidWYpIHsKPiAtCQlEUk1fRVJST1IoImJ1ZmZlciBpcyBudWxsLlxuIik7Cj4gLQkJ cmV0dXJuIEVSUl9QVFIoLUVOT01FTSk7Cj4gLQl9Cj4gLQo+IC0JbnBhZ2VzID0gYnVmLT5zaXpl ID4+IFBBR0VfU0hJRlQ7Cj4gLQo+IC0Jc2d0ID0gZHJtX3ByaW1lX3BhZ2VzX3RvX3NnKGJ1Zi0+ cGFnZXMsIG5wYWdlcyk7Cj4gLQlpZiAoSVNfRVJSKHNndCkpCj4gLQkJZ290byBlcnI7Cj4gLQo+ IC0JaWYgKGRpciAhPSBETUFfTk9ORSkgewo+IC0JCWlmICghZG1hX21hcF9zZyhhdHRhY2gtPmRl diwgc2d0LT5zZ2wsIHNndC0+b3JpZ19uZW50cywgZGlyKSkgewo+IC0JCQlEUk1fRVJST1IoImZh aWxlZCB0byBtYXAgc2dsIHdpdGggaW9tbXUuXG4iKTsKPiAtCQkJc2dfZnJlZV90YWJsZShzZ3Qp Owo+IC0JCQlzZ3QgPSBFUlJfUFRSKC1FSU8pOwo+IC0JCQlnb3RvIGVycjsKPiAtCQl9Cj4gLQl9 Cj4gLQo+IC0JZXh5bm9zX2F0dGFjaC0+aXNfbWFwcGVkID0gdHJ1ZTsKPiAtCWV4eW5vc19hdHRh Y2gtPnNndCA9IHNndDsKPiAtCWV4eW5vc19hdHRhY2gtPmRpciA9IGRpcjsKPiAtCWF0dGFjaC0+ cHJpdiA9IGV4eW5vc19hdHRhY2g7Cj4gLQo+IC0JRFJNX0RFQlVHX1BSSU1FKCJidWZmZXIgc2l6 ZSA9IDB4JWx4XG4iLCBidWYtPnNpemUpOwo+IC0KPiAtZXJyOgo+IC0JcmV0dXJuIHNndDsKPiAt fQo+IC0KPiAtc3RhdGljIHZvaWQgZXh5bm9zX2dlbV91bm1hcF9kbWFfYnVmKHN0cnVjdCBkbWFf YnVmX2F0dGFjaG1lbnQgKmF0dGFjaCwKPiAtCQkJCQkJc3RydWN0IHNnX3RhYmxlICpzZ3QsCj4g LQkJCQkJCWVudW0gZG1hX2RhdGFfZGlyZWN0aW9uIGRpcikKPiAtewo+IC0JLyogTm90aGluZyB0 byBkby4gKi8KPiAtfQo+IC0KPiAtc3RhdGljIHZvaWQgKmV4eW5vc19nZW1fZG1hYnVmX2ttYXBf YXRvbWljKHN0cnVjdCBkbWFfYnVmICpkbWFfYnVmLAo+IC0JCQkJCQl1bnNpZ25lZCBsb25nIHBh Z2VfbnVtKQo+IC17Cj4gLQkvKiBUT0RPICovCj4gLQo+IC0JcmV0dXJuIE5VTEw7Cj4gLX0KPiAt Cj4gLXN0YXRpYyB2b2lkIGV4eW5vc19nZW1fZG1hYnVmX2t1bm1hcF9hdG9taWMoc3RydWN0IGRt YV9idWYgKmRtYV9idWYsCj4gLQkJCQkJCXVuc2lnbmVkIGxvbmcgcGFnZV9udW0sCj4gLQkJCQkJ CXZvaWQgKmFkZHIpCj4gLXsKPiAtCS8qIFRPRE8gKi8KPiAtfQo+IC0KPiAtc3RhdGljIHZvaWQg KmV4eW5vc19nZW1fZG1hYnVmX2ttYXAoc3RydWN0IGRtYV9idWYgKmRtYV9idWYsCj4gLQkJCQkJ dW5zaWduZWQgbG9uZyBwYWdlX251bSkKPiAtewo+IC0JLyogVE9ETyAqLwo+IC0KPiAtCXJldHVy biBOVUxMOwo+IC19Cj4gLQo+IC1zdGF0aWMgdm9pZCBleHlub3NfZ2VtX2RtYWJ1Zl9rdW5tYXAo c3RydWN0IGRtYV9idWYgKmRtYV9idWYsCj4gLQkJCQkJdW5zaWduZWQgbG9uZyBwYWdlX251bSwg dm9pZCAqYWRkcikKPiAtewo+IC0JLyogVE9ETyAqLwo+IC19Cj4gLQo+IC1zdGF0aWMgaW50IGV4 eW5vc19nZW1fZG1hYnVmX21tYXAoc3RydWN0IGRtYV9idWYgKmRtYV9idWYsCj4gLQlzdHJ1Y3Qg dm1fYXJlYV9zdHJ1Y3QgKnZtYSkKPiAtewo+IC0JcmV0dXJuIC1FTk9UVFk7Cj4gLX0KPiAtCj4g LXN0YXRpYyBzdHJ1Y3QgZG1hX2J1Zl9vcHMgZXh5bm9zX2RtYWJ1Zl9vcHMgPSB7Cj4gLQkuYXR0 YWNoCQkJPSBleHlub3NfZ2VtX2F0dGFjaF9kbWFfYnVmLAo+IC0JLmRldGFjaAkJCT0gZXh5bm9z X2dlbV9kZXRhY2hfZG1hX2J1ZiwKPiAtCS5tYXBfZG1hX2J1ZgkJPSBleHlub3NfZ2VtX21hcF9k bWFfYnVmLAo+IC0JLnVubWFwX2RtYV9idWYJCT0gZXh5bm9zX2dlbV91bm1hcF9kbWFfYnVmLAo+ IC0JLmttYXAJCQk9IGV4eW5vc19nZW1fZG1hYnVmX2ttYXAsCj4gLQkua21hcF9hdG9taWMJCT0g ZXh5bm9zX2dlbV9kbWFidWZfa21hcF9hdG9taWMsCj4gLQkua3VubWFwCQkJPSBleHlub3NfZ2Vt X2RtYWJ1Zl9rdW5tYXAsCj4gLQkua3VubWFwX2F0b21pYwkJPSBleHlub3NfZ2VtX2RtYWJ1Zl9r dW5tYXBfYXRvbWljLAo+IC0JLm1tYXAJCQk9IGV4eW5vc19nZW1fZG1hYnVmX21tYXAsCj4gLQku cmVsZWFzZQkJPSBkcm1fZ2VtX2RtYWJ1Zl9yZWxlYXNlLAo+IC19Owo+IC0KPiAtc3RydWN0IGRt YV9idWYgKmV4eW5vc19kbWFidWZfcHJpbWVfZXhwb3J0KHN0cnVjdCBkcm1fZGV2aWNlICpkcm1f ZGV2LAo+IC0JCQkJc3RydWN0IGRybV9nZW1fb2JqZWN0ICpvYmosIGludCBmbGFncykKPiAtewo+ IC0Jc3RydWN0IGV4eW5vc19kcm1fZ2VtX29iaiAqZXh5bm9zX2dlbV9vYmogPSB0b19leHlub3Nf Z2VtX29iaihvYmopOwo+IC0JREVGSU5FX0RNQV9CVUZfRVhQT1JUX0lORk8oZXhwX2luZm8pOwo+ IC0KPiAtCWV4cF9pbmZvLm9wcyA9ICZleHlub3NfZG1hYnVmX29wczsKPiAtCWV4cF9pbmZvLnNp emUgPSBleHlub3NfZ2VtX29iai0+YmFzZS5zaXplOwo+IC0JZXhwX2luZm8uZmxhZ3MgPSBmbGFn czsKPiAtCWV4cF9pbmZvLnByaXYgPSBvYmo7Cj4gLQo+IC0JcmV0dXJuIGRtYV9idWZfZXhwb3J0 KCZleHBfaW5mbyk7Cj4gLX0KPiAtCj4gLXN0cnVjdCBkcm1fZ2VtX29iamVjdCAqZXh5bm9zX2Rt YWJ1Zl9wcmltZV9pbXBvcnQoc3RydWN0IGRybV9kZXZpY2UgKmRybV9kZXYsCj4gLQkJCQlzdHJ1 Y3QgZG1hX2J1ZiAqZG1hX2J1ZikKPiAtewo+IC0Jc3RydWN0IGRtYV9idWZfYXR0YWNobWVudCAq YXR0YWNoOwo+IC0Jc3RydWN0IHNnX3RhYmxlICpzZ3Q7Cj4gLQlzdHJ1Y3Qgc2NhdHRlcmxpc3Qg KnNnbDsKPiAtCXN0cnVjdCBleHlub3NfZHJtX2dlbV9vYmogKmV4eW5vc19nZW1fb2JqOwo+IC0J c3RydWN0IGV4eW5vc19kcm1fZ2VtX2J1ZiAqYnVmZmVyOwo+IC0JaW50IG5wYWdlczsKPiAtCWlu dCByZXQ7Cj4gLQo+IC0JLyogaXMgdGhpcyBvbmUgb2Ygb3duIG9iamVjdHM/ICovCj4gLQlpZiAo ZG1hX2J1Zi0+b3BzID09ICZleHlub3NfZG1hYnVmX29wcykgewo+IC0JCXN0cnVjdCBkcm1fZ2Vt X29iamVjdCAqb2JqOwo+IC0KPiAtCQlvYmogPSBkbWFfYnVmLT5wcml2Owo+IC0KPiAtCQkvKiBp cyBpdCBmcm9tIG91ciBkZXZpY2U/ICovCj4gLQkJaWYgKG9iai0+ZGV2ID09IGRybV9kZXYpIHsK PiAtCQkJLyoKPiAtCQkJICogSW1wb3J0aW5nIGRtYWJ1ZiBleHBvcnRlZCBmcm9tIG91dCBvd24g Z2VtIGluY3JlYXNlcwo+IC0JCQkgKiByZWZjb3VudCBvbiBnZW0gaXRzZWxmIGluc3RlYWQgb2Yg Zl9jb3VudCBvZiBkbWFidWYuCj4gLQkJCSAqLwo+IC0JCQlkcm1fZ2VtX29iamVjdF9yZWZlcmVu Y2Uob2JqKTsKPiAtCQkJcmV0dXJuIG9iajsKPiAtCQl9Cj4gLQl9Cj4gLQo+IC0JYXR0YWNoID0g ZG1hX2J1Zl9hdHRhY2goZG1hX2J1ZiwgZHJtX2Rldi0+ZGV2KTsKPiAtCWlmIChJU19FUlIoYXR0 YWNoKSkKPiAtCQlyZXR1cm4gRVJSX1BUUigtRUlOVkFMKTsKPiAtCj4gLQlnZXRfZG1hX2J1Zihk bWFfYnVmKTsKPiAtCj4gLQlzZ3QgPSBkbWFfYnVmX21hcF9hdHRhY2htZW50KGF0dGFjaCwgRE1B X0JJRElSRUNUSU9OQUwpOwo+IC0JaWYgKElTX0VSUihzZ3QpKSB7Cj4gLQkJcmV0ID0gUFRSX0VS UihzZ3QpOwo+IC0JCWdvdG8gZXJyX2J1Zl9kZXRhY2g7Cj4gLQl9Cj4gLQo+IC0JYnVmZmVyID0g a3phbGxvYyhzaXplb2YoKmJ1ZmZlciksIEdGUF9LRVJORUwpOwo+IC0JaWYgKCFidWZmZXIpIHsK PiAtCQlyZXQgPSAtRU5PTUVNOwo+IC0JCWdvdG8gZXJyX3VubWFwX2F0dGFjaDsKPiAtCX0KPiAt Cj4gLQlleHlub3NfZ2VtX29iaiA9IGV4eW5vc19kcm1fZ2VtX2luaXQoZHJtX2RldiwgZG1hX2J1 Zi0+c2l6ZSk7Cj4gLQlpZiAoIWV4eW5vc19nZW1fb2JqKSB7Cj4gLQkJcmV0ID0gLUVOT01FTTsK PiAtCQlnb3RvIGVycl9mcmVlX2J1ZmZlcjsKPiAtCX0KPiAtCj4gLQlzZ2wgPSBzZ3QtPnNnbDsK PiAtCj4gLQlidWZmZXItPnNpemUgPSBkbWFfYnVmLT5zaXplOwo+IC0JYnVmZmVyLT5kbWFfYWRk ciA9IHNnX2RtYV9hZGRyZXNzKHNnbCk7Cj4gLQo+IC0JbnBhZ2VzID0gZG1hX2J1Zi0+c2l6ZSA+ PiBQQUdFX1NISUZUOwo+IC0JYnVmZmVyLT5wYWdlcyA9IGRybV9tYWxsb2NfYWIobnBhZ2VzLCBz aXplb2Yoc3RydWN0IHBhZ2UgKikpOwo+IC0JaWYgKCFidWZmZXItPnBhZ2VzKSB7Cj4gLQkJcmV0 ID0gLUVOT01FTTsKPiAtCQlnb3RvIGVycl9mcmVlX2dlbTsKPiAtCX0KPiAtCj4gLQlyZXQgPSBk cm1fcHJpbWVfc2dfdG9fcGFnZV9hZGRyX2FycmF5cyhzZ3QsIGJ1ZmZlci0+cGFnZXMsIE5VTEws Cj4gLQkJCW5wYWdlcyk7Cj4gLQlpZiAocmV0IDwgMCkgewo+IC0JCWRybV9mcmVlX2xhcmdlKGJ1 ZmZlci0+cGFnZXMpOwo+IC0JCWdvdG8gZXJyX2ZyZWVfZ2VtOwo+IC0JfQo+IC0KPiAtCWlmIChz Z3QtPm5lbnRzID09IDEpIHsKPiAtCQkvKiBhbHdheXMgcGh5c2ljYWxseSBjb250aW51b3VzIG1l bW9yeSBpZiBzZ3QtPm5lbnRzIGlzIDEuICovCj4gLQkJZXh5bm9zX2dlbV9vYmotPmZsYWdzIHw9 IEVYWU5PU19CT19DT05USUc7Cj4gLQl9IGVsc2Ugewo+IC0JCS8qCj4gLQkJICogdGhpcyBjYXNl IGNvdWxkIGJlIENPTlRJRyBvciBOT05DT05USUcgdHlwZSBidXQgZm9yIG5vdwo+IC0JCSAqIHNl dHMgTk9OQ09OVElHLgo+IC0JCSAqIFRPRE8uIHdlIGhhdmUgdG8gZmluZCBhIHdheSB0aGF0IGV4 cG9ydGVyIGNhbiBub3RpZnkKPiAtCQkgKiB0aGUgdHlwZSBvZiBpdHMgb3duIGJ1ZmZlciB0byBp bXBvcnRlci4KPiAtCQkgKi8KPiAtCQlleHlub3NfZ2VtX29iai0+ZmxhZ3MgfD0gRVhZTk9TX0JP X05PTkNPTlRJRzsKPiAtCX0KPiAtCj4gLQlleHlub3NfZ2VtX29iai0+YnVmZmVyID0gYnVmZmVy Owo+IC0JZXh5bm9zX2dlbV9vYmotPmJhc2UuaW1wb3J0X2F0dGFjaCA9IGF0dGFjaDsKPiAtCj4g LQlEUk1fREVCVUdfUFJJTUUoImRtYV9hZGRyID0gJXBhZCwgc2l6ZSA9IDB4JWx4XG4iLCAmYnVm ZmVyLT5kbWFfYWRkciwKPiAtCQkJCQkJCQlidWZmZXItPnNpemUpOwo+IC0KPiAtCXJldHVybiAm ZXh5bm9zX2dlbV9vYmotPmJhc2U7Cj4gLQo+IC1lcnJfZnJlZV9nZW06Cj4gLQlkcm1fZ2VtX29i amVjdF9yZWxlYXNlKCZleHlub3NfZ2VtX29iai0+YmFzZSk7Cj4gLQlrZnJlZShleHlub3NfZ2Vt X29iaik7Cj4gLWVycl9mcmVlX2J1ZmZlcjoKPiAtCWtmcmVlKGJ1ZmZlcik7Cj4gLQlidWZmZXIg PSBOVUxMOwo+IC1lcnJfdW5tYXBfYXR0YWNoOgo+IC0JZG1hX2J1Zl91bm1hcF9hdHRhY2htZW50 KGF0dGFjaCwgc2d0LCBETUFfQklESVJFQ1RJT05BTCk7Cj4gLWVycl9idWZfZGV0YWNoOgo+IC0J ZG1hX2J1Zl9kZXRhY2goZG1hX2J1ZiwgYXR0YWNoKTsKPiAtCWRtYV9idWZfcHV0KGRtYV9idWYp Owo+IC0KPiAtCXJldHVybiBFUlJfUFRSKHJldCk7Cj4gLX0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHJtX2RtYWJ1Zi5oIGIvZHJpdmVycy9ncHUvZHJtL2V4 eW5vcy9leHlub3NfZHJtX2RtYWJ1Zi5oCj4gZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5k ZXggODg2ZGU5Zi4uMDAwMDAwMAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9z X2RybV9kbWFidWYuaAo+ICsrKyAvZGV2L251bGwKPiBAQCAtMSwyMCArMCwwIEBACj4gLS8qIGV4 eW5vc19kcm1fZG1hYnVmLmgKPiAtICoKPiAtICogQ29weXJpZ2h0IChjKSAyMDEyIFNhbXN1bmcg RWxlY3Ryb25pY3MgQ28uLCBMdGQuCj4gLSAqIEF1dGhvcjogSW5raSBEYWUgPGlua2kuZGFlQHNh bXN1bmcuY29tPgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91 IGNhbiByZWRpc3RyaWJ1dGUgIGl0IGFuZC9vciBtb2RpZnkgaXQKPiAtICogdW5kZXIgIHRoZSB0 ZXJtcyBvZiAgdGhlIEdOVSBHZW5lcmFsICBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkg dGhlCj4gLSAqIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgIGVpdGhlciB2ZXJzaW9uIDIgb2Yg dGhlICBMaWNlbnNlLCBvciAoYXQgeW91cgo+IC0gKiBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9u Lgo+IC0gKi8KPiAtCj4gLSNpZm5kZWYgX0VYWU5PU19EUk1fRE1BQlVGX0hfCj4gLSNkZWZpbmUg X0VYWU5PU19EUk1fRE1BQlVGX0hfCj4gLQo+IC1zdHJ1Y3QgZG1hX2J1ZiAqZXh5bm9zX2RtYWJ1 Zl9wcmltZV9leHBvcnQoc3RydWN0IGRybV9kZXZpY2UgKmRybV9kZXYsCj4gLQkJCQlzdHJ1Y3Qg ZHJtX2dlbV9vYmplY3QgKm9iaiwgaW50IGZsYWdzKTsKPiAtCj4gLXN0cnVjdCBkcm1fZ2VtX29i amVjdCAqZXh5bm9zX2RtYWJ1Zl9wcmltZV9pbXBvcnQoc3RydWN0IGRybV9kZXZpY2UgKmRybV9k ZXYsCj4gLQkJCQkJCXN0cnVjdCBkbWFfYnVmICpkbWFfYnVmKTsKPiAtI2VuZGlmCj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2RybV9kcnYuYyBiL2RyaXZlcnMv Z3B1L2RybS9leHlub3MvZXh5bm9zX2RybV9kcnYuYwo+IGluZGV4IGYxZDY5NjYuLmU5ZGRhYTIg MTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHJtX2Rydi5jCj4g KysrIGIvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHJtX2Rydi5jCj4gQEAgLTI3LDcg KzI3LDYgQEAKPiAgI2luY2x1ZGUgImV4eW5vc19kcm1fZ2VtLmgiCj4gICNpbmNsdWRlICJleHlu b3NfZHJtX3BsYW5lLmgiCj4gICNpbmNsdWRlICJleHlub3NfZHJtX3ZpZGkuaCIKPiAtI2luY2x1 ZGUgImV4eW5vc19kcm1fZG1hYnVmLmgiCj4gICNpbmNsdWRlICJleHlub3NfZHJtX2cyZC5oIgo+ ICAjaW5jbHVkZSAiZXh5bm9zX2RybV9pcHAuaCIKPiAgI2luY2x1ZGUgImV4eW5vc19kcm1faW9t bXUuaCIKPiBAQCAtMjk3LDggKzI5NiwxMiBAQCBzdGF0aWMgc3RydWN0IGRybV9kcml2ZXIgZXh5 bm9zX2RybV9kcml2ZXIgPSB7Cj4gIAkuZHVtYl9kZXN0cm95CQk9IGRybV9nZW1fZHVtYl9kZXN0 cm95LAo+ICAJLnByaW1lX2hhbmRsZV90b19mZAk9IGRybV9nZW1fcHJpbWVfaGFuZGxlX3RvX2Zk LAo+ICAJLnByaW1lX2ZkX3RvX2hhbmRsZQk9IGRybV9nZW1fcHJpbWVfZmRfdG9faGFuZGxlLAo+ IC0JLmdlbV9wcmltZV9leHBvcnQJPSBleHlub3NfZG1hYnVmX3ByaW1lX2V4cG9ydCwKPiAtCS5n ZW1fcHJpbWVfaW1wb3J0CT0gZXh5bm9zX2RtYWJ1Zl9wcmltZV9pbXBvcnQsCj4gKwkuZ2VtX3By aW1lX2V4cG9ydAk9IGRybV9nZW1fcHJpbWVfZXhwb3J0LAo+ICsJLmdlbV9wcmltZV9pbXBvcnQJ PSBkcm1fZ2VtX3ByaW1lX2ltcG9ydCwKPiArCS5nZW1fcHJpbWVfZ2V0X3NnX3RhYmxlCT0gZXh5 bm9zX2RybV9nZW1fcHJpbWVfZ2V0X3NnX3RhYmxlLAo+ICsJLmdlbV9wcmltZV9pbXBvcnRfc2df dGFibGUJPSBleHlub3NfZHJtX2dlbV9wcmltZV9pbXBvcnRfc2dfdGFibGUsCj4gKwkuZ2VtX3By aW1lX3ZtYXAJCT0gZXh5bm9zX2RybV9nZW1fcHJpbWVfdm1hcCwKPiArCS5nZW1fcHJpbWVfdnVu bWFwCT0gZXh5bm9zX2RybV9nZW1fcHJpbWVfdnVubWFwLAo+ICAJLmlvY3RscwkJCT0gZXh5bm9z X2lvY3RscywKPiAgCS5udW1faW9jdGxzCQk9IEFSUkFZX1NJWkUoZXh5bm9zX2lvY3RscyksCj4g IAkuZm9wcwkJCT0gJmV4eW5vc19kcm1fZHJpdmVyX2ZvcHMsCj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2RybV9nZW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9leHlu b3MvZXh5bm9zX2RybV9nZW0uYwo+IGluZGV4IDlkZjEwMGYuLjdkNGJmOWQgMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHJtX2dlbS5jCj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHJtX2dlbS5jCj4gQEAgLTEzLDYgKzEzLDcgQEAKPiAg I2luY2x1ZGUgPGRybS9kcm1fdm1hX21hbmFnZXIuaD4KPiAgCj4gICNpbmNsdWRlIDxsaW51eC9z aG1lbV9mcy5oPgo+ICsjaW5jbHVkZSA8bGludXgvZG1hLWJ1Zi5oPgo+ICAjaW5jbHVkZSA8ZHJt L2V4eW5vc19kcm0uaD4KPiAgCj4gICNpbmNsdWRlICJleHlub3NfZHJtX2Rydi5oIgo+IEBAIC01 ODAsMyArNTgxLDgxIEBAIGVycl9jbG9zZV92bToKPiAgCj4gIAlyZXR1cm4gcmV0Owo+ICB9Cj4g Kwo+ICsvKiBsb3ctbGV2ZWwgaW50ZXJmYWNlIHByaW1lIGhlbHBlcnMgKi8KPiArc3RydWN0IHNn X3RhYmxlICpleHlub3NfZHJtX2dlbV9wcmltZV9nZXRfc2dfdGFibGUoc3RydWN0IGRybV9nZW1f b2JqZWN0ICpvYmopCj4gK3sKPiArCXN0cnVjdCBleHlub3NfZHJtX2dlbV9vYmogKmV4eW5vc19n ZW1fb2JqID0gdG9fZXh5bm9zX2dlbV9vYmoob2JqKTsKPiArCXN0cnVjdCBleHlub3NfZHJtX2dl bV9idWYgKmJ1ZiA9IGV4eW5vc19nZW1fb2JqLT5idWZmZXI7Cj4gKwlpbnQgbnBhZ2VzOwo+ICsK PiArCW5wYWdlcyA9IGJ1Zi0+c2l6ZSA+PiBQQUdFX1NISUZUOwo+ICsKPiArCXJldHVybiBkcm1f cHJpbWVfcGFnZXNfdG9fc2coYnVmLT5wYWdlcywgbnBhZ2VzKTsKPiArfQo+ICsKPiArc3RydWN0 IGRybV9nZW1fb2JqZWN0ICoKPiArZXh5bm9zX2RybV9nZW1fcHJpbWVfaW1wb3J0X3NnX3RhYmxl KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gKwkJCQkgICAgIHN0cnVjdCBkbWFfYnVmX2F0dGFj aG1lbnQgKmF0dGFjaCwKPiArCQkJCSAgICAgc3RydWN0IHNnX3RhYmxlICpzZ3QpCj4gK3sKPiAr CXN0cnVjdCBleHlub3NfZHJtX2dlbV9vYmogKmV4eW5vc19nZW1fb2JqOwo+ICsJc3RydWN0IGV4 eW5vc19kcm1fZ2VtX2J1ZiAqYnVmOwo+ICsJaW50IG5wYWdlczsKPiArCWludCByZXQ7Cj4gKwo+ ICsJYnVmID0ga3phbGxvYyhzaXplb2YoKmJ1ZiksIEdGUF9LRVJORUwpOwo+ICsJaWYgKCFidWYp Cj4gKwkJcmV0dXJuIEVSUl9QVFIoLUVOT01FTSk7Cj4gKwo+ICsJYnVmLT5zaXplID0gYXR0YWNo LT5kbWFidWYtPnNpemU7Cj4gKwlidWYtPmRtYV9hZGRyID0gc2dfZG1hX2FkZHJlc3Moc2d0LT5z Z2wpOwo+ICsKPiArCW5wYWdlcyA9IGJ1Zi0+c2l6ZSA+PiBQQUdFX1NISUZUOwo+ICsJYnVmLT5w YWdlcyA9IGRybV9tYWxsb2NfYWIobnBhZ2VzLCBzaXplb2Yoc3RydWN0IHBhZ2UgKikpOwo+ICsJ aWYgKCFidWYtPnBhZ2VzKSB7Cj4gKwkJcmV0ID0gLUVOT01FTTsKPiArCQlnb3RvIGVycjsKPiAr CX0KPiArCj4gKwlyZXQgPSBkcm1fcHJpbWVfc2dfdG9fcGFnZV9hZGRyX2FycmF5cyhzZ3QsIGJ1 Zi0+cGFnZXMsIE5VTEwsIG5wYWdlcyk7Cj4gKwlpZiAocmV0IDwgMCkKPiArCQlnb3RvIGVycl9m cmVlX2xhcmdlOwo+ICsKPiArCWV4eW5vc19nZW1fb2JqID0gZXh5bm9zX2RybV9nZW1faW5pdChk ZXYsIGJ1Zi0+c2l6ZSk7Cj4gKwlpZiAoSVNfRVJSKGV4eW5vc19nZW1fb2JqKSkgewo+ICsJCXJl dCA9IFBUUl9FUlIoZXh5bm9zX2dlbV9vYmopOwo+ICsJCWdvdG8gZXJyOwo+ICsJfQo+ICsKPiAr CWlmIChzZ3QtPm5lbnRzID09IDEpIHsKPiArCQkvKiBhbHdheXMgcGh5c2ljYWxseSBjb250aW51 b3VzIG1lbW9yeSBpZiBzZ3QtPm5lbnRzIGlzIDEuICovCj4gKwkJZXh5bm9zX2dlbV9vYmotPmZs YWdzIHw9IEVYWU5PU19CT19DT05USUc7Cj4gKwl9IGVsc2Ugewo+ICsJCS8qCj4gKwkJICogdGhp cyBjYXNlIGNvdWxkIGJlIENPTlRJRyBvciBOT05DT05USUcgdHlwZSBidXQgZm9yIG5vdwo+ICsJ CSAqIHNldHMgTk9OQ09OVElHLgo+ICsJCSAqIFRPRE8uIHdlIGhhdmUgdG8gZmluZCBhIHdheSB0 aGF0IGV4cG9ydGVyIGNhbiBub3RpZnkKPiArCQkgKiB0aGUgdHlwZSBvZiBpdHMgb3duIGJ1ZmZl ciB0byBpbXBvcnRlci4KPiArCQkgKi8KPiArCQlleHlub3NfZ2VtX29iai0+ZmxhZ3MgfD0gRVhZ Tk9TX0JPX05PTkNPTlRJRzsKPiArCX0KPiArCj4gKwlyZXR1cm4gJmV4eW5vc19nZW1fb2JqLT5i YXNlOwo+ICsKPiArZXJyX2ZyZWVfbGFyZ2U6Cj4gKwlkcm1fZnJlZV9sYXJnZShidWYtPnBhZ2Vz KTsKPiArZXJyOgo+ICsJa2ZyZWUoYnVmKTsKPiArCXJldHVybiBFUlJfUFRSKHJldCk7Cj4gK30K PiArCj4gK3ZvaWQgKmV4eW5vc19kcm1fZ2VtX3ByaW1lX3ZtYXAoc3RydWN0IGRybV9nZW1fb2Jq ZWN0ICpvYmopCj4gK3sKPiArCXJldHVybiBOVUxMOwo+ICt9Cj4gKwo+ICt2b2lkIGV4eW5vc19k cm1fZ2VtX3ByaW1lX3Z1bm1hcChzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKm9iaiwgdm9pZCAqdmFk ZHIpCj4gK3sKPiArCS8qIE5vdGhpbmcgdG8gZG8gKi8KPiArfQo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19kcm1fZ2VtLmggYi9kcml2ZXJzL2dwdS9kcm0vZXh5 bm9zL2V4eW5vc19kcm1fZ2VtLmgKPiBpbmRleCA0OWI1ZWYxLi41ZTIwZGE2IDEwMDY0NAo+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2RybV9nZW0uaAo+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2RybV9nZW0uaAo+IEBAIC0xNjgsNCArMTY4LDEzIEBA IHZvaWQgZXh5bm9zX2dlbV91bm1hcF9zZ3RfZnJvbV9kbWEoc3RydWN0IGRybV9kZXZpY2UgKmRy bV9kZXYsCj4gIAkJCQlzdHJ1Y3Qgc2dfdGFibGUgKnNndCwKPiAgCQkJCWVudW0gZG1hX2RhdGFf ZGlyZWN0aW9uIGRpcik7Cj4gIAo+ICsvKiBsb3ctbGV2ZWwgaW50ZXJmYWNlIHByaW1lIGhlbHBl cnMgKi8KPiArc3RydWN0IHNnX3RhYmxlICpleHlub3NfZHJtX2dlbV9wcmltZV9nZXRfc2dfdGFi bGUoc3RydWN0IGRybV9nZW1fb2JqZWN0ICpvYmopOwo+ICtzdHJ1Y3QgZHJtX2dlbV9vYmplY3Qg Kgo+ICtleHlub3NfZHJtX2dlbV9wcmltZV9pbXBvcnRfc2dfdGFibGUoc3RydWN0IGRybV9kZXZp Y2UgKmRldiwKPiArCQkJCSAgICAgc3RydWN0IGRtYV9idWZfYXR0YWNobWVudCAqYXR0YWNoLAo+ ICsJCQkJICAgICBzdHJ1Y3Qgc2dfdGFibGUgKnNndCk7Cj4gK3ZvaWQgKmV4eW5vc19kcm1fZ2Vt X3ByaW1lX3ZtYXAoc3RydWN0IGRybV9nZW1fb2JqZWN0ICpvYmopOwo+ICt2b2lkIGV4eW5vc19k cm1fZ2VtX3ByaW1lX3Z1bm1hcChzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKm9iaiwgdm9pZCAqdmFk ZHIpOwo+ICsKPiAgI2VuZGlmCj4gCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2RyaS1kZXZlbAo=