From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: Re: [PATCH v3 1/7] drm/atomic: Add new iterators over all state, v3. Date: Tue, 17 Jan 2017 08:41:03 +0100 Message-ID: <043826dc-0598-7ac9-ea8b-9b3cce03ebfd@linux.intel.com> References: <1484559464-27107-1-git-send-email-maarten.lankhorst@linux.intel.com> <1484559464-27107-2-git-send-email-maarten.lankhorst@linux.intel.com> <18801055.imqURk74ng@avalon> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <18801055.imqURk74ng@avalon> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Laurent Pinchart , dri-devel@lists.freedesktop.org Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T3AgMTctMDEtMTcgb20gMDA6MTEgc2NocmVlZiBMYXVyZW50IFBpbmNoYXJ0Ogo+IEhpIE1hYXJ0 ZW4sCj4KPiBUaGFuayB5b3UgZm9yIHRoZSBwYXRjaC4KPgo+IE9uIE1vbmRheSAxNiBKYW4gMjAx NyAxMDozNzozOCBNYWFydGVuIExhbmtob3JzdCB3cm90ZToKPj4gQWRkIGZvcl9lYWNoXyhvbGQp KG5ldylfKHBsYW5lLGNvbm5lY3RvcixjcnRjKV9pbl9zdGF0ZSBpdGVyYXRvcnMgdG8KPj4gcmVw bGFjZSB0aGUgb2xkIGZvcl9lYWNoX3h4eF9pbl9zdGF0ZSBvbmVzLiBUaGlzIGlzIHVzZWZ1bCBm b3IgPjEgZmxpcAo+PiBkZXB0aCBhbmQgZ2V0dGluZyByaWQgb2YgYWxsIHh4eC0+c3RhdGUgZGVy ZWZlcmVuY2VzLgo+Pgo+PiBUaGlzIHJlcXVpcmVzIGV4dHJhIGZpeHVwcyBkb25lIHdoZW4gY29t bWl0dGluZyBhIHN0YXRlIGFmdGVyCj4+IGR1cGxpY2F0aW5nLCB3aGljaCBpbiBnZW5lcmFsIGlz bid0IHZhbGlkIGJ1dCBpcyB1c2VkIGJ5IHN1c3BlbmQvcmVzdW1lLgo+PiBUbyBoYW5kbGUgdGhl c2UsIGludHJvZHVjZSBkcm1fYXRvbWljX2hlbHBlcl9jb21taXRfZHVwbGljYXRlZF9zdGF0ZQo+ PiB3aGljaCBwZXJmb3JtcyB0aG9zZSBmaXh1cHMgYmVmb3JlIGNoZWNraW5nICYgY29tbWl0dGlu ZyB0aGUgc3RhdGUuCj4+Cj4+IENoYW5nZXMgc2luY2UgdjE6Cj4+IC0gUmVtb3ZlIG5vbmJsb2Nr IHBhcmFtZXRlciBmb3IgY29tbWl0X2R1cGxpY2F0ZWRfc3RhdGUuCj4+IENoYW5nZXMgc2luY2Ug djI6Cj4+IC0gVXNlIGNvbW1pdF9kdXBsaWNhdGVkX3N0YXRlIGZvciBpOTE1IGxvYWQgZGV0ZWN0 aW9uLgo+PiAtIEFkZCBXQVJOX09OKG9sZF9zdGF0ZSAhPSBvYmotPnN0YXRlKSBiZWZvcmUgc3dh cHBpbmcuCj4+Cj4+IFNpZ25lZC1vZmYtYnk6IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFydGVuLmxh bmtob3JzdEBsaW51eC5pbnRlbC5jb20+Cj4+IC0tLQo+PiAgZHJpdmVycy9ncHUvZHJtL2RybV9h dG9taWMuYyAgICAgICAgIHwgIDYgKysrCj4+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19o ZWxwZXIuYyAgfCA2NSArKysrKysrKysrKysrKysrKysrKysrKysrLS0tLQo+PiAgZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIHwgMTMgKysrLS0tCj4+ICBpbmNsdWRlL2RybS9k cm1fYXRvbWljLmggICAgICAgICAgICAgfCA4MSArKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrLS0KPj4gIGluY2x1ZGUvZHJtL2RybV9hdG9taWNfaGVscGVyLmggICAgICB8ICAyICsKPj4g IDUgZmlsZXMgY2hhbmdlZCwgMTQ5IGluc2VydGlvbnMoKyksIDE4IGRlbGV0aW9ucygtKQo+Pgo+ PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYyBiL2RyaXZlcnMvZ3B1 L2RybS9kcm1fYXRvbWljLmMKPj4gaW5kZXggNjQxNGJjZjdmNDFiLi4xYzFjYmY0MzY3MTcgMTAw NjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMKPj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2RybV9hdG9taWMuYwo+PiBAQCAtMjc1LDYgKzI3NSw4IEBAIGRybV9hdG9taWNf Z2V0X2NydGNfc3RhdGUoc3RydWN0IGRybV9hdG9taWNfc3RhdGUKPj4gKnN0YXRlLCByZXR1cm4g RVJSX1BUUigtRU5PTUVNKTsKPj4KPj4gIAlzdGF0ZS0+Y3J0Y3NbaW5kZXhdLnN0YXRlID0gY3J0 Y19zdGF0ZTsKPj4gKwlzdGF0ZS0+Y3J0Y3NbaW5kZXhdLm9sZF9zdGF0ZSA9IGNydGMtPnN0YXRl Owo+PiArCXN0YXRlLT5jcnRjc1tpbmRleF0ubmV3X3N0YXRlID0gY3J0Y19zdGF0ZTsKPj4gIAlz dGF0ZS0+Y3J0Y3NbaW5kZXhdLnB0ciA9IGNydGM7Cj4+ICAJY3J0Y19zdGF0ZS0+c3RhdGUgPSBz dGF0ZTsKPj4KPj4gQEAgLTY5MSw2ICs2OTMsOCBAQCBkcm1fYXRvbWljX2dldF9wbGFuZV9zdGF0 ZShzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZQo+PiAqc3RhdGUsCj4+Cj4+ICAJc3RhdGUtPnBsYW5l c1tpbmRleF0uc3RhdGUgPSBwbGFuZV9zdGF0ZTsKPj4gIAlzdGF0ZS0+cGxhbmVzW2luZGV4XS5w dHIgPSBwbGFuZTsKPj4gKwlzdGF0ZS0+cGxhbmVzW2luZGV4XS5vbGRfc3RhdGUgPSBwbGFuZS0+ c3RhdGU7Cj4+ICsJc3RhdGUtPnBsYW5lc1tpbmRleF0ubmV3X3N0YXRlID0gcGxhbmVfc3RhdGU7 Cj4+ICAJcGxhbmVfc3RhdGUtPnN0YXRlID0gc3RhdGU7Cj4+Cj4+ICAJRFJNX0RFQlVHX0FUT01J QygiQWRkZWQgW1BMQU5FOiVkOiVzXSAlcCBzdGF0ZSB0byAlcFxuIiwKPj4gQEAgLTEwMzEsNiAr MTAzNSw4IEBAIGRybV9hdG9taWNfZ2V0X2Nvbm5lY3Rvcl9zdGF0ZShzdHJ1Y3QgZHJtX2F0b21p Y19zdGF0ZQo+PiAqc3RhdGUsCj4+Cj4+ICAJZHJtX2Nvbm5lY3Rvcl9yZWZlcmVuY2UoY29ubmVj dG9yKTsKPj4gIAlzdGF0ZS0+Y29ubmVjdG9yc1tpbmRleF0uc3RhdGUgPSBjb25uZWN0b3Jfc3Rh dGU7Cj4+ICsJc3RhdGUtPmNvbm5lY3RvcnNbaW5kZXhdLm9sZF9zdGF0ZSA9IGNvbm5lY3Rvci0+ c3RhdGU7Cj4+ICsJc3RhdGUtPmNvbm5lY3RvcnNbaW5kZXhdLm5ld19zdGF0ZSA9IGNvbm5lY3Rv cl9zdGF0ZTsKPj4gIAlzdGF0ZS0+Y29ubmVjdG9yc1tpbmRleF0ucHRyID0gY29ubmVjdG9yOwo+ PiAgCWNvbm5lY3Rvcl9zdGF0ZS0+c3RhdGUgPSBzdGF0ZTsKPj4KPj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jCj4+IGIvZHJpdmVycy9ncHUvZHJtL2Ry bV9hdG9taWNfaGVscGVyLmMgaW5kZXggYjI2ZTM0MTkwMjdlLi5kMTUzZThhNzI5MjEKPj4gMTAw NjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jCj4+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jCj4+IEBAIC0xOTcxLDExICsxOTcx LDExIEBAIHZvaWQgZHJtX2F0b21pY19oZWxwZXJfc3dhcF9zdGF0ZShzdHJ1Y3QKPj4gZHJtX2F0 b21pY19zdGF0ZSAqc3RhdGUsIGludCBpOwo+PiAgCWxvbmcgcmV0Owo+PiAgCXN0cnVjdCBkcm1f Y29ubmVjdG9yICpjb25uZWN0b3I7Cj4+IC0Jc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKmNv bm5fc3RhdGU7Cj4+ICsJc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKmNvbm5fc3RhdGUsICpv bGRfY29ubl9zdGF0ZTsKPj4gIAlzdHJ1Y3QgZHJtX2NydGMgKmNydGM7Cj4+IC0Jc3RydWN0IGRy bV9jcnRjX3N0YXRlICpjcnRjX3N0YXRlOwo+PiArCXN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqY3J0 Y19zdGF0ZSwgKm9sZF9jcnRjX3N0YXRlOwo+PiAgCXN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lOwo+ PiAtCXN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKnBsYW5lX3N0YXRlOwo+PiArCXN0cnVjdCBkcm1f cGxhbmVfc3RhdGUgKnBsYW5lX3N0YXRlLCAqb2xkX3BsYW5lX3N0YXRlOwo+PiAgCXN0cnVjdCBk cm1fY3J0Y19jb21taXQgKmNvbW1pdDsKPj4KPj4gIAlpZiAoc3RhbGwpIHsKPj4gQEAgLTE5OTks MTMgKzE5OTksMTcgQEAgdm9pZCBkcm1fYXRvbWljX2hlbHBlcl9zd2FwX3N0YXRlKHN0cnVjdAo+ PiBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSwgfQo+PiAgCX0KPj4KPj4gLQlmb3JfZWFjaF9jb25u ZWN0b3JfaW5fc3RhdGUoc3RhdGUsIGNvbm5lY3RvciwgY29ubl9zdGF0ZSwgaSkgewo+PiArCWZv cl9lYWNoX29sZG5ld19jb25uZWN0b3JfaW5fc3RhdGUoc3RhdGUsIGNvbm5lY3Rvciwgb2xkX2Nv bm5fc3RhdGUsCj4+IGNvbm5fc3RhdGUsIGkpIHsKPj4gKwkJV0FSTl9PTihjb25uZWN0b3ItPnN0 YXRlICE9IG9sZF9jb25uX3N0YXRlKTsKPj4gKwo+PiAgCQljb25uZWN0b3ItPnN0YXRlLT5zdGF0 ZSA9IHN0YXRlOwo+PiAgCQlzd2FwKHN0YXRlLT5jb25uZWN0b3JzW2ldLnN0YXRlLCBjb25uZWN0 b3ItPnN0YXRlKTsKPj4gIAkJY29ubmVjdG9yLT5zdGF0ZS0+c3RhdGUgPSBOVUxMOwo+PiAgCX0K Pj4KPj4gLQlmb3JfZWFjaF9jcnRjX2luX3N0YXRlKHN0YXRlLCBjcnRjLCBjcnRjX3N0YXRlLCBp KSB7Cj4+ICsJZm9yX2VhY2hfb2xkbmV3X2NydGNfaW5fc3RhdGUoc3RhdGUsIGNydGMsIG9sZF9j cnRjX3N0YXRlLCBjcnRjX3N0YXRlLAo+PiBpKSB7Cj4+ICsJCVdBUk5fT04oY3J0Yy0+c3RhdGUg IT0gb2xkX2NydGNfc3RhdGUpOwo+PiArCj4+ICAJCWNydGMtPnN0YXRlLT5zdGF0ZSA9IHN0YXRl Owo+PiAgCQlzd2FwKHN0YXRlLT5jcnRjc1tpXS5zdGF0ZSwgY3J0Yy0+c3RhdGUpOwo+PiAgCQlj cnRjLT5zdGF0ZS0+c3RhdGUgPSBOVUxMOwo+PiBAQCAtMjAyMCw3ICsyMDI0LDkgQEAgdm9pZCBk cm1fYXRvbWljX2hlbHBlcl9zd2FwX3N0YXRlKHN0cnVjdAo+PiBkcm1fYXRvbWljX3N0YXRlICpz dGF0ZSwgfQo+PiAgCX0KPj4KPj4gLQlmb3JfZWFjaF9wbGFuZV9pbl9zdGF0ZShzdGF0ZSwgcGxh bmUsIHBsYW5lX3N0YXRlLCBpKSB7Cj4+ICsJZm9yX2VhY2hfb2xkbmV3X3BsYW5lX2luX3N0YXRl KHN0YXRlLCBwbGFuZSwgb2xkX3BsYW5lX3N0YXRlLAo+PiBwbGFuZV9zdGF0ZSwgaSkgewo+PiAr CQlXQVJOX09OKHBsYW5lLT5zdGF0ZSAhPSBvbGRfcGxhbmVfc3RhdGUpOwo+PiArCj4+ICAJCXBs YW5lLT5zdGF0ZS0+c3RhdGUgPSBzdGF0ZTsKPj4gIAkJc3dhcChzdGF0ZS0+cGxhbmVzW2ldLnN0 YXRlLCBwbGFuZS0+c3RhdGUpOwo+PiAgCQlwbGFuZS0+c3RhdGUtPnN0YXRlID0gTlVMTDsKPj4g QEAgLTI0NzEsNyArMjQ3Nyw3IEBAIEVYUE9SVF9TWU1CT0woZHJtX2F0b21pY19oZWxwZXJfZGlz YWJsZV9hbGwpOwo+PiAgICoKPj4gICAqIFNlZSBhbHNvOgo+PiAgICogZHJtX2F0b21pY19oZWxw ZXJfZHVwbGljYXRlX3N0YXRlKCksIGRybV9hdG9taWNfaGVscGVyX2Rpc2FibGVfYWxsKCksCj4+ IC0gKiBkcm1fYXRvbWljX2hlbHBlcl9yZXN1bWUoKQo+PiArICogZHJtX2F0b21pY19oZWxwZXJf cmVzdW1lKCksIGRybV9hdG9taWNfaGVscGVyX2NvbW1pdF9kdXBsaWNhdGVkX3N0YXRlKCkKPj4g ICAqLwo+PiAgc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKmRybV9hdG9taWNfaGVscGVyX3N1c3Bl bmQoc3RydWN0IGRybV9kZXZpY2UgKmRldikKPj4gIHsKPj4gQEAgLTI1MTIsNiArMjUxOCw0NyBA QCBzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZQo+PiAqZHJtX2F0b21pY19oZWxwZXJfc3VzcGVuZChz dHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+PiBFWFBPUlRfU1lNQk9MKGRybV9hdG9taWNfaGVscGVy X3N1c3BlbmQpOwo+Pgo+PiAgLyoqCj4+ICsgKiBkcm1fYXRvbWljX2hlbHBlcl9jb21taXRfZHVw bGljYXRlZF9zdGF0ZSAtIGNvbW1pdCBkdXBsaWNhdGVkIHN0YXRlCj4+ICsgKiBAc3RhdGU6IGR1 cGxpY2F0ZWQgYXRvbWljIHN0YXRlIHRvIGNvbW1pdAo+PiArICogQGN0eDogcG9pbnRlciB0byBh Y3F1aXJlX2N0eCB0byB1c2UgZm9yIGNvbW1pdC4KPj4gKyAqCj4+ICsgKiBUaGUgc3RhdGUgcmV0 dXJuZWQgYnkgZHJtX2F0b21pY19oZWxwZXJfZHVwbGljYXRlX3N0YXRlKCkgYW5kCj4+ICsgKiBk cm1fYXRvbWljX2hlbHBlcl9zdXNwZW5kKCkgaXMgcGFydGlhbGx5IGludmFsaWQsIGFuZCBuZWVk cyB0bwo+PiArICogYmUgZml4ZWQgdXAgYmVmb3JlIGNvbW1pdC4KPiBDYW4ndCB5b3UgZml4IHRo ZSBzdGF0ZSBpbiBkcm1fYXRvbWljX2hlbHBlcl9zdXNwZW5kKCkgdG8gYXZvaWQgdGhlIG5lZWQg Zm9yIAo+IHRoaXMgZnVuY3Rpb24gPwpXZSB3b3VsZCBoYXZlIHRvIGZpeCB1cCBvdGhlciBhcmVh cyB0aGF0IGR1cGxpY2F0ZSBzdGF0ZSB0b28sIGxpa2UgaTkxNSBzdXNwZW5kIGFuZCBsb2FkIGRl dGVjdC4gVGhpcyBtZWFucyBtb3ZpbmcgaXQgdG8gYSBoZWxwZXIuCgpJdCB3YXMgbXkgb3JpZ2lu YWwgYXBwcm9hY2gsIGJ1dCBEYW5pZWwgcHJlZmVycmVkIHRoaXMgYXBwcm9hY2guCj4gQXBhcnQg ZnJvbSB0aGlzIHRoZSBwYXRjaCBsb29rcyBnb29kIHRvIG1lLiBJIGRvbid0IGxpa2UgdGhlIGZh Y3QgdGhhdCB3ZSBub3cgCj4gaGF2ZSB0d28gc2V0cyBvZiBzdGF0ZXMgdGhvdWdoIChzdGF0ZSBh bmQgb2xkX3N0YXRlL25ld19zdGF0ZSkuIEkgdW5kZXJzdGFuZCAKPiB0aGF0IHlvdSdkIGxpa2Ug dG8gYWRkcmVzcyB0aGlzIGFzIHBhcnQgb2YgYSBzZXBhcmF0ZSBwYXRjaCBzZXJpZXMsIHdoaWNo IEknbSAKPiBmaW5lIHdpdGggdG8gYXZvaWQgZGVsYXlpbmcgdGhpcyBvbmUsIGJ1dCBJIHRoaW5r IHdlIHNob3VsZCBhZGRyZXNzIHRoaXMgCj4gc29vbmVyIHJhdGhlciB0aGFuIGxhdHRlciwgb3Ig dGhlIEFQSSB3aWxsIGJlY29tZSB2ZXJ5IGNvbmZ1c2luZy4gWWVzLCB0aGF0IAo+IG1lYW5zIG1h c3MtcGF0Y2hpbmcgZHJpdmVycyBJJ20gYWZyYWlkLiBDb3VsZCB5b3UgY29uZmlybSB0aGF0IHRo aXMgaXMgeW91ciAKPiBwbGFuID8KWWVzLCB3b3JraW5nIG9uIGl0Lgo+PiArICogUmV0dXJuczoK Pj4gKyAqIDAgb24gc3VjY2VzcyBvciBhIG5lZ2F0aXZlIGVycm9yIGNvZGUgb24gZmFpbHVyZS4K Pj4gKyAqCj4+ICsgKiBTZWUgYWxzbzoKPj4gKyAqIGRybV9hdG9taWNfaGVscGVyX3N1c3BlbmQo KQo+PiArICovCj4+ICtpbnQgZHJtX2F0b21pY19oZWxwZXJfY29tbWl0X2R1cGxpY2F0ZWRfc3Rh dGUoc3RydWN0IGRybV9hdG9taWNfc3RhdGUKPj4gKnN0YXRlLAo+PiArCQkJCQkgICAgICBzdHJ1 Y3QgZHJtX21vZGVzZXRfYWNxdWlyZV9jdHgKPj4gKmN0eCkKPj4gK3sKPj4gKwlpbnQgaTsKPj4g KwlzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZTsKPj4gKwlzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpw bGFuZV9zdGF0ZTsKPj4gKwlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yOwo+PiArCXN0 cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25uX3N0YXRlOwo+PiArCXN0cnVjdCBkcm1fY3J0 YyAqY3J0YzsKPj4gKwlzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKmNydGNfc3RhdGU7Cj4+ICsKPj4g KwlzdGF0ZS0+YWNxdWlyZV9jdHggPSBjdHg7Cj4+ICsKPj4gKwlmb3JfZWFjaF9uZXdfcGxhbmVf aW5fc3RhdGUoc3RhdGUsIHBsYW5lLCBwbGFuZV9zdGF0ZSwgaSkKPj4gKwkJc3RhdGUtPnBsYW5l c1tpXS5vbGRfc3RhdGUgPSBwbGFuZS0+c3RhdGU7Cj4+ICsKPj4gKwlmb3JfZWFjaF9uZXdfY3J0 Y19pbl9zdGF0ZShzdGF0ZSwgY3J0YywgY3J0Y19zdGF0ZSwgaSkKPj4gKwkJc3RhdGUtPmNydGNz W2ldLm9sZF9zdGF0ZSA9IGNydGMtPnN0YXRlOwo+PiArCj4+ICsJZm9yX2VhY2hfbmV3X2Nvbm5l Y3Rvcl9pbl9zdGF0ZShzdGF0ZSwgY29ubmVjdG9yLCBjb25uX3N0YXRlLCBpKQo+PiArCQlzdGF0 ZS0+Y29ubmVjdG9yc1tpXS5vbGRfc3RhdGUgPSBjb25uZWN0b3ItPnN0YXRlOwo+PiArCj4+ICsJ cmV0dXJuIGRybV9hdG9taWNfY29tbWl0KHN0YXRlKTsKPj4gK30KPj4gK0VYUE9SVF9TWU1CT0wo ZHJtX2F0b21pY19oZWxwZXJfY29tbWl0X2R1cGxpY2F0ZWRfc3RhdGUpOwo+PiArCj4+ICsvKioK Pj4gICAqIGRybV9hdG9taWNfaGVscGVyX3Jlc3VtZSAtIHN1YnN5c3RlbS1sZXZlbCByZXN1bWUg aGVscGVyCj4+ICAgKiBAZGV2OiBEUk0gZGV2aWNlCj4+ICAgKiBAc3RhdGU6IGF0b21pYyBzdGF0 ZSB0byByZXN1bWUgdG8KPj4gQEAgLTI1MzQsOSArMjU4MSw5IEBAIGludCBkcm1fYXRvbWljX2hl bHBlcl9yZXN1bWUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPj4gIAlpbnQgZXJyOwo+Pgo+PiAg CWRybV9tb2RlX2NvbmZpZ19yZXNldChkZXYpOwo+PiArCj4+ICAJZHJtX21vZGVzZXRfbG9ja19h bGwoZGV2KTsKPj4gLQlzdGF0ZS0+YWNxdWlyZV9jdHggPSBjb25maWctPmFjcXVpcmVfY3R4Owo+ PiAtCWVyciA9IGRybV9hdG9taWNfY29tbWl0KHN0YXRlKTsKPj4gKwllcnIgPSBkcm1fYXRvbWlj X2hlbHBlcl9jb21taXRfZHVwbGljYXRlZF9zdGF0ZShzdGF0ZSwKPj4gY29uZmlnLT5hY3F1aXJl X2N0eCk7Cj4+IAlkcm1fbW9kZXNldF91bmxvY2tfYWxsKGRldik7Cj4+Cj4+ICAJcmV0dXJuIGVy cjsKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+ PiBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyBpbmRleCBmNTIzMjU2ZWY3 N2MuLjc0ZGExYzM4MGIzMgo+PiAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZGlzcGxheS5jCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3Bs YXkuYwo+PiBAQCAtMzQ4OCw3ICszNDg4LDggQEAgc3RhdGljIHZvaWQgaW50ZWxfdXBkYXRlX3By aW1hcnlfcGxhbmVzKHN0cnVjdAo+PiBkcm1fZGV2aWNlICpkZXYpCj4+Cj4+ICBzdGF0aWMgaW50 Cj4+ICBfX2ludGVsX2Rpc3BsYXlfcmVzdW1lKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4+IC0J CSAgICAgICBzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCj4+ICsJCSAgICAgICBzdHJ1 Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUsCj4+ICsJCSAgICAgICBzdHJ1Y3QgZHJtX21vZGVz ZXRfYWNxdWlyZV9jdHggKmN0eCkKPj4gIHsKPj4gIAlzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKmNy dGNfc3RhdGU7Cj4+ICAJc3RydWN0IGRybV9jcnRjICpjcnRjOwo+PiBAQCAtMzUxMiw3ICszNTEz LDcgQEAgX19pbnRlbF9kaXNwbGF5X3Jlc3VtZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+PiAg CS8qIGlnbm9yZSBhbnkgcmVzZXQgdmFsdWVzL0JJT1MgbGVmdG92ZXJzIGluIHRoZSBXTSByZWdp c3RlcnMgKi8KPj4gIAl0b19pbnRlbF9hdG9taWNfc3RhdGUoc3RhdGUpLT5za2lwX2ludGVybWVk aWF0ZV93bSA9IHRydWU7Cj4+Cj4+IC0JcmV0ID0gZHJtX2F0b21pY19jb21taXQoc3RhdGUpOwo+ PiArCXJldCA9IGRybV9hdG9taWNfaGVscGVyX2NvbW1pdF9kdXBsaWNhdGVkX3N0YXRlKHN0YXRl LCBjdHgpOwo+Pgo+PiAgCVdBUk5fT04ocmV0ID09IC1FREVBRExLKTsKPj4gIAlyZXR1cm4gcmV0 Owo+PiBAQCAtMzYwNiw3ICszNjA3LDcgQEAgdm9pZCBpbnRlbF9maW5pc2hfcmVzZXQoc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUKPj4gKmRldl9wcml2KSAqLwo+PiAgCQkJaW50ZWxfdXBkYXRlX3By aW1hcnlfcGxhbmVzKGRldik7Cj4+ICAJCX0gZWxzZSB7Cj4+IC0JCQlyZXQgPSBfX2ludGVsX2Rp c3BsYXlfcmVzdW1lKGRldiwgc3RhdGUpOwo+PiArCQkJcmV0ID0gX19pbnRlbF9kaXNwbGF5X3Jl c3VtZShkZXYsIHN0YXRlLCBjdHgpOwo+PiAgCQkJaWYgKHJldCkKPj4gIAkJCQlEUk1fRVJST1Io IlJlc3RvcmluZyBvbGQgc3RhdGUgZmFpbGVkIHdpdGggCj4gJWlcbiIsIHJldCk7Cj4+ICAJCX0K Pj4gQEAgLTM2MjYsNyArMzYyNyw3IEBAIHZvaWQgaW50ZWxfZmluaXNoX3Jlc2V0KHN0cnVjdCBk cm1faTkxNV9wcml2YXRlCj4+ICpkZXZfcHJpdikgZGV2X3ByaXYtPmRpc3BsYXkuaHBkX2lycV9z ZXR1cChkZXZfcHJpdik7Cj4+ICAJCXNwaW5fdW5sb2NrX2lycSgmZGV2X3ByaXYtPmlycV9sb2Nr KTsKPj4KPj4gLQkJcmV0ID0gX19pbnRlbF9kaXNwbGF5X3Jlc3VtZShkZXYsIHN0YXRlKTsKPj4g KwkJcmV0ID0gX19pbnRlbF9kaXNwbGF5X3Jlc3VtZShkZXYsIHN0YXRlLCBjdHgpOwo+PiAgCQlp ZiAocmV0KQo+PiAgCQkJRFJNX0VSUk9SKCJSZXN0b3Jpbmcgb2xkIHN0YXRlIGZhaWxlZCB3aXRo ICVpXG4iLCAKPiByZXQpOwo+PiBAQCAtMTEzMjcsNyArMTEzMjgsNyBAQCB2b2lkIGludGVsX3Jl bGVhc2VfbG9hZF9kZXRlY3RfcGlwZShzdHJ1Y3QKPj4gZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9y LCBpZiAoIXN0YXRlKQo+PiAgCQlyZXR1cm47Cj4+Cj4+IC0JcmV0ID0gZHJtX2F0b21pY19jb21t aXQoc3RhdGUpOwo+PiArCXJldCA9IGRybV9hdG9taWNfaGVscGVyX2NvbW1pdF9kdXBsaWNhdGVk X3N0YXRlKHN0YXRlLCBjdHgpOwo+PiAgCWlmIChyZXQpCj4+ICAJCURSTV9ERUJVR19LTVMoIkNv dWxkbid0IHJlbGVhc2UgbG9hZCBkZXRlY3QgcGlwZTogJWlcbiIsIHJldCk7Cj4+ICAJZHJtX2F0 b21pY19zdGF0ZV9wdXQoc3RhdGUpOwo+PiBAQCAtMTcyMTAsNyArMTcyMTEsNyBAQCB2b2lkIGlu dGVsX2Rpc3BsYXlfcmVzdW1lKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4+ICAJfQo+Pgo+PiAg CWlmICghcmV0KQo+PiAtCQlyZXQgPSBfX2ludGVsX2Rpc3BsYXlfcmVzdW1lKGRldiwgc3RhdGUp Owo+PiArCQlyZXQgPSBfX2ludGVsX2Rpc3BsYXlfcmVzdW1lKGRldiwgc3RhdGUsICZjdHgpOwo+ Pgo+PiAgCWRybV9tb2Rlc2V0X2Ryb3BfbG9ja3MoJmN0eCk7Cj4+ICAJZHJtX21vZGVzZXRfYWNx dWlyZV9maW5pKCZjdHgpOwo+PiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX2F0b21pYy5o IGIvaW5jbHVkZS9kcm0vZHJtX2F0b21pYy5oCj4+IGluZGV4IGY5NjIyMGVkNDAwNC4uNjA2MmU3 ZjI3MzI1IDEwMDY0NAo+PiAtLS0gYS9pbmNsdWRlL2RybS9kcm1fYXRvbWljLmgKPj4gKysrIGIv aW5jbHVkZS9kcm0vZHJtX2F0b21pYy5oCj4+IEBAIC0xMzcsMTIgKzEzNywxMiBAQCBzdHJ1Y3Qg ZHJtX2NydGNfY29tbWl0IHsKPj4KPj4gIHN0cnVjdCBfX2RybV9wbGFuZXNfc3RhdGUgewo+PiAg CXN0cnVjdCBkcm1fcGxhbmUgKnB0cjsKPj4gLQlzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpzdGF0 ZTsKPj4gKwlzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpzdGF0ZSwgKm9sZF9zdGF0ZSwgKm5ld19z dGF0ZTsKPj4gIH07Cj4+Cj4+ICBzdHJ1Y3QgX19kcm1fY3J0Y3Nfc3RhdGUgewo+PiAgCXN0cnVj dCBkcm1fY3J0YyAqcHRyOwo+PiAtCXN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqc3RhdGU7Cj4+ICsJ c3RydWN0IGRybV9jcnRjX3N0YXRlICpzdGF0ZSwgKm9sZF9zdGF0ZSwgKm5ld19zdGF0ZTsKPj4g IAlzdHJ1Y3QgZHJtX2NydGNfY29tbWl0ICpjb21taXQ7Cj4+ICAJczY0IF9fdXNlciAqb3V0X2Zl bmNlX3B0cjsKPj4gIAl1bnNpZ25lZCBsYXN0X3ZibGFua19jb3VudDsKPj4gQEAgLTE1MCw3ICsx NTAsNyBAQCBzdHJ1Y3QgX19kcm1fY3J0Y3Nfc3RhdGUgewo+Pgo+PiAgc3RydWN0IF9fZHJtX2Nv bm5uZWN0b3JzX3N0YXRlIHsKPj4gIAlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqcHRyOwo+PiAtCXN0 cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpzdGF0ZTsKPj4gKwlzdHJ1Y3QgZHJtX2Nvbm5lY3Rv cl9zdGF0ZSAqc3RhdGUsICpvbGRfc3RhdGUsICpuZXdfc3RhdGU7Cj4+ICB9Owo+Pgo+PiAgLyoq Cj4+IEBAIC0zOTcsNiArMzk3LDMxIEBAIHZvaWQgZHJtX3N0YXRlX2R1bXAoc3RydWN0IGRybV9k ZXZpY2UgKmRldiwgc3RydWN0Cj4+IGRybV9wcmludGVyICpwKTsgKF9faSkrKykJCQkJCQkJCj4g XAo+PiAgCQlmb3JfZWFjaF9pZiAoY29ubmVjdG9yKQo+Pgo+PiArI2RlZmluZSBmb3JfZWFjaF9v bGRuZXdfY29ubmVjdG9yX2luX3N0YXRlKF9fc3RhdGUsIGNvbm5lY3RvciwKPj4gb2xkX2Nvbm5l Y3Rvcl9zdGF0ZSwgbmV3X2Nvbm5lY3Rvcl9zdGF0ZSwgX19pKSBcCj4+ICsJZm9yICgoX19pKSA9 IDA7CQkJCQkJCQkKPiBcCj4+ICsJICAgICAoX19pKSA8IChfX3N0YXRlKS0+bnVtX2Nvbm5lY3Rv ciAmJgkJCQkKPiBcCj4+ICsJICAgICAoKGNvbm5lY3RvcikgPSAoX19zdGF0ZSktPmNvbm5lY3Rv cnNbX19pXS5wdHIsCQkJCj4gXAo+PiArCSAgICAgKG9sZF9jb25uZWN0b3Jfc3RhdGUpID0gKF9f c3RhdGUpLT5jb25uZWN0b3JzW19faV0ub2xkX3N0YXRlLAkKPiBcCj4+ICsJICAgICAobmV3X2Nv bm5lY3Rvcl9zdGF0ZSkgPSAoX19zdGF0ZSktPmNvbm5lY3RvcnNbX19pXS5uZXdfc3RhdGUsIDEp OyAKPiAJXAo+PiArCSAgICAgKF9faSkrKykJCQkJCQkJXAo+PiArCQlmb3JfZWFjaF9pZiAoY29u bmVjdG9yKQo+PiArCj4+ICsjZGVmaW5lIGZvcl9lYWNoX29sZF9jb25uZWN0b3JfaW5fc3RhdGUo X19zdGF0ZSwgY29ubmVjdG9yLAo+PiBvbGRfY29ubmVjdG9yX3N0YXRlLCBfX2kpIFwgKwlmb3Ig KChfX2kpID0gMDsJCQkJCQo+IAkJCVwKPj4gKwkgICAgIChfX2kpIDwgKF9fc3RhdGUpLT5udW1f Y29ubmVjdG9yICYmCQkJCQo+IFwKPj4gKwkgICAgICgoY29ubmVjdG9yKSA9IChfX3N0YXRlKS0+ Y29ubmVjdG9yc1tfX2ldLnB0ciwJCQkKPiBcCj4+ICsJICAgICAob2xkX2Nvbm5lY3Rvcl9zdGF0 ZSkgPSAoX19zdGF0ZSktPmNvbm5lY3RvcnNbX19pXS5vbGRfc3RhdGUsIDEpOyAKPiAJXAo+PiAr CSAgICAgKF9faSkrKykJCQkJCQkJXAo+PiArCQlmb3JfZWFjaF9pZiAoY29ubmVjdG9yKQo+PiAr Cj4+ICsjZGVmaW5lIGZvcl9lYWNoX25ld19jb25uZWN0b3JfaW5fc3RhdGUoX19zdGF0ZSwgY29u bmVjdG9yLAo+PiBuZXdfY29ubmVjdG9yX3N0YXRlLCBfX2kpIFwgKwlmb3IgKChfX2kpID0gMDsJ CQkJCQo+IAkJCVwKPj4gKwkgICAgIChfX2kpIDwgKF9fc3RhdGUpLT5udW1fY29ubmVjdG9yICYm CQkJCQo+IFwKPj4gKwkgICAgICgoY29ubmVjdG9yKSA9IChfX3N0YXRlKS0+Y29ubmVjdG9yc1tf X2ldLnB0ciwJCQkKPiBcCj4+ICsJICAgICAobmV3X2Nvbm5lY3Rvcl9zdGF0ZSkgPSAoX19zdGF0 ZSktPmNvbm5lY3RvcnNbX19pXS5uZXdfc3RhdGUsIDEpOyAKPiAJXAo+PiArCSAgICAgKF9faSkr KykJCQkJCQkJXAo+PiArCQlmb3JfZWFjaF9pZiAoY29ubmVjdG9yKQo+PiArCj4+ICAjZGVmaW5l IGZvcl9lYWNoX2NydGNfaW5fc3RhdGUoX19zdGF0ZSwgY3J0YywgY3J0Y19zdGF0ZSwgX19pKQlc Cj4+ICAJZm9yICgoX19pKSA9IDA7CQkJCQkJXAo+PiAgCSAgICAgKF9faSkgPCAoX19zdGF0ZSkt PmRldi0+bW9kZV9jb25maWcubnVtX2NydGMgJiYJXAo+PiBAQCAtNDA1LDYgKzQzMCwzMSBAQCB2 b2lkIGRybV9zdGF0ZV9kdW1wKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHN0cnVjdAo+PiBkcm1f cHJpbnRlciAqcCk7IChfX2kpKyspCQkJCQkJXAo+PiAgCQlmb3JfZWFjaF9pZiAoY3J0Y19zdGF0 ZSkKPj4KPj4gKyNkZWZpbmUgZm9yX2VhY2hfb2xkbmV3X2NydGNfaW5fc3RhdGUoX19zdGF0ZSwg Y3J0Yywgb2xkX2NydGNfc3RhdGUsCj4+IG5ld19jcnRjX3N0YXRlLCBfX2kpIFwgKwlmb3IgKChf X2kpID0gMDsJCQkJCQo+IAkJXAo+PiArCSAgICAgKF9faSkgPCAoX19zdGF0ZSktPmRldi0+bW9k ZV9jb25maWcubnVtX2NydGMgJiYJCVwKPj4gKwkgICAgICgoY3J0YykgPSAoX19zdGF0ZSktPmNy dGNzW19faV0ucHRyLAkJCVwKPj4gKwkgICAgIChvbGRfY3J0Y19zdGF0ZSkgPSAoX19zdGF0ZSkt PmNydGNzW19faV0ub2xkX3N0YXRlLAlcCj4+ICsJICAgICAobmV3X2NydGNfc3RhdGUpID0gKF9f c3RhdGUpLT5jcnRjc1tfX2ldLm5ld19zdGF0ZSwgMSk7CVwKPj4gKwkgICAgIChfX2kpKyspCQkJ CQkJCVwKPj4gKwkJZm9yX2VhY2hfaWYgKGNydGMpCj4+ICsKPj4gKyNkZWZpbmUgZm9yX2VhY2hf b2xkX2NydGNfaW5fc3RhdGUoX19zdGF0ZSwgY3J0Yywgb2xkX2NydGNfc3RhdGUsIF9faSkJCj4g XAo+PiArCWZvciAoKF9faSkgPSAwOwkJCQkJCQlcCj4+ICsJICAgICAoX19pKSA8IChfX3N0YXRl KS0+ZGV2LT5tb2RlX2NvbmZpZy5udW1fY3J0YyAmJgkJXAo+PiArCSAgICAgKChjcnRjKSA9IChf X3N0YXRlKS0+Y3J0Y3NbX19pXS5wdHIsCQkJXAo+PiArCSAgICAgKG9sZF9jcnRjX3N0YXRlKSA9 IChfX3N0YXRlKS0+Y3J0Y3NbX19pXS5vbGRfc3RhdGUsIDEpOwlcCj4+ICsJICAgICAoX19pKSsr KQkJCQkJCQlcCj4+ICsJCWZvcl9lYWNoX2lmIChjcnRjKQo+PiArCj4+ICsjZGVmaW5lIGZvcl9l YWNoX25ld19jcnRjX2luX3N0YXRlKF9fc3RhdGUsIGNydGMsIG5ld19jcnRjX3N0YXRlLCBfX2kp CQo+IFwKPj4gKwlmb3IgKChfX2kpID0gMDsJCQkJCQkJXAo+PiArCSAgICAgKF9faSkgPCAoX19z dGF0ZSktPmRldi0+bW9kZV9jb25maWcubnVtX2NydGMgJiYJCVwKPj4gKwkgICAgICgoY3J0Yykg PSAoX19zdGF0ZSktPmNydGNzW19faV0ucHRyLAkJCVwKPj4gKwkgICAgIChuZXdfY3J0Y19zdGF0 ZSkgPSAoX19zdGF0ZSktPmNydGNzW19faV0ubmV3X3N0YXRlLCAxKTsJXAo+PiArCSAgICAgKF9f aSkrKykJCQkJCQkJXAo+PiArCQlmb3JfZWFjaF9pZiAoY3J0YykKPj4gKwo+PiAgI2RlZmluZSBm b3JfZWFjaF9wbGFuZV9pbl9zdGF0ZShfX3N0YXRlLCBwbGFuZSwgcGxhbmVfc3RhdGUsIF9faSkJ CQo+IFwKPj4gIAlmb3IgKChfX2kpID0gMDsJCQkJCQkJXAo+PiAgCSAgICAgKF9faSkgPCAoX19z dGF0ZSktPmRldi0+bW9kZV9jb25maWcubnVtX3RvdGFsX3BsYW5lICYmCVwKPj4gQEAgLTQxMyw2 ICs0NjMsMzEgQEAgdm9pZCBkcm1fc3RhdGVfZHVtcChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBz dHJ1Y3QKPj4gZHJtX3ByaW50ZXIgKnApOyAoX19pKSsrKQkJCQkJCQkKPiBcCj4+ICAJCWZvcl9l YWNoX2lmIChwbGFuZV9zdGF0ZSkKPj4KPj4gKyNkZWZpbmUgZm9yX2VhY2hfb2xkbmV3X3BsYW5l X2luX3N0YXRlKF9fc3RhdGUsIHBsYW5lLCBvbGRfcGxhbmVfc3RhdGUsCj4+IG5ld19wbGFuZV9z dGF0ZSwgX19pKSBcICsJZm9yICgoX19pKSA9IDA7CQkJCQkKPiAJCVwKPj4gKwkgICAgIChfX2kp IDwgKF9fc3RhdGUpLT5kZXYtPm1vZGVfY29uZmlnLm51bV90b3RhbF9wbGFuZSAmJglcCj4+ICsJ ICAgICAoKHBsYW5lKSA9IChfX3N0YXRlKS0+cGxhbmVzW19faV0ucHRyLAkJCVwKPj4gKwkgICAg IChvbGRfcGxhbmVfc3RhdGUpID0gKF9fc3RhdGUpLT5wbGFuZXNbX19pXS5vbGRfc3RhdGUsCVwK Pj4gKwkgICAgIChuZXdfcGxhbmVfc3RhdGUpID0gKF9fc3RhdGUpLT5wbGFuZXNbX19pXS5uZXdf c3RhdGUsIDEpOwlcCj4+ICsJICAgICAoX19pKSsrKQkJCQkJCQlcCj4+ICsJCWZvcl9lYWNoX2lm IChwbGFuZSkKPj4gKwo+PiArI2RlZmluZSBmb3JfZWFjaF9vbGRfcGxhbmVfaW5fc3RhdGUoX19z dGF0ZSwgcGxhbmUsIG9sZF9wbGFuZV9zdGF0ZSwgX19pKSBcCj4+ICsJZm9yICgoX19pKSA9IDA7 CQkJCQkJCVwKPj4gKwkgICAgIChfX2kpIDwgKF9fc3RhdGUpLT5kZXYtPm1vZGVfY29uZmlnLm51 bV90b3RhbF9wbGFuZSAmJglcCj4+ICsJICAgICAoKHBsYW5lKSA9IChfX3N0YXRlKS0+cGxhbmVz W19faV0ucHRyLAkJCVwKPj4gKwkgICAgIChvbGRfcGxhbmVfc3RhdGUpID0gKF9fc3RhdGUpLT5w bGFuZXNbX19pXS5vbGRfc3RhdGUsIDEpOwlcCj4+ICsJICAgICAoX19pKSsrKQkJCQkJCQlcCj4+ ICsJCWZvcl9lYWNoX2lmIChwbGFuZSkKPj4gKwo+PiArI2RlZmluZSBmb3JfZWFjaF9uZXdfcGxh bmVfaW5fc3RhdGUoX19zdGF0ZSwgcGxhbmUsIG5ld19wbGFuZV9zdGF0ZSwgX19pKSBcCj4+ICsJ Zm9yICgoX19pKSA9IDA7CQkJCQkJCVwKPj4gKwkgICAgIChfX2kpIDwgKF9fc3RhdGUpLT5kZXYt Pm1vZGVfY29uZmlnLm51bV90b3RhbF9wbGFuZSAmJglcCj4+ICsJICAgICAoKHBsYW5lKSA9IChf X3N0YXRlKS0+cGxhbmVzW19faV0ucHRyLAkJCVwKPj4gKwkgICAgIChuZXdfcGxhbmVfc3RhdGUp ID0gKF9fc3RhdGUpLT5wbGFuZXNbX19pXS5uZXdfc3RhdGUsIDEpOwlcCj4+ICsJICAgICAoX19p KSsrKQkJCQkJCQlcCj4+ICsJCWZvcl9lYWNoX2lmIChwbGFuZSkKPj4gKwo+PiAgLyoqCj4+ICAg KiBkcm1fYXRvbWljX2NydGNfbmVlZHNfbW9kZXNldCAtIGNvbXB1dGUgY29tYmluZWQgbW9kZXNl dCBuZWVkCj4+ICAgKiBAc3RhdGU6ICZkcm1fY3J0Y19zdGF0ZSBmb3IgdGhlIENSVEMKPj4gZGlm ZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9hdG9taWNfaGVscGVyLmgKPj4gYi9pbmNsdWRlL2Ry bS9kcm1fYXRvbWljX2hlbHBlci5oIGluZGV4IDlhZmNkMzgxMDc4NS4uMmM0NTQ5ZTk4YzE2IDEw MDY0NAo+PiAtLS0gYS9pbmNsdWRlL2RybS9kcm1fYXRvbWljX2hlbHBlci5oCj4+ICsrKyBiL2lu Y2x1ZGUvZHJtL2RybV9hdG9taWNfaGVscGVyLmgKPj4gQEAgLTEwNSw2ICsxMDUsOCBAQCBpbnQg X19kcm1fYXRvbWljX2hlbHBlcl9zZXRfY29uZmlnKHN0cnVjdCBkcm1fbW9kZV9zZXQKPj4gKnNl dCwgaW50IGRybV9hdG9taWNfaGVscGVyX2Rpc2FibGVfYWxsKHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYsCj4+ICAJCQkJICBzdHJ1Y3QgZHJtX21vZGVzZXRfYWNxdWlyZV9jdHggKmN0eCk7Cj4+ICBz dHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqZHJtX2F0b21pY19oZWxwZXJfc3VzcGVuZChzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2KTsKPj4gK2ludCBkcm1fYXRvbWljX2hlbHBlcl9jb21taXRfZHVwbGlj YXRlZF9zdGF0ZShzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZQo+PiAqc3RhdGUsCj4+ICsJCQkJCSAg ICAgIHN0cnVjdCBkcm1fbW9kZXNldF9hY3F1aXJlX2N0eAo+PiAqY3R4KTsKPj4gIGludCBkcm1f YXRvbWljX2hlbHBlcl9yZXN1bWUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPj4gIAkJCSAgICAg c3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKTsKCgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZl bEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFp bG1hbi9saXN0aW5mby9kcmktZGV2ZWwK