From mboxrd@z Thu Jan 1 00:00:00 1970 From: Laurent Pinchart Subject: Re: [PATCH 4/5] drm/atomic: document how to handle driver private objects Date: Mon, 18 Dec 2017 18:13:46 +0200 Message-ID: <27523743.fP04iXrJ1A@avalon> References: <20171214203054.20141-1-daniel.vetter@ffwll.ch> <20171214203054.20141-5-daniel.vetter@ffwll.ch> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20171214203054.20141-5-daniel.vetter@ffwll.ch> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Daniel Vetter Cc: Intel Graphics Development , DRI Development , Dhinakaran Pandiyan , Alex Deucher , Daniel Vetter , Harry Wentland , Ben Skeggs List-Id: dri-devel@lists.freedesktop.org SGkgRGFuaWVsLAoKVGhhbmsgeW91IGZvciB0aGUgcGF0Y2guCgpPbiBUaHVyc2RheSwgMTQgRGVj ZW1iZXIgMjAxNyAyMjozMDo1MyBFRVQgRGFuaWVsIFZldHRlciB3cm90ZToKPiBESyBwdXQgc29t ZSBuaWNlIGRvY3MgaW50byB0aGUgY29tbWl0IGludHJvZHVjaW5nIGRyaXZlciBwcml2YXRlCj4g c3RhdGUsIGJ1dCBpbiB0aGUgZ2l0IGhpc3RvcnkgYWxvbmUgaXQnbGwgYmUgbG9zdC4KCllvdSBt aWdodCB3YW50IHRvIHNwZWxsIERLJ3MgbmFtZSBmdWxseS4KCj4gQWxzbywgc2luY2UgVmlsbGUg cmVtb3ZlIHRoZSB2b2lkKiB1c2FnZSBpdCdzIGEgZ29vZCBvcHBvcnR1bml0eSB0bwo+IGdpdmUg dGhlIGRyaXZlciBwcml2YXRlIHN0dWZmIHNvbWUgdGxjIG9uIHRoZSBkb2MgZnJvbnQuCj4gCj4g RmluYWxseSB0cnkgdG8gZXhwbGFpbiB3aHkgdGhlICJsZXQncyBqdXN0IHN1YmNsYXNzIGRybV9h dG9taWNfc3RhdGUiCj4gYXBwcm9hY2ggd2Fzbid0IHRoZSBncmVhdGVzdCwgYW5kIGFubm90YXRl IGFsbCB0aG9zZSBmdW5jdGlvbnMgYXMKPiBkZXByZWNhdGVkIGluIGZhdm91ciBvZiBtb3JlIHN0 YW5kYXJkaXplZCBkcml2ZXIgcHJpdmF0ZSBzdGF0ZXMuIEFsc28KPiBub3RlIHdoZXJlIHdlIGNv dWxkL3Nob3VsZCBleHRlbmQgZHJpdmVyIHByaXZhdGUgc3RhdGVzIGdvaW5nIGZvcndhcmQKPiAo YXRtIG5laXRoZXIgbG9ja2luZyBub3Igc3luY2hyb25pemF0aW9uIGlzIGhhbmRsZWQgaW4gY29y ZS9oZWxwZXJzLAo+IHdoaWNoIGlzbid0IHJlYWxseSBhbGwgdGhhdCBncmVhdCkuCj4gCj4gQ2M6 IEhhcnJ5IFdlbnRsYW5kIDxoYXJyeS53ZW50bGFuZEBhbWQuY29tPgo+IENjOiBEaGluYWthcmFu IFBhbmRpeWFuIDxkaGluYWthcmFuLnBhbmRpeWFuQGludGVsLmNvbT4KPiBDYzogTWFhcnRlbiBM YW5raG9yc3QgPG1hYXJ0ZW4ubGFua2hvcnN0QGxpbnV4LmludGVsLmNvbT4KPiBDYzogVmlsbGUg U3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KPiBDYzogTGF1cmVudCBQ aW5jaGFydCA8bGF1cmVudC5waW5jaGFydEBpZGVhc29uYm9hcmQuY29tPgo+IENjOiBSb2IgQ2xh cmsgPHJvYmRjbGFya0BnbWFpbC5jb20+Cj4gQ2M6IEFsZXggRGV1Y2hlciA8YWxleGFuZGVyLmRl dWNoZXJAYW1kLmNvbT4KPiBDYzogQmVuIFNrZWdncyA8YnNrZWdnc0ByZWRoYXQuY29tPgo+IFNp Z25lZC1vZmYtYnk6IERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAaW50ZWwuY29tPgo+IC0t LQo+ICBEb2N1bWVudGF0aW9uL2dwdS9kcm0ta21zLnJzdCB8ICA2ICsrKysrKwo+ICBkcml2ZXJz L2dwdS9kcm0vZHJtX2F0b21pYy5jICB8IDQ1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKystLS0KPiAgaW5jbHVkZS9kcm0vZHJtX2F0b21pYy5oICAgICAgfCAyOCArKysrKysr KysrKysrKysrKysrKysrKysrKysKPiAgaW5jbHVkZS9kcm0vZHJtX21vZGVfY29uZmlnLmggfCAg OSArKysrKysrKysKPiAgNCBmaWxlcyBjaGFuZ2VkLCA4NSBpbnNlcnRpb25zKCspLCAzIGRlbGV0 aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dwdS9kcm0ta21zLnJzdCBi L0RvY3VtZW50YXRpb24vZ3B1L2RybS1rbXMucnN0Cj4gaW5kZXggMzA3Mjg0MTI1ZDdhLi40MjAw MjViZDZhOWIgMTAwNjQ0Cj4gLS0tIGEvRG9jdW1lbnRhdGlvbi9ncHUvZHJtLWttcy5yc3QKPiAr KysgYi9Eb2N1bWVudGF0aW9uL2dwdS9kcm0ta21zLnJzdAo+IEBAIC0yNzEsNiArMjcxLDEyIEBA IFRha2VuIGFsbCB0b2dldGhlciB0aGVyZSdzIHR3byBjb25zZXF1ZW5jZXMgZm9yIHRoZQo+IGF0 b21pYyBkZXNpZ246IFJlYWQgb24gaW4gdGhpcyBjaGFwdGVyLCBhbmQgYWxzbyBpbgo+IDpyZWY6 YGRybV9hdG9taWNfaGVscGVyYCBmb3IgbW9yZSBkZXRhaWxlZCBjb3ZlcmFnZSBvZiBzcGVjaWZp YyB0b3BpY3MuCj4gCj4gK0hhbmRsaW5nIERyaXZlciBQcml2YXRlIFN0YXRlCj4gKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gKwo+ICsuLiBrZXJuZWwtZG9jOjogZHJpdmVycy9ncHUv ZHJtL2RybV9hdG9taWMuYwo+ICsgICA6ZG9jOiBoYW5kbGluZyBkcml2ZXIgcHJpdmF0ZSBzdGF0 ZQo+ICsKPiAgQXRvbWljIE1vZGUgU2V0dGluZyBGdW5jdGlvbiBSZWZlcmVuY2UKPiAgLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2RybV9hdG9taWMuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMKPiBp bmRleCAzNzQ0NWQ1MDgxNmEuLjE1ZTFhMzVjNzRhOCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vZHJtX2F0b21pYy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYwo+ IEBAIC01MCw3ICs1MCw4IEBAIEVYUE9SVF9TWU1CT0woX19kcm1fY3J0Y19jb21taXRfZnJlZSk7 Cj4gICAqIEBzdGF0ZTogYXRvbWljIHN0YXRlCj4gICAqCj4gICAqIEZyZWUgYWxsIHRoZSBtZW1v cnkgYWxsb2NhdGVkIGJ5IGRybV9hdG9taWNfc3RhdGVfaW5pdC4KPiAtICogVGhpcyBpcyB1c2Vm dWwgZm9yIGRyaXZlcnMgdGhhdCBzdWJjbGFzcyB0aGUgYXRvbWljIHN0YXRlLgo+ICsgKiBUaGlz IHNob3VsZCBvbmx5IGJlIHVzZWQgYnkgZHJpdmVycyB3aGljaCBhcmUgc3RpbGwgc3ViY2xhc3Np bmcKPiArICogJmRybV9hdG9taWNfc3RhdGUgYW5kIGhhdmVuJ3Qgc3dpdGNoZWQgdG8gJmRybV9w cml2YXRlX3N0YXRlIHlldC4KPiAgICovCj4gIHZvaWQgZHJtX2F0b21pY19zdGF0ZV9kZWZhdWx0 X3JlbGVhc2Uoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKQo+ICB7Cj4gQEAgLTY3LDcg KzY4LDggQEAgRVhQT1JUX1NZTUJPTChkcm1fYXRvbWljX3N0YXRlX2RlZmF1bHRfcmVsZWFzZSk7 Cj4gICAqIEBzdGF0ZTogYXRvbWljIHN0YXRlCj4gICAqCj4gICAqIERlZmF1bHQgaW1wbGVtZW50 YXRpb24gZm9yIGZpbGxpbmcgaW4gYSBuZXcgYXRvbWljIHN0YXRlLgo+IC0gKiBUaGlzIGlzIHVz ZWZ1bCBmb3IgZHJpdmVycyB0aGF0IHN1YmNsYXNzIHRoZSBhdG9taWMgc3RhdGUuCj4gKyAqIFRo aXMgc2hvdWxkIG9ubHkgYmUgdXNlZCBieSBkcml2ZXJzIHdoaWNoIGFyZSBzdGlsbCBzdWJjbGFz c2luZwo+ICsgKiAmZHJtX2F0b21pY19zdGF0ZSBhbmQgaGF2ZW4ndCBzd2l0Y2hlZCB0byAmZHJt X3ByaXZhdGVfc3RhdGUgeWV0Lgo+ICAgKi8KPiAgaW50Cj4gIGRybV9hdG9taWNfc3RhdGVfaW5p dChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZQo+ICpzdGF0 ZSkKPiBAQCAtMTMyLDcgKzEzNCw4IEBAIEVYUE9SVF9TWU1CT0woZHJtX2F0b21pY19zdGF0ZV9h bGxvYyk7Cj4gICAqIEBzdGF0ZTogYXRvbWljIHN0YXRlCj4gICAqCj4gICAqIERlZmF1bHQgaW1w bGVtZW50YXRpb24gZm9yIGNsZWFyaW5nIGF0b21pYyBzdGF0ZS4KPiAtICogVGhpcyBpcyB1c2Vm dWwgZm9yIGRyaXZlcnMgdGhhdCBzdWJjbGFzcyB0aGUgYXRvbWljIHN0YXRlLgo+ICsgKiBUaGlz IHNob3VsZCBvbmx5IGJlIHVzZWQgYnkgZHJpdmVycyB3aGljaCBhcmUgc3RpbGwgc3ViY2xhc3Np bmcKPiArICogJmRybV9hdG9taWNfc3RhdGUgYW5kIGhhdmVuJ3Qgc3dpdGNoZWQgdG8gJmRybV9w cml2YXRlX3N0YXRlIHlldC4KPiAgICovCj4gIHZvaWQgZHJtX2F0b21pY19zdGF0ZV9kZWZhdWx0 X2NsZWFyKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSkKPiAgewo+IEBAIC05NDYsNiAr OTQ5LDQyIEBAIHN0YXRpYyB2b2lkIGRybV9hdG9taWNfcGxhbmVfcHJpbnRfc3RhdGUoc3RydWN0 Cj4gZHJtX3ByaW50ZXIgKnAsIHBsYW5lLT5mdW5jcy0+YXRvbWljX3ByaW50X3N0YXRlKHAsIHN0 YXRlKTsKPiAgfQo+IAo+ICsvKioKPiArICogRE9DOiBoYW5kbGluZyBkcml2ZXIgcHJpdmF0ZSBz dGF0ZQo+ICsgKgo+ICsgKiBWZXJ5IG9mdGVuIHRoZSBEUk0gb2JqZWN0cyBleHBvc2VkIHRvIHVz ZXJzcGFjZSBpbiB0aGUgYXRvbWljIG1vZGVzZXQKPiBhcGkKCnMvYXBpL0FQSS8KCj4gKyAqICgm ZHJtX2Nvbm5lY3RvciwgJmRybV9jcnRjIGFuZCAmZHJtX3BsYW5lKSBkbyBub3QgbWFwIG5lYXRs eSB0byB0aGUKPiArICogdW5kZXJseWluZyBoYXJkd2FyZS4gRXNwZWNpYWxseSBmb3IgYW55IGtp bmQgb2Ygc2hhcmVkIHJlc291cmNlcyAoZS5nLgo+IHNoYXJlZAo+ICsgKiBjbG9ja3MsIHNjYWxl ciB1bml0cywgYmFuZHdpZHRoIGFuZCBmaWZvIGxpbWl0cyBzaGFyZWQgYW1vbmcgYSBncm91cCBv Zgo+ICsgKiBwbGFuZXMgb3IgQ1JUQ3MsIGFuZCBzbyBvbikgaXQgbWFrZXMgc2Vuc2UgdG8gbW9k ZWwgdGhlc2UgYXMgaW5kZXBlbmRlbnQKPiArICogb2JqZWN0cy4gRHJpdmVycyB0aGVuIG5lZWQg dG8gc2ltaWxhciBzdGF0ZSB0cmFja2luZyBhbmQgY29tbWl0IG9yZGVyaW5nCj4gZm9yCj4gKyAq IHN1Y2ggcHJpdmF0ZSAoc2luY2Ugbm90IGV4cG9zZWQgdG8gdXNlcnBhY2UpIG9iamVjdHMgYXMg dGhlIGF0b21pYyBjb3JlCj4gYW5kCj4gKyAqIGhlbHBlcnMgYWxyZWFkeSBwcm92aWRlIGZvciBj b25uZWN0b3JzLCBwbGFuZXMgYW5kIENSVENzLgo+IAo+ICsgKiBUbyBtYWtlIHRoaXMgZWFzaWVy IG9uIGRyaXZlcnMgdGhlIGF0b21pYyBjb3JlIHByb3ZpZGVzIHNvbWUgc3VwcG9ydCB0bwo+IHRy YWNrCj4gKyAqIGRyaXZlciBwcml2YXRlIHN0YXRlIG9iamVjdHMgdXNpbmcgc3RydWN0ICZkcm1f cHJpdmF0ZV9vYmosIHdpdGggdGhlCj4gKyAqIGFzc29jaWF0ZWQgc3RhdGUgc3RydWN0ICZkcm1f cHJpdmF0ZV9zdGF0ZS4KPiArICoKPiArICogU2ltaWxhciB0byB1c2Vyc3BhY2UtZXhwb3NlZCBv YmplY3RzLCBzdGF0ZSBzdHJ1Y3R1cmVzIGNhbiBiZSBhY3F1aXJlZAo+IGJ5Cj4gKyAqIGNhbGxp bmcgZHJtX2F0b21pY19nZXRfcHJpdmF0ZV9vYmpfc3RhdGUoKS4gU2luY2UgdGhpcyBmdW5jdGlv biBkb2VzIG5vdAo+IHRha2UKPiArICogY2FyZSBvZiBsb2NraW5nLCBkcml2ZXJzIHNob3VsZCB3 cmFwIGl0IGZvciBlYWNoIHR5cGUgb2YgcHJpdmF0ZSBzdGF0ZQo+IG9iamVjdAo+ICsgKiB0aGV5 IGhhdmUgd2l0aCB0aGUgcmVxdWlyZWQgY2FsbCB0byBkcm1fbW9kZXNldF9sb2NrKCkgZm9yIHRo ZQo+IGNvcnJlc3BvbmRpbmcKPiArICogJmRybV9tb2Rlc2V0X2xvY2suCgpUaGlzIHBhcmFncmFw aCBjb3VsZCBiZW5lZml0IGZyb20gYW4gZXhwbGFuYXRpb24gb2Ygd2hhdCB0aGUgY29ycmVzcG9u ZGluZyAKZHJtX21vZGVzZXRfbG9jayBpcy4gVGhlIHJlc3Qgb2YgdGhlIGRvY3VtZW50IGlzIHBy ZXR0eSBjbGVhci4KCj4gKyAqIEFsbCBwcml2YXRlIHN0YXRlIHN0cnVjdHVyZXMgY29udGFpbmVk IGluIGEgJmRybV9hdG9taWNfc3RhdGUgdXBkYXRlIGNhbgo+IGJlCj4gKyAqIGl0ZXJhdGVkIHVz aW5nIGZvcl9lYWNoX29sZG5ld19wcml2YXRlX29ial9pbl9zdGF0ZSgpLAo+ICsgKiBmb3JfZWFj aF9vbGRfcHJpdmF0ZV9vYmpfaW5fc3RhdGUoKSBhbmQKPiBmb3JfZWFjaF9vbGRfcHJpdmF0ZV9v YmpfaW5fc3RhdGUoKS4KCkkgdGhpbmsgb25lIG9mIHRob3NlIHR3byB3YXMgbWVhbnQgdG8gYmUg Zm9yX2VhY2hfbmV3X3ByaXZhdGVfb2JqX2luX3N0YXRlKCkuCgo+ICsgKiBEcml2ZXJzIGFyZSBy ZWNvbW1lbmQgdG8gd3JhcCB0aGVzZSBmb3IgZWFjaCB0eXBlIG9mIGRyaXZlciBwcml2YXRlCj4g c3RhdGUKPiArICogb2JqZWN0IHRoZXkgaGF2ZSwgZmlsdGVyaW5nIG9uICZkcm1fcHJpdmF0ZV9v YmouZnVuY3MgdXNpbmcKPiBmb3JfZWFjaF9pZigpLCBhdAo+ICsgKiBsZWFzdCBpZiB0aGV5IHdh bnQgdG8gaXRlcmF0ZSBvdmVyIGFsbCBvYmplY3RzIG9mIGEgZ2l2ZW4gdHlwZS4KPiArICoKPiAr ICogQW4gZWFybGllciB3YXkgdG8gaGFuZGxlIGRyaXZlciBwcml2YXRlIHN0YXRlIHdhcyBieSBz dWJjbGFzc2luZyBzdHJ1Y3QKPiArICogJmRybV9hdG9taWNfc3RhdGUuIEJ1dCBzaW5jZSB0aGF0 IGVuY291cmFnZXMgbm9uLXN0YW5kYXJkIHdheXMgdG8KPiBpbXBsZW1lbnQKPiArICogdGhlIGNo ZWNrL2NvbW1pdCBzcGxpdCBhdG9taWMgcmVxdWlyZXMgKGJ5IHVzaW5nIGUuZy4gImNoZWNrIGFu ZAo+IHJvbGxiYWNrIG9yCj4gKyAqIGNvbW1pdCBpbnN0ZWFkIiBvZiAiZHVwbGljYXRlIHN0YXRl LCBjaGVjaywgdGhlbiBlaXRoZXIgY29tbWl0IG9yCj4gcmVsZWFzZQo+ICsgKiBkdXBsaWNhdGVk IHN0YXRlKSBpdCBpcyBkZXByZWNhdGVkIGluIGZhdm91ciBvZiB1c2luZwo+ICZkcm1fcHJpdmF0 ZV9zdGF0ZS4KClRoaXMgSSBzdGlsbCBkb24ndCBhZ3JlZSB3aXRoLiBJIHRoaW5rIGl0IHN0aWxs IG1ha2VzIHNlbnNlIHRvIHN1YmNsYXNzIHRoZSAKZ2xvYmFsIHN0YXRlIG9iamVjdCB3aGVuIHlv dSBoYXZlIHRydWUgZ2xvYmFsIHN0YXRlIGRhdGEuIEhvdyBhYm91dCBzdGFydGluZyAKYnkgbWFr aW5nIGl0IGEgcmVjb21tZW5kYXRpb24gaW5zdGVhZCwgbW92aW5nIHN0YXRlIGRhdGEgcmVsYXRl ZCB0byBkcml2ZXItCnNwZWNpZmljIG9iamVjdHMgdG8gdGhlIG5ldyBmcmFtZXdvcmssIGFuZCBr ZWVwaW5nIGdsb2JhbCBkYXRhIGluIHRoZSAKZHJtX2F0b21pY19zdGF0ZSBzdWJjbGFzcyA/Cgo+ ICsgKi8KPiArCj4gIC8qKgo+ICAgKiBkcm1fYXRvbWljX3ByaXZhdGVfb2JqX2luaXQgLSBpbml0 aWFsaXplIHByaXZhdGUgb2JqZWN0Cj4gICAqIEBvYmo6IHByaXZhdGUgb2JqZWN0Cj4gZGlmZiAt LWdpdCBhL2luY2x1ZGUvZHJtL2RybV9hdG9taWMuaCBiL2luY2x1ZGUvZHJtL2RybV9hdG9taWMu aAo+IGluZGV4IDVhZmQ2ZTM2NGZiNi4uOGU0ODI5YTI1YzFiIDEwMDY0NAo+IC0tLSBhL2luY2x1 ZGUvZHJtL2RybV9hdG9taWMuaAo+ICsrKyBiL2luY2x1ZGUvZHJtL2RybV9hdG9taWMuaAo+IEBA IC0xODksMTIgKzE4OSw0MCBAQCBzdHJ1Y3QgZHJtX3ByaXZhdGVfc3RhdGVfZnVuY3Mgewo+ICAJ CQkJICAgICBzdHJ1Y3QgZHJtX3ByaXZhdGVfc3RhdGUgKnN0YXRlKTsKPiAgfTsKPiAKPiArLyoq Cj4gKyAqIHN0cnVjdCBkcm1fcHJpdmF0ZV9vYmogLSBiYXNlIHN0cnVjdCBmb3IgZHJpdmVyIHBy aXZhdGUgYXRvbWljIG9iamVjdAo+ICsgKgo+ICsgKiBBIGRyaXZlciBwcml2YXRlIG9iamVjdCBp cyBpbml0aWFsaXplZCBieSBjYWxsaW5nCj4gKyAqIGRybV9hdG9taWNfcHJpdmF0ZV9vYmpfaW5p dCgpIGFuZCBjbGVhbmVkIHVwIGJ5IGNhbGxpbmcKPiArICogZHJtX2F0b21pY19wcml2YXRlX29i al9maW5pKCkuCj4gKyAqCj4gKyAqIEN1cnJlbnRseSBvbmx5IHRyYWNrcyB0aGUgc3RhdGUgdXBk YXRlIGZ1bmN0aW9ucyBhbmQgdGhlIG9wYXF1ZSBkcml2ZXIKPiArICogcHJpdmF0ZSBzdGF0ZSBp dHNlbGYsIGJ1dCBpbiB0aGUgZnV0dXJlIG1pZ2h0IGFsc28gdHJhY2sgd2hpY2gKPiArICogJmRy bV9tb2Rlc2V0X2xvY2sgaXMgcmVxdWlyZWQgdG8gZHVwbGljYXRlIGFuZCB1cGRhdGUgdGhpcyBv YmplY3Qncwo+IHN0YXRlLiArICovCj4gIHN0cnVjdCBkcm1fcHJpdmF0ZV9vYmogewo+ICsJLyoq Cj4gKwkgKiBAc3RhdGU6IEN1cnJlbnQgYXRvbWljIHN0YXRlIGZvciB0aGlzIGRyaXZlciBwcml2 YXRlIG9iamVjdC4KPiArCSAqLwo+ICAJc3RydWN0IGRybV9wcml2YXRlX3N0YXRlICpzdGF0ZTsK PiAKPiArCS8qKgo+ICsJICogQGZ1bmNzOgo+ICsJICoKPiArCSAqIEZ1bmN0aW9ucyB0byBtYW5p cHVsYXRlIHRoZSBzdGF0ZSBvZiB0aGlzIGRyaXZlciBwcml2YXRlIG9iamVjdCwgc2VlCj4gKwkg KiAmZHJtX3ByaXZhdGVfc3RhdGVfZnVuY3MuCj4gKwkgKi8KPiAgCWNvbnN0IHN0cnVjdCBkcm1f cHJpdmF0ZV9zdGF0ZV9mdW5jcyAqZnVuY3M7Cj4gIH07Cj4gCj4gKy8qKgo+ICsgKiBzdHJ1Y3Qg ZHJtX3ByaXZhdGVfc3RhdGUgLSBiYXNlIHN0cnVjdCBmb3IgZHJpdmVyIHByaXZhdGUgb2JqZWN0 IHN0YXRlCj4gKyAqIEBzdGF0ZTogYmFja3BvaW50ZXIgdG8gZ2xvYmFsIGRybV9hdG9taWNfc3Rh dGUKPiArICoKPiArICogQ3VycmVudGx5IG9ubHkgY29udGFpbnMgYSBiYWNrcG9pbnRlciB0byB0 aGUgb3ZlcmFsbCBhdG9taWMgdXBhdGVkLCBidXQKPiBpbiArICogdGhlIGZ1dHVyZSBhbHNvIG1p Z2h0IGhvbGQgc3luY2hyb25pemF0aW9uIGluZm9ybWF0aW9uIHNpbWlsYXIgdG8KPiBlLmcuICsg KiAmZHJtX2NydGMuY29tbWl0Lgo+ICsgKi8KPiAgc3RydWN0IGRybV9wcml2YXRlX3N0YXRlIHsK PiAgCXN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZTsKPiAgfTsKPiBkaWZmIC0tZ2l0IGEv aW5jbHVkZS9kcm0vZHJtX21vZGVfY29uZmlnLmggYi9pbmNsdWRlL2RybS9kcm1fbW9kZV9jb25m aWcuaAo+IGluZGV4IGM2NjM5ZThlNTAwNy4uMmNiNmYwMmRmNjRhIDEwMDY0NAo+IC0tLSBhL2lu Y2x1ZGUvZHJtL2RybV9tb2RlX2NvbmZpZy5oCj4gKysrIGIvaW5jbHVkZS9kcm0vZHJtX21vZGVf Y29uZmlnLmgKPiBAQCAtMjY5LDYgKzI2OSw5IEBAIHN0cnVjdCBkcm1fbW9kZV9jb25maWdfZnVu Y3Mgewo+ICAJICogc3RhdGUgZWFzaWx5LiBJZiB0aGlzIGhvb2sgaXMgaW1wbGVtZW50ZWQsIGRy aXZlcnMgbXVzdCBhbHNvCj4gIAkgKiBpbXBsZW1lbnQgQGF0b21pY19zdGF0ZV9jbGVhciBhbmQg QGF0b21pY19zdGF0ZV9mcmVlLgo+ICAJICoKPiArCSAqIFN1YmNsYXNzaW5nIG9mICZkcm1fYXRv bWljX3N0YXRlIGlzIGRlcHJlY2F0ZWQgaW4gZmF2b3VyIG9mIHVzaW5nCj4gKwkgKiAmZHJtX3By aXZhdGVfc3RhdGUgYW5kICZkcm1fcHJpdmF0ZV9vYmouCj4gKwkgKgo+ICAJICogUkVUVVJOUzoK PiAgCSAqCj4gIAkgKiBBIG5ldyAmZHJtX2F0b21pY19zdGF0ZSBvbiBzdWNjZXNzIG9yIE5VTEwg b24gZmFpbHVyZS4KPiBAQCAtMjkwLDYgKzI5Myw5IEBAIHN0cnVjdCBkcm1fbW9kZV9jb25maWdf ZnVuY3Mgewo+ICAJICoKPiAgCSAqIERyaXZlcnMgdGhhdCBpbXBsZW1lbnQgdGhpcyBtdXN0IGNh bGwgZHJtX2F0b21pY19zdGF0ZV9kZWZhdWx0X2NsZWFyKCkKPiAgCSAqIHRvIGNsZWFyIGNvbW1v biBzdGF0ZS4KPiArCSAqCj4gKwkgKiBTdWJjbGFzc2luZyBvZiAmZHJtX2F0b21pY19zdGF0ZSBp cyBkZXByZWNhdGVkIGluIGZhdm91ciBvZiB1c2luZwo+ICsJICogJmRybV9wcml2YXRlX3N0YXRl IGFuZCAmZHJtX3ByaXZhdGVfb2JqLgo+ICAJICovCj4gIAl2b2lkICgqYXRvbWljX3N0YXRlX2Ns ZWFyKShzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpOwo+IAo+IEBAIC0zMDIsNiArMzA4 LDkgQEAgc3RydWN0IGRybV9tb2RlX2NvbmZpZ19mdW5jcyB7Cj4gIAkgKgo+ICAJICogRHJpdmVy cyB0aGF0IGltcGxlbWVudCB0aGlzIG11c3QgY2FsbAo+ICAJICogZHJtX2F0b21pY19zdGF0ZV9k ZWZhdWx0X3JlbGVhc2UoKSB0byByZWxlYXNlIGNvbW1vbiByZXNvdXJjZXMuCj4gKwkgKgo+ICsJ ICogU3ViY2xhc3Npbmcgb2YgJmRybV9hdG9taWNfc3RhdGUgaXMgZGVwcmVjYXRlZCBpbiBmYXZv dXIgb2YgdXNpbmcKPiArCSAqICZkcm1fcHJpdmF0ZV9zdGF0ZSBhbmQgJmRybV9wcml2YXRlX29i ai4KPiAgCSAqLwo+ICAJdm9pZCAoKmF0b21pY19zdGF0ZV9mcmVlKShzdHJ1Y3QgZHJtX2F0b21p Y19zdGF0ZSAqc3RhdGUpOwo+ICB9OwoKLS0gClJlZ2FyZHMsCgpMYXVyZW50IFBpbmNoYXJ0Cgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZngg bWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0 cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK