From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Michal Wajdeczko" Subject: Re: [PATCH 3/3] drm/i915/uc: replace uc init/fini misc Date: Tue, 02 Jul 2019 22:52:51 +0200 Message-ID: References: <20190702200947.26497-1-daniele.ceraolospurio@intel.com> <20190702200947.26497-3-daniele.ceraolospurio@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed"; DelSp="yes" Content-Transfer-Encoding: base64 Return-path: Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by gabe.freedesktop.org (Postfix) with ESMTPS id DA12F6E08E for ; Tue, 2 Jul 2019 20:52:55 +0000 (UTC) In-Reply-To: <20190702200947.26497-3-daniele.ceraolospurio@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org, Daniele Ceraolo Spurio List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCAwMiBKdWwgMjAxOSAyMjowOTo0NyArMDIwMCwgRGFuaWVsZSBDZXJhb2xvIFNwdXJp byAgCjxkYW5pZWxlLmNlcmFvbG9zcHVyaW9AaW50ZWwuY29tPiB3cm90ZToKCj4gVGhlICJtaXNj IiB0ZXJtaW5vbG9neSBkb2Vzbid0IGNsZWFybHkgZXhwbGFpbiB3aGF0IHdlIGludGVuZCB0byBj b3Zlcgo+IGluIHRoaXMgcGhhc2UuIFRoZSBvbmx5IHRoaW5nIHdlIGRvIGluIHRoZXJlIGFwYXJ0 IGZyb20gRlcgZmV0Y2ggaXMKPiBpbml0aWFsaXppbmcgdGhlIGxvZyB3b3JrcXVldWUuIFdlIGNh biBtb3ZlIHRoZSBsYXR0ZXIgdG8gdGhlCj4gaW5pdF9lYXJseSBwaGFzZSBhbmQgcmVuYW1lIHRo ZSBmdW5jdGlvbiB0byBjbGFyaWZ5IHRoYXQgdGhleSBvbmx5Cj4gZmV0Y2gvcmVsZWFzZSB0aGUg YmxvYnMuCj4KPiBTaWduZWQtb2ZmLWJ5OiBEYW5pZWxlIENlcmFvbG8gU3B1cmlvIDxkYW5pZWxl LmNlcmFvbG9zcHVyaW9AaW50ZWwuY29tPgo+IENjOiBNaWNoYWwgV2FqZGVjemtvIDxtaWNoYWwu d2FqZGVjemtvQGludGVsLmNvbT4KPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9k cnYuYyAgICAgIHwgIDcgKysrLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jICAg ICAgfCAxMiArKystLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjLmMgICAgIHwg NTcgKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9ndWMuaCAgICAgfCAgNSArLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3Vj X2xvZy5jIHwgMzIgKysrKysrKysrKysrKysrLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9ndWNfbG9nLmggfCAgMyArLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9odWMuYyAg ICAgfCAgOCAtLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2h1Yy5oICAgICB8ICA2 IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91Yy5jICAgICAgfCA1MCArKysrKysr KysrLS0tLS0tLS0tLS0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdWMuaCAgICAg IHwgIDYgKy0tCj4gIDEwIGZpbGVzIGNoYW5nZWQsIDc1IGluc2VydGlvbnMoKyksIDExMSBkZWxl dGlvbnMoLSkKPgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5j ICAKPiBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMKPiBpbmRleCA3OTRjNjgxNGE2 ZDAuLjIwY2EwMjA4ZGQ5OCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2Rydi5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYwo+IEBAIC05MzQs NyArOTM0LDExIEBAIHN0YXRpYyBpbnQgaTkxNV9kcml2ZXJfaW5pdF9lYXJseShzdHJ1Y3QgIAo+ IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ICAJaW50ZWxfZGV0ZWN0X3BjaChkZXZfcHJp dik7Cj4gCWludGVsX3dvcGNtX2luaXRfZWFybHkoJmRldl9wcml2LT53b3BjbSk7Cj4gLQlpbnRl bF91Y19pbml0X2Vhcmx5KGRldl9wcml2KTsKPiArCj4gKwlyZXQgPSBpbnRlbF91Y19pbml0X2Vh cmx5KGRldl9wcml2KTsKPiArCWlmIChyZXQpCj4gKwkJZ290byBlcnJfZ2VtOwo+ICsKPiAgCWlu dGVsX3BtX3NldHVwKGRldl9wcml2KTsKPiAgCWludGVsX2luaXRfZHBpbyhkZXZfcHJpdik7Cj4g IAlyZXQgPSBpbnRlbF9wb3dlcl9kb21haW5zX2luaXQoZGV2X3ByaXYpOwo+IEBAIC05NTMsNiAr OTU3LDcgQEAgc3RhdGljIGludCBpOTE1X2RyaXZlcl9pbml0X2Vhcmx5KHN0cnVjdCAgCj4gZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gZXJyX3VjOgo+ICAJaW50ZWxfdWNfY2xlYW51cF9l YXJseShkZXZfcHJpdik7Cj4gK2Vycl9nZW06Cj4gIAlpOTE1X2dlbV9jbGVhbnVwX2Vhcmx5KGRl dl9wcml2KTsKPiAgZXJyX3dvcmtxdWV1ZXM6Cj4gIAlpOTE1X3dvcmtxdWV1ZXNfY2xlYW51cChk ZXZfcHJpdik7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMg IAo+IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwo+IGluZGV4IGI3ZjI5MGI3N2Y4 Zi4uNDZhNzU4NDRmMzAzIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf Z2VtLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCj4gQEAgLTE0Mjks MTMgKzE0MjksMTEgQEAgaW50IGk5MTVfZ2VtX2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg IAo+ICpkZXZfcHJpdikKPiAgCWlmIChyZXQpCj4gIAkJcmV0dXJuIHJldDsKPiAtCXJldCA9IGlu dGVsX3VjX2luaXRfbWlzYyhkZXZfcHJpdik7Cj4gLQlpZiAocmV0KQo+IC0JCXJldHVybiByZXQ7 Cj4gKwlpbnRlbF91Y19mZXRjaF9maXJtd2FyZXMoZGV2X3ByaXYpOwo+IAlyZXQgPSBpbnRlbF93 b3BjbV9pbml0KCZkZXZfcHJpdi0+d29wY20pOwo+ICAJaWYgKHJldCkKPiAtCQlnb3RvIGVycl91 Y19taXNjOwo+ICsJCWdvdG8gZXJyX3VjX2Z3Owo+IAkvKiBUaGlzIGlzIGp1c3QgYSBzZWN1cml0 eSBibGFua2V0IHRvIHBsYWNhdGUgZHJhZ29ucy4KPiAgCSAqIE9uIHNvbWUgc3lzdGVtcywgd2Ug dmVyeSBzcG9yYWRpY2FsbHkgb2JzZXJ2ZSB0aGF0IHRoZSBmaXJzdCBUTEJzCj4gQEAgLTE1NjEs OCArMTU1OSw4IEBAIGludCBpOTE1X2dlbV9pbml0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICAK PiAqZGV2X3ByaXYpCj4gIAlpbnRlbF91bmNvcmVfZm9yY2V3YWtlX3B1dCgmZGV2X3ByaXYtPnVu Y29yZSwgRk9SQ0VXQUtFX0FMTCk7Cj4gIAltdXRleF91bmxvY2soJmRldl9wcml2LT5kcm0uc3Ry dWN0X211dGV4KTsKPiAtZXJyX3VjX21pc2M6Cj4gLQlpbnRlbF91Y19maW5pX21pc2MoZGV2X3By aXYpOwo+ICtlcnJfdWNfZnc6Cj4gKwlpbnRlbF91Y19jbGVhbnVwX2Zpcm13YXJlcyhkZXZfcHJp dik7Cj4gCWlmIChyZXQgIT0gLUVJTykgewo+ICAJCWk5MTVfZ2VtX2NsZWFudXBfdXNlcnB0cihk ZXZfcHJpdik7Cj4gQEAgLTE2MjgsNyArMTYyNiw3IEBAIHZvaWQgaTkxNV9nZW1fZmluaShzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAgCj4gKmRldl9wcml2KQo+IAlpbnRlbF9jbGVhbnVwX2d0X3Bv d2Vyc2F2ZShkZXZfcHJpdik7Cj4gLQlpbnRlbF91Y19maW5pX21pc2MoZGV2X3ByaXYpOwo+ICsJ aW50ZWxfdWNfY2xlYW51cF9maXJtd2FyZXMoZGV2X3ByaXYpOwo+ICAJaTkxNV9nZW1fY2xlYW51 cF91c2VycHRyKGRldl9wcml2KTsKPiAgCWludGVsX3RpbWVsaW5lc19maW5pKGRldl9wcml2KTsK PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjLmMgIAo+IGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjLmMKPiBpbmRleCA1MDFiNzRmNDQzNzQuLjAzZmFk NGZlM2Q5YiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWMuYwo+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Yy5jCj4gQEAgLTc0LDEzICs3NCwx NiBAQCB2b2lkIGludGVsX2d1Y19pbml0X3NlbmRfcmVncyhzdHJ1Y3QgaW50ZWxfZ3VjICpndWMp Cj4gIAlndWMtPnNlbmRfcmVncy5md19kb21haW5zID0gZndfZG9tYWluczsKPiAgfQo+IC12b2lk IGludGVsX2d1Y19pbml0X2Vhcmx5KHN0cnVjdCBpbnRlbF9ndWMgKmd1YykKPiAraW50IGludGVs X2d1Y19pbml0X2Vhcmx5KHN0cnVjdCBpbnRlbF9ndWMgKmd1YykKPiAgewo+ICAJc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmk5MTUgPSBndWNfdG9faTkxNShndWMpOwo+ICsJaW50IHJldDsKPiAJ aW50ZWxfZ3VjX2Z3X2luaXRfZWFybHkoZ3VjKTsKPiAgCWludGVsX2d1Y19jdF9pbml0X2Vhcmx5 KCZndWMtPmN0KTsKPiAtCWludGVsX2d1Y19sb2dfaW5pdF9lYXJseSgmZ3VjLT5sb2cpOwo+ICsJ cmV0ID0gaW50ZWxfZ3VjX2xvZ19pbml0X2Vhcmx5KCZndWMtPmxvZyk7Cj4gKwlpZiAocmV0KQo+ ICsJCXJldHVybiByZXQ7Cj4gCW11dGV4X2luaXQoJmd1Yy0+c2VuZF9tdXRleCk7Cj4gIAlzcGlu X2xvY2tfaW5pdCgmZ3VjLT5pcnFfbG9jayk7Cj4gQEAgLTk3LDU5ICsxMDAsMTMgQEAgdm9pZCBp bnRlbF9ndWNfaW5pdF9lYXJseShzdHJ1Y3QgaW50ZWxfZ3VjICpndWMpCj4gIAkJZ3VjLT5pbnRl cnJ1cHRzLmVuYWJsZSA9IGdlbjlfZW5hYmxlX2d1Y19pbnRlcnJ1cHRzOwo+ICAJCWd1Yy0+aW50 ZXJydXB0cy5kaXNhYmxlID0gZ2VuOV9kaXNhYmxlX2d1Y19pbnRlcnJ1cHRzOwo+ICAJfQo+IC19 Cj4gLQo+IC1zdGF0aWMgaW50IGd1Y19pbml0X3dxKHN0cnVjdCBpbnRlbF9ndWMgKmd1YykKPiAt ewo+IC0JLyoKPiAtCSAqIEd1QyBsb2cgYnVmZmVyIGZsdXNoIHdvcmsgaXRlbSBoYXMgdG8gZG8g cmVnaXN0ZXIgYWNjZXNzIHRvCj4gLQkgKiBzZW5kIHRoZSBhY2sgdG8gR3VDIGFuZCB0aGlzIHdv cmsgaXRlbSwgaWYgbm90IHN5bmNlZCBiZWZvcmUKPiAtCSAqIHN1c3BlbmQsIGNhbiBwb3RlbnRp YWxseSBnZXQgZXhlY3V0ZWQgYWZ0ZXIgdGhlIEdGWCBkZXZpY2UgaXMKPiAtCSAqIHN1c3BlbmRl ZC4KPiAtCSAqIEJ5IG1hcmtpbmcgdGhlIFdRIGFzIGZyZWV6YWJsZSwgd2UgZG9uJ3QgaGF2ZSB0 byBib3RoZXIgYWJvdXQKPiAtCSAqIGZsdXNoaW5nIG9mIHRoaXMgd29yayBpdGVtIGZyb20gdGhl IHN1c3BlbmQgaG9va3MsIHRoZSBwZW5kaW5nCj4gLQkgKiB3b3JrIGl0ZW0gaWYgYW55IHdpbGwg YmUgZWl0aGVyIGV4ZWN1dGVkIGJlZm9yZSB0aGUgc3VzcGVuZAo+IC0JICogb3Igc2NoZWR1bGVk IGxhdGVyIG9uIHJlc3VtZS4gVGhpcyB3YXkgdGhlIGhhbmRsaW5nIG9mIHdvcmsKPiAtCSAqIGl0 ZW0gY2FuIGJlIGtlcHQgc2FtZSBiZXR3ZWVuIHN5c3RlbSBzdXNwZW5kICYgcnBtIHN1c3BlbmQu Cj4gLQkgKi8KPiAtCWd1Yy0+bG9nLnJlbGF5LmZsdXNoX3dxID0KPiAtCQlhbGxvY19vcmRlcmVk X3dvcmtxdWV1ZSgiaTkxNS1ndWNfbG9nIiwKPiAtCQkJCQlXUV9ISUdIUFJJIHwgV1FfRlJFRVpB QkxFKTsKPiAtCWlmICghZ3VjLT5sb2cucmVsYXkuZmx1c2hfd3EpIHsKPiAtCQlEUk1fRVJST1Io IkNvdWxkbid0IGFsbG9jYXRlIHdvcmtxdWV1ZSBmb3IgR3VDIGxvZ1xuIik7Cj4gLQkJcmV0dXJu IC1FTk9NRU07Cj4gLQl9Cj4gCXJldHVybiAwOwo+ICB9Cj4gLXN0YXRpYyB2b2lkIGd1Y19maW5p X3dxKHN0cnVjdCBpbnRlbF9ndWMgKmd1YykKPiAtewo+IC0Jc3RydWN0IHdvcmtxdWV1ZV9zdHJ1 Y3QgKndxOwo+IC0KPiAtCXdxID0gZmV0Y2hfYW5kX3plcm8oJmd1Yy0+bG9nLnJlbGF5LmZsdXNo X3dxKTsKPiAtCWlmICh3cSkKPiAtCQlkZXN0cm95X3dvcmtxdWV1ZSh3cSk7Cj4gLX0KPiAtCj4g LWludCBpbnRlbF9ndWNfaW5pdF9taXNjKHN0cnVjdCBpbnRlbF9ndWMgKmd1YykKPiArdm9pZCBp bnRlbF9ndWNfZmluaV9lYXJseShzdHJ1Y3QgaW50ZWxfZ3VjICpndWMpCgpsb29rcyBsaWtlIHRo aXMgZnVuY3Rpb24gY2FuIGJlIGRlZmluZWQgYXMgaW5saW5lIGluIC5oCgo+ICB7Cj4gLQlzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSA9IGd1Y190b19pOTE1KGd1Yyk7Cj4gLQlpbnQgcmV0 Owo+IC0KPiAtCXJldCA9IGd1Y19pbml0X3dxKGd1Yyk7Cj4gLQlpZiAocmV0KQo+IC0JCXJldHVy biByZXQ7Cj4gLQo+IC0JaW50ZWxfdWNfZndfZmV0Y2goaTkxNSwgJmd1Yy0+ZncpOwo+IC0KPiAt CXJldHVybiAwOwo+IC19Cj4gLQo+IC12b2lkIGludGVsX2d1Y19maW5pX21pc2Moc3RydWN0IGlu dGVsX2d1YyAqZ3VjKQo+IC17Cj4gLQlpbnRlbF91Y19md19jbGVhbnVwX2ZldGNoKCZndWMtPmZ3 KTsKPiAtCWd1Y19maW5pX3dxKGd1Yyk7Cj4gKwlpbnRlbF9ndWNfbG9nX2ZpbmlfZWFybHkoJmd1 Yy0+bG9nKTsKPiAgfQo+IHN0YXRpYyBpbnQgZ3VjX3NoYXJlZF9kYXRhX2NyZWF0ZShzdHJ1Y3Qg aW50ZWxfZ3VjICpndWMpCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2d1Yy5oICAKPiBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Yy5oCj4gaW5kZXggZWMx MDM4YzFmNTBlLi4wNDVhMzYwOGJhZGUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZ3VjLmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWMuaAo+ IEBAIC0xNTAsMTMgKzE1MCwxMiBAQCBzdGF0aWMgaW5saW5lIHUzMiBpbnRlbF9ndWNfZ2d0dF9v ZmZzZXQoc3RydWN0ICAKPiBpbnRlbF9ndWMgKmd1YywKPiAgCXJldHVybiBvZmZzZXQ7Cj4gIH0K PiAtdm9pZCBpbnRlbF9ndWNfaW5pdF9lYXJseShzdHJ1Y3QgaW50ZWxfZ3VjICpndWMpOwo+ICtp bnQgaW50ZWxfZ3VjX2luaXRfZWFybHkoc3RydWN0IGludGVsX2d1YyAqZ3VjKTsKPiArdm9pZCBp bnRlbF9ndWNfZmluaV9lYXJseShzdHJ1Y3QgaW50ZWxfZ3VjICpndWMpOwo+ICB2b2lkIGludGVs X2d1Y19pbml0X3NlbmRfcmVncyhzdHJ1Y3QgaW50ZWxfZ3VjICpndWMpOwo+ICB2b2lkIGludGVs X2d1Y19pbml0X3BhcmFtcyhzdHJ1Y3QgaW50ZWxfZ3VjICpndWMpOwo+IC1pbnQgaW50ZWxfZ3Vj X2luaXRfbWlzYyhzdHJ1Y3QgaW50ZWxfZ3VjICpndWMpOwo+ICBpbnQgaW50ZWxfZ3VjX2luaXQo c3RydWN0IGludGVsX2d1YyAqZ3VjKTsKPiAgdm9pZCBpbnRlbF9ndWNfZmluaShzdHJ1Y3QgaW50 ZWxfZ3VjICpndWMpOwo+IC12b2lkIGludGVsX2d1Y19maW5pX21pc2Moc3RydWN0IGludGVsX2d1 YyAqZ3VjKTsKPiAgaW50IGludGVsX2d1Y19zZW5kX25vcChzdHJ1Y3QgaW50ZWxfZ3VjICpndWMs IGNvbnN0IHUzMiAqYWN0aW9uLCB1MzIgIAo+IGxlbiwKPiAgCQkgICAgICAgdTMyICpyZXNwb25z ZV9idWYsIHUzMiByZXNwb25zZV9idWZfc2l6ZSk7Cj4gIGludCBpbnRlbF9ndWNfc2VuZF9tbWlv KHN0cnVjdCBpbnRlbF9ndWMgKmd1YywgY29uc3QgdTMyICphY3Rpb24sIHUzMiAgCj4gbGVuLAo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWNfbG9nLmMgIAo+IGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjX2xvZy5jCj4gaW5kZXggZTNiODNlY2I5MGI1 Li40YjFjN2E5ZjIzZTcgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf Z3VjX2xvZy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjX2xvZy5jCj4g QEAgLTM3NCwxMCArMzc0LDQwIEBAIHN0YXRpYyB2b2lkIGd1Y19sb2dfdW5tYXAoc3RydWN0IGlu dGVsX2d1Y19sb2cgIAo+ICpsb2cpCj4gIAlsb2ctPnJlbGF5LmJ1Zl9hZGRyID0gTlVMTDsKPiAg fQo+IC12b2lkIGludGVsX2d1Y19sb2dfaW5pdF9lYXJseShzdHJ1Y3QgaW50ZWxfZ3VjX2xvZyAq bG9nKQo+ICtpbnQgaW50ZWxfZ3VjX2xvZ19pbml0X2Vhcmx5KHN0cnVjdCBpbnRlbF9ndWNfbG9n ICpsb2cpCj4gIHsKPiAgCW11dGV4X2luaXQoJmxvZy0+cmVsYXkubG9jayk7Cj4gIAlJTklUX1dP UksoJmxvZy0+cmVsYXkuZmx1c2hfd29yaywgY2FwdHVyZV9sb2dzX3dvcmspOwo+ICsKPiArCS8q Cj4gKwkgKiBHdUMgbG9nIGJ1ZmZlciBmbHVzaCB3b3JrIGl0ZW0gaGFzIHRvIGRvIHJlZ2lzdGVy IGFjY2VzcyB0bwo+ICsJICogc2VuZCB0aGUgYWNrIHRvIEd1QyBhbmQgdGhpcyB3b3JrIGl0ZW0s IGlmIG5vdCBzeW5jZWQgYmVmb3JlCj4gKwkgKiBzdXNwZW5kLCBjYW4gcG90ZW50aWFsbHkgZ2V0 IGV4ZWN1dGVkIGFmdGVyIHRoZSBHRlggZGV2aWNlIGlzCj4gKwkgKiBzdXNwZW5kZWQuCj4gKwkg KiBCeSBtYXJraW5nIHRoZSBXUSBhcyBmcmVlemFibGUsIHdlIGRvbid0IGhhdmUgdG8gYm90aGVy IGFib3V0Cj4gKwkgKiBmbHVzaGluZyBvZiB0aGlzIHdvcmsgaXRlbSBmcm9tIHRoZSBzdXNwZW5k IGhvb2tzLCB0aGUgcGVuZGluZwo+ICsJICogd29yayBpdGVtIGlmIGFueSB3aWxsIGJlIGVpdGhl ciBleGVjdXRlZCBiZWZvcmUgdGhlIHN1c3BlbmQKPiArCSAqIG9yIHNjaGVkdWxlZCBsYXRlciBv biByZXN1bWUuIFRoaXMgd2F5IHRoZSBoYW5kbGluZyBvZiB3b3JrCj4gKwkgKiBpdGVtIGNhbiBi ZSBrZXB0IHNhbWUgYmV0d2VlbiBzeXN0ZW0gc3VzcGVuZCAmIHJwbSBzdXNwZW5kLgo+ICsJICov Cj4gKwlsb2ctPnJlbGF5LmZsdXNoX3dxID0KPiArCQlhbGxvY19vcmRlcmVkX3dvcmtxdWV1ZSgi aTkxNS1ndWNfbG9nIiwKPiArCQkJCQlXUV9ISUdIUFJJIHwgV1FfRlJFRVpBQkxFKTsKCkknbSB3 b25kZXJpbmcgaWYgdGhpcyBpcyBvayB0aGF0IG5vdyB3ZSBhbHdheXMgY3JlYXRlIHdxIHJlZ2Fy ZGxlc3MgR3VDCmlzIHVzZWQgb3Igbm90IC4uLiBpbiBub3cgcmVtb3ZlZCBpbml0X21pc2Mgd2Ug Y2hlY2tlZCBmb3IgVVNFU19HVUMKCm1heWJlIHdlIGNhbiB1c2Ugb3RoZXIgYWxyZWFkeSBleGlz dGluZyB3cSBmb3IgZmx1c2ggd29yayBpbnN0ZWFkPwoKPiArCWlmICghbG9nLT5yZWxheS5mbHVz aF93cSkgewo+ICsJCURSTV9FUlJPUigiQ291bGRuJ3QgYWxsb2NhdGUgd29ya3F1ZXVlIGZvciBH dUMgbG9nXG4iKTsKPiArCQlyZXR1cm4gLUVOT01FTTsKPiArCX0KPiArCj4gKwlyZXR1cm4gMDsK PiArfQo+ICsKPiArdm9pZCBpbnRlbF9ndWNfbG9nX2ZpbmlfZWFybHkoc3RydWN0IGludGVsX2d1 Y19sb2cgKmxvZykKPiArewo+ICsJc3RydWN0IHdvcmtxdWV1ZV9zdHJ1Y3QgKndxOwo+ICsKPiAr CXdxID0gZmV0Y2hfYW5kX3plcm8oJmxvZy0+cmVsYXkuZmx1c2hfd3EpOwo+ICsJaWYgKHdxKQoK ZG8gd2UgbmVlZCB0byBjaGVjayB0aGlzPyBpZiB3ZSBmYWlsZWQgdG8gYWxsb2NhdGUgd3EgaW4g aW5pdF9lYXJseQp3ZSBzaG91bGQgbm90IGJlIGhlcmUKCj4gKwkJZGVzdHJveV93b3JrcXVldWUo d3EpOwo+ICB9Cj4gc3RhdGljIGludCBndWNfbG9nX3JlbGF5X2NyZWF0ZShzdHJ1Y3QgaW50ZWxf Z3VjX2xvZyAqbG9nKQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9n dWNfbG9nLmggIAo+IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjX2xvZy5oCj4gaW5k ZXggN2JjNzYzZjEwYzAzLi44YjVlMmZjN2RmMjQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZ3VjX2xvZy5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZ3VjX2xvZy5oCj4gQEAgLTgwLDcgKzgwLDggQEAgc3RydWN0IGludGVsX2d1Y19sb2cgewo+ ICAJfSBzdGF0c1tHVUNfTUFYX0xPR19CVUZGRVJdOwo+ICB9Owo+IC12b2lkIGludGVsX2d1Y19s b2dfaW5pdF9lYXJseShzdHJ1Y3QgaW50ZWxfZ3VjX2xvZyAqbG9nKTsKPiAraW50IGludGVsX2d1 Y19sb2dfaW5pdF9lYXJseShzdHJ1Y3QgaW50ZWxfZ3VjX2xvZyAqbG9nKTsKPiArdm9pZCBpbnRl bF9ndWNfbG9nX2ZpbmlfZWFybHkoc3RydWN0IGludGVsX2d1Y19sb2cgKmxvZyk7Cj4gIGludCBp bnRlbF9ndWNfbG9nX2NyZWF0ZShzdHJ1Y3QgaW50ZWxfZ3VjX2xvZyAqbG9nKTsKPiAgdm9pZCBp bnRlbF9ndWNfbG9nX2Rlc3Ryb3koc3RydWN0IGludGVsX2d1Y19sb2cgKmxvZyk7Cj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2h1Yy5jICAKPiBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2h1Yy5jCj4gaW5kZXggZmI2ZjY5M2QzY2FjLi4yYTQxZWU4OWExNmQg MTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaHVjLmMKPiArKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9odWMuYwo+IEBAIC00NCwxNCArNDQsNiBAQCB2b2lk IGludGVsX2h1Y19pbml0X2Vhcmx5KHN0cnVjdCBpbnRlbF9odWMgKmh1YykKPiAgCX0KPiAgfQo+ IC1pbnQgaW50ZWxfaHVjX2luaXRfbWlzYyhzdHJ1Y3QgaW50ZWxfaHVjICpodWMpCj4gLXsKPiAt CXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1ID0gaHVjX3RvX2k5MTUoaHVjKTsKPiAtCj4g LQlpbnRlbF91Y19md19mZXRjaChpOTE1LCAmaHVjLT5mdyk7Cj4gLQlyZXR1cm4gMDsKPiAtfQo+ IC0KPiAgc3RhdGljIGludCBpbnRlbF9odWNfcnNhX2RhdGFfY3JlYXRlKHN0cnVjdCBpbnRlbF9o dWMgKmh1YykKPiAgewo+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUgPSBodWNfdG9f aTkxNShodWMpOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9odWMu aCAgCj4gYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9odWMuaAo+IGluZGV4IDJhNmM5NGU3 OWYxNy4uOWZhM2Q0NjI5ZjJlIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2h1Yy5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaHVjLmgKPiBAQCAt NDUsMTcgKzQ1LDExIEBAIHN0cnVjdCBpbnRlbF9odWMgewo+ICB9Owo+IHZvaWQgaW50ZWxfaHVj X2luaXRfZWFybHkoc3RydWN0IGludGVsX2h1YyAqaHVjKTsKPiAtaW50IGludGVsX2h1Y19pbml0 X21pc2Moc3RydWN0IGludGVsX2h1YyAqaHVjKTsKPiAgaW50IGludGVsX2h1Y19pbml0KHN0cnVj dCBpbnRlbF9odWMgKmh1Yyk7Cj4gIHZvaWQgaW50ZWxfaHVjX2Zpbmkoc3RydWN0IGludGVsX2h1 YyAqaHVjKTsKPiAgaW50IGludGVsX2h1Y19hdXRoKHN0cnVjdCBpbnRlbF9odWMgKmh1Yyk7Cj4g IGludCBpbnRlbF9odWNfY2hlY2tfc3RhdHVzKHN0cnVjdCBpbnRlbF9odWMgKmh1Yyk7Cj4gLXN0 YXRpYyBpbmxpbmUgdm9pZCBpbnRlbF9odWNfZmluaV9taXNjKHN0cnVjdCBpbnRlbF9odWMgKmh1 YykKPiAtewo+IC0JaW50ZWxfdWNfZndfY2xlYW51cF9mZXRjaCgmaHVjLT5mdyk7Cj4gLX0KPiAt Cj4gIHN0YXRpYyBpbmxpbmUgaW50IGludGVsX2h1Y19zYW5pdGl6ZShzdHJ1Y3QgaW50ZWxfaHVj ICpodWMpCj4gIHsKPiAgCWludGVsX3VjX2Z3X3Nhbml0aXplKCZodWMtPmZ3KTsKPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdWMuYyAgCj4gYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF91Yy5jCj4gaW5kZXggZmRmMDBmMWViYjU3Li5jM2U2NTIzNmNmYmEgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdWMuYwo+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX3VjLmMKPiBAQCAtMTcxLDE1ICsxNzEsMTkgQEAgc3RhdGlj IHZvaWQgc2FuaXRpemVfb3B0aW9uc19lYXJseShzdHJ1Y3QgIAo+IGRybV9pOTE1X3ByaXZhdGUg Kmk5MTUpCj4gIAlHRU1fQlVHX09OKGk5MTVfbW9kcGFyYW1zLmd1Y19sb2dfbGV2ZWwgPCAwKTsK PiAgfQo+IC12b2lkIGludGVsX3VjX2luaXRfZWFybHkoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg Kmk5MTUpCj4gK2ludCBpbnRlbF91Y19pbml0X2Vhcmx5KHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICppOTE1KQo+ICB7Cj4gLQlzdHJ1Y3QgaW50ZWxfZ3VjICpndWMgPSAmaTkxNS0+Z3VjOwo+IC0J c3RydWN0IGludGVsX2h1YyAqaHVjID0gJmk5MTUtPmh1YzsKPiArCWludCByZXQ7Cj4gKwo+ICsJ cmV0ID0gaW50ZWxfZ3VjX2luaXRfZWFybHkoJmk5MTUtPmd1Yyk7Cj4gKwlpZiAocmV0KQo+ICsJ CXJldHVybiByZXQ7Cj4gLQlpbnRlbF9ndWNfaW5pdF9lYXJseShndWMpOwo+IC0JaW50ZWxfaHVj X2luaXRfZWFybHkoaHVjKTsKPiArCWludGVsX2h1Y19pbml0X2Vhcmx5KCZpOTE1LT5odWMpOwo+ IAlzYW5pdGl6ZV9vcHRpb25zX2Vhcmx5KGk5MTUpOwo+ICsKPiArCXJldHVybiAwOwo+ICB9Cj4g dm9pZCBpbnRlbF91Y19jbGVhbnVwX2Vhcmx5KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1 KQo+IEBAIC0xODcsNiArMTkxLDggQEAgdm9pZCBpbnRlbF91Y19jbGVhbnVwX2Vhcmx5KHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICAKPiAqaTkxNSkKPiAgCXN0cnVjdCBpbnRlbF9ndWMgKmd1YyA9 ICZpOTE1LT5ndWM7Cj4gCWd1Y19mcmVlX2xvYWRfZXJyX2xvZyhndWMpOwo+ICsKPiArCWludGVs X2d1Y19maW5pX2Vhcmx5KGd1Yyk7Cj4gIH0KPiAvKioKPiBAQCAtMzQ1LDQ0ICszNTEsMjYgQEAg c3RhdGljIHZvaWQgZ3VjX2Rpc2FibGVfY29tbXVuaWNhdGlvbihzdHJ1Y3QgIAo+IGludGVsX2d1 YyAqZ3VjKQo+ICAJRFJNX0lORk8oIkd1QyBjb21tdW5pY2F0aW9uIGRpc2FibGVkXG4iKTsKPiAg fQo+IC1pbnQgaW50ZWxfdWNfaW5pdF9taXNjKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1 KQo+ICt2b2lkIGludGVsX3VjX2ZldGNoX2Zpcm13YXJlcyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqaTkxNSkKPiAgewo+IC0Jc3RydWN0IGludGVsX2d1YyAqZ3VjID0gJmk5MTUtPmd1YzsKPiAt CXN0cnVjdCBpbnRlbF9odWMgKmh1YyA9ICZpOTE1LT5odWM7Cj4gLQlpbnQgcmV0Owo+IC0KPiAg CWlmICghVVNFU19HVUMoaTkxNSkpCj4gLQkJcmV0dXJuIDA7Cj4gLQo+IC0JcmV0ID0gaW50ZWxf Z3VjX2luaXRfbWlzYyhndWMpOwo+IC0JaWYgKHJldCkKPiAtCQlyZXR1cm4gcmV0Owo+ICsJCXJl dHVybjsKPiAtCWlmIChVU0VTX0hVQyhpOTE1KSkgewo+IC0JCXJldCA9IGludGVsX2h1Y19pbml0 X21pc2MoaHVjKTsKPiAtCQlpZiAocmV0KQo+IC0JCQlnb3RvIGVycl9ndWM7Cj4gLQl9Cj4gKwlp bnRlbF91Y19md19mZXRjaChpOTE1LCAmaTkxNS0+Z3VjLmZ3KTsKPiAtCXJldHVybiAwOwo+IC0K PiAtZXJyX2d1YzoKPiAtCWludGVsX2d1Y19maW5pX21pc2MoZ3VjKTsKPiAtCXJldHVybiByZXQ7 Cj4gKwlpZiAoVVNFU19IVUMoaTkxNSkpCj4gKwkJaW50ZWxfdWNfZndfZmV0Y2goaTkxNSwgJmk5 MTUtPmh1Yy5mdyk7Cj4gIH0KPiAtdm9pZCBpbnRlbF91Y19maW5pX21pc2Moc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmk5MTUpCj4gK3ZvaWQgaW50ZWxfdWNfY2xlYW51cF9maXJtd2FyZXMoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpCj4gIHsKPiAtCXN0cnVjdCBpbnRlbF9ndWMgKmd1 YyA9ICZpOTE1LT5ndWM7Cj4gLQlzdHJ1Y3QgaW50ZWxfaHVjICpodWMgPSAmaTkxNS0+aHVjOwo+ IC0KPiAgCWlmICghVVNFU19HVUMoaTkxNSkpCj4gIAkJcmV0dXJuOwo+IAlpZiAoVVNFU19IVUMo aTkxNSkpCj4gLQkJaW50ZWxfaHVjX2ZpbmlfbWlzYyhodWMpOwo+ICsJCWludGVsX3VjX2Z3X2Ns ZWFudXBfZmV0Y2goJmk5MTUtPmh1Yy5mdyk7Cj4gLQlpbnRlbF9ndWNfZmluaV9taXNjKGd1Yyk7 Cj4gKwlpbnRlbF91Y19md19jbGVhbnVwX2ZldGNoKCZpOTE1LT5ndWMuZncpOwo+ICB9Cj4gaW50 IGludGVsX3VjX2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpCj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VjLmggIAo+IGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfdWMuaAo+IGluZGV4IDNlYTA2Yzg3ZGZjZC4uYzMwMjI4OTBlNjA0IDEwMDY0 NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VjLmgKPiArKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF91Yy5oCj4gQEAgLTI4LDExICsyOCwxMSBAQAo+ICAjaW5jbHVk ZSAiaW50ZWxfaHVjLmgiCj4gICNpbmNsdWRlICJpOTE1X3BhcmFtcy5oIgo+IC12b2lkIGludGVs X3VjX2luaXRfZWFybHkoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKPiAraW50 IGludGVsX3VjX2luaXRfZWFybHkoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsK PiAgdm9pZCBpbnRlbF91Y19jbGVhbnVwX2Vhcmx5KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdik7Cj4gIHZvaWQgaW50ZWxfdWNfaW5pdF9tbWlvKHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdik7Cj4gLWludCBpbnRlbF91Y19pbml0X21pc2Moc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2KTsKPiAtdm9pZCBpbnRlbF91Y19maW5pX21pc2Moc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKPiArdm9pZCBpbnRlbF91Y19mZXRjaF9maXJtd2Fy ZXMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKPiArdm9pZCBpbnRlbF91Y19j bGVhbnVwX2Zpcm13YXJlcyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwo+ICB2 b2lkIGludGVsX3VjX3Nhbml0aXplKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7 Cj4gIGludCBpbnRlbF91Y19pbml0X2h3KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp dik7Cj4gIHZvaWQgaW50ZWxfdWNfZmluaV9odyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYpOwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJ bnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0 cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZng=