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:43:03 +0900 Message-ID: <55D022E7.3080607@samsung.com> References: <1438073609-32664-1-git-send-email-jy0922.shim@samsung.com> <1438073609-32664-13-git-send-email-jy0922.shim@samsung.com> <55D01F07.20001@samsung.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mailout4.samsung.com (mailout4.samsung.com [203.254.224.34]) by gabe.freedesktop.org (Postfix) with ESMTPS id AFAF96E050 for ; Sat, 15 Aug 2015 22:43:06 -0700 (PDT) Received: from epcpsbgr4.samsung.com (u144.gpu120.samsung.co.kr [203.254.230.144]) by mailout4.samsung.com (Oracle Communications Messaging Server 7.0.5.31.0 64bit (built May 5 2014)) with ESMTP id <0NT502YCEUJSF830@mailout4.samsung.com> for dri-devel@lists.freedesktop.org; Sun, 16 Aug 2015 14:43:04 +0900 (KST) In-reply-to: <55D01F07.20001@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 T24gMjAxNeuFhCAwOOyblCAxNuydvCAxNDoyNiwgSW5raSBEYWUgd3JvdGU6Cj4gT24gMjAxNeuF hCAwN+yblCAyOOydvCAxNzo1MywgSm9vbnlvdW5nIFNoaW0gd3JvdGU6Cj4+IFRoZSBkbWEtYnVm IGNvZGVzIG9mIGV4eW5vcyBkcm0gaXMgYWxtb3N0IHNhbWUgd2l0aCBwcmltZSBoZWxwZXJzLiBB Cj4+IGRpZmZlcmVuY2UgaXMgdGhhdCBjb25zaWRlciBETUFfTk9ORSB3aGVuIGltcG9ydCBkbWEt YnVmLCBidXQgaXQncyB3cm9uZwo+PiBhbmQgd2UgZG9uJ3QgY29uc2lkZXIgaXQgYW55IG1vcmUs IHNvIHdlIGNhbiB1c2UgcHJpbWUgaW50ZXJmYWNlLgo+IAo+IEkgdGhpbmsgaXQncyBnb29kIGlk ZWEgdG8gdXNlIHByaW1lIGhlbHBlcnMuIEhvd2V2ZXIsIEknbSBub3Qgc3VyZSBvZgo+IHRoZXJl IHJlYWxseSBpcyBubyBhbnkgY29ybmVyIGNhc2UgdGhlIHByaW1lIGhlbHBlciBkb2Vzbid0IGNv bnNpZGVyIGZvcgo+IFZlbmRvciBTb0MgeWV0LiBTbyBsZXQncyBoYXZlIG1vcmUgcmV2aWV3cyBh Ym91dCB0aGlzLgoKSnVzdCBtZXJnZWQuIFdlIGNvdWxkIGNvbnNpZGVyIHNvbWV0aGluZyBzcGVj aWZpYyB0byBWZW5kb3IgU29DIGxhdGVyCndoZW4gdGhhdCBpcyBjbGFyaWZpZWQuCgpUaGFua3Ms Cklua2kgRGFlCgo+IAo+IFRoYW5rcywKPiBJbmtpIERhZQo+IAo+Pgo+PiBTaWduZWQtb2ZmLWJ5 OiBKb29ueW91bmcgU2hpbSA8ankwOTIyLnNoaW1Ac2Ftc3VuZy5jb20+Cj4+IC0tLQo+PiAgZHJp dmVycy9ncHUvZHJtL2V4eW5vcy9NYWtlZmlsZSAgICAgICAgICAgIHwgICAyICstCj4+ICBkcml2 ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19kcm1fZG1hYnVmLmMgfCAyODkgLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KPj4gIGRyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2RybV9k bWFidWYuaCB8ICAyMCAtLQo+PiAgZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHJtX2Ry di5jICAgIHwgICA5ICstCj4+ICBkcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19kcm1fZ2Vt LmMgICAgfCAgNzkgKysrKysrKysKPj4gIGRyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2Ry bV9nZW0uaCAgICB8ICAgOSArCj4+ICA2IGZpbGVzIGNoYW5nZWQsIDk1IGluc2VydGlvbnMoKyks IDMxMyBkZWxldGlvbnMoLSkKPj4gIGRlbGV0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0v ZXh5bm9zL2V4eW5vc19kcm1fZG1hYnVmLmMKPj4gIGRlbGV0ZSBtb2RlIDEwMDY0NCBkcml2ZXJz L2dwdS9kcm0vZXh5bm9zL2V4eW5vc19kcm1fZG1hYnVmLmgKPj4KPj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9leHlub3MvTWFrZWZpbGUgYi9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL01h a2VmaWxlCj4+IGluZGV4IDdkZTBiMTAuLjk1ZDAzMDYgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS9leHlub3MvTWFrZWZpbGUKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9N YWtlZmlsZQo+PiBAQCAtNiw3ICs2LDcgQEAgY2NmbGFncy15IDo9IC1JaW5jbHVkZS9kcm0gLUlk cml2ZXJzL2dwdS9kcm0vZXh5bm9zCj4+ICBleHlub3Nkcm0teSA6PSBleHlub3NfZHJtX2Rydi5v IGV4eW5vc19kcm1fZW5jb2Rlci5vIFwKPj4gIAkJZXh5bm9zX2RybV9jcnRjLm8gZXh5bm9zX2Ry bV9mYmRldi5vIGV4eW5vc19kcm1fZmIubyBcCj4+ICAJCWV4eW5vc19kcm1fYnVmLm8gZXh5bm9z X2RybV9nZW0ubyBleHlub3NfZHJtX2NvcmUubyBcCj4+IC0JCWV4eW5vc19kcm1fcGxhbmUubyBl eHlub3NfZHJtX2RtYWJ1Zi5vCj4+ICsJCWV4eW5vc19kcm1fcGxhbmUubwo+PiAgCj4+ICBleHlu b3Nkcm0tJChDT05GSUdfRFJNX0VYWU5PU19JT01NVSkgKz0gZXh5bm9zX2RybV9pb21tdS5vCj4+ ICBleHlub3Nkcm0tJChDT05GSUdfRFJNX0VYWU5PU19GSU1EKQkrPSBleHlub3NfZHJtX2ZpbWQu bwo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHJtX2RtYWJ1 Zi5jIGIvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHJtX2RtYWJ1Zi5jCj4+IGRlbGV0 ZWQgZmlsZSBtb2RlIDEwMDY0NAo+PiBpbmRleCA2MTllY2RkLi4wMDAwMDAwCj4+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2RybV9kbWFidWYuYwo+PiArKysgL2Rldi9udWxs Cj4+IEBAIC0xLDI4OSArMCwwIEBACj4+IC0vKiBleHlub3NfZHJtX2RtYWJ1Zi5jCj4+IC0gKgo+ PiAtICogQ29weXJpZ2h0IChjKSAyMDEyIFNhbXN1bmcgRWxlY3Ryb25pY3MgQ28uLCBMdGQuCj4+ IC0gKiBBdXRob3I6IElua2kgRGFlIDxpbmtpLmRhZUBzYW1zdW5nLmNvbT4KPj4gLSAqCj4+IC0g KiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgIGl0 IGFuZC9vciBtb2RpZnkgaXQKPj4gLSAqIHVuZGVyICB0aGUgdGVybXMgb2YgIHRoZSBHTlUgR2Vu ZXJhbCAgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZQo+PiAtICogRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uOyAgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgIExpY2Vuc2UsIG9yIChh dCB5b3VyCj4+IC0gKiBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgo+PiAtICovCj4+IC0KPj4g LSNpbmNsdWRlIDxkcm0vZHJtUC5oPgo+PiAtI2luY2x1ZGUgPGRybS9leHlub3NfZHJtLmg+Cj4+ IC0jaW5jbHVkZSAiZXh5bm9zX2RybV9kbWFidWYuaCIKPj4gLSNpbmNsdWRlICJleHlub3NfZHJt X2Rydi5oIgo+PiAtI2luY2x1ZGUgImV4eW5vc19kcm1fZ2VtLmgiCj4+IC0KPj4gLSNpbmNsdWRl IDxsaW51eC9kbWEtYnVmLmg+Cj4+IC0KPj4gLXN0cnVjdCBleHlub3NfZHJtX2RtYWJ1Zl9hdHRh Y2htZW50IHsKPj4gLQlzdHJ1Y3Qgc2dfdGFibGUgKnNndDsKPj4gLQllbnVtIGRtYV9kYXRhX2Rp cmVjdGlvbiBkaXI7Cj4+IC0JYm9vbCBpc19tYXBwZWQ7Cj4+IC19Owo+PiAtCj4+IC1zdGF0aWMg c3RydWN0IGV4eW5vc19kcm1fZ2VtX29iaiAqZG1hX2J1Zl90b19vYmooc3RydWN0IGRtYV9idWYg KmJ1ZikKPj4gLXsKPj4gLQlyZXR1cm4gdG9fZXh5bm9zX2dlbV9vYmooYnVmLT5wcml2KTsKPj4g LX0KPj4gLQo+PiAtc3RhdGljIGludCBleHlub3NfZ2VtX2F0dGFjaF9kbWFfYnVmKHN0cnVjdCBk bWFfYnVmICpkbWFidWYsCj4+IC0JCQkJCXN0cnVjdCBkZXZpY2UgKmRldiwKPj4gLQkJCQkJc3Ry dWN0IGRtYV9idWZfYXR0YWNobWVudCAqYXR0YWNoKQo+PiAtewo+PiAtCXN0cnVjdCBleHlub3Nf ZHJtX2RtYWJ1Zl9hdHRhY2htZW50ICpleHlub3NfYXR0YWNoOwo+PiAtCj4+IC0JZXh5bm9zX2F0 dGFjaCA9IGt6YWxsb2Moc2l6ZW9mKCpleHlub3NfYXR0YWNoKSwgR0ZQX0tFUk5FTCk7Cj4+IC0J aWYgKCFleHlub3NfYXR0YWNoKQo+PiAtCQlyZXR1cm4gLUVOT01FTTsKPj4gLQo+PiAtCWV4eW5v c19hdHRhY2gtPmRpciA9IERNQV9OT05FOwo+PiAtCWF0dGFjaC0+cHJpdiA9IGV4eW5vc19hdHRh Y2g7Cj4+IC0KPj4gLQlyZXR1cm4gMDsKPj4gLX0KPj4gLQo+PiAtc3RhdGljIHZvaWQgZXh5bm9z X2dlbV9kZXRhY2hfZG1hX2J1ZihzdHJ1Y3QgZG1hX2J1ZiAqZG1hYnVmLAo+PiAtCQkJCQlzdHJ1 Y3QgZG1hX2J1Zl9hdHRhY2htZW50ICphdHRhY2gpCj4+IC17Cj4+IC0Jc3RydWN0IGV4eW5vc19k cm1fZG1hYnVmX2F0dGFjaG1lbnQgKmV4eW5vc19hdHRhY2ggPSBhdHRhY2gtPnByaXY7Cj4+IC0J c3RydWN0IHNnX3RhYmxlICpzZ3Q7Cj4+IC0KPj4gLQlpZiAoIWV4eW5vc19hdHRhY2gpCj4+IC0J CXJldHVybjsKPj4gLQo+PiAtCXNndCA9IGV4eW5vc19hdHRhY2gtPnNndDsKPj4gLQlpZiAoc2d0 KSB7Cj4+IC0JCWlmIChleHlub3NfYXR0YWNoLT5kaXIgIT0gRE1BX05PTkUpCj4+IC0JCQlkbWFf dW5tYXBfc2coYXR0YWNoLT5kZXYsIHNndC0+c2dsLCBzZ3QtPm5lbnRzLAo+PiAtCQkJCQlleHlu b3NfYXR0YWNoLT5kaXIpOwo+PiAtCQlzZ19mcmVlX3RhYmxlKHNndCk7Cj4+IC0JfQo+PiAtCj4+ IC0Ja2ZyZWUoc2d0KTsKPj4gLQlrZnJlZShleHlub3NfYXR0YWNoKTsKPj4gLQlhdHRhY2gtPnBy aXYgPSBOVUxMOwo+PiAtfQo+PiAtCj4+IC1zdGF0aWMgc3RydWN0IHNnX3RhYmxlICoKPj4gLQkJ ZXh5bm9zX2dlbV9tYXBfZG1hX2J1ZihzdHJ1Y3QgZG1hX2J1Zl9hdHRhY2htZW50ICphdHRhY2gs Cj4+IC0JCQkJCWVudW0gZG1hX2RhdGFfZGlyZWN0aW9uIGRpcikKPj4gLXsKPj4gLQlzdHJ1Y3Qg ZXh5bm9zX2RybV9kbWFidWZfYXR0YWNobWVudCAqZXh5bm9zX2F0dGFjaCA9IGF0dGFjaC0+cHJp djsKPj4gLQlzdHJ1Y3QgZXh5bm9zX2RybV9nZW1fb2JqICpnZW1fb2JqID0gZG1hX2J1Zl90b19v YmooYXR0YWNoLT5kbWFidWYpOwo+PiAtCXN0cnVjdCBleHlub3NfZHJtX2dlbV9idWYgKmJ1ZjsK Pj4gLQlzdHJ1Y3Qgc2dfdGFibGUgKnNndDsKPj4gLQlpbnQgbnBhZ2VzOwo+PiAtCj4+IC0JLyog anVzdCByZXR1cm4gY3VycmVudCBzZ3QgaWYgYWxyZWFkeSByZXF1ZXN0ZWQuICovCj4+IC0JaWYg KGV4eW5vc19hdHRhY2gtPmRpciA9PSBkaXIgJiYgZXh5bm9zX2F0dGFjaC0+aXNfbWFwcGVkKQo+ PiAtCQlyZXR1cm4gZXh5bm9zX2F0dGFjaC0+c2d0Owo+PiAtCj4+IC0JYnVmID0gZ2VtX29iai0+ YnVmZmVyOwo+PiAtCWlmICghYnVmKSB7Cj4+IC0JCURSTV9FUlJPUigiYnVmZmVyIGlzIG51bGwu XG4iKTsKPj4gLQkJcmV0dXJuIEVSUl9QVFIoLUVOT01FTSk7Cj4+IC0JfQo+PiAtCj4+IC0JbnBh Z2VzID0gYnVmLT5zaXplID4+IFBBR0VfU0hJRlQ7Cj4+IC0KPj4gLQlzZ3QgPSBkcm1fcHJpbWVf cGFnZXNfdG9fc2coYnVmLT5wYWdlcywgbnBhZ2VzKTsKPj4gLQlpZiAoSVNfRVJSKHNndCkpCj4+ IC0JCWdvdG8gZXJyOwo+PiAtCj4+IC0JaWYgKGRpciAhPSBETUFfTk9ORSkgewo+PiAtCQlpZiAo IWRtYV9tYXBfc2coYXR0YWNoLT5kZXYsIHNndC0+c2dsLCBzZ3QtPm9yaWdfbmVudHMsIGRpcikp IHsKPj4gLQkJCURSTV9FUlJPUigiZmFpbGVkIHRvIG1hcCBzZ2wgd2l0aCBpb21tdS5cbiIpOwo+ PiAtCQkJc2dfZnJlZV90YWJsZShzZ3QpOwo+PiAtCQkJc2d0ID0gRVJSX1BUUigtRUlPKTsKPj4g LQkJCWdvdG8gZXJyOwo+PiAtCQl9Cj4+IC0JfQo+PiAtCj4+IC0JZXh5bm9zX2F0dGFjaC0+aXNf bWFwcGVkID0gdHJ1ZTsKPj4gLQlleHlub3NfYXR0YWNoLT5zZ3QgPSBzZ3Q7Cj4+IC0JZXh5bm9z X2F0dGFjaC0+ZGlyID0gZGlyOwo+PiAtCWF0dGFjaC0+cHJpdiA9IGV4eW5vc19hdHRhY2g7Cj4+ IC0KPj4gLQlEUk1fREVCVUdfUFJJTUUoImJ1ZmZlciBzaXplID0gMHglbHhcbiIsIGJ1Zi0+c2l6 ZSk7Cj4+IC0KPj4gLWVycjoKPj4gLQlyZXR1cm4gc2d0Owo+PiAtfQo+PiAtCj4+IC1zdGF0aWMg dm9pZCBleHlub3NfZ2VtX3VubWFwX2RtYV9idWYoc3RydWN0IGRtYV9idWZfYXR0YWNobWVudCAq YXR0YWNoLAo+PiAtCQkJCQkJc3RydWN0IHNnX3RhYmxlICpzZ3QsCj4+IC0JCQkJCQllbnVtIGRt YV9kYXRhX2RpcmVjdGlvbiBkaXIpCj4+IC17Cj4+IC0JLyogTm90aGluZyB0byBkby4gKi8KPj4g LX0KPj4gLQo+PiAtc3RhdGljIHZvaWQgKmV4eW5vc19nZW1fZG1hYnVmX2ttYXBfYXRvbWljKHN0 cnVjdCBkbWFfYnVmICpkbWFfYnVmLAo+PiAtCQkJCQkJdW5zaWduZWQgbG9uZyBwYWdlX251bSkK Pj4gLXsKPj4gLQkvKiBUT0RPICovCj4+IC0KPj4gLQlyZXR1cm4gTlVMTDsKPj4gLX0KPj4gLQo+ PiAtc3RhdGljIHZvaWQgZXh5bm9zX2dlbV9kbWFidWZfa3VubWFwX2F0b21pYyhzdHJ1Y3QgZG1h X2J1ZiAqZG1hX2J1ZiwKPj4gLQkJCQkJCXVuc2lnbmVkIGxvbmcgcGFnZV9udW0sCj4+IC0JCQkJ CQl2b2lkICphZGRyKQo+PiAtewo+PiAtCS8qIFRPRE8gKi8KPj4gLX0KPj4gLQo+PiAtc3RhdGlj IHZvaWQgKmV4eW5vc19nZW1fZG1hYnVmX2ttYXAoc3RydWN0IGRtYV9idWYgKmRtYV9idWYsCj4+ IC0JCQkJCXVuc2lnbmVkIGxvbmcgcGFnZV9udW0pCj4+IC17Cj4+IC0JLyogVE9ETyAqLwo+PiAt Cj4+IC0JcmV0dXJuIE5VTEw7Cj4+IC19Cj4+IC0KPj4gLXN0YXRpYyB2b2lkIGV4eW5vc19nZW1f ZG1hYnVmX2t1bm1hcChzdHJ1Y3QgZG1hX2J1ZiAqZG1hX2J1ZiwKPj4gLQkJCQkJdW5zaWduZWQg bG9uZyBwYWdlX251bSwgdm9pZCAqYWRkcikKPj4gLXsKPj4gLQkvKiBUT0RPICovCj4+IC19Cj4+ IC0KPj4gLXN0YXRpYyBpbnQgZXh5bm9zX2dlbV9kbWFidWZfbW1hcChzdHJ1Y3QgZG1hX2J1ZiAq ZG1hX2J1ZiwKPj4gLQlzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSkKPj4gLXsKPj4gLQlyZXR1 cm4gLUVOT1RUWTsKPj4gLX0KPj4gLQo+PiAtc3RhdGljIHN0cnVjdCBkbWFfYnVmX29wcyBleHlu b3NfZG1hYnVmX29wcyA9IHsKPj4gLQkuYXR0YWNoCQkJPSBleHlub3NfZ2VtX2F0dGFjaF9kbWFf YnVmLAo+PiAtCS5kZXRhY2gJCQk9IGV4eW5vc19nZW1fZGV0YWNoX2RtYV9idWYsCj4+IC0JLm1h cF9kbWFfYnVmCQk9IGV4eW5vc19nZW1fbWFwX2RtYV9idWYsCj4+IC0JLnVubWFwX2RtYV9idWYJ CT0gZXh5bm9zX2dlbV91bm1hcF9kbWFfYnVmLAo+PiAtCS5rbWFwCQkJPSBleHlub3NfZ2VtX2Rt YWJ1Zl9rbWFwLAo+PiAtCS5rbWFwX2F0b21pYwkJPSBleHlub3NfZ2VtX2RtYWJ1Zl9rbWFwX2F0 b21pYywKPj4gLQkua3VubWFwCQkJPSBleHlub3NfZ2VtX2RtYWJ1Zl9rdW5tYXAsCj4+IC0JLmt1 bm1hcF9hdG9taWMJCT0gZXh5bm9zX2dlbV9kbWFidWZfa3VubWFwX2F0b21pYywKPj4gLQkubW1h cAkJCT0gZXh5bm9zX2dlbV9kbWFidWZfbW1hcCwKPj4gLQkucmVsZWFzZQkJPSBkcm1fZ2VtX2Rt YWJ1Zl9yZWxlYXNlLAo+PiAtfTsKPj4gLQo+PiAtc3RydWN0IGRtYV9idWYgKmV4eW5vc19kbWFi dWZfcHJpbWVfZXhwb3J0KHN0cnVjdCBkcm1fZGV2aWNlICpkcm1fZGV2LAo+PiAtCQkJCXN0cnVj dCBkcm1fZ2VtX29iamVjdCAqb2JqLCBpbnQgZmxhZ3MpCj4+IC17Cj4+IC0Jc3RydWN0IGV4eW5v c19kcm1fZ2VtX29iaiAqZXh5bm9zX2dlbV9vYmogPSB0b19leHlub3NfZ2VtX29iaihvYmopOwo+ PiAtCURFRklORV9ETUFfQlVGX0VYUE9SVF9JTkZPKGV4cF9pbmZvKTsKPj4gLQo+PiAtCWV4cF9p bmZvLm9wcyA9ICZleHlub3NfZG1hYnVmX29wczsKPj4gLQlleHBfaW5mby5zaXplID0gZXh5bm9z X2dlbV9vYmotPmJhc2Uuc2l6ZTsKPj4gLQlleHBfaW5mby5mbGFncyA9IGZsYWdzOwo+PiAtCWV4 cF9pbmZvLnByaXYgPSBvYmo7Cj4+IC0KPj4gLQlyZXR1cm4gZG1hX2J1Zl9leHBvcnQoJmV4cF9p bmZvKTsKPj4gLX0KPj4gLQo+PiAtc3RydWN0IGRybV9nZW1fb2JqZWN0ICpleHlub3NfZG1hYnVm X3ByaW1lX2ltcG9ydChzdHJ1Y3QgZHJtX2RldmljZSAqZHJtX2RldiwKPj4gLQkJCQlzdHJ1Y3Qg ZG1hX2J1ZiAqZG1hX2J1ZikKPj4gLXsKPj4gLQlzdHJ1Y3QgZG1hX2J1Zl9hdHRhY2htZW50ICph dHRhY2g7Cj4+IC0Jc3RydWN0IHNnX3RhYmxlICpzZ3Q7Cj4+IC0Jc3RydWN0IHNjYXR0ZXJsaXN0 ICpzZ2w7Cj4+IC0Jc3RydWN0IGV4eW5vc19kcm1fZ2VtX29iaiAqZXh5bm9zX2dlbV9vYmo7Cj4+ IC0Jc3RydWN0IGV4eW5vc19kcm1fZ2VtX2J1ZiAqYnVmZmVyOwo+PiAtCWludCBucGFnZXM7Cj4+ IC0JaW50IHJldDsKPj4gLQo+PiAtCS8qIGlzIHRoaXMgb25lIG9mIG93biBvYmplY3RzPyAqLwo+ PiAtCWlmIChkbWFfYnVmLT5vcHMgPT0gJmV4eW5vc19kbWFidWZfb3BzKSB7Cj4+IC0JCXN0cnVj dCBkcm1fZ2VtX29iamVjdCAqb2JqOwo+PiAtCj4+IC0JCW9iaiA9IGRtYV9idWYtPnByaXY7Cj4+ IC0KPj4gLQkJLyogaXMgaXQgZnJvbSBvdXIgZGV2aWNlPyAqLwo+PiAtCQlpZiAob2JqLT5kZXYg PT0gZHJtX2Rldikgewo+PiAtCQkJLyoKPj4gLQkJCSAqIEltcG9ydGluZyBkbWFidWYgZXhwb3J0 ZWQgZnJvbSBvdXQgb3duIGdlbSBpbmNyZWFzZXMKPj4gLQkJCSAqIHJlZmNvdW50IG9uIGdlbSBp dHNlbGYgaW5zdGVhZCBvZiBmX2NvdW50IG9mIGRtYWJ1Zi4KPj4gLQkJCSAqLwo+PiAtCQkJZHJt X2dlbV9vYmplY3RfcmVmZXJlbmNlKG9iaik7Cj4+IC0JCQlyZXR1cm4gb2JqOwo+PiAtCQl9Cj4+ IC0JfQo+PiAtCj4+IC0JYXR0YWNoID0gZG1hX2J1Zl9hdHRhY2goZG1hX2J1ZiwgZHJtX2Rldi0+ ZGV2KTsKPj4gLQlpZiAoSVNfRVJSKGF0dGFjaCkpCj4+IC0JCXJldHVybiBFUlJfUFRSKC1FSU5W QUwpOwo+PiAtCj4+IC0JZ2V0X2RtYV9idWYoZG1hX2J1Zik7Cj4+IC0KPj4gLQlzZ3QgPSBkbWFf YnVmX21hcF9hdHRhY2htZW50KGF0dGFjaCwgRE1BX0JJRElSRUNUSU9OQUwpOwo+PiAtCWlmIChJ U19FUlIoc2d0KSkgewo+PiAtCQlyZXQgPSBQVFJfRVJSKHNndCk7Cj4+IC0JCWdvdG8gZXJyX2J1 Zl9kZXRhY2g7Cj4+IC0JfQo+PiAtCj4+IC0JYnVmZmVyID0ga3phbGxvYyhzaXplb2YoKmJ1ZmZl ciksIEdGUF9LRVJORUwpOwo+PiAtCWlmICghYnVmZmVyKSB7Cj4+IC0JCXJldCA9IC1FTk9NRU07 Cj4+IC0JCWdvdG8gZXJyX3VubWFwX2F0dGFjaDsKPj4gLQl9Cj4+IC0KPj4gLQlleHlub3NfZ2Vt X29iaiA9IGV4eW5vc19kcm1fZ2VtX2luaXQoZHJtX2RldiwgZG1hX2J1Zi0+c2l6ZSk7Cj4+IC0J aWYgKCFleHlub3NfZ2VtX29iaikgewo+PiAtCQlyZXQgPSAtRU5PTUVNOwo+PiAtCQlnb3RvIGVy cl9mcmVlX2J1ZmZlcjsKPj4gLQl9Cj4+IC0KPj4gLQlzZ2wgPSBzZ3QtPnNnbDsKPj4gLQo+PiAt CWJ1ZmZlci0+c2l6ZSA9IGRtYV9idWYtPnNpemU7Cj4+IC0JYnVmZmVyLT5kbWFfYWRkciA9IHNn X2RtYV9hZGRyZXNzKHNnbCk7Cj4+IC0KPj4gLQlucGFnZXMgPSBkbWFfYnVmLT5zaXplID4+IFBB R0VfU0hJRlQ7Cj4+IC0JYnVmZmVyLT5wYWdlcyA9IGRybV9tYWxsb2NfYWIobnBhZ2VzLCBzaXpl b2Yoc3RydWN0IHBhZ2UgKikpOwo+PiAtCWlmICghYnVmZmVyLT5wYWdlcykgewo+PiAtCQlyZXQg PSAtRU5PTUVNOwo+PiAtCQlnb3RvIGVycl9mcmVlX2dlbTsKPj4gLQl9Cj4+IC0KPj4gLQlyZXQg PSBkcm1fcHJpbWVfc2dfdG9fcGFnZV9hZGRyX2FycmF5cyhzZ3QsIGJ1ZmZlci0+cGFnZXMsIE5V TEwsCj4+IC0JCQlucGFnZXMpOwo+PiAtCWlmIChyZXQgPCAwKSB7Cj4+IC0JCWRybV9mcmVlX2xh cmdlKGJ1ZmZlci0+cGFnZXMpOwo+PiAtCQlnb3RvIGVycl9mcmVlX2dlbTsKPj4gLQl9Cj4+IC0K Pj4gLQlpZiAoc2d0LT5uZW50cyA9PSAxKSB7Cj4+IC0JCS8qIGFsd2F5cyBwaHlzaWNhbGx5IGNv bnRpbnVvdXMgbWVtb3J5IGlmIHNndC0+bmVudHMgaXMgMS4gKi8KPj4gLQkJZXh5bm9zX2dlbV9v YmotPmZsYWdzIHw9IEVYWU5PU19CT19DT05USUc7Cj4+IC0JfSBlbHNlIHsKPj4gLQkJLyoKPj4g LQkJICogdGhpcyBjYXNlIGNvdWxkIGJlIENPTlRJRyBvciBOT05DT05USUcgdHlwZSBidXQgZm9y IG5vdwo+PiAtCQkgKiBzZXRzIE5PTkNPTlRJRy4KPj4gLQkJICogVE9ETy4gd2UgaGF2ZSB0byBm aW5kIGEgd2F5IHRoYXQgZXhwb3J0ZXIgY2FuIG5vdGlmeQo+PiAtCQkgKiB0aGUgdHlwZSBvZiBp dHMgb3duIGJ1ZmZlciB0byBpbXBvcnRlci4KPj4gLQkJICovCj4+IC0JCWV4eW5vc19nZW1fb2Jq LT5mbGFncyB8PSBFWFlOT1NfQk9fTk9OQ09OVElHOwo+PiAtCX0KPj4gLQo+PiAtCWV4eW5vc19n ZW1fb2JqLT5idWZmZXIgPSBidWZmZXI7Cj4+IC0JZXh5bm9zX2dlbV9vYmotPmJhc2UuaW1wb3J0 X2F0dGFjaCA9IGF0dGFjaDsKPj4gLQo+PiAtCURSTV9ERUJVR19QUklNRSgiZG1hX2FkZHIgPSAl cGFkLCBzaXplID0gMHglbHhcbiIsICZidWZmZXItPmRtYV9hZGRyLAo+PiAtCQkJCQkJCQlidWZm ZXItPnNpemUpOwo+PiAtCj4+IC0JcmV0dXJuICZleHlub3NfZ2VtX29iai0+YmFzZTsKPj4gLQo+ PiAtZXJyX2ZyZWVfZ2VtOgo+PiAtCWRybV9nZW1fb2JqZWN0X3JlbGVhc2UoJmV4eW5vc19nZW1f b2JqLT5iYXNlKTsKPj4gLQlrZnJlZShleHlub3NfZ2VtX29iaik7Cj4+IC1lcnJfZnJlZV9idWZm ZXI6Cj4+IC0Ja2ZyZWUoYnVmZmVyKTsKPj4gLQlidWZmZXIgPSBOVUxMOwo+PiAtZXJyX3VubWFw X2F0dGFjaDoKPj4gLQlkbWFfYnVmX3VubWFwX2F0dGFjaG1lbnQoYXR0YWNoLCBzZ3QsIERNQV9C SURJUkVDVElPTkFMKTsKPj4gLWVycl9idWZfZGV0YWNoOgo+PiAtCWRtYV9idWZfZGV0YWNoKGRt YV9idWYsIGF0dGFjaCk7Cj4+IC0JZG1hX2J1Zl9wdXQoZG1hX2J1Zik7Cj4+IC0KPj4gLQlyZXR1 cm4gRVJSX1BUUihyZXQpOwo+PiAtfQo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2V4 eW5vcy9leHlub3NfZHJtX2RtYWJ1Zi5oIGIvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3Nf ZHJtX2RtYWJ1Zi5oCj4+IGRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAo+PiBpbmRleCA4ODZkZTlm Li4wMDAwMDAwCj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2RybV9kbWFi dWYuaAo+PiArKysgL2Rldi9udWxsCj4+IEBAIC0xLDIwICswLDAgQEAKPj4gLS8qIGV4eW5vc19k cm1fZG1hYnVmLmgKPj4gLSAqCj4+IC0gKiBDb3B5cmlnaHQgKGMpIDIwMTIgU2Ftc3VuZyBFbGVj dHJvbmljcyBDby4sIEx0ZC4KPj4gLSAqIEF1dGhvcjogSW5raSBEYWUgPGlua2kuZGFlQHNhbXN1 bmcuY29tPgo+PiAtICoKPj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3Ug Y2FuIHJlZGlzdHJpYnV0ZSAgaXQgYW5kL29yIG1vZGlmeSBpdAo+PiAtICogdW5kZXIgIHRoZSB0 ZXJtcyBvZiAgdGhlIEdOVSBHZW5lcmFsICBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkg dGhlCj4+IC0gKiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247ICBlaXRoZXIgdmVyc2lvbiAyIG9m IHRoZSAgTGljZW5zZSwgb3IgKGF0IHlvdXIKPj4gLSAqIG9wdGlvbikgYW55IGxhdGVyIHZlcnNp b24uCj4+IC0gKi8KPj4gLQo+PiAtI2lmbmRlZiBfRVhZTk9TX0RSTV9ETUFCVUZfSF8KPj4gLSNk ZWZpbmUgX0VYWU5PU19EUk1fRE1BQlVGX0hfCj4+IC0KPj4gLXN0cnVjdCBkbWFfYnVmICpleHlu b3NfZG1hYnVmX3ByaW1lX2V4cG9ydChzdHJ1Y3QgZHJtX2RldmljZSAqZHJtX2RldiwKPj4gLQkJ CQlzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKm9iaiwgaW50IGZsYWdzKTsKPj4gLQo+PiAtc3RydWN0 IGRybV9nZW1fb2JqZWN0ICpleHlub3NfZG1hYnVmX3ByaW1lX2ltcG9ydChzdHJ1Y3QgZHJtX2Rl dmljZSAqZHJtX2RldiwKPj4gLQkJCQkJCXN0cnVjdCBkbWFfYnVmICpkbWFfYnVmKTsKPj4gLSNl bmRpZgo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHJtX2Ry di5jIGIvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHJtX2Rydi5jCj4+IGluZGV4IGYx ZDY5NjYuLmU5ZGRhYTIgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5 bm9zX2RybV9kcnYuYwo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19kcm1f ZHJ2LmMKPj4gQEAgLTI3LDcgKzI3LDYgQEAKPj4gICNpbmNsdWRlICJleHlub3NfZHJtX2dlbS5o Igo+PiAgI2luY2x1ZGUgImV4eW5vc19kcm1fcGxhbmUuaCIKPj4gICNpbmNsdWRlICJleHlub3Nf ZHJtX3ZpZGkuaCIKPj4gLSNpbmNsdWRlICJleHlub3NfZHJtX2RtYWJ1Zi5oIgo+PiAgI2luY2x1 ZGUgImV4eW5vc19kcm1fZzJkLmgiCj4+ICAjaW5jbHVkZSAiZXh5bm9zX2RybV9pcHAuaCIKPj4g ICNpbmNsdWRlICJleHlub3NfZHJtX2lvbW11LmgiCj4+IEBAIC0yOTcsOCArMjk2LDEyIEBAIHN0 YXRpYyBzdHJ1Y3QgZHJtX2RyaXZlciBleHlub3NfZHJtX2RyaXZlciA9IHsKPj4gIAkuZHVtYl9k ZXN0cm95CQk9IGRybV9nZW1fZHVtYl9kZXN0cm95LAo+PiAgCS5wcmltZV9oYW5kbGVfdG9fZmQJ PSBkcm1fZ2VtX3ByaW1lX2hhbmRsZV90b19mZCwKPj4gIAkucHJpbWVfZmRfdG9faGFuZGxlCT0g ZHJtX2dlbV9wcmltZV9mZF90b19oYW5kbGUsCj4+IC0JLmdlbV9wcmltZV9leHBvcnQJPSBleHlu b3NfZG1hYnVmX3ByaW1lX2V4cG9ydCwKPj4gLQkuZ2VtX3ByaW1lX2ltcG9ydAk9IGV4eW5vc19k bWFidWZfcHJpbWVfaW1wb3J0LAo+PiArCS5nZW1fcHJpbWVfZXhwb3J0CT0gZHJtX2dlbV9wcmlt ZV9leHBvcnQsCj4+ICsJLmdlbV9wcmltZV9pbXBvcnQJPSBkcm1fZ2VtX3ByaW1lX2ltcG9ydCwK Pj4gKwkuZ2VtX3ByaW1lX2dldF9zZ190YWJsZQk9IGV4eW5vc19kcm1fZ2VtX3ByaW1lX2dldF9z Z190YWJsZSwKPj4gKwkuZ2VtX3ByaW1lX2ltcG9ydF9zZ190YWJsZQk9IGV4eW5vc19kcm1fZ2Vt X3ByaW1lX2ltcG9ydF9zZ190YWJsZSwKPj4gKwkuZ2VtX3ByaW1lX3ZtYXAJCT0gZXh5bm9zX2Ry bV9nZW1fcHJpbWVfdm1hcCwKPj4gKwkuZ2VtX3ByaW1lX3Z1bm1hcAk9IGV4eW5vc19kcm1fZ2Vt X3ByaW1lX3Z1bm1hcCwKPj4gIAkuaW9jdGxzCQkJPSBleHlub3NfaW9jdGxzLAo+PiAgCS5udW1f aW9jdGxzCQk9IEFSUkFZX1NJWkUoZXh5bm9zX2lvY3RscyksCj4+ICAJLmZvcHMJCQk9ICZleHlu b3NfZHJtX2RyaXZlcl9mb3BzLAo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2V4eW5v cy9leHlub3NfZHJtX2dlbS5jIGIvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHJtX2dl bS5jCj4+IGluZGV4IDlkZjEwMGYuLjdkNGJmOWQgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9leHlub3MvZXh5bm9zX2RybV9nZW0uYwo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZXh5 bm9zL2V4eW5vc19kcm1fZ2VtLmMKPj4gQEAgLTEzLDYgKzEzLDcgQEAKPj4gICNpbmNsdWRlIDxk cm0vZHJtX3ZtYV9tYW5hZ2VyLmg+Cj4+ICAKPj4gICNpbmNsdWRlIDxsaW51eC9zaG1lbV9mcy5o Pgo+PiArI2luY2x1ZGUgPGxpbnV4L2RtYS1idWYuaD4KPj4gICNpbmNsdWRlIDxkcm0vZXh5bm9z X2RybS5oPgo+PiAgCj4+ICAjaW5jbHVkZSAiZXh5bm9zX2RybV9kcnYuaCIKPj4gQEAgLTU4MCwz ICs1ODEsODEgQEAgZXJyX2Nsb3NlX3ZtOgo+PiAgCj4+ICAJcmV0dXJuIHJldDsKPj4gIH0KPj4g Kwo+PiArLyogbG93LWxldmVsIGludGVyZmFjZSBwcmltZSBoZWxwZXJzICovCj4+ICtzdHJ1Y3Qg c2dfdGFibGUgKmV4eW5vc19kcm1fZ2VtX3ByaW1lX2dldF9zZ190YWJsZShzdHJ1Y3QgZHJtX2dl bV9vYmplY3QgKm9iaikKPj4gK3sKPj4gKwlzdHJ1Y3QgZXh5bm9zX2RybV9nZW1fb2JqICpleHlu b3NfZ2VtX29iaiA9IHRvX2V4eW5vc19nZW1fb2JqKG9iaik7Cj4+ICsJc3RydWN0IGV4eW5vc19k cm1fZ2VtX2J1ZiAqYnVmID0gZXh5bm9zX2dlbV9vYmotPmJ1ZmZlcjsKPj4gKwlpbnQgbnBhZ2Vz Owo+PiArCj4+ICsJbnBhZ2VzID0gYnVmLT5zaXplID4+IFBBR0VfU0hJRlQ7Cj4+ICsKPj4gKwly ZXR1cm4gZHJtX3ByaW1lX3BhZ2VzX3RvX3NnKGJ1Zi0+cGFnZXMsIG5wYWdlcyk7Cj4+ICt9Cj4+ ICsKPj4gK3N0cnVjdCBkcm1fZ2VtX29iamVjdCAqCj4+ICtleHlub3NfZHJtX2dlbV9wcmltZV9p bXBvcnRfc2dfdGFibGUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPj4gKwkJCQkgICAgIHN0cnVj dCBkbWFfYnVmX2F0dGFjaG1lbnQgKmF0dGFjaCwKPj4gKwkJCQkgICAgIHN0cnVjdCBzZ190YWJs ZSAqc2d0KQo+PiArewo+PiArCXN0cnVjdCBleHlub3NfZHJtX2dlbV9vYmogKmV4eW5vc19nZW1f b2JqOwo+PiArCXN0cnVjdCBleHlub3NfZHJtX2dlbV9idWYgKmJ1ZjsKPj4gKwlpbnQgbnBhZ2Vz Owo+PiArCWludCByZXQ7Cj4+ICsKPj4gKwlidWYgPSBremFsbG9jKHNpemVvZigqYnVmKSwgR0ZQ X0tFUk5FTCk7Cj4+ICsJaWYgKCFidWYpCj4+ICsJCXJldHVybiBFUlJfUFRSKC1FTk9NRU0pOwo+ PiArCj4+ICsJYnVmLT5zaXplID0gYXR0YWNoLT5kbWFidWYtPnNpemU7Cj4+ICsJYnVmLT5kbWFf YWRkciA9IHNnX2RtYV9hZGRyZXNzKHNndC0+c2dsKTsKPj4gKwo+PiArCW5wYWdlcyA9IGJ1Zi0+ c2l6ZSA+PiBQQUdFX1NISUZUOwo+PiArCWJ1Zi0+cGFnZXMgPSBkcm1fbWFsbG9jX2FiKG5wYWdl cywgc2l6ZW9mKHN0cnVjdCBwYWdlICopKTsKPj4gKwlpZiAoIWJ1Zi0+cGFnZXMpIHsKPj4gKwkJ cmV0ID0gLUVOT01FTTsKPj4gKwkJZ290byBlcnI7Cj4+ICsJfQo+PiArCj4+ICsJcmV0ID0gZHJt X3ByaW1lX3NnX3RvX3BhZ2VfYWRkcl9hcnJheXMoc2d0LCBidWYtPnBhZ2VzLCBOVUxMLCBucGFn ZXMpOwo+PiArCWlmIChyZXQgPCAwKQo+PiArCQlnb3RvIGVycl9mcmVlX2xhcmdlOwo+PiArCj4+ ICsJZXh5bm9zX2dlbV9vYmogPSBleHlub3NfZHJtX2dlbV9pbml0KGRldiwgYnVmLT5zaXplKTsK Pj4gKwlpZiAoSVNfRVJSKGV4eW5vc19nZW1fb2JqKSkgewo+PiArCQlyZXQgPSBQVFJfRVJSKGV4 eW5vc19nZW1fb2JqKTsKPj4gKwkJZ290byBlcnI7Cj4+ICsJfQo+PiArCj4+ICsJaWYgKHNndC0+ bmVudHMgPT0gMSkgewo+PiArCQkvKiBhbHdheXMgcGh5c2ljYWxseSBjb250aW51b3VzIG1lbW9y eSBpZiBzZ3QtPm5lbnRzIGlzIDEuICovCj4+ICsJCWV4eW5vc19nZW1fb2JqLT5mbGFncyB8PSBF WFlOT1NfQk9fQ09OVElHOwo+PiArCX0gZWxzZSB7Cj4+ICsJCS8qCj4+ICsJCSAqIHRoaXMgY2Fz ZSBjb3VsZCBiZSBDT05USUcgb3IgTk9OQ09OVElHIHR5cGUgYnV0IGZvciBub3cKPj4gKwkJICog c2V0cyBOT05DT05USUcuCj4+ICsJCSAqIFRPRE8uIHdlIGhhdmUgdG8gZmluZCBhIHdheSB0aGF0 IGV4cG9ydGVyIGNhbiBub3RpZnkKPj4gKwkJICogdGhlIHR5cGUgb2YgaXRzIG93biBidWZmZXIg dG8gaW1wb3J0ZXIuCj4+ICsJCSAqLwo+PiArCQlleHlub3NfZ2VtX29iai0+ZmxhZ3MgfD0gRVhZ Tk9TX0JPX05PTkNPTlRJRzsKPj4gKwl9Cj4+ICsKPj4gKwlyZXR1cm4gJmV4eW5vc19nZW1fb2Jq LT5iYXNlOwo+PiArCj4+ICtlcnJfZnJlZV9sYXJnZToKPj4gKwlkcm1fZnJlZV9sYXJnZShidWYt PnBhZ2VzKTsKPj4gK2VycjoKPj4gKwlrZnJlZShidWYpOwo+PiArCXJldHVybiBFUlJfUFRSKHJl dCk7Cj4+ICt9Cj4+ICsKPj4gK3ZvaWQgKmV4eW5vc19kcm1fZ2VtX3ByaW1lX3ZtYXAoc3RydWN0 IGRybV9nZW1fb2JqZWN0ICpvYmopCj4+ICt7Cj4+ICsJcmV0dXJuIE5VTEw7Cj4+ICt9Cj4+ICsK Pj4gK3ZvaWQgZXh5bm9zX2RybV9nZW1fcHJpbWVfdnVubWFwKHN0cnVjdCBkcm1fZ2VtX29iamVj dCAqb2JqLCB2b2lkICp2YWRkcikKPj4gK3sKPj4gKwkvKiBOb3RoaW5nIHRvIGRvICovCj4+ICt9 Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19kcm1fZ2VtLmgg Yi9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19kcm1fZ2VtLmgKPj4gaW5kZXggNDliNWVm MS4uNWUyMGRhNiAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3Nf ZHJtX2dlbS5oCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2RybV9nZW0u aAo+PiBAQCAtMTY4LDQgKzE2OCwxMyBAQCB2b2lkIGV4eW5vc19nZW1fdW5tYXBfc2d0X2Zyb21f ZG1hKHN0cnVjdCBkcm1fZGV2aWNlICpkcm1fZGV2LAo+PiAgCQkJCXN0cnVjdCBzZ190YWJsZSAq c2d0LAo+PiAgCQkJCWVudW0gZG1hX2RhdGFfZGlyZWN0aW9uIGRpcik7Cj4+ICAKPj4gKy8qIGxv dy1sZXZlbCBpbnRlcmZhY2UgcHJpbWUgaGVscGVycyAqLwo+PiArc3RydWN0IHNnX3RhYmxlICpl eHlub3NfZHJtX2dlbV9wcmltZV9nZXRfc2dfdGFibGUoc3RydWN0IGRybV9nZW1fb2JqZWN0ICpv YmopOwo+PiArc3RydWN0IGRybV9nZW1fb2JqZWN0ICoKPj4gK2V4eW5vc19kcm1fZ2VtX3ByaW1l X2ltcG9ydF9zZ190YWJsZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+PiArCQkJCSAgICAgc3Ry dWN0IGRtYV9idWZfYXR0YWNobWVudCAqYXR0YWNoLAo+PiArCQkJCSAgICAgc3RydWN0IHNnX3Rh YmxlICpzZ3QpOwo+PiArdm9pZCAqZXh5bm9zX2RybV9nZW1fcHJpbWVfdm1hcChzdHJ1Y3QgZHJt X2dlbV9vYmplY3QgKm9iaik7Cj4+ICt2b2lkIGV4eW5vc19kcm1fZ2VtX3ByaW1lX3Z1bm1hcChz dHJ1Y3QgZHJtX2dlbV9vYmplY3QgKm9iaiwgdm9pZCAqdmFkZHIpOwo+PiArCj4+ICAjZW5kaWYK Pj4KPiAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRy aS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw Oi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==