From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniele Ceraolo Spurio Subject: Re: [PATCH v2 09/22] drm/i915/guc: Update GuC ADS object definition Date: Fri, 12 Apr 2019 18:16:49 -0700 Message-ID: References: <20190411084436.24384-1-michal.wajdeczko@intel.com> <20190411084436.24384-10-michal.wajdeczko@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by gabe.freedesktop.org (Postfix) with ESMTPS id 8A89F89312 for ; Sat, 13 Apr 2019 01:16:53 +0000 (UTC) In-Reply-To: <20190411084436.24384-10-michal.wajdeczko@intel.com> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Michal Wajdeczko , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org CgpPbiA0LzExLzE5IDE6NDQgQU0sIE1pY2hhbCBXYWpkZWN6a28gd3JvdGU6Cj4gTmV3IEd1QyBm aXJtd2FyZXMgdXNlIHVwZGF0ZWQgZGVmaW5pdGlvbnMgZm9yIHRoZSBBZGRpdGlvbmFsIERhdGEK PiBTdHJ1Y3R1cmVzIChBRFMpLgo+IAo+IFNpZ25lZC1vZmYtYnk6IE1pY2hhbCBXYWpkZWN6a28g PG1pY2hhbC53YWpkZWN6a29AaW50ZWwuY29tPgo+IFNpZ25lZC1vZmYtYnk6IERhbmllbGUgQ2Vy YW9sbyBTcHVyaW8gPGRhbmllbGUuY2VyYW9sb3NwdXJpb0BpbnRlbC5jb20+Cj4gU2lnbmVkLW9m Zi1ieTogRmVybmFuZG8gUGFjaGVjbyA8ZmVybmFuZG8ucGFjaGVjb0BpbnRlbC5jb20+Cj4gQ2M6 IEpvb25hcyBMYWh0aW5lbiA8am9vbmFzLmxhaHRpbmVuQGxpbnV4LmludGVsLmNvbT4KPiBDYzog Sm9obiBTcG90c3dvb2QgPGpvaG4uYS5zcG90c3dvb2RAaW50ZWwuY29tPgo+IENjOiBUb21hc3og TGlzIDx0b21hc3oubGlzQGludGVsLmNvbT4KPiAtLS0KPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2VuZ2luZV9jcy5jICB8ICA1ICsrCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9ndWNfYWRzLmMgICAgfCA5NCArKysrKysrKysrKysrKystLS0tLS0tLS0tCj4gICBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9ndWNfZndpZi5oICAgfCA4OSArKysrKysrKysrKysrLS0tLS0t LS0tLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oIHwgIDIgKwo+ ICAgNCBmaWxlcyBjaGFuZ2VkLCAxMTcgaW5zZXJ0aW9ucygrKSwgNzMgZGVsZXRpb25zKC0pCj4g Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2VuZ2luZV9jcy5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZW5naW5lX2NzLmMKPiBpbmRleCBlZWE5YmVjMDRm MWIuLjJhNGQxNTI3ZTE3MSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9lbmdpbmVfY3MuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2VuZ2luZV9j cy5jCj4gQEAgLTIzMSw2ICsyMzEsMTEgQEAgX19pbnRlbF9lbmdpbmVfY29udGV4dF9zaXplKHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgdTggY2xhc3MpCj4gICAJfQo+ICAgfQo+ ICAgCj4gK3UzMiBpbnRlbF9jbGFzc19jb250ZXh0X3NpemUoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2LCB1OCBjbGFzcykKPiArewo+ICsJcmV0dXJuIF9faW50ZWxfZW5naW5lX2Nv bnRleHRfc2l6ZShkZXZfcHJpdiwgY2xhc3MpOwo+ICt9Cj4gKwoKQW55IHJlYXNvbiBub3QgdG8g anVzdCByZW5hbWUgX19pbnRlbF9lbmdpbmVfY29udGV4dF9zaXplIHRvIAppbnRlbF9jbGFzc19j b250ZXh0X3NpemU/Cgo+ICAgc3RhdGljIHUzMiBfX2VuZ2luZV9tbWlvX2Jhc2Uoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmk5MTUsCj4gICAJCQkgICAgICBjb25zdCBzdHJ1Y3QgZW5naW5lX21t aW9fYmFzZSAqYmFzZXMpCj4gICB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2d1Y19hZHMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Y19hZHMuYwo+ IGluZGV4IGJlYzYyZjM0YjE1YS4uYWJhYjVjYjY5MDlhIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2d1Y19hZHMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2d1Y19hZHMuYwo+IEBAIC01MSw3ICs1MSw3IEBAIHN0YXRpYyB2b2lkIGd1Y19wb2xp Y2llc19pbml0KHN0cnVjdCBndWNfcG9saWNpZXMgKnBvbGljaWVzKQoKUG9zc2libGUgZnV0dXJl IGltcHJvdmVtZW50OiB0aGUgZGVmcyBzYXkgdGhhdCB0aGUgcG9saWNpZXMgcGFnZSBkb2Vzbid0 IApuZWVkIHRvIGJlIGtlcHQgaW4gbWVtb3J5IGJlY2F1c2UgaXQgaXMgY29waWVkIGR1cmluZyBs b2FkLCBzbyB3ZSBjb3VsZCAKcmVsZWFzZSBpdCBhZnRlciBsb2FkLiBJdCBhbHNvIHNheXMgdGhh dCB0aGUgZGVmYXVsdCB2YWx1ZXMgKHdoaWNoIEkgCmJlbGlldmUgYXJlIHdoYXQgd2UncmUgc2V0 dGluZykgYXJlIGF1dG9tYXRpY2FsbHkgdXNlZCBpZiB0aGUgcGFnZSBpcyAKbm90IHNldCwgc28g d2UgY291bGQganVzdCBnZXQgcmlkIG9mIHRoaXMgdW50aWwgd2UgbmVlZCBhIGN1c3RvbWl6ZWQg CnZhbHVlLCBidXQgSSdtIG5vdCBzdXJlIHdlIHdhbnQgdG8gZ28gdHJvdWdoIHRoZSBjaHVybi4K Cj4gICAJcG9saWNpZXMtPm1heF9udW1fd29ya19pdGVtcyA9IFBPTElDWV9NQVhfTlVNX1dJOwo+ ICAgCj4gICAJZm9yIChwID0gMDsgcCA8IEdVQ19DTElFTlRfUFJJT1JJVFlfTlVNOyBwKyspIHsK PiAtCQlmb3IgKGkgPSBHVUNfUkVOREVSX0VOR0lORTsgaSA8IEdVQ19NQVhfRU5HSU5FU19OVU07 IGkrKykgewo+ICsJCWZvciAoaSA9IDA7IGkgPCBHVUNfTUFYX0VOR0lORV9DTEFTU0VTOyBpKysp IHsKPiAgIAkJCXBvbGljeSA9ICZwb2xpY2llcy0+cG9saWN5W3BdW2ldOwo+ICAgCj4gICAJCQln dWNfcG9saWN5X2luaXQocG9saWN5KTsKPiBAQCAtNjEsNiArNjEsMTEgQEAgc3RhdGljIHZvaWQg Z3VjX3BvbGljaWVzX2luaXQoc3RydWN0IGd1Y19wb2xpY2llcyAqcG9saWNpZXMpCj4gICAJcG9s aWNpZXMtPmlzX3ZhbGlkID0gMTsKPiAgIH0KPiAgIAo+ICtzdGF0aWMgdm9pZCBndWNfY3RfcG9v bF9lbnRyaWVzX2luaXQoc3RydWN0IGd1Y19jdF9wb29sX2VudHJ5ICpwb29sLCB1MzIgbnVtKQo+ ICt7Cj4gKwltZW1zZXQocG9vbCwgMCwgbnVtICogc2l6ZW9mKCpwb29sKSk7Cj4gK30KPiArCj4g ICAvKgo+ICAgICogVGhlIGZpcnN0IDgwIGR3b3JkcyBvZiB0aGUgcmVnaXN0ZXIgc3RhdGUgY29u dGV4dCwgY29udGFpbmluZyB0aGUKPiAgICAqIGV4ZWNsaXN0cyBhbmQgcHBndHQgcmVnaXN0ZXJz Lgo+IEBAIC03NSwyMCArODAsMjEgQEAgc3RhdGljIHZvaWQgZ3VjX3BvbGljaWVzX2luaXQoc3Ry dWN0IGd1Y19wb2xpY2llcyAqcG9saWNpZXMpCj4gICBpbnQgaW50ZWxfZ3VjX2Fkc19jcmVhdGUo c3RydWN0IGludGVsX2d1YyAqZ3VjKQo+ICAgewo+ICAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiA9IGd1Y190b19pOTE1KGd1Yyk7Cj4gLQlzdHJ1Y3QgaTkxNV92bWEgKnZtYSwg Kmtlcm5lbF9jdHhfdm1hOwo+IC0Jc3RydWN0IHBhZ2UgKnBhZ2U7Cj4gKwlzdHJ1Y3QgaTkxNV92 bWEgKnZtYTsKPiAgIAkvKiBUaGUgYWRzIG9iaiBpbmNsdWRlcyB0aGUgc3RydWN0IGl0c2VsZiBh bmQgYnVmZmVycyBwYXNzZWQgdG8gR3VDICovCj4gICAJc3RydWN0IHsKPiAgIAkJc3RydWN0IGd1 Y19hZHMgYWRzOwo+ICAgCQlzdHJ1Y3QgZ3VjX3BvbGljaWVzIHBvbGljaWVzOwo+ICAgCQlzdHJ1 Y3QgZ3VjX21taW9fcmVnX3N0YXRlIHJlZ19zdGF0ZTsKPiArCQlzdHJ1Y3QgZ3VjX2d0X3N5c3Rl bV9pbmZvIHN5c3RlbV9pbmZvOwo+ICsJCXN0cnVjdCBndWNfY2xpZW50c19pbmZvIGNsaWVudHNf aW5mbzsKPiArCQlzdHJ1Y3QgZ3VjX2N0X3Bvb2xfZW50cnkgY3RfcG9vbFtHVUNfQ1RfUE9PTF9T SVpFXTsKPiAgIAkJdTggcmVnX3N0YXRlX2J1ZmZlcltHVUNfUzNfU0FWRV9TUEFDRV9QQUdFUyAq IFBBR0VfU0laRV07Cj4gICAJfSBfX3BhY2tlZCAqYmxvYjsKPiAtCXN0cnVjdCBpbnRlbF9lbmdp bmVfY3MgKmVuZ2luZTsKPiAtCWVudW0gaW50ZWxfZW5naW5lX2lkIGlkOwo+IC0JY29uc3QgdTMy IHNraXBwZWRfb2Zmc2V0ID0gTFJDX0hFQURFUl9QQUdFUyAqIFBBR0VfU0laRTsKPiAgIAljb25z dCB1MzIgc2tpcHBlZF9zaXplID0gTFJDX1BQSFdTUF9TWiAqIFBBR0VfU0laRSArIExSX0hXX0NP TlRFWFRfU0laRTsKPiAgIAl1MzIgYmFzZTsKPiArCXU4IGVuZ2luZV9jbGFzczsKPiArCWludCBy ZXQ7Cj4gICAKPiAgIAlHRU1fQlVHX09OKGd1Yy0+YWRzX3ZtYSk7Cj4gICAKPiBAQCAtOTgsNTEg KzEwNCw2NyBAQCBpbnQgaW50ZWxfZ3VjX2Fkc19jcmVhdGUoc3RydWN0IGludGVsX2d1YyAqZ3Vj KQo+ICAgCj4gICAJZ3VjLT5hZHNfdm1hID0gdm1hOwo+ICAgCj4gLQlwYWdlID0gaTkxNV92bWFf Zmlyc3RfcGFnZSh2bWEpOwo+IC0JYmxvYiA9IGttYXAocGFnZSk7Cj4gKwlibG9iID0gaTkxNV9n ZW1fb2JqZWN0X3Bpbl9tYXAoZ3VjLT5hZHNfdm1hLT5vYmosIEk5MTVfTUFQX1dCKTsKPiArCWlm IChJU19FUlIoYmxvYikpIHsKPiArCQlyZXQgPSBQVFJfRVJSKGJsb2IpOwo+ICsJCWdvdG8gZXJy X3ZtYTsKPiArCX0KPiAgIAo+ICAgCS8qIEd1QyBzY2hlZHVsaW5nIHBvbGljaWVzICovCj4gICAJ Z3VjX3BvbGljaWVzX2luaXQoJmJsb2ItPnBvbGljaWVzKTsKPiAgIAo+IC0JLyogTU1JTyByZWcg c3RhdGUgKi8KPiAtCWZvcl9lYWNoX2VuZ2luZShlbmdpbmUsIGRldl9wcml2LCBpZCkgewo+IC0J CWJsb2ItPnJlZ19zdGF0ZS53aGl0ZV9saXN0W2VuZ2luZS0+Z3VjX2lkXS5tbWlvX3N0YXJ0ID0K PiAtCQkJZW5naW5lLT5tbWlvX2Jhc2UgKyBHVUNfTU1JT19XSElURV9MSVNUX1NUQVJUOwo+IC0K PiAtCQkvKiBOb3RoaW5nIHRvIGJlIHNhdmVkIG9yIHJlc3RvcmVkIGZvciBub3cuICovCj4gLQkJ YmxvYi0+cmVnX3N0YXRlLndoaXRlX2xpc3RbZW5naW5lLT5ndWNfaWRdLmNvdW50ID0gMDsKPiAt CX0KPiAtCj4gICAJLyoKPiAtCSAqIFRoZSBHdUMgcmVxdWlyZXMgYSAiR29sZGVuIENvbnRleHQi IHdoZW4gaXQgcmVpbml0aWFsaXNlcwo+IC0JICogZW5naW5lcyBhZnRlciBhIHJlc2V0LiBIZXJl IHdlIHVzZSB0aGUgUmVuZGVyIHJpbmcgZGVmYXVsdAo+IC0JICogY29udGV4dCwgd2hpY2ggbXVz dCBhbHJlYWR5IGV4aXN0IGFuZCBiZSBwaW5uZWQgaW4gdGhlIEdHVFQsCj4gLQkgKiBzbyBpdHMg YWRkcmVzcyB3b24ndCBjaGFuZ2UgYWZ0ZXIgd2UndmUgdG9sZCB0aGUgR3VDIHdoZXJlCj4gLQkg KiB0byBmaW5kIGl0LiBOb3RlIHRoYXQgd2UgaGF2ZSB0byBza2lwIG91ciBoZWFkZXIgKDEgcGFn ZSksCj4gLQkgKiBiZWNhdXNlIG91ciBHdUMgc2hhcmVkIGRhdGEgaXMgdGhlcmUuCj4gKwkgKiBH dUMgZXhwZWN0cyBhIHBlci1lbmdpbmUtY2xhc3MgY29udGV4dCBpbWFnZSBhbmQgc2l6ZQo+ICsJ ICogKG1pbnVzIGh3c3AgYW5kIHJpbmcgY29udGV4dCkuIFRoZSBjb250ZXh0IGltYWdlIHdpbGwg YmUKPiArCSAqIHVzZWQgdG8gcmVpbml0aWFsaXplIGVuZ2luZXMgYWZ0ZXIgYSByZXNldC4gSXQg bXVzdCBleGlzdAo+ICsJICogYW5kIGJlIHBpbm5lZCBpbiB0aGUgR0dUVCwgc28gdGhhdCB0aGUg YWRkcmVzcyB3b24ndCBjaGFuZ2UgYWZ0ZXIKPiArCSAqIHdlIGhhdmUgdG9sZCBHdUMgd2hlcmUg dG8gZmluZCBpdC4gVGhlIGNvbnRleHQgc2l6ZSB3aWxsIGJlIHVzZWQKPiArCSAqIHRvIHZhbGlk YXRlIHRoYXQgdGhlIExSQyBiYXNlICsgc2l6ZSBmYWxsIHdpdGhpbiBhbGxvd2VkIEdHVFQuCj4g ICAJICovCj4gLQlrZXJuZWxfY3R4X3ZtYSA9IGRldl9wcml2LT5lbmdpbmVbUkNTMF0tPmtlcm5l bF9jb250ZXh0LT5zdGF0ZTsKPiAtCWJsb2ItPmFkcy5nb2xkZW5fY29udGV4dF9scmNhID0KPiAt CQlpbnRlbF9ndWNfZ2d0dF9vZmZzZXQoZ3VjLCBrZXJuZWxfY3R4X3ZtYSkgKyBza2lwcGVkX29m ZnNldDsKPiArCWZvciAoZW5naW5lX2NsYXNzID0gMDsgZW5naW5lX2NsYXNzIDw9IE1BWF9FTkdJ TkVfQ0xBU1M7ICsrZW5naW5lX2NsYXNzKSB7Cj4gKwkJaWYgKGVuZ2luZV9jbGFzcyA9PSBPVEhF Ul9DTEFTUykKPiArCQkJY29udGludWU7Cj4gKwkJLyoKPiArCQkgKiBUT0RPOiBTZXQgY29udGV4 dCBwb2ludGVyIHRvIGRlZmF1bHQgc3RhdGUgdG8gYWxsb3cKPiArCQkgKiBHdUMgdG8gcmUtaW5p dCBndWlsdHkgY29udGV4dHMgYWZ0ZXIgaW50ZXJuYWwgcmVzZXQuCj4gKwkJICovCj4gKwkJYmxv Yi0+YWRzLmdvbGRlbl9jb250ZXh0X2xyY2FbZW5naW5lX2NsYXNzXSA9IDA7Cj4gKwkJYmxvYi0+ YWRzLmVuZ19zdGF0ZV9zaXplW2VuZ2luZV9jbGFzc10gPQo+ICsJCQlpbnRlbF9jbGFzc19jb250 ZXh0X3NpemUoZGV2X3ByaXYsIGVuZ2luZV9jbGFzcykgLSBza2lwcGVkX3NpemU7Cj4gKwl9Cj4g ICAKPiAtCS8qCj4gLQkgKiBUaGUgR3VDIGV4cGVjdHMgdXMgdG8gZXhjbHVkZSB0aGUgcG9ydGlv biBvZiB0aGUgY29udGV4dCBpbWFnZSB0aGF0Cj4gLQkgKiBpdCBza2lwcyBmcm9tIHRoZSBzaXpl IGl0IGlzIHRvIHJlYWQuIEl0IHN0YXJ0cyByZWFkaW5nIGZyb20gYWZ0ZXIKPiAtCSAqIHRoZSBl eGVjbGlzdCBjb250ZXh0IChzbyBza2lwcGluZyB0aGUgZmlyc3QgcGFnZSBbUFBIV1NQXSBhbmQg ODAKPiAtCSAqIGR3b3JkcykuIFdlaXJkIGd1YyBpcyB3ZWlyZC4KPiAtCSAqLwo+IC0JZm9yX2Vh Y2hfZW5naW5lKGVuZ2luZSwgZGV2X3ByaXYsIGlkKQo+IC0JCWJsb2ItPmFkcy5lbmdfc3RhdGVf c2l6ZVtlbmdpbmUtPmd1Y19pZF0gPQo+IC0JCQllbmdpbmUtPmNvbnRleHRfc2l6ZSAtIHNraXBw ZWRfc2l6ZTsKPiArCS8qIFN5c3RlbSBpbmZvICovCj4gKwlibG9iLT5zeXN0ZW1faW5mby5zbGlj ZV9lbmFibGVkID0gaHdlaWdodDgoUlVOVElNRV9JTkZPKGRldl9wcml2KS0+c3NldS5zbGljZV9t YXNrKTsKPiArCWJsb2ItPnN5c3RlbV9pbmZvLnJjc19lbmFibGVkID0gMTsKPiArCWJsb2ItPnN5 c3RlbV9pbmZvLmJjc19lbmFibGVkID0gMTsKPiArCj4gKwlibG9iLT5zeXN0ZW1faW5mby52ZGJv eF9lbmFibGVfbWFzayA9IFZEQk9YX01BU0soZGV2X3ByaXYpOwo+ICsJYmxvYi0+c3lzdGVtX2lu Zm8udmVib3hfZW5hYmxlX21hc2sgPSBWRUJPWF9NQVNLKGRldl9wcml2KTsKPiArCWJsb2ItPnN5 c3RlbV9pbmZvLnZkYm94X3NmY19zdXBwb3J0X21hc2sgPSBSVU5USU1FX0lORk8oZGV2X3ByaXYp LT52ZGJveF9zZmNfYWNjZXNzOwo+ICAgCj4gICAJYmFzZSA9IGludGVsX2d1Y19nZ3R0X29mZnNl dChndWMsIHZtYSk7Cj4gKwo+ICsJLyogQ2xpZW50cyBpbmZvICAqLwo+ICsJZ3VjX2N0X3Bvb2xf ZW50cmllc19pbml0KGJsb2ItPmN0X3Bvb2wsIEFSUkFZX1NJWkUoYmxvYi0+Y3RfcG9vbCkpOwo+ ICsKPiArCWJsb2ItPmNsaWVudHNfaW5mby5jbGllbnRzX251bSA9IDE7Cj4gKwlibG9iLT5jbGll bnRzX2luZm8uY3RfcG9vbF9hZGRyID0gYmFzZSArIHB0cl9vZmZzZXQoYmxvYiwgY3RfcG9vbCk7 Cj4gKwlibG9iLT5jbGllbnRzX2luZm8uY3RfcG9vbF9jb3VudCA9IEFSUkFZX1NJWkUoYmxvYi0+ Y3RfcG9vbCk7Cj4gKwo+ICsJLyogQURTICovCj4gICAJYmxvYi0+YWRzLnNjaGVkdWxlcl9wb2xp Y2llcyA9IGJhc2UgKyBwdHJfb2Zmc2V0KGJsb2IsIHBvbGljaWVzKTsKPiAgIAlibG9iLT5hZHMu cmVnX3N0YXRlX2J1ZmZlciA9IGJhc2UgKyBwdHJfb2Zmc2V0KGJsb2IsIHJlZ19zdGF0ZV9idWZm ZXIpOwo+ICAgCWJsb2ItPmFkcy5yZWdfc3RhdGVfYWRkciA9IGJhc2UgKyBwdHJfb2Zmc2V0KGJs b2IsIHJlZ19zdGF0ZSk7Cj4gKwlibG9iLT5hZHMuZ3Rfc3lzdGVtX2luZm8gPSBiYXNlICsgcHRy X29mZnNldChibG9iLCBzeXN0ZW1faW5mbyk7Cj4gKwlibG9iLT5hZHMuY2xpZW50c19pbmZvID0g YmFzZSArIHB0cl9vZmZzZXQoYmxvYiwgY2xpZW50c19pbmZvKTsKPiAgIAo+IC0Ja3VubWFwKHBh Z2UpOwo+ICsJaTkxNV9nZW1fb2JqZWN0X3VucGluX21hcChndWMtPmFkc192bWEtPm9iaik7Cj4g ICAKPiAgIAlyZXR1cm4gMDsKPiArCj4gK2Vycl92bWE6Cj4gKwlpOTE1X3ZtYV91bnBpbl9hbmRf cmVsZWFzZSgmZ3VjLT5hZHNfdm1hLCAwKTsKPiArCXJldHVybiByZXQ7Cj4gICB9Cj4gICAKPiAg IHZvaWQgaW50ZWxfZ3VjX2Fkc19kZXN0cm95KHN0cnVjdCBpbnRlbF9ndWMgKmd1YykKPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjX2Z3aWYuaCBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2d1Y19md2lmLmgKPiBpbmRleCBkZDlkOTlkYzJhY2EuLjY4ZGZl ZWNmN2IyNiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWNfZndp Zi5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjX2Z3aWYuaAo+IEBAIC0z OSw2ICszOSw5IEBACj4gICAjZGVmaW5lIEdVQ19WSURFT19FTkdJTkUyCQk0Cj4gICAjZGVmaW5l IEdVQ19NQVhfRU5HSU5FU19OVU0JCShHVUNfVklERU9fRU5HSU5FMiArIDEpCj4gICAKPiArI2Rl ZmluZSBHVUNfTUFYX0VOR0lORV9DTEFTU0VTCQk1Cj4gKyNkZWZpbmUgR1VDX01BWF9JTlNUQU5D RVNfUEVSX0NMQVNTCTQKCm1tbSwgaW5zaWRlIG9mIGd1YyB0aGlzIGlzIGRlZmluZWQgYXMKCiNp ZiBHRU45CiNkZWZpbmUgR1VDX01BWF9JTlNUQU5DRVNfUEVSX0NMQVNTIDEKI2Vsc2UKI2RlZmlu ZSBHVUNfTUFYX0lOU1RBTkNFU19QRVJfQ0xBU1MgNAojZW5kaWYKCk5vdywgdGhpcyBpcyBvbmx5 IHVzZWQgZm9yIHRoZSByZWdzZXQsIHdoaWNoIG9ubHkgbWF0dGVycyBpZiBndWMgaXMgCmRvaW5n IGVuZ2luZSByZXNldHMuIFNpbmNlIHdlJ3JlIG5ldmVyIGdvaW5nIHRvIGVuYWJsZSBndWMgc3Vi bWlzc2lvbiBvbiAKZ2VuOSB3aXRoIHRoZSBuZXcgaW50ZXJmYWNlIHdlIHNob3VsZCBiZSBvaywg YnV0IHdlIHNob3VsZCBhdCBsZWFzdCBhZGQgCmEgY29tbWVudC4KSSd2ZSBtZW50aW9uZWQgaXQg dG8gdGhlIGd1YyB0ZWFtIGFuZCB0aGV5IHNheSBpdCBpcyBvbiB0aGVpciBsaXN0IG9mIAp0aGlu Z3MgdG8gZml4IHNvIHRoZSBGVyBzaG91bGQgbW92ZSB0byBhIHVuaWZpZWQgZGVmaW5lIHNvb24t aXNoLgoKRGFuaWVsZQoKPiArCj4gICAjZGVmaW5lIEdVQ19ET09SQkVMTF9JTlZBTElECQkyNTYK PiAgIAo+ICAgI2RlZmluZSBHVUNfREJfU0laRQkJCShQQUdFX1NJWkUpCj4gQEAgLTM5NywyMyAr NDAwLDE5IEBAIHN0cnVjdCBndWNfY3RfYnVmZmVyX2Rlc2Mgewo+ICAgc3RydWN0IGd1Y19wb2xp Y3kgewo+ICAgCS8qIFRpbWUgZm9yIG9uZSB3b3JrbG9hZCB0byBleGVjdXRlLiAoaW4gbWljcm8g c2Vjb25kcykgKi8KPiAgIAl1MzIgZXhlY3V0aW9uX3F1YW50dW07Cj4gLQl1MzIgcmVzZXJ2ZWQx Owo+IC0KPiAgIAkvKiBUaW1lIHRvIHdhaXQgZm9yIGEgcHJlZW1wdGlvbiByZXF1ZXN0IHRvIGNv bXBsZXRlZCBiZWZvcmUgaXNzdWluZyBhCj4gICAJICogcmVzZXQuIChpbiBtaWNybyBzZWNvbmRz KS4gKi8KPiAgIAl1MzIgcHJlZW1wdGlvbl90aW1lOwo+IC0KPiAgIAkvKiBIb3cgbXVjaCB0aW1l IHRvIGFsbG93IHRvIHJ1biBhZnRlciB0aGUgZmlyc3QgZmF1bHQgaXMgb2JzZXJ2ZWQuCj4gICAJ ICogVGhlbiBwcmVlbXB0IGFmdGVyd2FyZHMuIChpbiBtaWNybyBzZWNvbmRzKSAqLwo+ICAgCXUz MiBmYXVsdF90aW1lOwo+IC0KPiAgIAl1MzIgcG9saWN5X2ZsYWdzOwo+IC0JdTMyIHJlc2VydmVk WzJdOwo+ICsJdTMyIHJlc2VydmVkWzhdOwo+ICAgfSBfX3BhY2tlZDsKPiAgIAo+ICAgc3RydWN0 IGd1Y19wb2xpY2llcyB7Cj4gLQlzdHJ1Y3QgZ3VjX3BvbGljeSBwb2xpY3lbR1VDX0NMSUVOVF9Q UklPUklUWV9OVU1dW0dVQ19NQVhfRU5HSU5FU19OVU1dOwo+IC0KPiArCXN0cnVjdCBndWNfcG9s aWN5IHBvbGljeVtHVUNfQ0xJRU5UX1BSSU9SSVRZX05VTV1bR1VDX01BWF9FTkdJTkVfQ0xBU1NF U107Cj4gKwl1MzIgc3VibWlzc2lvbl9xdWV1ZV9kZXB0aFtHVUNfTUFYX0VOR0lORV9DTEFTU0VT XTsKPiAgIAkvKiBJbiBtaWNybyBzZWNvbmRzLiBIb3cgbXVjaCB0aW1lIHRvIGFsbG93IGJlZm9y ZSBEUEMgcHJvY2Vzc2luZyBpcwo+ICAgCSAqIGNhbGxlZCBiYWNrIHZpYSBpbnRlcnJ1cHQgKHRv IHByZXZlbnQgRFBDIHF1ZXVlIGRyYWluIHN0YXJ2aW5nKS4KPiAgIAkgKiBUeXBpY2FsbHkgMTAw MHMgb2YgbWljcm8gc2Vjb25kcyAoZXhhbXBsZSBvbmx5LCBub3QgZ3JhbnVsYXJpdHkpLiAqLwo+ IEBAIC00MjYsNTcgKzQyNSw3MyBAQCBzdHJ1Y3QgZ3VjX3BvbGljaWVzIHsKPiAgIAkgKiBpZGxl LiAqLwo+ICAgCXUzMiBtYXhfbnVtX3dvcmtfaXRlbXM7Cj4gICAKPiAtCXUzMiByZXNlcnZlZFsx OV07Cj4gKwl1MzIgcmVzZXJ2ZWRbNF07Cj4gICB9IF9fcGFja2VkOwo+ICAgCj4gICAvKiBHdUMg TU1JTyByZWcgc3RhdGUgc3RydWN0ICovCj4gICAKPiAtI2RlZmluZSBHVUNfUkVHU0VUX0ZMQUdT X05PTkUJCTB4MAo+IC0jZGVmaW5lIEdVQ19SRUdTRVRfUE9XRVJDWUNMRQkJMHgxCj4gLSNkZWZp bmUgR1VDX1JFR1NFVF9NQVNLRUQJCTB4Mgo+IC0jZGVmaW5lIEdVQ19SRUdTRVRfRU5HSU5FUkVT RVQJCTB4NAo+IC0jZGVmaW5lIEdVQ19SRUdTRVRfU0FWRV9ERUZBVUxUX1ZBTFVFCTB4OAo+IC0j ZGVmaW5lIEdVQ19SRUdTRVRfU0FWRV9DVVJSRU5UX1ZBTFVFCTB4MTAKPiAgIAo+IC0jZGVmaW5l IEdVQ19SRUdTRVRfTUFYX1JFR0lTVEVSUwkyNQo+IC0jZGVmaW5lIEdVQ19NTUlPX1dISVRFX0xJ U1RfU1RBUlQJMHgyNGQwCj4gLSNkZWZpbmUgR1VDX01NSU9fV0hJVEVfTElTVF9NQVgJCTEyCj4g KyNkZWZpbmUgR1VDX1JFR1NFVF9NQVhfUkVHSVNURVJTCTY0Cj4gICAjZGVmaW5lIEdVQ19TM19T QVZFX1NQQUNFX1BBR0VTCQkxMAo+ICAgCj4gLXN0cnVjdCBndWNfbW1pb19yZWdzZXQgewo+IC0J c3RydWN0IF9fcGFja2VkIHsKPiAtCQl1MzIgb2Zmc2V0Owo+IC0JCXUzMiB2YWx1ZTsKPiAtCQl1 MzIgZmxhZ3M7Cj4gLQl9IHJlZ2lzdGVyc1tHVUNfUkVHU0VUX01BWF9SRUdJU1RFUlNdOwo+ICtz dHJ1Y3QgZ3VjX21taW9fcmVnIHsKPiArCXUzMiBvZmZzZXQ7Cj4gKwl1MzIgdmFsdWU7Cj4gKwl1 MzIgZmxhZ3M7Cj4gKyNkZWZpbmUgR1VDX1JFR1NFVF9NQVNLRUQJCSgxIDw8IDApCj4gK30gX19w YWNrZWQ7Cj4gICAKPiArc3RydWN0IGd1Y19tbWlvX3JlZ3NldCB7Cj4gKwlzdHJ1Y3QgZ3VjX21t aW9fcmVnIHJlZ2lzdGVyc1tHVUNfUkVHU0VUX01BWF9SRUdJU1RFUlNdOwo+ICAgCXUzMiB2YWx1 ZXNfdmFsaWQ7Cj4gICAJdTMyIG51bWJlcl9vZl9yZWdpc3RlcnM7Cj4gICB9IF9fcGFja2VkOwo+ ICAgCj4gLS8qIE1NSU8gcmVnaXN0ZXJzIHRoYXQgYXJlIHNldCBhcyBub24gcHJpdmlsZWdlZCAq Lwo+IC1zdHJ1Y3QgbW1pb193aGl0ZV9saXN0IHsKPiAtCXUzMiBtbWlvX3N0YXJ0Owo+IC0JdTMy IG9mZnNldHNbR1VDX01NSU9fV0hJVEVfTElTVF9NQVhdOwo+IC0JdTMyIGNvdW50Owo+ICsvKiBH dUMgcmVnaXN0ZXIgc2V0cyAqLwo+ICtzdHJ1Y3QgZ3VjX21taW9fcmVnX3N0YXRlIHsKPiArCXN0 cnVjdCBndWNfbW1pb19yZWdzZXQgZW5naW5lX3JlZ1tHVUNfTUFYX0VOR0lORV9DTEFTU0VTXVtH VUNfTUFYX0lOU1RBTkNFU19QRVJfQ0xBU1NdOwo+ICsJdTMyIHJlc2VydmVkWzk4XTsKPiAgIH0g X19wYWNrZWQ7Cj4gICAKPiAtc3RydWN0IGd1Y19tbWlvX3JlZ19zdGF0ZSB7Cj4gLQlzdHJ1Y3Qg Z3VjX21taW9fcmVnc2V0IGdsb2JhbF9yZWc7Cj4gLQlzdHJ1Y3QgZ3VjX21taW9fcmVnc2V0IGVu Z2luZV9yZWdbR1VDX01BWF9FTkdJTkVTX05VTV07Cj4gLQlzdHJ1Y3QgbW1pb193aGl0ZV9saXN0 IHdoaXRlX2xpc3RbR1VDX01BWF9FTkdJTkVTX05VTV07Cj4gKy8qIEhXIGluZm8gKi8KPiArc3Ry dWN0IGd1Y19ndF9zeXN0ZW1faW5mbyB7Cj4gKwl1MzIgc2xpY2VfZW5hYmxlZDsKPiArCXUzMiBy Y3NfZW5hYmxlZDsKPiArCXUzMiByZXNlcnZlZDA7Cj4gKwl1MzIgYmNzX2VuYWJsZWQ7Cj4gKwl1 MzIgdmRib3hfZW5hYmxlX21hc2s7Cj4gKwl1MzIgdmRib3hfc2ZjX3N1cHBvcnRfbWFzazsKPiAr CXUzMiB2ZWJveF9lbmFibGVfbWFzazsKPiArCXUzMiByZXNlcnZlZFs5XTsKPiAgIH0gX19wYWNr ZWQ7Cj4gICAKPiAtLyogR3VDIEFkZGl0aW9uYWwgRGF0YSBTdHJ1Y3QgKi8KPiArLyogQ2xpZW50 cyBpbmZvICovCj4gK3N0cnVjdCBndWNfY3RfcG9vbF9lbnRyeSB7Cj4gKwlzdHJ1Y3QgZ3VjX2N0 X2J1ZmZlcl9kZXNjIGRlc2M7Cj4gKwl1MzIgcmVzZXJ2ZWRbN107Cj4gK30gX19wYWNrZWQ7Cj4g ICAKPiArI2RlZmluZSBHVUNfQ1RfUE9PTF9TSVpFCTIKPiArCj4gK3N0cnVjdCBndWNfY2xpZW50 c19pbmZvIHsKPiArCXUzMiBjbGllbnRzX251bTsKPiArCXUzMiByZXNlcnZlZDBbMTNdOwo+ICsJ dTMyIGN0X3Bvb2xfYWRkcjsKPiArCXUzMiBjdF9wb29sX2NvdW50Owo+ICsJdTMyIHJlc2VydmVk WzRdOwo+ICt9IF9fcGFja2VkOwo+ICsKPiArLyogR3VDIEFkZGl0aW9uYWwgRGF0YSBTdHJ1Y3Qg Ki8KPiAgIHN0cnVjdCBndWNfYWRzIHsKPiAgIAl1MzIgcmVnX3N0YXRlX2FkZHI7Cj4gICAJdTMy IHJlZ19zdGF0ZV9idWZmZXI7Cj4gLQl1MzIgZ29sZGVuX2NvbnRleHRfbHJjYTsKPiAgIAl1MzIg c2NoZWR1bGVyX3BvbGljaWVzOwo+IC0JdTMyIHJlc2VydmVkMFszXTsKPiAtCXUzMiBlbmdfc3Rh dGVfc2l6ZVtHVUNfTUFYX0VOR0lORVNfTlVNXTsKPiAtCXUzMiByZXNlcnZlZDJbNF07Cj4gKwl1 MzIgZ3Rfc3lzdGVtX2luZm87Cj4gKwl1MzIgY2xpZW50c19pbmZvOwo+ICsJdTMyIGNvbnRyb2xf ZGF0YTsKPiArCXUzMiBnb2xkZW5fY29udGV4dF9scmNhW0dVQ19NQVhfRU5HSU5FX0NMQVNTRVNd Owo+ICsJdTMyIGVuZ19zdGF0ZV9zaXplW0dVQ19NQVhfRU5HSU5FX0NMQVNTRVNdOwo+ICsJdTMy IHJlc2VydmVkWzE2XTsKPiAgIH0gX19wYWNrZWQ7Cj4gICAKPiAgIC8qIEd1QyBsb2dnaW5nIHN0 cnVjdHVyZXMgKi8KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmlu Z2J1ZmZlci5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oCj4gaW5k ZXggMGRlYTZjN2ZkNDM4Li41ODRlZWMzNDg0MTIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfcmluZ2J1ZmZlci5oCj4gQEAgLTU0Nyw2ICs1NDcsOCBAQCBrdGltZV90IGludGVsX2Vu Z2luZV9nZXRfYnVzeV90aW1lKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSk7Cj4gICBz dHJ1Y3QgaTkxNV9yZXF1ZXN0ICoKPiAgIGludGVsX2VuZ2luZV9maW5kX2FjdGl2ZV9yZXF1ZXN0 KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSk7Cj4gICAKPiArdTMyIGludGVsX2NsYXNz X2NvbnRleHRfc2l6ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIHU4IGNsYXNz KTsKPiArCj4gICAjaWYgSVNfRU5BQkxFRChDT05GSUdfRFJNX0k5MTVfU0VMRlRFU1QpCj4gICAK PiAgIHN0YXRpYyBpbmxpbmUgYm9vbCBpbmplY3RfcHJlZW1wdF9oYW5nKHN0cnVjdCBpbnRlbF9l bmdpbmVfZXhlY2xpc3RzICpleGVjbGlzdHMpCj4gCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxp c3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2ludGVsLWdmeA==