From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chunming Zhou Subject: Re: [Intel-gfx] [PATCH 03/10] drm/syncobj: add new drm_syncobj_add_point interface v2 Date: Wed, 12 Dec 2018 13:06:06 +0000 Message-ID: <1978f4ca-b3f8-7f38-0704-1313e86e19db@amd.com> References: <20181207155422.15967-1-david1.zhou@amd.com> <20181207155422.15967-3-david1.zhou@amd.com> <20181212104916.GV21184@phenom.ffwll.local> <12badb5a-f2c1-f819-c30a-f274d8a9401b@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: Content-Language: en-US Content-ID: <05212D2A10727542BFAAAB5C8AF98103@namprd12.prod.outlook.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Daniel Vetter , "Zhou, David(ChunMing)" Cc: =?utf-8?B?Q2hyaXN0aWFuIEvDtm5pZw==?= , intel-gfx , dri-devel , "Rakos, Daniel" , amd-gfx list , Jason Ekstrand , "Koenig, Christian" List-Id: dri-devel@lists.freedesktop.org DQrlnKggMjAxOC8xMi8xMiAyMDoyNCwgRGFuaWVsIFZldHRlciDlhpnpgZM6DQo+IE9uIFdlZCwg RGVjIDEyLCAyMDE4IGF0IDEyOjQwIFBNIFpob3UsIERhdmlkKENodW5NaW5nKQ0KPiA8RGF2aWQx Llpob3VAYW1kLmNvbT4gd3JvdGU6DQo+PiArIERhbmllbCBSYWtvcyBhbmQgSmFzb24gRWtzdHJh bmQuDQo+Pg0KPj4gICBCZWxvdyBpcyB0aGUgYmFja2dyb3VuZCwgd2hpY2ggaXMgZnJvbSBEYW5p ZWwgUiBzaG91bGQgIGJlIGFibGUgdG8gZXhwbGFpbiB0aGF0J3Mgd2h5Og0KPj4gIiBJU1ZzLCBl c3BlY2lhbGx5IHRob3NlIGNvbWluZyBmcm9tIEQzRDEyLCBhcmUgdW5zYXRpc2ZpZWQgd2l0aCB0 aGUgYmVoYXZpb3Igb2YgdGhlIFZ1bGthbiBzZW1hcGhvcmVzIGFzIHRoZXkgYXJlIHVuaGFwcHkg d2l0aCB0aGUgZmFjdCB0aGF0IGZvciBldmVyeSBzaW5nbGUgZGVwZW5kZW5jeSB0aGV5IG5lZWQg dG8gdXNlIHNlcGFyYXRlIHNlbWFwaG9yZXMgZHVlIHRvIHRoZWlyIGJpbmFyeSBuYXR1cmUuDQo+ PiBDb21wYXJlZCB0byB0aGF0IGEgc3luY2hyb25pemF0aW9uIHByaW1pdGl2ZSBsaWtlIEQzRDEy IG1vbml0b3JlZCBmZW5jZXMgZW5hYmxlIG9uZSBvZiB0aG9zZSB0byBiZSB1c2VkIHRvIHRyYWNr IGEgc2VxdWVuY2Ugb2Ygb3BlcmF0aW9ucyBieSBzaW1wbHkgYXNzb2NpYXRpbmcgdGltZWxpbmUg dmFsdWVzIHRvIHRoZSBjb21wbGV0aW9uIG9mIGluZGl2aWR1YWwgb3BlcmF0aW9ucy4gVGhpcyBh bGxvd3MgdGhlbSB0byB0cmFjayB0aGUgbGlmZXRpbWUgYW5kIHVzYWdlIG9mIHJlc291cmNlcyBh bmQgdGhlIG9yZGVyZWQgY29tcGxldGlvbiBvZiBzZXF1ZW5jZXMuDQo+PiBCZXNpZGVzIHRoYXQs IHRoZXkgYWxzbyB3YW50IHRvIHVzZSBhIHNpbmdsZSBzeW5jaHJvbml6YXRpb24gcHJpbWl0aXZl IHRvIGJlIGFibGUgdG8gaGFuZGxlIEdQVS10by1HUFUgYW5kIEdQVS10by1DUFUgZGVwZW5kZW5j aWVzLCBjb21wYXJlZCB0byB1c2luZyBzZW1hcGhvcmVzIGZvciB0aGUgZm9ybWVyIGFuZCBmZW5j ZXMgZm9yIHRoZSBsYXR0ZXIuDQo+PiBJbiBhZGRpdGlvbiwgY29tcGFyZWQgdG8gbGVnYWN5IHNl bWFwaG9yZXMsIHRpbWVsaW5lIHNlbWFwaG9yZXMgYXJlIHByb3Bvc2VkIHRvIHN1cHBvcnQgd2Fp dC1iZWZvcmUtc2lnbmFsLCBpLmUuIGFsbG93IGVucXVldWVpbmcgYSBzZW1hcGhvcmUgd2FpdCBv cGVyYXRpb24gd2l0aCBhIHdhaXQgdmFsdWUgdGhhdCBpcyBsYXJnZXIgdGhhbiBhbnkgb2YgdGhl IGFscmVhZHkgZW5xdWV1ZWQgc2lnbmFsIHZhbHVlcy4gVGhpcyBzZWVtcyB0byBiZSBhIGhhcmQg cmVxdWlyZW1lbnQgZm9yIElTVnMuIFdpdGhvdXQgVU1ELXNpZGUgcXVldWUgYmF0Y2hpbmcsIGFu ZCBldmVuIFVNRC1zaWRlIHF1ZXVlIGJhdGNoaW5nIGRvZXNu4oCZdCBoZWxwIHRoZSBzaXR1YXRp b24gd2hlbiBzdWNoIGEgc2VtYXBob3JlIGlzIGV4dGVybmFsbHkgc2hhcmVkIHdpdGggYW5vdGhl ciBBUEkuIFRodXMgaW4gb3JkZXIgdG8gcHJvcGVybHkgc3VwcG9ydCB3YWl0LWJlZm9yZS1zaWdu YWwgdGhlIEtNRCBpbXBsZW1lbnRhdGlvbiBoYXMgdG8gYWxzbyBiZSBhYmxlIHRvIHN1cHBvcnQg c3VjaCBkZXBlbmRlbmNpZXMuDQo+PiAiDQo+IEkgd2FzIHRhbmdldGlhbGx5IGludm9sdmVkIGlu IHRoYXQgd2cgdG9vLCBJIHVuZGVyc3RhbmQgdGhlIG92ZXJhbGwNCj4gdXNlLWNhc2Ugb2Ygdmsg dGltZWxpbmVzLiBJIGRvbid0IHVuZGVyc3RhbmQgdGhlIGV4YWN0IGNvcm5lciBjYXNlDQo+IGhl cmUsIGJlY2F1c2UgSSB3YXNuJ3QgZGVlcGx5IGludm9sdmVkIGluIHRoZSBkZXRhaWxzLg0KDQoN CmFsbCBkZXRhaWxzIGFyZSBoZXJlOiANCmh0dHBzOi8vZ2l0bGFiLmtocm9ub3Mub3JnL3Z1bGth bi92dWxrYW4vbWVyZ2VfcmVxdWVzdHMvMjY5Ng0KDQotRGF2aWQNCg0KPiAtRGFuaWVsDQo+DQo+ PiBCdHcsIHdlIGFscmVhZHkgYWRkIHRlc3QgY2FzZSB0byBpZ3QsIGFuZCB0ZXN0ZWQgYnkgbWFu eSBleGlzdGluZyB0ZXN0LCBsaWtlIGxpYmRybSB1bml0IHRlc3QsIGlndCByZWxhdGVkIHRlc3Qs IHZ1bGthbiBjdHMsIGFuZCBzdGVhbSBnYW1lcy4NCj4+DQo+PiAtRGF2aWQNCj4+PiAtLS0tLU9y aWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPj4+IEZyb206IERhbmllbCBWZXR0ZXIgPGRhbmllbEBmZnds bC5jaD4NCj4+PiBTZW50OiBXZWRuZXNkYXksIERlY2VtYmVyIDEyLCAyMDE4IDc6MTUgUE0NCj4+ PiBUbzogS29lbmlnLCBDaHJpc3RpYW4gPENocmlzdGlhbi5Lb2VuaWdAYW1kLmNvbT4NCj4+PiBD YzogWmhvdSwgRGF2aWQoQ2h1bk1pbmcpIDxEYXZpZDEuWmhvdUBhbWQuY29tPjsgZHJpLWRldmVs IDxkcmktDQo+Pj4gZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnPjsgYW1kLWdmeCBsaXN0IDxh bWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZz47DQo+Pj4gaW50ZWwtZ2Z4IDxpbnRlbC1nZnhA bGlzdHMuZnJlZWRlc2t0b3Aub3JnPjsgQ2hyaXN0aWFuIEvDtm5pZw0KPj4+IDxja29lbmlnLmxl aWNodHp1bWVya2VuQGdtYWlsLmNvbT4NCj4+PiBTdWJqZWN0OiBSZTogW0ludGVsLWdmeF0gW1BB VENIIDAzLzEwXSBkcm0vc3luY29iajogYWRkIG5ldw0KPj4+IGRybV9zeW5jb2JqX2FkZF9wb2lu dCBpbnRlcmZhY2UgdjINCj4+Pg0KPj4+IE9uIFdlZCwgRGVjIDEyLCAyMDE4IGF0IDEyOjA4IFBN IEtvZW5pZywgQ2hyaXN0aWFuDQo+Pj4gPENocmlzdGlhbi5Lb2VuaWdAYW1kLmNvbT4gd3JvdGU6 DQo+Pj4+IEFtIDEyLjEyLjE4IHVtIDExOjQ5IHNjaHJpZWIgRGFuaWVsIFZldHRlcjoNCj4+Pj4+ IE9uIEZyaSwgRGVjIDA3LCAyMDE4IGF0IDExOjU0OjE1UE0gKzA4MDAsIENodW5taW5nIFpob3Ug d3JvdGU6DQo+Pj4+Pj4gRnJvbTogQ2hyaXN0aWFuIEvDtm5pZyA8Y2tvZW5pZy5sZWljaHR6dW1l cmtlbkBnbWFpbC5jb20+DQo+Pj4+Pj4NCj4+Pj4+PiBVc2UgdGhlIGRtYV9mZW5jZV9jaGFpbiBv YmplY3QgdG8gY3JlYXRlIGEgdGltZWxpbmUgb2YgZmVuY2UNCj4+Pj4+PiBvYmplY3RzIGluc3Rl YWQgb2YganVzdCByZXBsYWNpbmcgdGhlIGV4aXN0aW5nIGZlbmNlLg0KPj4+Pj4+DQo+Pj4+Pj4g djI6IHJlYmFzZSBhbmQgY2xlYW51cA0KPj4+Pj4+DQo+Pj4+Pj4gU2lnbmVkLW9mZi1ieTogQ2hy aXN0aWFuIEvDtm5pZyA8Y2hyaXN0aWFuLmtvZW5pZ0BhbWQuY29tPg0KPj4+Pj4gU29tZXdoYXQg anVtcGluZyBiYWNrIGludG8gdGhpcy4gTm90IHN1cmUgd2UgZGlzY3Vzc2VkIHRoaXMgYWxyZWFk eQ0KPj4+Pj4gb3Igbm90LiBJJ20gYSBiaXQgdW5jbGVhciBvbiB3aHkgd2UgaGF2ZSB0byBjaGFp biB0aGUgZmVuY2VzIGluIHRoZQ0KPj4+IHRpbWVsaW5lOg0KPj4+Pj4gLSBUaGUgdGltZWxpbmUg c3R1ZmYgaXMgbW9kZWxsZWQgYWZ0ZXIgdGhlIFdERE0yIG1vbml0b3JlZCBmZW5jZXMuDQo+Pj4g V2hpY2gNCj4+Pj4+ICAgICByZWFsbHkgYXJlIGp1c3QgdTY0IGNvdW50ZXJzIGluIG1lbW9yeSBz b21ld2hlcmUgKEkgdGhpbmsgY291bGQgYmUNCj4+Pj4+ICAgICBzeXN0ZW0gcmFtIG9yIHZyYW0p LiBCZWNhdXNlIFdERE0yIGhhcyB0aGUgbWVtb3J5IG1hbmFnZW1lbnQNCj4+PiBlbnRpcmVseQ0K Pj4+Pj4gICAgIHNlcGFyYXRlZCBmcm9tIHJlbmRlcmluZyBzeW5jaHJvbml6YXRpb24gaXQgdG90 YWxseSBhbGxvd3MgdXNlcnNwYWNlIHRvDQo+Pj4+PiAgICAgY3JlYXRlIGxvb3BzIGFuZCBkZWFk bG9ja3MgYW5kIGV2ZXJ5dGhpbmcgZWxzZSBuYXN0eSB1c2luZyB0aGlzIC0gdGhlDQo+Pj4+PiAg ICAgbWVtb3J5IG1hbmFnZXIgd29uJ3QgZGVhZGxvY2sgYmVjYXVzZSB0aGVzZSBtb25pdG9yZWQg ZmVuY2VzDQo+Pj4gbmV2ZXIgbGVhaw0KPj4+Pj4gICAgIGludG8gdGhlIGJ1ZmZlciBtYW5hZ2Vy LiBBbmQgaWYgQ1MgZGVhZGxvY2ssIGdwdSByZXNldCB0YWtlcyBjYXJlIG9mIHRoZQ0KPj4+Pj4g ICAgIG1lc3MuDQo+Pj4+Pg0KPj4+Pj4gLSBUaGlzIGhhcyBhIGZldyBjb25zZXF1ZW5jZXMsIGFz IGluIHRoZXkgc2VlbSB0byBpbmRlZWQgd29yayBsaWtlIGENCj4+Pj4+ICAgICBtZW1vcnkgbG9j YXRpb246IFVzZXJzcGFjZSBpbmNyZW1lbnRpbmcgb3V0LW9mLW9yZGVyIChiZWNhdXNlIHRoZXkN Cj4+PiBydW4NCj4+Pj4+ICAgICBiYXRjaGVzIHVwZGF0aW5nIHRoZSBzYW1lIGZlbmNlIG9uIGRp ZmZlcmVudCBlbmdpbmVzKSBpcyB0b3RhbGx5IGZpbmUsDQo+Pj4+PiAgICAgYXMgaXMgZG9pbmcg YW55dGhpbmcgZWxzZSAic3R1cGlkIi4NCj4+Pj4+DQo+Pj4+PiAtIE5vdyBvbiBsaW51eCB3ZSBj YW4ndCBhbGxvdyBhbnl0aGluZywgYmVjYXVzZSB3ZSBuZWVkIHRvIG1ha2Ugc3VyZQ0KPj4+IHRo YXQNCj4+Pj4+ICAgICBkZWFkbG9ja3MgZG9uJ3QgbGVhayBpbnRvIHRoZSBtZW1vcnkgbWFuYWdl ci4gQnV0IGFzIGxvbmcgYXMgd2UgYmxvY2sNCj4+Pj4+ICAgICB1bnRpbCB0aGUgdW5kZXJseWlu ZyBkbWFfZmVuY2UgaGFzIG1hdGVyaWFsaXplZCwgbm90aGluZyB1c2Vyc3BhY2UgY2FuDQo+Pj4+ PiAgICAgZG8gd2lsbCBsZWFkIHRvIHN1Y2ggYSBkZWFkbG9jay4gRXZlbiBpZiB1c2Vyc3BhY2Ug ZW5kcyB1cCBzdWJtaXR0aW5nDQo+Pj4+PiAgICAgam9icyB3aXRob3V0IGVub3VnaCBidWlsdC1p biBzeW5jaHJvbml6YXRpb24sIGxlYWRpbmcgdG8gb3V0LW9mLW9yZGVyDQo+Pj4+PiAgICAgc2ln bmFsbGluZyBvZiBmZW5jZXMgb24gdGhhdCAidGltZWxpbmUiLiBBbmQgSSBkb24ndCB0aGluayB0 aGF0IHdvdWxkDQo+Pj4+PiAgICAgcG9zZSBhIHByb2JsZW0gZm9yIHVzLg0KPj4+Pj4NCj4+Pj4+ IEVzc2VudGlhbGx5IEkgdGhpbmsgd2UgY2FuIGxvb2sgYXQgdGltZWxpbmUgc3luY29iaiBhcyBh IGRtYV9mZW5jZQ0KPj4+Pj4gY29udGFpbmVyIGluZGV4ZWQgdGhyb3VnaCBhbiBpbnRlZ2VyLCBh bmQgdGhlcmUncyBubyBuZWVkIHRvIGVuZm9yY2UNCj4+Pj4+IHRoYXQgdGhlIHRpbWxpbmUgd29y a3MgbGlrZSBhIHJlYWwgZG1hX2ZlbmNlIHRpbWVsaW5lLCB3aXRoIGFsbCBpdCdzDQo+Pj4+PiBn dWFyYW50ZWVzLiBJdCdzIGp1c3QgYSBwaWxlIG9mIChwb3NzaWJseSwgaWYgdXNlcnNwYWNlIGlz IHN0dXBpZCkNCj4+Pj4+IHVucmVsYXRlZCBkbWFfZmVuY2VzLiBZb3UgY291bGQgaW1wbGVtZW50 IHRoZSBlbnRpcmUgdGhpbmcgaW4NCj4+Pj4+IHVzZXJzcGFjZSBhZnRlciBhbGwsIGV4Y2VwdCBm b3IgdGhlICJ3ZSB3YW50IHRvIHNoYXJlIHRoZXNlIHRpbWVsaW5lDQo+Pj4+PiBvYmplY3RzIGJl dHdlZW4gcHJvY2Vzc2VzIiBwcm9ibGVtLg0KPj4+Pj4NCj4+Pj4+IHRsZHI7IEkgdGhpbmsgd2Ug Y2FuIGRyb3AgdGhlIGRtYV9mZW5jZV9jaGFpbiBjb21wbGV4aXR5IGNvbXBsZXRlbHkuDQo+Pj4+ PiBPciBhdCBsZWFzdCBJJ20gbm90IHJlYWxseSB1bmRlcnN0YW5kaW5nIHdoeSBpdCdzIG5lZWRl ZC4NCj4+Pj4+DQo+Pj4+PiBPZiBjb3Vyc2UgdGhhdCBtZWFucyBkcml2ZXJzIGNhbm5vdCB0cmVh dCBhIGRybV9zeW5jb2JqIHRpbWVsaW5lIGFzDQo+Pj4+PiBhIGRtYV9mZW5jZSB0aW1lbGluZS4g QnV0IGdpdmVuIHRoZSBmdXR1cmUgZmVuY2VzIHN0dWZmIGFuZCBhbGwNCj4+Pj4+IHRoYXQsIHRo YXQncyBhbHJlYWR5IG91dCBvZiB0aGUgd2luZG93IGFueXdheS4NCj4+Pj4+DQo+Pj4+PiBXaGF0 IGFtIEkgbWlzc2luZz8NCj4+Pj4gR29vZCBxdWVzdGlvbiwgc2luY2UgdGhhdCB3YXMgZXhhY3Rs eSBteSBpbml0aWFsIGlkZWEgYXMgd2VsbC4NCj4+Pj4NCj4+Pj4gS2V5IHBvaW50IGlzIHRoYXQg b3VyIFZ1bGNhbiBndXlzIGNhbWUgYmFjayBhbmQgc2FpZCB0aGF0IHRoaXMNCj4+Pj4gd291bGRu J3QgYmUgc3VmZmljaWVudCwgYnV0IEkgaG9uZXN0bHkgZG9uJ3QgZnVsbHkgdW5kZXJzdGFuZCB3 aHkuDQo+Pj4gSG0sIHNvdW5kcyBsaWtlIHdlIHJlYWxseSBuZWVkIHRob3NlIHRlc3RzY2FzZXMg KHZrIGN0cyBvbiB0b3Agb2YgbWVzYSwgaWd0KQ0KPj4+IHNvIHdlIGNhbiB0YWxrIGFib3V0IHRo ZSBleGFjdCBjb3JuZXIgY2FzZXMgd2UgY2FyZSBhYm91dCBhbmQgd2h5Lg0KPj4+DQo+Pj4gSSBn dWVzcyBvbmUgdGhpbmcgdGhhdCBtaWdodCBoYXBwZW4gaXMgdGhhdCB1c2Vyc3BhY2UgbGVhdmVz IG91dCBhIG51bWJlcg0KPj4+IGFuZCBuZXZlciBzZXRzIHRoYXQgZmVuY2UsIHJlbHlpbmcgb24g dGhlID49IHNlbWFudGljcyBvZiB0aGUgbW9uaXRvcmVkDQo+Pj4gZmVuY2UgdG8gdW5ibG9jayB0 aGF0IHRocmVhZC4gRS5nLiB3aGVuIHNraXBwaW5nIGEgZnJhbWUgaW4gb25lIG9mIHRoZQ0KPj4+ IGF1eGlsaWFyeSB3b3JrbG9hZHMuIEZvciB0aGF0IGNhc2Ugd2UnZCBuZWVkIHRvIG1ha2Ugc3Vy ZSB3ZSBkb24ndCBqdXN0IHdhaXQNCj4+PiBmb3IgdGhlIGdpdmVuIGZlbmNlIHRvIG1hdGVyaWFs aXplLCBidXQgYWxzbyBhbnkgZmVuY2VzIGxhdGVyIGluIHRoZSB0aW1lbGluZS4NCj4+Pg0KPj4+ IEJ1dCB3ZSBjYW4ndCBkZWNpZGUgdGhhdCB3aXRob3V0IHVuZGVyc3RhbmRpbmcgdGhlIGFjdHVh bCB1c2UtY2FzZSB0aGF0DQo+Pj4gbmVlZHMgdG8gYmUgc3VwcG9ydGVkIGF0IHRoZSBvdGhlciBl bmQgb2YgdGhlIHN0YWNrLCBhbmQgaG93IGFsbCB0aGUgYml0cyBpbg0KPj4+IGJldHdlZW4gc2hv dWxkIGxvb2sgbGlrZS4NCj4+Pg0KPj4+IEkgZ3Vlc3Mgd2UncmUgYmFjayB0byAidWFwaSBkZXNp Z24gd2l0aG91dCB1c2Vyc3BhY2UgZG9lc24ndCBtYWtlIHNlbnNlIiAuLi4NCj4+Pg0KPj4+PiBB bnl3YXkgdGhhdCdzIHdoeSBEYXZpZCBjYW1lIHVwIHdpdGggdXNpbmcgdGhlIGZlbmNlIGFycmF5 IHRvIHdhaXQgZm9yDQo+Pj4+IGFsbCBwcmV2aW91c2x5IGFkZGVkIGZlbmNlcywgd2hpY2ggSSB0 aGVuIGxhdGVyIG9uIGV4dGVuZGVkIGludG8gdGhpcw0KPj4+PiBjaGFpbiBjb250YWluZXIuDQo+ Pj4+DQo+Pj4+IEkgaGF2ZSB0byBhZG1pdCB0aGF0IGl0IGlzIHdheSBtb3JlIGRlZmVuc2l2ZSBp bXBsZW1lbnRlZCB0aGlzIHdheS4gRS5nLg0KPj4+PiB0aGVyZSBpcyBtdWNoIGZld2VyIHRoaW5n cyB1c2Vyc3BhY2UgY2FuIGRvIHdyb25nLg0KPj4+Pg0KPj4+PiBUaGUgcHJpbmNpcGFsIGlkZWEg aXMgdGhhdCB3aGVuIHRoZXkgbWVzcyB0aGluZ3MgdXAgdGhleSBhcmUgYWx3YXlzDQo+Pj4+IGdv aW5nIHRvIHdhaXQgbW9yZSB0aGFuIG5lY2Vzc2FyeSwgYnV0IG5ldmVyIGxlc3MuDQo+Pj4gVGhh dCBzZWVtcyBhZ2FpbnN0IHRoZSBzcGlyaXQgb2YgdnVsa2FuLCB3aGljaCBpcyB2ZXJ5IG11Y2gg YWJvdXQgInlvdSBnZXQgYWxsDQo+Pj4gdGhlIHBpZWNlcyIuIEl0IGFsc28gbWlnaHQgZGlnIHVz IGEgaG9sZSBpbiB0aGUgZnV0dXJlLCBpZiB3ZSBldmVyIGdldCBhcm91bmQgdG8NCj4+PiBtb3Zp bmcgdG93YXJkcyBhIFdERE0yIHN0eWxlIG1lbW9yeSBtYW5hZ2VtZW50IG1vZGVsLiBGb3IgZnV0 dXJlDQo+Pj4gcHJvdmluZyBJIHRoaW5rIGl0IHdvdWxkIG1ha2Ugc2Vuc2UgaWYgd2UgaW1wbGVt ZW50IHRoZSBtaW5pbWFsIHVhcGkgd2UNCj4+PiBuZWVkIGZvciB2ayB0aW1lbGluZXMsIG5vdCB0 aGUgc3RyaWN0ZXN0IGd1YXJhbnRlZXMgd2UgY2FuIGdldCBhd2F5IHdpdGgNCj4+PiAod2l0aG91 dCBwZXJmb3JtYW5jZSBpbXBhY3QpIHdpdGggY3VycmVudCBkcml2ZXJzLg0KPj4+IC1EYW5pZWwN Cj4+Pg0KPj4+DQo+Pj4+IENocmlzdGlhbi4NCj4+Pj4NCj4+Pj4+IC1EYW5pZWwNCj4+Pj4+DQo+ Pj4+Pj4gLS0tDQo+Pj4+Pj4gICAgZHJpdmVycy9ncHUvZHJtL2RybV9zeW5jb2JqLmMgfCAzNw0K Pj4+ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrDQo+Pj4+Pj4gICAgaW5jbHVk ZS9kcm0vZHJtX3N5bmNvYmouaCAgICAgfCAgNSArKysrKw0KPj4+Pj4+ICAgIDIgZmlsZXMgY2hh bmdlZCwgNDIgaW5zZXJ0aW9ucygrKQ0KPj4+Pj4+DQo+Pj4+Pj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9kcm1fc3luY29iai5jDQo+Pj4+Pj4gYi9kcml2ZXJzL2dwdS9kcm0vZHJtX3N5 bmNvYmouYyBpbmRleCBlMTk1MjVhZjBjY2UuLjUxZjc5OGUyMTk0Zg0KPj4+Pj4+IDEwMDY0NA0K Pj4+Pj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fc3luY29iai5jDQo+Pj4+Pj4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL2RybV9zeW5jb2JqLmMNCj4+Pj4+PiBAQCAtMTIyLDYgKzEyMiw0MyBA QCBzdGF0aWMgdm9pZCBkcm1fc3luY29ial9yZW1vdmVfd2FpdChzdHJ1Y3QNCj4+PiBkcm1fc3lu Y29iaiAqc3luY29iaiwNCj4+Pj4+PiAgICAgICBzcGluX3VubG9jaygmc3luY29iai0+bG9jayk7 DQo+Pj4+Pj4gICAgfQ0KPj4+Pj4+DQo+Pj4+Pj4gKy8qKg0KPj4+Pj4+ICsgKiBkcm1fc3luY29i al9hZGRfcG9pbnQgLSBhZGQgbmV3IHRpbWVsaW5lIHBvaW50IHRvIHRoZSBzeW5jb2JqDQo+Pj4+ Pj4gKyAqIEBzeW5jb2JqOiBzeW5jIG9iamVjdCB0byBhZGQgdGltZWxpbmUgcG9pbnQgZG8NCj4+ Pj4+PiArICogQGNoYWluOiBjaGFpbiBub2RlIHRvIHVzZSB0byBhZGQgdGhlIHBvaW50DQo+Pj4+ Pj4gKyAqIEBmZW5jZTogZmVuY2UgdG8gZW5jYXBzdWxhdGUgaW4gdGhlIGNoYWluIG5vZGUNCj4+ Pj4+PiArICogQHBvaW50OiBzZXF1ZW5jZSBudW1iZXIgdG8gdXNlIGZvciB0aGUgcG9pbnQNCj4+ Pj4+PiArICoNCj4+Pj4+PiArICogQWRkIHRoZSBjaGFpbiBub2RlIGFzIG5ldyB0aW1lbGluZSBw b2ludCB0byB0aGUgc3luY29iai4NCj4+Pj4+PiArICovDQo+Pj4+Pj4gK3ZvaWQgZHJtX3N5bmNv YmpfYWRkX3BvaW50KHN0cnVjdCBkcm1fc3luY29iaiAqc3luY29iaiwNCj4+Pj4+PiArICAgICAg ICAgICAgICAgICAgICAgICBzdHJ1Y3QgZG1hX2ZlbmNlX2NoYWluICpjaGFpbiwNCj4+Pj4+PiAr ICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgZG1hX2ZlbmNlICpmZW5jZSwNCj4+Pj4+PiAr ICAgICAgICAgICAgICAgICAgICAgICB1aW50NjRfdCBwb2ludCkgew0KPj4+Pj4+ICsgICAgc3Ry dWN0IHN5bmNvYmpfd2FpdF9lbnRyeSAqY3VyLCAqdG1wOw0KPj4+Pj4+ICsgICAgc3RydWN0IGRt YV9mZW5jZSAqcHJldjsNCj4+Pj4+PiArDQo+Pj4+Pj4gKyAgICBkbWFfZmVuY2VfZ2V0KGZlbmNl KTsNCj4+Pj4+PiArDQo+Pj4+Pj4gKyAgICBzcGluX2xvY2soJnN5bmNvYmotPmxvY2spOw0KPj4+ Pj4+ICsNCj4+Pj4+PiArICAgIHByZXYgPSByY3VfZGVyZWZlcmVuY2VfcHJvdGVjdGVkKHN5bmNv YmotPmZlbmNlLA0KPj4+Pj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg bG9ja2RlcF9pc19oZWxkKCZzeW5jb2JqLT5sb2NrKSk7DQo+Pj4+Pj4gKyAgICBkbWFfZmVuY2Vf Y2hhaW5faW5pdChjaGFpbiwgcHJldiwgZmVuY2UsIHBvaW50KTsNCj4+Pj4+PiArICAgIHJjdV9h c3NpZ25fcG9pbnRlcihzeW5jb2JqLT5mZW5jZSwgJmNoYWluLT5iYXNlKTsNCj4+Pj4+PiArDQo+ Pj4+Pj4gKyAgICBsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUoY3VyLCB0bXAsICZzeW5jb2JqLT5j Yl9saXN0LCBub2RlKSB7DQo+Pj4+Pj4gKyAgICAgICAgICAgIGxpc3RfZGVsX2luaXQoJmN1ci0+ bm9kZSk7DQo+Pj4+Pj4gKyAgICAgICAgICAgIHN5bmNvYmpfd2FpdF9zeW5jb2JqX2Z1bmMoc3lu Y29iaiwgY3VyKTsNCj4+Pj4+PiArICAgIH0NCj4+Pj4+PiArICAgIHNwaW5fdW5sb2NrKCZzeW5j b2JqLT5sb2NrKTsNCj4+Pj4+PiArDQo+Pj4+Pj4gKyAgICAvKiBXYWxrIHRoZSBjaGFpbiBvbmNl IHRvIHRyaWdnZXIgZ2FyYmFnZSBjb2xsZWN0aW9uICovDQo+Pj4+Pj4gKyAgICBkbWFfZmVuY2Vf Y2hhaW5fZm9yX2VhY2gocHJldiwgZmVuY2UpOyB9DQo+Pj4+Pj4gK0VYUE9SVF9TWU1CT0woZHJt X3N5bmNvYmpfYWRkX3BvaW50KTsNCj4+Pj4+PiArDQo+Pj4+Pj4gICAgLyoqDQo+Pj4+Pj4gICAg ICogZHJtX3N5bmNvYmpfcmVwbGFjZV9mZW5jZSAtIHJlcGxhY2UgZmVuY2UgaW4gYSBzeW5jIG9i amVjdC4NCj4+Pj4+PiAgICAgKiBAc3luY29iajogU3luYyBvYmplY3QgdG8gcmVwbGFjZSBmZW5j ZSBpbiBkaWZmIC0tZ2l0DQo+Pj4+Pj4gYS9pbmNsdWRlL2RybS9kcm1fc3luY29iai5oIGIvaW5j bHVkZS9kcm0vZHJtX3N5bmNvYmouaCBpbmRleA0KPj4+Pj4+IDdjNmVkODQ1YzcwZC4uOGFjYjRh ZTRmMzExIDEwMDY0NA0KPj4+Pj4+IC0tLSBhL2luY2x1ZGUvZHJtL2RybV9zeW5jb2JqLmgNCj4+ Pj4+PiArKysgYi9pbmNsdWRlL2RybS9kcm1fc3luY29iai5oDQo+Pj4+Pj4gQEAgLTI3LDYgKzI3 LDcgQEANCj4+Pj4+PiAgICAjZGVmaW5lIF9fRFJNX1NZTkNPQkpfSF9fDQo+Pj4+Pj4NCj4+Pj4+ PiAgICAjaW5jbHVkZSAibGludXgvZG1hLWZlbmNlLmgiDQo+Pj4+Pj4gKyNpbmNsdWRlICJsaW51 eC9kbWEtZmVuY2UtY2hhaW4uaCINCj4+Pj4+Pg0KPj4+Pj4+ICAgIC8qKg0KPj4+Pj4+ICAgICAq IHN0cnVjdCBkcm1fc3luY29iaiAtIHN5bmMgb2JqZWN0Lg0KPj4+Pj4+IEBAIC0xMTAsNiArMTEx LDEwIEBAIGRybV9zeW5jb2JqX2ZlbmNlX2dldChzdHJ1Y3QgZHJtX3N5bmNvYmoNCj4+Pj4+PiAq c3luY29iaikNCj4+Pj4+Pg0KPj4+Pj4+ICAgIHN0cnVjdCBkcm1fc3luY29iaiAqZHJtX3N5bmNv YmpfZmluZChzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdmF0ZSwNCj4+Pj4+PiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHUzMiBoYW5kbGUpOw0KPj4+Pj4+ICt2b2lkIGRybV9z eW5jb2JqX2FkZF9wb2ludChzdHJ1Y3QgZHJtX3N5bmNvYmogKnN5bmNvYmosDQo+Pj4+Pj4gKyAg ICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGRtYV9mZW5jZV9jaGFpbiAqY2hhaW4sDQo+Pj4+ Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGRtYV9mZW5jZSAqZmVuY2UsDQo+Pj4+ Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgdWludDY0X3QgcG9pbnQpOw0KPj4+Pj4+ICAgIHZv aWQgZHJtX3N5bmNvYmpfcmVwbGFjZV9mZW5jZShzdHJ1Y3QgZHJtX3N5bmNvYmogKnN5bmNvYmos DQo+Pj4+Pj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgZG1hX2ZlbmNlICpm ZW5jZSk7DQo+Pj4+Pj4gICAgaW50IGRybV9zeW5jb2JqX2ZpbmRfZmVuY2Uoc3RydWN0IGRybV9m aWxlICpmaWxlX3ByaXZhdGUsDQo+Pj4+Pj4gLS0NCj4+Pj4+PiAyLjE3LjENCj4+Pj4+Pg0KPj4+ Pj4+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQo+Pj4+ Pj4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdA0KPj4+Pj4+IEludGVsLWdmeEBsaXN0cy5mcmVlZGVz a3RvcC5vcmcNCj4+Pj4+PiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2ludGVsLWdmeA0KPj4+DQo+Pj4gLS0NCj4+PiBEYW5pZWwgVmV0dGVyDQo+Pj4gU29m dHdhcmUgRW5naW5lZXIsIEludGVsIENvcnBvcmF0aW9uDQo+Pj4gKzQxICgwKSA3OSAzNjUgNTcg NDggLSBodHRwOi8vYmxvZy5mZndsbC5jaA0KPg0KPg0KX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxA bGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxt YW4vbGlzdGluZm8vZHJpLWRldmVsCg==