From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ander Conselvan de Oliveira Subject: Re: [PATCH] drm/i915: Prepare for atomic plane helpers (v7) Date: Fri, 12 Dec 2014 14:52:39 +0200 Message-ID: <548AE517.2050109@gmail.com> References: <1418154823-10819-6-git-send-email-matthew.d.roper@intel.com> <1418342092-1985-1-git-send-email-matthew.d.roper@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id EFDF26E84C for ; Fri, 12 Dec 2014 04:52:38 -0800 (PST) In-Reply-To: <1418342092-1985-1-git-send-email-matthew.d.roper@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Matt Roper , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gMTIvMTIvMjAxNCAwMTo1NCBBTSwgTWF0dCBSb3BlciB3cm90ZToKPiBBZGQgdGhlIG5ldyBk cml2ZXIgZW50cnlwb2ludHMgdGhhdCB3aWxsIGJlIGNhbGxlZCBieSB0aGUgYXRvbWljIHBsYW5l Cj4gaGVscGVycy4KPgo+IFRoaXMgcGF0Y2ggZG9lcyBub3QgYWN0dWFsbHkgc3dpdGNoIG92ZXIg dG8gdGhlIG5ldyBwbGFuZSBoZWxwZXJzIHlldCwKPiBzbyB0aGVyZSBzaG91bGQgYmUgbm8gZnVu Y3Rpb25hbCBjaGFuZ2UgaGVyZS4gIEFsc28gbm90ZSB0aGF0IGFsdGhvdWdoCj4gcGxhbmUgcHJv Z3JhbW1pbmcgd2FzIGFscmVhZHkgc3BsaXQgaW50byBjaGVjay9wcmVwYXJlL2NvbW1pdCBzdGVw cywKPiBzb21lIG9mIHRoZSBzZW1hbnRpY3Mgb2YgdGhvc2UgaW5kaXZpZHVhbCBmdW5jdGlvbnMg d2lsbCBuZWVkIHRvIGNoYW5nZQo+IHNsaWdodGx5IHdoZW4gd2UgZG8gbWFrZSB0aGUganVtcCBz byB0aGF0IHRoZXkgbWF0Y2ggdGhlIGJlaGF2aW9yIHRoZQo+IHBsYW5lIGhlbHBlcnMgZXhwZWN0 Lgo+Cj4gdjI6Cj4gICAtIFJlbmFtZWQgZmlsZSBmcm9tIGludGVsX2F0b21pYy5jIHRvIGludGVs X2F0b21pY19wbGFuZS5jIChEYW5pZWwpCj4gICAtIEZpeCBhIGNvcHkvcGFzdGUgY29tbWVudCBt aXN0YWtlIChCb2IpCj4KPiB2MzoKPiAgIC0gVXNlIHByZXBhcmUvY2xlYW51cCBmdW5jdGlvbnMg dGhhdCB3ZSd2ZSBhbHJlYWR5IGZhY3RvcmVkIG91dAo+ICAgLSBVc2UgbmV3bHkgcmVmYWN0b3Jl ZCBwcmVfY29tbWl0L2NvbW1pdC9wb3N0X2NvbW1pdCB0byBhdm9pZCBzbGVlcGluZwo+ICAgICBk dXJpbmcgdmJsYW5rIGV2YXNpb24KPgo+IHY0Ogo+ICAgLSBSZWJhc2UgdG8gbGF0ZXN0IGRpLW5p Z2h0bHkgcmVxdWlyZXMgYWRkaW5nIGFuICdvbGRfc3RhdGUnIHBhcmFtZXRlcgo+ICAgICB0byBh dG9taWNfdXBkYXRlOwo+Cj4gdjU6Cj4gICAtIE11c3QgaGF2ZSBib3RjaGVkIGEgcmViYXNlIHNv bWV3aGVyZSBhbmQgbG9zdCBzb21lIHdvcmsuICBSZXN0b3JlCj4gICAgIHN0YXRlICdkaXJ0eScg ZmxhZyB0byBsZXQgYmVnaW4vZW5kIGNvZGUga25vdyB3aGljaCBwbGFuZXMgdG8KPiAgICAgcnVu IHRoZSBwcmVfY29tbWl0L3Bvc3RfY29tbWl0IGhvb2tzIGZvci4gIFRoaXMgd291bGQgaGF2ZSBh Y3R1YWxseQo+ICAgICBzaG93biB1cCBhcyBicm9rZW4gaW4gdGhlIG5leHQgY29tbWl0IHJhdGhl ciB0aGFuIHRoaXMgb25lLgo+Cj4gdjY6Cj4gICAtIFNxdWFzaCBrZXJuZWxkb2MgcGF0Y2ggaW50 byB0aGlzIG9uZS4KPiAgIC0gUHJldmlvdXMgcGF0Y2hlcyBoYXZlIG5vdyBhbHJlYWR5IHRha2Vu IGNhcmUgb2YgbW9zdCBvZiB0aGUKPiAgICAgaW5mcmFzdHJ1Y3R1cmUgdGhhdCB1c2VkIHRvIGJl IGluIHRoaXMgcGF0Y2guICBBbGwgd2UncmUgYWRkaW5nIGhlcmUKPiAgICAgbm93IGlzIHNvbWUg dGhpbiB3cmFwcGVycy4KPgo+IHY3Ogo+ICAgLSBDaGVjayByZXR1cm4gb2YgaW50ZWxfcGxhbmVf ZHVwbGljYXRlX3N0YXRlKCkgZm9yIGFsbG9jYXRpb24KPiAgICAgZmFpbHVyZXMuCj4KPiBTaWdu ZWQtb2ZmLWJ5OiBNYXR0IFJvcGVyIDxtYXR0aGV3LmQucm9wZXJAaW50ZWwuY29tPgo+IC0tLQo+ ICAgRG9jdW1lbnRhdGlvbi9Eb2NCb29rL2RybS50bXBsICAgICAgICAgICAgfCAgIDUgKwo+ICAg ZHJpdmVycy9ncHUvZHJtL2k5MTUvTWFrZWZpbGUgICAgICAgICAgICAgfCAgIDEgKwo+ICAgZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYXRvbWljX3BsYW5lLmMgfCAxNTAgKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5 LmMgICAgICB8ICAzMiArKysrKystCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYu aCAgICAgICAgICB8ICAgOCArKwo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRl LmMgICAgICAgfCAgMTIgKysrCj4gICA2IGZpbGVzIGNoYW5nZWQsIDIwNyBpbnNlcnRpb25zKCsp LCAxIGRlbGV0aW9uKC0pCj4gICBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfYXRvbWljX3BsYW5lLmMKPgo+IGRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL0Rv Y0Jvb2svZHJtLnRtcGwgYi9Eb2N1bWVudGF0aW9uL0RvY0Jvb2svZHJtLnRtcGwKPiBpbmRleCAy NWMyM2NhLi43YzUyMDdiIDEwMDY0NAo+IC0tLSBhL0RvY3VtZW50YXRpb24vRG9jQm9vay9kcm0u dG1wbAo+ICsrKyBiL0RvY3VtZW50YXRpb24vRG9jQm9vay9kcm0udG1wbAo+IEBAIC0zOTMyLDYg KzM5MzIsMTEgQEAgaW50IG51bV9pb2N0bHM7PC9zeW5vcHNpcz4KPiAgICAgICAgICAgPC9wYXJh Pgo+ICAgICAgICAgPC9zZWN0Mj4KPiAgICAgICAgIDxzZWN0Mj4KPiArICAgICAgICA8dGl0bGU+ QXRvbWljIFBsYW5lIEhlbHBlcnM8L3RpdGxlPgo+ICshUGRyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2F0b21pY19wbGFuZS5jIGF0b21pYyBwbGFuZSBoZWxwZXJzCj4gKyFJZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfYXRvbWljX3BsYW5lLmMKPiArICAgICAgPC9zZWN0Mj4KPiArICAgICAg PHNlY3QyPgo+ICAgICAgICAgICA8dGl0bGU+T3V0cHV0IFByb2Jpbmc8L3RpdGxlPgo+ICAgICAg ICAgICA8cGFyYT4KPiAgIAkgIFRoaXMgc2VjdGlvbiBjb3ZlcnMgb3V0cHV0IHByb2JpbmcgYW5k IHJlbGF0ZWQgaW5mcmFzdHJ1Y3R1cmUgbGlrZSB0aGUKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvTWFrZWZpbGUgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9NYWtlZmlsZQo+IGlu ZGV4IDNjZjcwYTYuLjRhNmNlZDcgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv TWFrZWZpbGUKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9NYWtlZmlsZQo+IEBAIC02NSw2 ICs2NSw3IEBAIGk5MTUteSArPSBkdm9fY2g3MDE3Lm8gXAo+ICAgCSAgZHZvX25zMjUwMS5vIFwK PiAgIAkgIGR2b19zaWwxNjQubyBcCj4gICAJICBkdm9fdGZwNDEwLm8gXAo+ICsJICBpbnRlbF9h dG9taWNfcGxhbmUubyBcCj4gICAJICBpbnRlbF9jcnQubyBcCj4gICAJICBpbnRlbF9kZGkubyBc Cj4gICAJICBpbnRlbF9kcC5vIFwKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfYXRvbWljX3BsYW5lLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9hdG9taWNf cGxhbmUuYwo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXggMDAwMDAwMC4uMjg2ZmVjOAo+ IC0tLSAvZGV2L251bGwKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9hdG9taWNf cGxhbmUuYwo+IEBAIC0wLDAgKzEsMTUwIEBACj4gKy8qCj4gKyAqIENvcHlyaWdodCDCqSAyMDE0 IEludGVsIENvcnBvcmF0aW9uCj4gKyAqCj4gKyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50 ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCj4gKyAqIGNvcHkg b2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUg IlNvZnR3YXJlIiksCj4gKyAqIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJp Y3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24KPiArICogdGhlIHJpZ2h0cyB0byB1 c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2Us Cj4gKyAqIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQg cGVyc29ucyB0byB3aG9tIHRoZQo+ICsgKiBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28s IHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgo+ICsgKgo+ICsgKiBUaGUgYWJv dmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSAoaW5jbHVkaW5n IHRoZSBuZXh0Cj4gKyAqIHBhcmFncmFwaCkgc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsIGNvcGll cyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUKPiArICogU29mdHdhcmUuCj4gKyAqCj4g KyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9G IEFOWSBLSU5ELCBFWFBSRVNTIE9SCj4gKyAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJ TUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLAo+ICsgKiBGSVRORVNT IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiAgSU4gTk8gRVZF TlQgU0hBTEwKPiArICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxF IEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKPiArICogTElBQklMSVRZLCBXSEVUSEVS IElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKPiAr ICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhF IFVTRSBPUiBPVEhFUgo+ICsgKiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCj4gKyAqLwo+ICsK PiArLyoqCj4gKyAqIERPQzogYXRvbWljIHBsYW5lIGhlbHBlciBzdXBwb3J0Cj4gKyAqCj4gKyAq IFRoZSBmdW5jdGlvbnMgaGVyZSBhcmUgdXNlZCBieSB0aGUgYXRvbWljIHBsYW5lIGhlbHBlciBm dW5jdGlvbnMgdG8KPiArICogaW1wbGVtZW50IGxlZ2FjeSBwbGFuZSB1cGRhdGVzIChpLmUuLCBk cm1fcGxhbmUtPnVwZGF0ZV9wbGFuZSgpIGFuZAo+ICsgKiBkcm1fcGxhbmUtPmRpc2FibGVfcGxh bmUoKSkuICBUaGlzIGFsbG93cyBwbGFuZSB1cGRhdGVzIHRvIHVzZSB0aGUKPiArICogYXRvbWlj IHN0YXRlIGluZnJhc3RydWN0dXJlIGFuZCBwZXJmb3JtIHBsYW5lIHVwZGF0ZXMgYXMgc2VwYXJh dGUKPiArICogcHJlcGFyZS9jaGVjay9jb21taXQvY2xlYW51cCBzdGVwcy4KPiArICovCj4gKwo+ ICsjaW5jbHVkZSA8ZHJtL2RybVAuaD4KPiArI2luY2x1ZGUgPGRybS9kcm1fYXRvbWljX2hlbHBl ci5oPgo+ICsjaW5jbHVkZSA8ZHJtL2RybV9wbGFuZV9oZWxwZXIuaD4KPiArI2luY2x1ZGUgImlu dGVsX2Rydi5oIgo+ICsKPiArLyoqCj4gKyAqIGludGVsX3BsYW5lX2R1cGxpY2F0ZV9zdGF0ZSAt IGR1cGxpY2F0ZSBwbGFuZSBzdGF0ZQo+ICsgKiBAcGxhbmU6IGRybSBwbGFuZQo+ICsgKgo+ICsg KiBBbGxvY2F0ZXMgYW5kIHJldHVybnMgYSBjb3B5IG9mIHRoZSBwbGFuZSBzdGF0ZSAoYm90aCBj b21tb24gYW5kCj4gKyAqIEludGVsLXNwZWNpZmljKSBmb3IgdGhlIHNwZWNpZmllZCBwbGFuZS4K PiArICoKPiArICogUmV0dXJuczogVGhlIG5ld2x5IGFsbG9jYXRlZCBwbGFuZSBzdGF0ZSwgb3Ig TlVMTCBvciBmYWlsdXJlLgo+ICsgKi8KPiArc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqCj4gK2lu dGVsX3BsYW5lX2R1cGxpY2F0ZV9zdGF0ZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSkKPiArewo+ ICsJc3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpzdGF0ZTsKPiArCj4gKwlpZiAocGxhbmUtPnN0 YXRlKQo+ICsJCXN0YXRlID0ga21lbWR1cChwbGFuZS0+c3RhdGUsIHNpemVvZigqc3RhdGUpLCBH RlBfS0VSTkVMKTsKPiArCWVsc2UKPiArCQlzdGF0ZSA9IGt6YWxsb2Moc2l6ZW9mKCpzdGF0ZSks IEdGUF9LRVJORUwpOwo+ICsKPiArCWlmICghc3RhdGUpCj4gKwkJcmV0dXJuIE5VTEw7Cj4gKwo+ ICsJaWYgKHN0YXRlLT5iYXNlLmZiKQo+ICsJCWRybV9mcmFtZWJ1ZmZlcl9yZWZlcmVuY2Uoc3Rh dGUtPmJhc2UuZmIpOwo+ICsKPiArCXJldHVybiAmc3RhdGUtPmJhc2U7Cj4gK30KPiArCj4gKy8q Kgo+ICsgKiBpbnRlbF9wbGFuZV9kZXN0cm95X3N0YXRlIC0gZGVzdHJveSBwbGFuZSBzdGF0ZQo+ ICsgKiBAcGxhbmU6IGRybSBwbGFuZQo+ICsgKgo+ICsgKiBEZXN0cm95cyB0aGUgcGxhbmUgc3Rh dGUgKGJvdGggY29tbW9uIGFuZCBJbnRlbC1zcGVjaWZpYykgZm9yIHRoZQo+ICsgKiBzcGVjaWZp ZWQgcGxhbmUuCj4gKyAqLwo+ICt2b2lkCj4gK2ludGVsX3BsYW5lX2Rlc3Ryb3lfc3RhdGUoc3Ry dWN0IGRybV9wbGFuZSAqcGxhbmUsCj4gKwkJCSAgc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqc3Rh dGUpCj4gK3sKPiArCWRybV9hdG9taWNfaGVscGVyX3BsYW5lX2Rlc3Ryb3lfc3RhdGUocGxhbmUs IHN0YXRlKTsKPiArfQo+ICsKPiArc3RhdGljIGludCBpbnRlbF9wbGFuZV9hdG9taWNfY2hlY2so c3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCj4gKwkJCQkgICAgc3RydWN0IGRybV9wbGFuZV9zdGF0 ZSAqc3RhdGUpCj4gK3sKPiArCXN0cnVjdCBkcm1fY3J0YyAqY3J0YyA9IHN0YXRlLT5jcnRjOwo+ ICsJc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGM7Cj4gKwlzdHJ1Y3QgaW50ZWxfcGxhbmUg KmludGVsX3BsYW5lID0gdG9faW50ZWxfcGxhbmUocGxhbmUpOwo+ICsJc3RydWN0IGludGVsX3Bs YW5lX3N0YXRlICppbnRlbF9zdGF0ZSA9IHRvX2ludGVsX3BsYW5lX3N0YXRlKHN0YXRlKTsKPiAr Cj4gKwljcnRjID0gY3J0YyA/IGNydGMgOiBwbGFuZS0+Y3J0YzsKPiArCWludGVsX2NydGMgPSB0 b19pbnRlbF9jcnRjKGNydGMpOwo+ICsKPiArCS8qCj4gKwkgKiBUaGUgb3JpZ2luYWwgc3JjL2Rl c3QgY29vcmRpbmF0ZXMgYXJlIHN0b3JlZCBpbiBzdGF0ZS0+YmFzZSwgYnV0Cj4gKwkgKiB3ZSB3 YW50IHRvIGtlZXAgYW5vdGhlciBjb3B5IGludGVybmFsIHRvIG91ciBkcml2ZXIgdGhhdCB3ZSBj YW4KPiArCSAqIGNsaXAvbW9kaWZ5IG91cnNlbHZlcy4KPiArCSAqLwo+ICsJaW50ZWxfc3RhdGUt PnNyYy54MSA9IHN0YXRlLT5zcmNfeDsKPiArCWludGVsX3N0YXRlLT5zcmMueTEgPSBzdGF0ZS0+ c3JjX3k7Cj4gKwlpbnRlbF9zdGF0ZS0+c3JjLngyID0gc3RhdGUtPnNyY194ICsgc3RhdGUtPnNy Y193Owo+ICsJaW50ZWxfc3RhdGUtPnNyYy55MiA9IHN0YXRlLT5zcmNfeSArIHN0YXRlLT5zcmNf aDsKPiArCWludGVsX3N0YXRlLT5kc3QueDEgPSBzdGF0ZS0+Y3J0Y194Owo+ICsJaW50ZWxfc3Rh dGUtPmRzdC55MSA9IHN0YXRlLT5jcnRjX3k7Cj4gKwlpbnRlbF9zdGF0ZS0+ZHN0LngyID0gc3Rh dGUtPmNydGNfeCArIHN0YXRlLT5jcnRjX3c7Cj4gKwlpbnRlbF9zdGF0ZS0+ZHN0LnkyID0gc3Rh dGUtPmNydGNfeSArIHN0YXRlLT5jcnRjX2g7Cj4gKwo+ICsJLyogQ2xpcCBhbGwgcGxhbmVzIHRv IENSVEMgc2l6ZSwgb3IgMHgwIGlmIENSVEMgaXMgZGlzYWJsZWQgKi8KPiArCWludGVsX3N0YXRl LT5jbGlwLngxID0gMDsKPiArCWludGVsX3N0YXRlLT5jbGlwLnkxID0gMDsKPiArCWludGVsX3N0 YXRlLT5jbGlwLngyID0KPiArCQlpbnRlbF9jcnRjLT5hY3RpdmUgPyBpbnRlbF9jcnRjLT5jb25m aWcucGlwZV9zcmNfdyA6IDA7Cj4gKwlpbnRlbF9zdGF0ZS0+Y2xpcC55MiA9Cj4gKwkJaW50ZWxf Y3J0Yy0+YWN0aXZlID8gaW50ZWxfY3J0Yy0+Y29uZmlnLnBpcGVfc3JjX2ggOiAwOwo+ICsKPiAr CS8qCj4gKwkgKiBEaXNhYmxpbmcgYSBwbGFuZSBpcyBhbHdheXMgb2theTsgd2UganVzdCBuZWVk IHRvIHVwZGF0ZQo+ICsJICogZmIgdHJhY2tpbmcgaW4gYSBzcGVjaWFsIHdheSBzaW5jZSBjbGVh bnVwX2ZiKCkgd29uJ3QKPiArCSAqIGdldCBjYWxsZWQgYnkgdGhlIHBsYW5lIGhlbHBlcnMuCj4g KwkgKi8KPiArCWlmIChzdGF0ZS0+ZmIgPT0gTlVMTCAmJiBwbGFuZS0+c3RhdGUtPmZiICE9IE5V TEwpIHsKPiArCQkvKgo+ICsJCSAqICdwcmVwYXJlJyBpcyBuZXZlciBjYWxsZWQgd2hlbiBwbGFu ZSBpcyBiZWluZyBkaXNhYmxlZCwgc28KPiArCQkgKiB3ZSBuZWVkIHRvIGhhbmRsZSBmcm9udGJ1 ZmZlciB0cmFja2luZyBhcyBhIHNwZWNpYWwgY2FzZQo+ICsJCSAqLwo+ICsJCWludGVsX2NydGMt PmF0b21pYy50cmFja19mYnMgfD0gKDEgPDwgZHJtX3BsYW5lX2luZGV4KHBsYW5lKSk7Cj4gKwl9 Cj4gKwo+ICsJcmV0dXJuIGludGVsX3BsYW5lLT5jaGVja19wbGFuZShwbGFuZSwgaW50ZWxfc3Rh dGUpOwo+ICt9Cj4gKwo+ICtzdGF0aWMgdm9pZCBpbnRlbF9wbGFuZV9hdG9taWNfdXBkYXRlKHN0 cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAo+ICsJCQkJICAgICAgc3RydWN0IGRybV9wbGFuZV9zdGF0 ZSAqb2xkX3N0YXRlKQo+ICt7Cj4gKwlzdHJ1Y3QgaW50ZWxfcGxhbmUgKmludGVsX3BsYW5lID0g dG9faW50ZWxfcGxhbmUocGxhbmUpOwo+ICsJc3RydWN0IGludGVsX3BsYW5lX3N0YXRlICppbnRl bF9zdGF0ZSA9Cj4gKwkJdG9faW50ZWxfcGxhbmVfc3RhdGUocGxhbmUtPnN0YXRlKTsKPiArCj4g KwkvKiBEb24ndCBkaXNhYmxlIGFuIGFscmVhZHkgZGlzYWJsZWQgcGxhbmUgKi8KPiArCWlmICgh cGxhbmUtPnN0YXRlLT5mYiAmJiAhb2xkX3N0YXRlLT5mYikKPiArCQlyZXR1cm47Cj4gKwo+ICsJ aW50ZWxfcGxhbmUtPmNvbW1pdF9wbGFuZShwbGFuZSwgaW50ZWxfc3RhdGUpOwo+ICt9Cj4gKwo+ ICtjb25zdCBzdHJ1Y3QgZHJtX3BsYW5lX2hlbHBlcl9mdW5jcyBpbnRlbF9wbGFuZV9oZWxwZXJf ZnVuY3MgPSB7Cj4gKwkucHJlcGFyZV9mYiA9IGludGVsX3ByZXBhcmVfcGxhbmVfZmIsCj4gKwku Y2xlYW51cF9mYiA9IGludGVsX2NsZWFudXBfcGxhbmVfZmIsCj4gKwkuYXRvbWljX2NoZWNrID0g aW50ZWxfcGxhbmVfYXRvbWljX2NoZWNrLAo+ICsJLmF0b21pY191cGRhdGUgPSBpbnRlbF9wbGFu ZV9hdG9taWNfdXBkYXRlLAo+ICt9Owo+ICsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxh eS5jCj4gaW5kZXggMDMwY2Y5My4uZjgzOTExNSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kaXNwbGF5LmMKPiBAQCAtOTgsNiArOTgsOCBAQCBzdGF0aWMgdm9pZCB2bHZfcHJlcGFyZV9w bGwoc3RydWN0IGludGVsX2NydGMgKmNydGMsCj4gICAJCQkgICAgY29uc3Qgc3RydWN0IGludGVs X2NydGNfY29uZmlnICpwaXBlX2NvbmZpZyk7Cj4gICBzdGF0aWMgdm9pZCBjaHZfcHJlcGFyZV9w bGwoc3RydWN0IGludGVsX2NydGMgKmNydGMsCj4gICAJCQkgICAgY29uc3Qgc3RydWN0IGludGVs X2NydGNfY29uZmlnICpwaXBlX2NvbmZpZyk7Cj4gK3N0YXRpYyB2b2lkIGludGVsX2JlZ2luX2Ny dGNfY29tbWl0KHN0cnVjdCBkcm1fY3J0YyAqY3J0Yyk7Cj4gK3N0YXRpYyB2b2lkIGludGVsX2Zp bmlzaF9jcnRjX2NvbW1pdChzdHJ1Y3QgZHJtX2NydGMgKmNydGMpOwo+Cj4gICBzdGF0aWMgc3Ry dWN0IGludGVsX2VuY29kZXIgKmludGVsX2ZpbmRfZW5jb2RlcihzdHJ1Y3QgaW50ZWxfY29ubmVj dG9yICpjb25uZWN0b3IsIGludCBwaXBlKQo+ICAgewo+IEBAIC05Nzk0LDYgKzk3OTYsOCBAQCBv dXRfaGFuZzoKPiAgIHN0YXRpYyBzdHJ1Y3QgZHJtX2NydGNfaGVscGVyX2Z1bmNzIGludGVsX2hl bHBlcl9mdW5jcyA9IHsKPiAgIAkubW9kZV9zZXRfYmFzZV9hdG9taWMgPSBpbnRlbF9waXBlX3Nl dF9iYXNlX2F0b21pYywKPiAgIAkubG9hZF9sdXQgPSBpbnRlbF9jcnRjX2xvYWRfbHV0LAo+ICsJ LmF0b21pY19iZWdpbiA9IGludGVsX2JlZ2luX2NydGNfY29tbWl0LAo+ICsJLmF0b21pY19mbHVz aCA9IGludGVsX2ZpbmlzaF9jcnRjX2NvbW1pdCwKPiAgIH07Cj4KPiAgIC8qKgo+IEBAIC0xMjAx MSw2ICsxMjAxNSw3IEBAIGludGVsX2Rpc2FibGVfcGxhbmUoc3RydWN0IGRybV9wbGFuZSAqcGxh bmUpCj4gICB2b2lkIGludGVsX3BsYW5lX2Rlc3Ryb3koc3RydWN0IGRybV9wbGFuZSAqcGxhbmUp Cj4gICB7Cj4gICAJc3RydWN0IGludGVsX3BsYW5lICppbnRlbF9wbGFuZSA9IHRvX2ludGVsX3Bs YW5lKHBsYW5lKTsKPiArCWludGVsX3BsYW5lX2Rlc3Ryb3lfc3RhdGUocGxhbmUsIHBsYW5lLT5z dGF0ZSk7Cj4gICAJZHJtX3BsYW5lX2NsZWFudXAocGxhbmUpOwo+ICAgCWtmcmVlKGludGVsX3Bs YW5lKTsKPiAgIH0KPiBAQCAtMTIwMTksMTMgKzEyMDI0LDE3IEBAIHN0YXRpYyBjb25zdCBzdHJ1 Y3QgZHJtX3BsYW5lX2Z1bmNzIGludGVsX3ByaW1hcnlfcGxhbmVfZnVuY3MgPSB7Cj4gICAJLnVw ZGF0ZV9wbGFuZSA9IGludGVsX3VwZGF0ZV9wbGFuZSwKPiAgIAkuZGlzYWJsZV9wbGFuZSA9IGlu dGVsX2Rpc2FibGVfcGxhbmUsCj4gICAJLmRlc3Ryb3kgPSBpbnRlbF9wbGFuZV9kZXN0cm95LAo+ IC0JLnNldF9wcm9wZXJ0eSA9IGludGVsX3BsYW5lX3NldF9wcm9wZXJ0eQo+ICsJLnNldF9wcm9w ZXJ0eSA9IGludGVsX3BsYW5lX3NldF9wcm9wZXJ0eSwKPiArCS5hdG9taWNfZHVwbGljYXRlX3N0 YXRlID0gaW50ZWxfcGxhbmVfZHVwbGljYXRlX3N0YXRlLAo+ICsJLmF0b21pY19kZXN0cm95X3N0 YXRlID0gaW50ZWxfcGxhbmVfZGVzdHJveV9zdGF0ZSwKPiArCj4gICB9Owo+Cj4gICBzdGF0aWMg c3RydWN0IGRybV9wbGFuZSAqaW50ZWxfcHJpbWFyeV9wbGFuZV9jcmVhdGUoc3RydWN0IGRybV9k ZXZpY2UgKmRldiwKPiAgIAkJCQkJCSAgICBpbnQgcGlwZSkKPiAgIHsKPiAgIAlzdHJ1Y3QgaW50 ZWxfcGxhbmUgKnByaW1hcnk7Cj4gKwlzdHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUgKnN0YXRlOwo+ ICAgCWNvbnN0IHVpbnQzMl90ICppbnRlbF9wcmltYXJ5X2Zvcm1hdHM7Cj4gICAJaW50IG51bV9m b3JtYXRzOwo+Cj4gQEAgLTEyMDMzLDYgKzEyMDQyLDEzIEBAIHN0YXRpYyBzdHJ1Y3QgZHJtX3Bs YW5lICppbnRlbF9wcmltYXJ5X3BsYW5lX2NyZWF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ ICAgCWlmIChwcmltYXJ5ID09IE5VTEwpCj4gICAJCXJldHVybiBOVUxMOwo+Cj4gKwlwcmltYXJ5 LT5iYXNlLnN0YXRlID0gaW50ZWxfcGxhbmVfZHVwbGljYXRlX3N0YXRlKCZwcmltYXJ5LT5iYXNl KTsKPiArCWlmIChwcmltYXJ5LT5iYXNlLnN0YXRlID09IE5VTEwpIHsKPiArCQlrZnJlZShwcmlt YXJ5KTsKPiArCQlyZXR1cm4gTlVMTDsKPiArCX0KPiArCj4gKwlzdGF0ZSA9IHRvX2ludGVsX3Bs YW5lX3N0YXRlKHByaW1hcnktPmJhc2Uuc3RhdGUpOwoKWW91IHNldCB0aGUgdmFsdWUgb2Ygc3Rh dGUsIGJ1dCB0aGVuIHRoYXQgdmFyaWFibGUgaXMgbmV2ZXIgdXNlZCBpbiB0aGF0IApmdW5jdGlv bi4KCj4gICAJcHJpbWFyeS0+Y2FuX3NjYWxlID0gZmFsc2U7Cj4gICAJcHJpbWFyeS0+bWF4X2Rv d25zY2FsZSA9IDE7Cj4gICAJcHJpbWFyeS0+cGlwZSA9IHBpcGU7Cj4gQEAgLTEyMDY4LDYgKzEy MDg0LDggQEAgc3RhdGljIHN0cnVjdCBkcm1fcGxhbmUgKmludGVsX3ByaW1hcnlfcGxhbmVfY3Jl YXRlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gICAJCQkJcHJpbWFyeS0+cm90YXRpb24pOwo+ ICAgCX0KPgo+ICsJZHJtX3BsYW5lX2hlbHBlcl9hZGQoJnByaW1hcnktPmJhc2UsICZpbnRlbF9w bGFuZV9oZWxwZXJfZnVuY3MpOwo+ICsKPiAgIAlyZXR1cm4gJnByaW1hcnktPmJhc2U7Cj4gICB9 Cj4KPiBAQCAtMTIxODgsMTcgKzEyMjA2LDI3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX3Bs YW5lX2Z1bmNzIGludGVsX2N1cnNvcl9wbGFuZV9mdW5jcyA9IHsKPiAgIAkuZGlzYWJsZV9wbGFu ZSA9IGludGVsX2Rpc2FibGVfcGxhbmUsCj4gICAJLmRlc3Ryb3kgPSBpbnRlbF9wbGFuZV9kZXN0 cm95LAo+ICAgCS5zZXRfcHJvcGVydHkgPSBpbnRlbF9wbGFuZV9zZXRfcHJvcGVydHksCj4gKwku YXRvbWljX2R1cGxpY2F0ZV9zdGF0ZSA9IGludGVsX3BsYW5lX2R1cGxpY2F0ZV9zdGF0ZSwKPiAr CS5hdG9taWNfZGVzdHJveV9zdGF0ZSA9IGludGVsX3BsYW5lX2Rlc3Ryb3lfc3RhdGUsCj4gICB9 Owo+Cj4gICBzdGF0aWMgc3RydWN0IGRybV9wbGFuZSAqaW50ZWxfY3Vyc29yX3BsYW5lX2NyZWF0 ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ICAgCQkJCQkJICAgaW50IHBpcGUpCj4gICB7Cj4g ICAJc3RydWN0IGludGVsX3BsYW5lICpjdXJzb3I7Cj4gKwlzdHJ1Y3QgaW50ZWxfcGxhbmVfc3Rh dGUgKnN0YXRlOwo+Cj4gICAJY3Vyc29yID0ga3phbGxvYyhzaXplb2YoKmN1cnNvciksIEdGUF9L RVJORUwpOwo+ICAgCWlmIChjdXJzb3IgPT0gTlVMTCkKPiAgIAkJcmV0dXJuIE5VTEw7Cj4KPiAr CWN1cnNvci0+YmFzZS5zdGF0ZSA9IGludGVsX3BsYW5lX2R1cGxpY2F0ZV9zdGF0ZSgmY3Vyc29y LT5iYXNlKTsKPiArCWlmIChjdXJzb3ItPmJhc2Uuc3RhdGUgPT0gTlVMTCkgewo+ICsJCWtmcmVl KGN1cnNvcik7Cj4gKwkJcmV0dXJuIE5VTEw7Cj4gKwl9Cj4gKwo+ICsJc3RhdGUgPSB0b19pbnRl bF9wbGFuZV9zdGF0ZShjdXJzb3ItPmJhc2Uuc3RhdGUpOwoKU2FtZSBoZXJlLgoKPiAgIAljdXJz b3ItPmNhbl9zY2FsZSA9IGZhbHNlOwo+ICAgCWN1cnNvci0+bWF4X2Rvd25zY2FsZSA9IDE7Cj4g ICAJY3Vyc29yLT5waXBlID0gcGlwZTsKPiBAQCAtMTIyMjUsNiArMTIyNTMsOCBAQCBzdGF0aWMg c3RydWN0IGRybV9wbGFuZSAqaW50ZWxfY3Vyc29yX3BsYW5lX2NyZWF0ZShzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2LAo+ICAgCQkJCWN1cnNvci0+cm90YXRpb24pOwo+ICAgCX0KPgo+ICsJZHJtX3Bs YW5lX2hlbHBlcl9hZGQoJmN1cnNvci0+YmFzZSwgJmludGVsX3BsYW5lX2hlbHBlcl9mdW5jcyk7 Cj4gKwo+ICAgCXJldHVybiAmY3Vyc29yLT5iYXNlOwo+ICAgfQo+Cj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZHJ2LmgKPiBpbmRleCAyNTIzMzE1Li43YmQ4YWQ5IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZHJ2LmgKPiBAQCAtNDM3LDYgKzQzNyw3IEBAIHN0cnVjdCBpbnRlbF9jcnRjX2F0b21pY19j b21taXQgewo+ICAgCWJvb2wgZGlzYWJsZV9mYmM7Cj4gICAJYm9vbCBwcmVfZGlzYWJsZV9wcmlt YXJ5Owo+ICAgCWJvb2wgdXBkYXRlX3dtOwo+ICsJdW5zaWduZWQgdHJhY2tfZmJzOwo+Cj4gICAJ LyogU2xlZXBhYmxlIG9wZXJhdGlvbnMgdG8gcGVyZm9ybSBhZnRlciBjb21taXQgKi8KPiAgIAl1 bnNpZ25lZCBmYl9iaXRzOwo+IEBAIC01NzUsNiArNTc2LDcgQEAgc3RydWN0IGN4c3JfbGF0ZW5j eSB7Cj4gICAjZGVmaW5lIHRvX2ludGVsX2VuY29kZXIoeCkgY29udGFpbmVyX29mKHgsIHN0cnVj dCBpbnRlbF9lbmNvZGVyLCBiYXNlKQo+ICAgI2RlZmluZSB0b19pbnRlbF9mcmFtZWJ1ZmZlcih4 KSBjb250YWluZXJfb2YoeCwgc3RydWN0IGludGVsX2ZyYW1lYnVmZmVyLCBiYXNlKQo+ICAgI2Rl ZmluZSB0b19pbnRlbF9wbGFuZSh4KSBjb250YWluZXJfb2YoeCwgc3RydWN0IGludGVsX3BsYW5l LCBiYXNlKQo+ICsjZGVmaW5lIHRvX2ludGVsX3BsYW5lX3N0YXRlKHgpIGNvbnRhaW5lcl9vZih4 LCBzdHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUsIGJhc2UpCj4gICAjZGVmaW5lIGludGVsX2ZiX29i aih4KSAoeCA/IHRvX2ludGVsX2ZyYW1lYnVmZmVyKHgpLT5vYmogOiBOVUxMKQo+Cj4gICBzdHJ1 Y3QgaW50ZWxfaGRtaSB7Cj4gQEAgLTEyNTMsNCArMTI1NSwxMCBAQCB2b2lkIGludGVsX3ByZV9k aXNhYmxlX3ByaW1hcnkoc3RydWN0IGRybV9jcnRjICpjcnRjKTsKPiAgIC8qIGludGVsX3R2LmMg Ki8KPiAgIHZvaWQgaW50ZWxfdHZfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKPgo+ICsv KiBpbnRlbF9hdG9taWMuYyAqLwo+ICtzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICppbnRlbF9wbGFu ZV9kdXBsaWNhdGVfc3RhdGUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUpOwo+ICt2b2lkIGludGVs X3BsYW5lX2Rlc3Ryb3lfc3RhdGUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCj4gKwkJCSAgICAg ICBzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpzdGF0ZSk7Cj4gK2V4dGVybiBjb25zdCBzdHJ1Y3Qg ZHJtX3BsYW5lX2hlbHBlcl9mdW5jcyBpbnRlbF9wbGFuZV9oZWxwZXJfZnVuY3M7Cj4gKwo+ICAg I2VuZGlmIC8qIF9fSU5URUxfRFJWX0hfXyAqLwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9zcHJpdGUuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nwcml0 ZS5jCj4gaW5kZXggMTRjMGI4OC4uZGY0MWM4OSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9zcHJpdGUuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X3Nwcml0ZS5jCj4gQEAgLTMzLDYgKzMzLDcgQEAKPiAgICNpbmNsdWRlIDxkcm0vZHJtX2NydGMu aD4KPiAgICNpbmNsdWRlIDxkcm0vZHJtX2ZvdXJjYy5oPgo+ICAgI2luY2x1ZGUgPGRybS9kcm1f cmVjdC5oPgo+ICsjaW5jbHVkZSA8ZHJtL2RybV9wbGFuZV9oZWxwZXIuaD4KPiAgICNpbmNsdWRl ICJpbnRlbF9kcnYuaCIKPiAgICNpbmNsdWRlIDxkcm0vaTkxNV9kcm0uaD4KPiAgICNpbmNsdWRl ICJpOTE1X2Rydi5oIgo+IEBAIC0xMzkwLDYgKzEzOTEsOCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0 IGRybV9wbGFuZV9mdW5jcyBpbnRlbF9wbGFuZV9mdW5jcyA9IHsKCk5vdCBuZWNlc3NhcmlseSBz b21ldGhpbmcgdGhhdCBuZWVkcyB0byBiZSBkb25lIHdpdGggdGhpcyBzZXJpZXMsIGJ1dCAKd291 bGQgYmUgbmljZSB0byByZW5hbWUgdGhpcyBzdHJ1Y3QgdG8gaW50ZWxfc3ByaXRlX3BsYW5lX2Z1 bmNzLiBUaGF0IAp3b3VsZCBtYXRjaCBiZXR0ZXIgd2l0aCBpbnRlbF9wcmltYXJ5X3BsYW5lX2Z1 bmNzIGFuZCAKaW50ZWxfY3Vyc29yX3BsYW5lX2Z1bmNzLgoKCkFuZGVyCgo+ICAgCS5kaXNhYmxl X3BsYW5lID0gaW50ZWxfZGlzYWJsZV9wbGFuZSwKPiAgIAkuZGVzdHJveSA9IGludGVsX3BsYW5l X2Rlc3Ryb3ksCj4gICAJLnNldF9wcm9wZXJ0eSA9IGludGVsX3BsYW5lX3NldF9wcm9wZXJ0eSwK PiArCS5hdG9taWNfZHVwbGljYXRlX3N0YXRlID0gaW50ZWxfcGxhbmVfZHVwbGljYXRlX3N0YXRl LAo+ICsJLmF0b21pY19kZXN0cm95X3N0YXRlID0gaW50ZWxfcGxhbmVfZGVzdHJveV9zdGF0ZSwK PiAgIH07Cj4KPiAgIHN0YXRpYyB1aW50MzJfdCBpbGtfcGxhbmVfZm9ybWF0c1tdID0gewo+IEBA IC0xNDUxLDYgKzE0NTQsMTMgQEAgaW50ZWxfcGxhbmVfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2LCBlbnVtIHBpcGUgcGlwZSwgaW50IHBsYW5lKQo+ICAgCWlmICghaW50ZWxfcGxhbmUpCj4g ICAJCXJldHVybiAtRU5PTUVNOwo+Cj4gKwlpbnRlbF9wbGFuZS0+YmFzZS5zdGF0ZSA9Cj4gKwkJ aW50ZWxfcGxhbmVfZHVwbGljYXRlX3N0YXRlKCZpbnRlbF9wbGFuZS0+YmFzZSk7Cj4gKwlpZiAo aW50ZWxfcGxhbmUtPmJhc2Uuc3RhdGUgPT0gTlVMTCkgewo+ICsJCWtmcmVlKGludGVsX3BsYW5l KTsKPiArCQlyZXR1cm4gLUVOT01FTTsKPiArCX0KPiArCj4gICAJc3dpdGNoIChJTlRFTF9JTkZP KGRldiktPmdlbikgewo+ICAgCWNhc2UgNToKPiAgIAljYXNlIDY6Cj4gQEAgLTE1NDQsNiArMTU1 NCw4IEBAIGludGVsX3BsYW5lX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgZW51bSBwaXBl IHBpcGUsIGludCBwbGFuZSkKPiAgIAkJCQkJICAgZGV2LT5tb2RlX2NvbmZpZy5yb3RhdGlvbl9w cm9wZXJ0eSwKPiAgIAkJCQkJICAgaW50ZWxfcGxhbmUtPnJvdGF0aW9uKTsKPgo+ICsJZHJtX3Bs YW5lX2hlbHBlcl9hZGQoJmludGVsX3BsYW5lLT5iYXNlLCAmaW50ZWxfcGxhbmVfaGVscGVyX2Z1 bmNzKTsKPiArCj4gICAgb3V0Ogo+ICAgCXJldHVybiByZXQ7Cj4gICB9Cj4KCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxp c3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==