From mboxrd@z Thu Jan 1 00:00:00 1970 From: Harry Wentland Subject: Re: [PATCH] amdgpu/dc: Use DRM new-style object iterators. Date: Wed, 11 Oct 2017 16:40:29 -0400 Message-ID: <7dca3262-5210-67f9-8e68-2f229ef4df51@amd.com> References: <1507731880-5843-1-git-send-email-sunpeng.li@amd.com> <7dbcabe8-d3de-7cfa-1e4d-b61be746f0cd@linux.intel.com> <2b80ac05-111f-02c7-067a-50b73c5cf3c1@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <2b80ac05-111f-02c7-067a-50b73c5cf3c1-VuQAYsv1563Yd54FQh9/CA@public.gmane.org> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: Maarten Lankhorst , Leo , airlied-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org, amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org List-Id: dri-devel@lists.freedesktop.org T24gMjAxNy0xMC0xMSAwMzo0NiBQTSwgTWFhcnRlbiBMYW5raG9yc3Qgd3JvdGU6Cj4gT3AgMTEt MTAtMTcgb20gMjA6NTUgc2NocmVlZiBMZW86Cj4+Cj4+Cj4+IE9uIDIwMTctMTAtMTEgMTA6MzAg QU0sIE1hYXJ0ZW4gTGFua2hvcnN0IHdyb3RlOgo+Pj4gT3AgMTEtMTAtMTcgb20gMTY6MjQgc2No cmVlZiBzdW5wZW5nLmxpQGFtZC5jb206Cj4+Pj4gRnJvbTogIkxlbyAoU3VucGVuZykgTGkiIDxz dW5wZW5nLmxpQGFtZC5jb20+Cj4+Pj4KPj4+PiBVc2UgdGhlIGNvcnJlY3QgZm9yX2VhY2hfbmV3 L29sZF8qIGl0ZXJhdG9ycyBpbnN0ZWFkIG9mIGZvcl9lYWNoXyoKPj4+Pgo+Pj4+IExpc3Qgb2Yg YWZmZWN0ZWQgZnVuY3Rpb25zOgo+Pj4+Cj4+Pj4gYW1kZ3B1X2RtX2ZpbmRfZmlyc3RfY3J0Y19t YXRjaGluZ19jb25uZWN0b3I6IHVzZSBmb3JfZWFjaF9uZXcKPj4+PiAgICAgIC0gT2xkIGZyb21f c3RhdGVfdmFyIGZsYWcgd2FzIGFsd2F5cyBjaG9vc2luZyB0aGUgbmV3IHN0YXRlCj4+Pj4KPj4+ PiBhbWRncHVfZG1fZGlzcGxheV9yZXN1bWU6IHVzZSBmb3JfZWFjaF9uZXcKPj4+PiAgICAgIC0g ZHJtX2F0b21pY19oZWxwZXJfZHVwbGljYXRlX3N0YXRlIGlzIGNhbGxlZCBkdXJpbmcgc3VzcGVu ZCB0bwo+Pj4+ICAgICAgICBjYWNoZSB0aGUgc3RhdGUKPj4+PiAgICAgIC0gSXQgc2V0cyAnc3Rh dGUnIHdpdGhpbiB0aGUgc3RhdGUgdHJpcGxldCB0byAnbmV3X3N0YXRlJwo+Pj4+Cj4+Pj4gYW1k Z3B1X2RtX2NvbW1pdF9wbGFuZXM6IHVzZSBmb3JfZWFjaF9vbGQKPj4+PiAgICAgIC0gQ2FsbGVk IGFmdGVyIHRoZSBzdGF0ZSB3YXMgc3dhcHBlZCAodmlhIGF0b21pYyBjb21taXQgdGFpbCkKPj4+ Pgo+Pj4+IGFtZGdwdV9kbV9hdG9taWNfY29tbWl0OiB1c2UgZm9yX2VhY2hfbmV3Cj4+Pj4gICAg ICAtIENhbGxlZCBiZWZvcmUgdGhlIHN0YXRlIGlzIHN3YXBwZWQKPj4+Pgo+Pj4+IGFtZGdwdV9k bV9hdG9taWNfY29tbWl0X3RhaWw6IHVzZSBmb3JfZWFjaF9vbGQKPj4+PiAgICAgIC0gQ2FsbGVk IGFmdGVyIHRoZSBzdGF0ZSB3YXMgc3dhcHBlZAo+Pj4+Cj4+Pj4gZG1fdXBkYXRlX2NydGNzX3N0 YXRlOiB1c2UgZm9yX2VhY2hfbmV3Cj4+Pj4gICAgICAtIENhbGxlZCBiZWZvcmUgdGhlIHN0YXRl IGlzIHN3YXBwZWQgKHZpYSBhdG9taWMgY2hlY2spCj4+Pj4KPj4+PiBhbWRncHVfZG1fYXRvbWlj X2NoZWNrOiB1c2UgZm9yX2VhY2hfbmV3Cj4+Pj4gICAgICAtIENhbGxlZCBiZWZvcmUgdGhlIHN0 YXRlIGlzIHN3YXBwZWQKPj4+Pgo+Pj4+IEFsc28gZml4IHNvbWUgdHlwb3MuCj4+Pj4KPj4+PiBj cmN0IC0+IGNydGMKPj4+PiB1bmRlcnNhY24gLT4gdW5kZXJzY2FuCj4+Pj4KPj4+PiBTaWduZWQt b2ZmLWJ5OiBMZW8gKFN1bnBlbmcpIExpIDxzdW5wZW5nLmxpQGFtZC5jb20+Cj4+Pj4gLS0tCj4+ Pj4KPj4+PiBIaSBEYXZlLAo+Pj4+Cj4+Pj4gVGhpcyBwYXRjaCBnb2VzIG9uIHRvcCBvZiB5b3Vy IGZpeHVwIGZvciBuZXcgYXBpJ3MgcGF0Y2guIFBsZWFzZSBmZWVsCj4+Pj4gZnJlZSB0byBzcXVh c2ggdGhlbS4KPj4+Pgo+Pj4+IFRoYW5rcywKPj4+PiBMZW8KPj4+Pgo+Pj4+ICAgZHJpdmVycy9n cHUvZHJtL2FtZC9kaXNwbGF5L2FtZGdwdV9kbS9hbWRncHVfZG0uYyB8IDM4ICsrKysrKysrKy0t LS0tLS0tLS0tLS0tCj4+Pj4gICBkcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvYW1kZ3B1X2Rt L2FtZGdwdV9kbS5oIHwgIDUgKystCj4+Pj4gICAyIGZpbGVzIGNoYW5nZWQsIDE2IGluc2VydGlv bnMoKyksIDI3IGRlbGV0aW9ucygtKQo+Pj4+Cj4+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9hbWQvZGlzcGxheS9hbWRncHVfZG0vYW1kZ3B1X2RtLmMgYi9kcml2ZXJzL2dwdS9kcm0v YW1kL2Rpc3BsYXkvYW1kZ3B1X2RtL2FtZGdwdV9kbS5jCj4+Pj4gaW5kZXggOWJmZTFmOS4uOTM5 NDU1OCAxMDA2NDQKPj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvYW1kZ3B1 X2RtL2FtZGdwdV9kbS5jCj4+Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2Ft ZGdwdV9kbS9hbWRncHVfZG0uYwo+Pj4+IEBAIC01NjgsMjUgKzU2OCwxNyBAQCBzdGF0aWMgaW50 IGRtX3N1c3BlbmQodm9pZCAqaGFuZGxlKQo+Pj4+ICAgICAgIHJldHVybiByZXQ7Cj4+Pj4gICB9 Cj4+Pj4gICAtc3RydWN0IGFtZGdwdV9kbV9jb25uZWN0b3IgKmFtZGdwdV9kbV9maW5kX2ZpcnN0 X2NyY3RfbWF0Y2hpbmdfY29ubmVjdG9yKAo+Pj4+ICtzdHJ1Y3QgYW1kZ3B1X2RtX2Nvbm5lY3Rv ciAqYW1kZ3B1X2RtX2ZpbmRfZmlyc3RfY3J0Y19tYXRjaGluZ19jb25uZWN0b3IoCj4+Pj4gICAg ICAgc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlLAo+Pj4+IC0gICAgc3RydWN0IGRybV9j cnRjICpjcnRjLAo+Pj4+IC0gICAgYm9vbCBmcm9tX3N0YXRlX3ZhcikKPj4+PiArICAgIHN0cnVj dCBkcm1fY3J0YyAqY3J0YykKPj4+PiAgIHsKPj4+PiAgICAgICB1aW50MzJfdCBpOwo+Pj4+ICAg ICAgIHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25uX3N0YXRlOwo+Pj4+ICAgICAgIHN0 cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3I7Cj4+Pj4gICAgICAgc3RydWN0IGRybV9jcnRj ICpjcnRjX2Zyb21fc3RhdGU7Cj4+Pj4gICAtICAgIGZvcl9lYWNoX25ld19jb25uZWN0b3JfaW5f c3RhdGUoCj4+Pj4gLSAgICAgICAgc3RhdGUsCj4+Pj4gLSAgICAgICAgY29ubmVjdG9yLAo+Pj4+ IC0gICAgICAgIGNvbm5fc3RhdGUsCj4+Pj4gLSAgICAgICAgaSkgewo+Pj4+IC0gICAgICAgIGNy dGNfZnJvbV9zdGF0ZSA9Cj4+Pj4gLSAgICAgICAgICAgIGZyb21fc3RhdGVfdmFyID8KPj4+PiAt ICAgICAgICAgICAgICAgIGNvbm5fc3RhdGUtPmNydGMgOgo+Pj4+IC0gICAgICAgICAgICAgICAg Y29ubmVjdG9yLT5zdGF0ZS0+Y3J0YzsKPj4+PiArICAgIGZvcl9lYWNoX25ld19jb25uZWN0b3Jf aW5fc3RhdGUoc3RhdGUsIGNvbm5lY3RvciwgY29ubl9zdGF0ZSwgaSkgewo+Pj4+ICsgICAgICAg IGNydGNfZnJvbV9zdGF0ZSA9IGNvbm5fc3RhdGUtPmNydGM7Cj4+PiBQbGVhc2UgYXNzaWduIGNy dGNfZnJvbV9zdGF0ZSBoZXJlIHdpdGggZHJtX2F0b21pY19nZXRfKG5ldy9vbGQpX2NydGNfc3Rh dGUuCj4+Cj4+IFdlJ3JlIHRyeWluZyB0byBmZXRjaCBhIGRybV9jcnRjIGZyb20gYSBkcm1fY29u bmVjdG9yX3N0YXRlLCBJIGRvbid0IHRoaW5rIHRoZSBzdGF0ZSBnZXR0ZXJzIGFyZSBhcHBsaWNh YmxlIGhlcmUuCj4+Cj4+IEFsc28sIHRoZSBmdW5jdGlvbiBzaG91bGQgcmVhbGx5IGJlIG5hbWVk ICdmaW5kX2ZpcnN0X2Nvbm5lY3Rvcl9tYXRjaGluZ19jcnRjJy4gSSdsbCBmaXggdGhhdC4KPiBP aCBJIG1pc3VuZGVyc3Rvb2QuIEJ1dCBpbiBnZW5lcmFsIGRlcmVmZW5jaW5nICRvYmotPnN0YXRl IHNob3VsZCBiZSBmcm93bmVkIHVwb24uIElmIHlvdSBldmVyIHdhbnQgdG8gc3VwcG9ydCBhdG9t aWMgZmxpcCBkZXB0aCA+IDEsCj4gYWxsIHRob3NlIHJlZmVyZW5jZXMgc2hvdWxkIGJlIGdvbmUg ZnJvbSB5b3VyIGRyaXZlciwgYW5kIHJlcGxhY2VkIHdpdGggZ2V0X29sZC9uZXdfc3RhdGUuLgoK SWYgSSB1bmRlcnN0YW5kIGNvcnJlY3RseSB0aGlzIGlzIHRoZSBmb3J3YXJkLWxvb2tpbmcgd2F5 IG9mIGhvdyB3ZSBnZXQgdGhlCnN0YXRlIG5vdz8gSSBzdGlsbCBzZWUgcGxlbnR5IG9mICRvYmot PnN0YXRlIGluIGk5MTUgYW5kIG90aGVyIGRyaXZlcnMuCgpBbnkgb2JqZWN0aW9ucyB0byBkb2lu ZyB0aGlzIGFzIGEgZm9sbG93LXVwIHBhdGNoPwoKV2hhdCdzIGF0b21pYyBmbGlwIGRlcHRoID4g MT8KCkhhcnJ5Cgo+Pj4KPj4+Cj4+Pj4gICAgICAgICAgIGlmIChjcnRjX2Zyb21fc3RhdGUgPT0g Y3J0YykKPj4+PiAgICAgICAgICAgICAgIHJldHVybiB0b19hbWRncHVfZG1fY29ubmVjdG9yKGNv bm5lY3Rvcik7Cj4+Pj4gQEAgLTM4OTAsNyArMzg4Miw3IEBAIHN0YXRpYyB2b2lkIGFtZGdwdV9k bV9jb21taXRfcGxhbmVzKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSwKPj4+PiAgICAg ICB1bnNpZ25lZCBsb25nIGZsYWdzOwo+Pj4+ICAgICAgICAgLyogdXBkYXRlIHBsYW5lcyB3aGVu IG5lZWRlZCAqLwo+Pj4+IC0gICAgZm9yX2VhY2hfbmV3X3BsYW5lX2luX3N0YXRlKHN0YXRlLCBw bGFuZSwgb2xkX3BsYW5lX3N0YXRlLCBpKSB7Cj4+Pj4gKyAgICBmb3JfZWFjaF9vbGRfcGxhbmVf aW5fc3RhdGUoc3RhdGUsIHBsYW5lLCBvbGRfcGxhbmVfc3RhdGUsIGkpIHsKPj4+PiAgICAgICAg ICAgc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqcGxhbmVfc3RhdGUgPSBwbGFuZS0+c3RhdGU7Cj4+ Pj4gICAgICAgICAgIHN0cnVjdCBkcm1fY3J0YyAqY3J0YyA9IHBsYW5lX3N0YXRlLT5jcnRjOwo+ Pj4+ICAgICAgICAgICBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiA9IHBsYW5lX3N0YXRlLT5m YjsKPj4+IFVzZSBmb3JfZWFjaF9vbGRuZXdfKl9pbl9zdGF0ZQo+Pj4+IEBAIC00MDI0LDcgKzQw MTYsNyBAQCB2b2lkIGFtZGdwdV9kbV9hdG9taWNfY29tbWl0X3RhaWwoCj4+Pj4gICAgICAgZG1f c3RhdGUgPSB0b19kbV9hdG9taWNfc3RhdGUoc3RhdGUpOwo+Pj4+ICAgICAgICAgLyogdXBkYXRl IGNoYW5nZWQgaXRlbXMgKi8KPj4+PiAtICAgIGZvcl9lYWNoX25ld19jcnRjX2luX3N0YXRlKHN0 YXRlLCBjcnRjLCBvbGRfY3J0Y19zdGF0ZSwgaSkgewo+Pj4+ICsgICAgZm9yX2VhY2hfb2xkX2Ny dGNfaW5fc3RhdGUoc3RhdGUsIGNydGMsIG9sZF9jcnRjX3N0YXRlLCBpKSB7Cj4+Pj4gICAgICAg ICAgIHN0cnVjdCBhbWRncHVfY3J0YyAqYWNydGMgPSB0b19hbWRncHVfY3J0YyhjcnRjKTsKPj4+ PiAgICAgICAgICAgc3RydWN0IGRybV9jcnRjX3N0YXRlICpuZXdfc3RhdGUgPSBjcnRjLT5zdGF0 ZTsKPj4+IFNhbWUuCj4+Cj4+IEdvb2QgcG9pbnRzLCBpdCBzZWVtcyBsaWtlIHRoZXJlJ3MgcXVp dGUgYSBmZXcgcGxhY2VzIHdoZXJlIGRybSBpbnRlcmZhY2VzIGNhbiBiZSB1c2VkLiBUaGFua3Mg Zm9yIHBvaW50aW5nIHRoaXMgb3V0Lgo+Pgo+PiBMZW8KPj4KPj4+PiAgIEBAIC00MTEzLDExICs0 MTA1LDkgQEAgdm9pZCBhbWRncHVfZG1fYXRvbWljX2NvbW1pdF90YWlsKAo+Pj4+ICAgICAgICAg ICAgICAgbmV3X2FjcnRjX3N0YXRlID0gdG9fZG1fY3J0Y19zdGF0ZShuZXdfY3J0Y3NbaV0tPmJh c2Uuc3RhdGUpOwo+Pj4+ICAgICAgICAgICAgICAgICBuZXdfc3RyZWFtID0gbmV3X2FjcnRjX3N0 YXRlLT5zdHJlYW07Cj4+Pj4gLSAgICAgICAgICAgIGFjb25uZWN0b3IgPQo+Pj4+IC0gICAgICAg ICAgICAgICAgYW1kZ3B1X2RtX2ZpbmRfZmlyc3RfY3JjdF9tYXRjaGluZ19jb25uZWN0b3IoCj4+ Pj4gKyAgICAgICAgICAgIGFjb25uZWN0b3IgPSBhbWRncHVfZG1fZmluZF9maXJzdF9jcnRjX21h dGNoaW5nX2Nvbm5lY3RvcigKPj4+PiAgICAgICAgICAgICAgICAgICAgICAgc3RhdGUsCj4+Pj4g LSAgICAgICAgICAgICAgICAgICAgJm5ld19jcnRjc1tpXS0+YmFzZSwKPj4+PiAtICAgICAgICAg ICAgICAgICAgICBmYWxzZSk7Cj4+Pj4gKyAgICAgICAgICAgICAgICAgICAgJm5ld19jcnRjc1tp XS0+YmFzZSk7Cj4+Pj4gICAgICAgICAgICAgICBpZiAoIWFjb25uZWN0b3IpIHsKPj4+PiAgICAg ICAgICAgICAgICAgICBEUk1fREVCVUdfRFJJVkVSKCJBdG9taWMgY29tbWl0OiBGYWlsZWQgdG8g ZmluZCBjb25uZWN0b3IgZm9yIGFjcnRjIGlkOiVkICIKPj4+PiAgICAgICAgICAgICAgICAgICAg ICAgICJza2lwcGluZyBmcmVlc3luYyBpbml0XG4iLAo+Pj4+IEBAIC00MTUwLDggKzQxNDAsOCBA QCB2b2lkIGFtZGdwdV9kbV9hdG9taWNfY29tbWl0X3RhaWwoCj4+Pj4gICAgICAgICAgIH0KPj4+ PiAgICAgICB9Cj4+Pj4gICAtICAgIC8qIEhhbmRsZSBzY2FsaW5nIGFuZCB1bmRlcnNhY24gY2hh bmdlcyovCj4+Pj4gLSAgICBmb3JfZWFjaF9uZXdfY29ubmVjdG9yX2luX3N0YXRlKHN0YXRlLCBj b25uZWN0b3IsIG9sZF9jb25uX3N0YXRlLCBpKSB7Cj4+Pj4gKyAgICAvKiBIYW5kbGUgc2NhbGlu ZyBhbmQgdW5kZXJzY2FuIGNoYW5nZXMqLwo+Pj4+ICsgICAgZm9yX2VhY2hfb2xkX2Nvbm5lY3Rv cl9pbl9zdGF0ZShzdGF0ZSwgY29ubmVjdG9yLCBvbGRfY29ubl9zdGF0ZSwgaSkgewo+Pj4+ICAg ICAgICAgICBzdHJ1Y3QgYW1kZ3B1X2RtX2Nvbm5lY3RvciAqYWNvbm5lY3RvciA9IHRvX2FtZGdw dV9kbV9jb25uZWN0b3IoY29ubmVjdG9yKTsKPj4+PiAgICAgICAgICAgc3RydWN0IGRtX2Nvbm5l Y3Rvcl9zdGF0ZSAqY29uX25ld19zdGF0ZSA9Cj4+Pj4gICAgICAgICAgICAgICAgICAgdG9fZG1f Y29ubmVjdG9yX3N0YXRlKGFjb25uZWN0b3ItPmJhc2Uuc3RhdGUpOwo+Pj4gU2FtZSBoZXJlLi4K Pj4KPj4+PiBAQCAtNDIwNSw3ICs0MTk1LDcgQEAgdm9pZCBhbWRncHVfZG1fYXRvbWljX2NvbW1p dF90YWlsKAo+Pj4+ICAgICAgIH0KPj4+PiAgICAgICAgIC8qIHVwZGF0ZSBwbGFuZXMgd2hlbiBu ZWVkZWQgcGVyIGNydGMqLwo+Pj4+IC0gICAgZm9yX2VhY2hfbmV3X2NydGNfaW5fc3RhdGUoc3Rh dGUsIHBjcnRjLCBvbGRfY3J0Y19zdGF0ZSwgaikgewo+Pj4+ICsgICAgZm9yX2VhY2hfb2xkX2Ny dGNfaW5fc3RhdGUoc3RhdGUsIHBjcnRjLCBvbGRfY3J0Y19zdGF0ZSwgaikgewo+Pj4+ICAgICAg ICAgICBuZXdfYWNydGNfc3RhdGUgPSB0b19kbV9jcnRjX3N0YXRlKHBjcnRjLT5zdGF0ZSk7Cj4+ PiBTYW1lLgo+Pgo+Pj4+ICAgICAgICAgICBpZiAobmV3X2FjcnRjX3N0YXRlLT5zdHJlYW0pCj4+ Pj4gQEAgLTQyMTgsNyArNDIwOCw3IEBAIHZvaWQgYW1kZ3B1X2RtX2F0b21pY19jb21taXRfdGFp bCgKPj4+PiAgICAgICAgKiBtYXJrIGNvbnN1bWVkIGV2ZW50IGZvciBkcm1fYXRvbWljX2hlbHBl cl9jb21taXRfaHdfZG9uZQo+Pj4+ICAgICAgICAqLwo+Pj4+ICAgICAgIHNwaW5fbG9ja19pcnFz YXZlKCZhZGV2LT5kZGV2LT5ldmVudF9sb2NrLCBmbGFncyk7Cj4+Pj4gLSAgICBmb3JfZWFjaF9u ZXdfY3J0Y19pbl9zdGF0ZShzdGF0ZSwgY3J0Yywgb2xkX2NydGNfc3RhdGUsIGkpIHsKPj4+PiAr ICAgIGZvcl9lYWNoX29sZF9jcnRjX2luX3N0YXRlKHN0YXRlLCBjcnRjLCBvbGRfY3J0Y19zdGF0 ZSwgaSkgewo+Pj4+ICAgICAgICAgICBzdHJ1Y3QgYW1kZ3B1X2NydGMgKmFjcnRjID0gdG9fYW1k Z3B1X2NydGMoY3J0Yyk7Cj4+Pj4gICAgICAgICAgICAgaWYgKGFjcnRjLT5iYXNlLnN0YXRlLT5l dmVudCkKPj4+IFNhbWUuIFlvdSdyZSBkZXJlZmVyZW5jaW5nIGNydGMtPnN0YXRlCj4+Cj4+Pj4g QEAgLTQ0MDIsNyArNDM5Miw3IEBAIHN0YXRpYyBpbnQgZG1fdXBkYXRlX2NydGNzX3N0YXRlKAo+ Pj4+ICAgICAgICAgICBuZXdfYWNydGNfc3RhdGUgPSB0b19kbV9jcnRjX3N0YXRlKGNydGNfc3Rh dGUpOwo+Pj4+ICAgICAgICAgICBhY3J0YyA9IHRvX2FtZGdwdV9jcnRjKGNydGMpOwo+Pj4+ICAg LSAgICAgICAgYWNvbm5lY3RvciA9IGFtZGdwdV9kbV9maW5kX2ZpcnN0X2NyY3RfbWF0Y2hpbmdf Y29ubmVjdG9yKHN0YXRlLCBjcnRjLCB0cnVlKTsKPj4+PiArICAgICAgICBhY29ubmVjdG9yID0g YW1kZ3B1X2RtX2ZpbmRfZmlyc3RfY3J0Y19tYXRjaGluZ19jb25uZWN0b3Ioc3RhdGUsIGNydGMp Owo+Pj4+ICAgICAgICAgICAgIC8qIFRPRE8gVGhpcyBoYWNrIHNob3VsZCBnbyBhd2F5ICovCj4+ Pj4gICAgICAgICAgIGlmIChhY29ubmVjdG9yKSB7Cj4+Pj4gQEAgLTQ3MTUsNyArNDcwNSw3IEBA IGludCBhbWRncHVfZG1fYXRvbWljX2NoZWNrKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4+Pj4g ICAgICAgIGlmIChyZXQpCj4+Pj4gICAgICAgICAgICBnb3RvIGZhaWw7Cj4+Pj4gICAtICAgIC8q IENoZWNrIHNjYWxpbmcgYW5kIHVuZGVyc2FjbiBjaGFuZ2VzKi8KPj4+PiArICAgIC8qIENoZWNr IHNjYWxpbmcgYW5kIHVuZGVyc2NhbiBjaGFuZ2VzKi8KPj4+PiAgICAgICAvKlRPRE8gUmVtb3Zl ZCBzY2FsaW5nIGNoYW5nZXMgdmFsaWRhdGlvbiBkdWUgdG8gaW5hYmlsaXR5IHRvIGNvbW1pdAo+ Pj4+ICAgICAgICAqIG5ldyBzdHJlYW0gaW50byBjb250ZXh0IHdcbyBjYXVzaW5nIGZ1bGwgcmVz ZXQuIE5lZWQgdG8KPj4+PiAgICAgICAgKiBkZWNpZGUgaG93IHRvIGhhbmRsZS4KPj4+PiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2FtZGdwdV9kbS9hbWRncHVfZG0u aCBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9hbWRncHVfZG0vYW1kZ3B1X2RtLmgKPj4+ PiBpbmRleCA2MzBlNmNkLi5jMWI3N2JkIDEwMDY0NAo+Pj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvZGlzcGxheS9hbWRncHVfZG0vYW1kZ3B1X2RtLmgKPj4+PiArKysgYi9kcml2ZXJzL2dw dS9kcm0vYW1kL2Rpc3BsYXkvYW1kZ3B1X2RtL2FtZGdwdV9kbS5oCj4+Pj4gQEAgLTIyNiwxMCAr MjI2LDkgQEAgZXh0ZXJuIGNvbnN0IHN0cnVjdCBhbWRncHVfaXBfYmxvY2tfdmVyc2lvbiBkbV9p cF9ibG9jazsKPj4+PiAgIHZvaWQgYW1kZ3B1X2RtX3VwZGF0ZV9jb25uZWN0b3JfYWZ0ZXJfZGV0 ZWN0KAo+Pj4+ICAgICAgIHN0cnVjdCBhbWRncHVfZG1fY29ubmVjdG9yICphY29ubmVjdG9yKTsK Pj4+PiAgIC1zdHJ1Y3QgYW1kZ3B1X2RtX2Nvbm5lY3RvciAqYW1kZ3B1X2RtX2ZpbmRfZmlyc3Rf Y3JjdF9tYXRjaGluZ19jb25uZWN0b3IoCj4+Pj4gK3N0cnVjdCBhbWRncHVfZG1fY29ubmVjdG9y ICphbWRncHVfZG1fZmluZF9maXJzdF9jcnRjX21hdGNoaW5nX2Nvbm5lY3RvcigKPj4+PiAgICAg ICBzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUsCj4+Pj4gLSAgICBzdHJ1Y3QgZHJtX2Ny dGMgKmNydGMsCj4+Pj4gLSAgICBib29sIGZyb21fc3RhdGVfdmFyKTsKPj4+PiArICAgIHN0cnVj dCBkcm1fY3J0YyAqY3J0Yyk7Cj4+Pj4gICAgICAgc3RydWN0IGFtZGdwdV9mcmFtZWJ1ZmZlcjsK Pj4+Cj4+Pgo+IApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwphbWQtZ2Z4IG1haWxpbmcgbGlzdAphbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw czovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1nZngK