From mboxrd@z Thu Jan 1 00:00:00 1970 From: Huang Rui Subject: Re: [PATCH 5/9] drm/amdgpu: move more defines into amdgpu_irq.h Date: Wed, 26 Sep 2018 14:14:24 +0800 Message-ID: <20180926061422.GC9121@hr-amur2> References: <20180924123820.1873-1-christian.koenig@amd.com> <20180924123820.1873-5-christian.koenig@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20180924123820.1873-5-christian.koenig-5C7GfCeVMHo@public.gmane.org> List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: Christian =?iso-8859-1?Q?K=F6nig?= Cc: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org T24gTW9uLCBTZXAgMjQsIDIwMTggYXQgMDI6Mzg6MTZQTSArMDIwMCwgQ2hyaXN0aWFuIEvDtm5p ZyB3cm90ZToKPiBFdmVyeXRoaW5nIHRoYXQgaXNuJ3QgcmVsYXRlZCB0byB0aGUgSUggcmluZy4K PiAKPiBTaWduZWQtb2ZmLWJ5OiBDaHJpc3RpYW4gS8O2bmlnIDxjaHJpc3RpYW4ua29lbmlnQGFt ZC5jb20+CgpSZXZpZXdlZC1ieTogSHVhbmcgUnVpIDxyYXkuaHVhbmdAYW1kLmNvbT4KCj4gLS0t Cj4gIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9paC5oICAgICAgICAgICAgfCAy MiArLS0tLS0tLS0tLS0tLS0tLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRn cHVfaXJxLmMgICAgICAgICAgIHwgMTAgKysrKy0tLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9hbWQv YW1kZ3B1L2FtZGdwdV9pcnEuaCAgICAgICAgICAgfCAyNSArKysrKysrKysrKysrKysrKysrKy0t LQo+ICBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9jaV9kcG0uYyAgICAgICAgICAgICAgIHwg IDQgKystLQo+ICBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9jaWtfaWguYyAgICAgICAgICAg ICAgIHwgIDIgKy0KPiAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvY2lrX3NkbWEuYyAgICAg ICAgICAgICB8ICA2ICsrKy0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9jel9paC5j ICAgICAgICAgICAgICAgIHwgIDIgKy0KPiAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZGNl X3YxMF8wLmMgICAgICAgICAgICB8ICA2ICsrKy0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vYW1kL2Ft ZGdwdS9kY2VfdjExXzAuYyAgICAgICAgICAgIHwgIDYgKysrLS0tCj4gIGRyaXZlcnMvZ3B1L2Ry bS9hbWQvYW1kZ3B1L2RjZV92Nl8wLmMgICAgICAgICAgICAgfCAgNiArKystLS0KPiAgZHJpdmVy cy9ncHUvZHJtL2FtZC9hbWRncHUvZGNlX3Y4XzAuYyAgICAgICAgICAgICB8ICA2ICsrKy0tLQo+ ICBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9kY2VfdmlydHVhbC5jICAgICAgICAgIHwgIDIg Ky0KPiAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ2Z4X3Y2XzAuYyAgICAgICAgICAgICB8 ICA2ICsrKy0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9nZnhfdjdfMC5jICAgICAg ICAgICAgIHwgIDYgKysrLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2dmeF92OF8w LmMgICAgICAgICAgICAgfCAxMiArKysrKy0tLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vYW1kL2Ft ZGdwdS9nbWNfdjZfMC5jICAgICAgICAgICAgIHwgIDQgKystLQo+ICBkcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS9nbWNfdjdfMC5jICAgICAgICAgICAgIHwgIDQgKystLQo+ICBkcml2ZXJzL2dw dS9kcm0vYW1kL2FtZGdwdS9nbWNfdjhfMC5jICAgICAgICAgICAgIHwgIDQgKystLQo+ICBkcml2 ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9pY2VsYW5kX2loLmMgICAgICAgICAgIHwgIDIgKy0KPiAg ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUva3ZfZHBtLmMgICAgICAgICAgICAgICB8ICA0ICsr LS0KPiAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvbXhncHVfdmkuYyAgICAgICAgICAgICB8 ICA0ICsrLS0KPiAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvc2RtYV92Ml80LmMgICAgICAg ICAgICB8ICA2ICsrKy0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9zZG1hX3YzXzAu YyAgICAgICAgICAgIHwgIDYgKysrLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3Np X2RtYS5jICAgICAgICAgICAgICAgfCAgNCArKy0tCj4gIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1k Z3B1L3NpX2RwbS5jICAgICAgICAgICAgICAgfCAgNCArKy0tCj4gIGRyaXZlcnMvZ3B1L2RybS9h bWQvYW1kZ3B1L3NpX2loLmMgICAgICAgICAgICAgICAgfCAgMiArLQo+ICBkcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS90b25nYV9paC5jICAgICAgICAgICAgIHwgIDIgKy0KPiAgZHJpdmVycy9n cHUvZHJtL2FtZC9hbWRncHUvdXZkX3Y0XzIuYyAgICAgICAgICAgICB8ICAyICstCj4gIGRyaXZl cnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3V2ZF92NV8wLmMgICAgICAgICAgICAgfCAgMiArLQo+ICBk cml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS91dmRfdjZfMC5jICAgICAgICAgICAgIHwgIDQgKyst LQo+ICBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS92Y2VfdjJfMC5jICAgICAgICAgICAgIHwg IDIgKy0KPiAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvdmNlX3YzXzAuYyAgICAgICAgICAg ICB8ICAyICstCj4gIGRyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9hbWRncHVfZG0vYW1kZ3B1 X2RtLmMgfCAgMiArLQo+ICBkcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9od21nci9zbXU3 X2h3bWdyLmMgIHwgIDYgKysrLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2h3 bWdyL3NtdV9oZWxwZXIuYyAgfCAgMiArLQo+ICAzNSBmaWxlcyBjaGFuZ2VkLCA5NCBpbnNlcnRp b25zKCspLCA5NSBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRncHUvYW1kZ3B1X2loLmggYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRn cHVfaWguaAo+IGluZGV4IGZkMmJiYWEyMGFiNC4uOWNlOGM5M2VjMTliIDEwMDY0NAo+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9paC5oCj4gKysrIGIvZHJpdmVycy9n cHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2loLmgKPiBAQCAtMjQsMTIgKzI0LDggQEAKPiAgI2lm bmRlZiBfX0FNREdQVV9JSF9IX18KPiAgI2RlZmluZSBfX0FNREdQVV9JSF9IX18KPiAgCj4gLSNp bmNsdWRlICJzb2MxNV9paF9jbGllbnRpZC5oIgo+IC0KPiAgc3RydWN0IGFtZGdwdV9kZXZpY2U7 Cj4gLQo+IC0jZGVmaW5lIEFNREdQVV9JSF9DTElFTlRJRF9MRUdBQ1kgMAo+IC0jZGVmaW5lIEFN REdQVV9JSF9DTElFTlRJRF9NQVggU09DMTVfSUhfQ0xJRU5USURfTUFYCj4gK3N0cnVjdCBhbWRn cHVfaXZfZW50cnk7Cj4gIAo+ICAvKgo+ICAgKiBSNnh4KyBJSCByaW5nCj4gQEAgLTUxLDIyICs0 Nyw2IEBAIHN0cnVjdCBhbWRncHVfaWhfcmluZyB7Cj4gIAlkbWFfYWRkcl90CQlyYl9kbWFfYWRk cjsgLyogb25seSB1c2VkIHdoZW4gdXNlX2J1c19hZGRyID0gdHJ1ZSAqLwo+ICB9Owo+ICAKPiAt I2RlZmluZSBBTURHUFVfSUhfU1JDX0RBVEFfTUFYX1NJWkVfRFcgNAo+IC0KPiAtc3RydWN0IGFt ZGdwdV9pdl9lbnRyeSB7Cj4gLQl1bnNpZ25lZCBjbGllbnRfaWQ7Cj4gLQl1bnNpZ25lZCBzcmNf aWQ7Cj4gLQl1bnNpZ25lZCByaW5nX2lkOwo+IC0JdW5zaWduZWQgdm1pZDsKPiAtCXVuc2lnbmVk IHZtaWRfc3JjOwo+IC0JdWludDY0X3QgdGltZXN0YW1wOwo+IC0JdW5zaWduZWQgdGltZXN0YW1w X3NyYzsKPiAtCXVuc2lnbmVkIHBhc2lkOwo+IC0JdW5zaWduZWQgcGFzaWRfc3JjOwo+IC0JdW5z aWduZWQgc3JjX2RhdGFbQU1ER1BVX0lIX1NSQ19EQVRBX01BWF9TSVpFX0RXXTsKPiAtCWNvbnN0 IHVpbnQzMl90ICppdl9lbnRyeTsKPiAtfTsKPiAtCj4gIC8qIHByb3ZpZGVkIGJ5IHRoZSBpaCBi bG9jayAqLwo+ICBzdHJ1Y3QgYW1kZ3B1X2loX2Z1bmNzIHsKPiAgCS8qIHJpbmcgcmVhZC93cml0 ZSBwdHIgaGFuZGxpbmcsIGNhbGxlZCBmcm9tIGludGVycnVwdCBjb250ZXh0ICovCj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9pcnEuYyBiL2RyaXZlcnMv Z3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9pcnEuYwo+IGluZGV4IDJmY2EwOGUxMzBiNi4uNTJj MTdmNjIxOWE3IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdw dV9pcnEuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9pcnEuYwo+ IEBAIC0xMjQsNyArMTI0LDcgQEAgdm9pZCBhbWRncHVfaXJxX2Rpc2FibGVfYWxsKHN0cnVjdCBh bWRncHVfZGV2aWNlICphZGV2KQo+ICAJaW50IHI7Cj4gIAo+ICAJc3Bpbl9sb2NrX2lycXNhdmUo JmFkZXYtPmlycS5sb2NrLCBpcnFmbGFncyk7Cj4gLQlmb3IgKGkgPSAwOyBpIDwgQU1ER1BVX0lI X0NMSUVOVElEX01BWDsgKytpKSB7Cj4gKwlmb3IgKGkgPSAwOyBpIDwgQU1ER1BVX0lSUV9DTElF TlRJRF9NQVg7ICsraSkgewo+ICAJCWlmICghYWRldi0+aXJxLmNsaWVudFtpXS5zb3VyY2VzKQo+ ICAJCQljb250aW51ZTsKPiAgCj4gQEAgLTMwMiw3ICszMDIsNyBAQCB2b2lkIGFtZGdwdV9pcnFf ZmluaShzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldikKPiAgCQljYW5jZWxfd29ya19zeW5jKCZh ZGV2LT5yZXNldF93b3JrKTsKPiAgCX0KPiAgCj4gLQlmb3IgKGkgPSAwOyBpIDwgQU1ER1BVX0lI X0NMSUVOVElEX01BWDsgKytpKSB7Cj4gKwlmb3IgKGkgPSAwOyBpIDwgQU1ER1BVX0lSUV9DTElF TlRJRF9NQVg7ICsraSkgewo+ICAJCWlmICghYWRldi0+aXJxLmNsaWVudFtpXS5zb3VyY2VzKQo+ ICAJCQljb250aW51ZTsKPiAgCj4gQEAgLTM0Miw3ICszNDIsNyBAQCBpbnQgYW1kZ3B1X2lycV9h ZGRfaWQoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCj4gIAkJICAgICAgdW5zaWduZWQgY2xp ZW50X2lkLCB1bnNpZ25lZCBzcmNfaWQsCj4gIAkJICAgICAgc3RydWN0IGFtZGdwdV9pcnFfc3Jj ICpzb3VyY2UpCj4gIHsKPiAtCWlmIChjbGllbnRfaWQgPj0gQU1ER1BVX0lIX0NMSUVOVElEX01B WCkKPiArCWlmIChjbGllbnRfaWQgPj0gQU1ER1BVX0lSUV9DTElFTlRJRF9NQVgpCj4gIAkJcmV0 dXJuIC1FSU5WQUw7Cj4gIAo+ICAJaWYgKHNyY19pZCA+PSBBTURHUFVfTUFYX0lSUV9TUkNfSUQp Cj4gQEAgLTM5Niw3ICszOTYsNyBAQCB2b2lkIGFtZGdwdV9pcnFfZGlzcGF0Y2goc3RydWN0IGFt ZGdwdV9kZXZpY2UgKmFkZXYsCj4gIAo+ICAJdHJhY2VfYW1kZ3B1X2l2KGVudHJ5KTsKPiAgCj4g LQlpZiAoY2xpZW50X2lkID49IEFNREdQVV9JSF9DTElFTlRJRF9NQVgpIHsKPiArCWlmIChjbGll bnRfaWQgPj0gQU1ER1BVX0lSUV9DTElFTlRJRF9NQVgpIHsKPiAgCQlEUk1fREVCVUcoIkludmFs aWQgY2xpZW50X2lkIGluIElWOiAlZFxuIiwgY2xpZW50X2lkKTsKPiAgCQlyZXR1cm47Cj4gIAl9 Cj4gQEAgLTQ2OSw3ICs0NjksNyBAQCB2b2lkIGFtZGdwdV9pcnFfZ3B1X3Jlc2V0X3Jlc3VtZV9o ZWxwZXIoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpCj4gIHsKPiAgCWludCBpLCBqLCBrOwo+ ICAKPiAtCWZvciAoaSA9IDA7IGkgPCBBTURHUFVfSUhfQ0xJRU5USURfTUFYOyArK2kpIHsKPiAr CWZvciAoaSA9IDA7IGkgPCBBTURHUFVfSVJRX0NMSUVOVElEX01BWDsgKytpKSB7Cj4gIAkJaWYg KCFhZGV2LT5pcnEuY2xpZW50W2ldLnNvdXJjZXMpCj4gIAkJCWNvbnRpbnVlOwo+ICAKPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2lycS5oIGIvZHJpdmVy cy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2lycS5oCj4gaW5kZXggMzM3NWFkNzc4ZWRjLi5m NmNlMTcxY2I4YWEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1k Z3B1X2lycS5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2lycS5o Cj4gQEAgLTI1LDE5ICsyNSwzOCBAQAo+ICAjZGVmaW5lIF9fQU1ER1BVX0lSUV9IX18KPiAgCj4g ICNpbmNsdWRlIDxsaW51eC9pcnFkb21haW4uaD4KPiArI2luY2x1ZGUgInNvYzE1X2loX2NsaWVu dGlkLmgiCj4gICNpbmNsdWRlICJhbWRncHVfaWguaCIKPiAgCj4gLSNkZWZpbmUgQU1ER1BVX01B WF9JUlFfU1JDX0lECTB4MTAwCj4gKyNkZWZpbmUgQU1ER1BVX01BWF9JUlFfU1JDX0lECQkweDEw MAo+ICAjZGVmaW5lIEFNREdQVV9NQVhfSVJRX0NMSUVOVF9JRAkweDEwMAo+ICAKPiArI2RlZmlu ZSBBTURHUFVfSVJRX0NMSUVOVElEX0xFR0FDWQkwCj4gKyNkZWZpbmUgQU1ER1BVX0lSUV9DTElF TlRJRF9NQVgJCVNPQzE1X0lIX0NMSUVOVElEX01BWAo+ICsKPiArI2RlZmluZSBBTURHUFVfSVJR X1NSQ19EQVRBX01BWF9TSVpFX0RXCTQKPiArCj4gIHN0cnVjdCBhbWRncHVfZGV2aWNlOwo+IC1z dHJ1Y3QgYW1kZ3B1X2l2X2VudHJ5Owo+ICAKPiAgZW51bSBhbWRncHVfaW50ZXJydXB0X3N0YXRl IHsKPiAgCUFNREdQVV9JUlFfU1RBVEVfRElTQUJMRSwKPiAgCUFNREdQVV9JUlFfU1RBVEVfRU5B QkxFLAo+ICB9Owo+ICAKPiArc3RydWN0IGFtZGdwdV9pdl9lbnRyeSB7Cj4gKwl1bnNpZ25lZCBj bGllbnRfaWQ7Cj4gKwl1bnNpZ25lZCBzcmNfaWQ7Cj4gKwl1bnNpZ25lZCByaW5nX2lkOwo+ICsJ dW5zaWduZWQgdm1pZDsKPiArCXVuc2lnbmVkIHZtaWRfc3JjOwo+ICsJdWludDY0X3QgdGltZXN0 YW1wOwo+ICsJdW5zaWduZWQgdGltZXN0YW1wX3NyYzsKPiArCXVuc2lnbmVkIHBhc2lkOwo+ICsJ dW5zaWduZWQgcGFzaWRfc3JjOwo+ICsJdW5zaWduZWQgc3JjX2RhdGFbQU1ER1BVX0lSUV9TUkNf REFUQV9NQVhfU0laRV9EV107Cj4gKwljb25zdCB1aW50MzJfdCAqaXZfZW50cnk7Cj4gK307Cj4g Kwo+ICBzdHJ1Y3QgYW1kZ3B1X2lycV9zcmMgewo+ICAJdW5zaWduZWQJCQkJbnVtX3R5cGVzOwo+ ICAJYXRvbWljX3QJCQkJKmVuYWJsZWRfdHlwZXM7Cj4gQEAgLTYzLDcgKzgyLDcgQEAgc3RydWN0 IGFtZGdwdV9pcnEgewo+ICAJYm9vbAkJCQlpbnN0YWxsZWQ7Cj4gIAlzcGlubG9ja190CQkJbG9j azsKPiAgCS8qIGludGVycnVwdCBzb3VyY2VzICovCj4gLQlzdHJ1Y3QgYW1kZ3B1X2lycV9jbGll bnQJY2xpZW50W0FNREdQVV9JSF9DTElFTlRJRF9NQVhdOwo+ICsJc3RydWN0IGFtZGdwdV9pcnFf Y2xpZW50CWNsaWVudFtBTURHUFVfSVJRX0NMSUVOVElEX01BWF07Cj4gIAo+ICAJLyogc3RhdHVz LCBldGMuICovCj4gIAlib29sCQkJCW1zaV9lbmFibGVkOyAvKiBtc2kgZW5hYmxlZCAqLwo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9jaV9kcG0uYyBiL2RyaXZlcnMv Z3B1L2RybS9hbWQvYW1kZ3B1L2NpX2RwbS5jCj4gaW5kZXggZDI0Njk0NTNkY2EyLi43OTIyMGE5 MWFiZTMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvY2lfZHBtLmMK PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9jaV9kcG0uYwo+IEBAIC02Mjc3LDEy ICs2Mjc3LDEyIEBAIHN0YXRpYyBpbnQgY2lfZHBtX3N3X2luaXQodm9pZCAqaGFuZGxlKQo+ICAJ aW50IHJldDsKPiAgCXN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2ID0gKHN0cnVjdCBhbWRncHVf ZGV2aWNlICopaGFuZGxlOwo+ICAKPiAtCXJldCA9IGFtZGdwdV9pcnFfYWRkX2lkKGFkZXYsIEFN REdQVV9JSF9DTElFTlRJRF9MRUdBQ1ksIDIzMCwKPiArCXJldCA9IGFtZGdwdV9pcnFfYWRkX2lk KGFkZXYsIEFNREdQVV9JUlFfQ0xJRU5USURfTEVHQUNZLCAyMzAsCj4gIAkJCQkmYWRldi0+cG0u ZHBtLnRoZXJtYWwuaXJxKTsKPiAgCWlmIChyZXQpCj4gIAkJcmV0dXJuIHJldDsKPiAgCj4gLQly ZXQgPSBhbWRncHVfaXJxX2FkZF9pZChhZGV2LCBBTURHUFVfSUhfQ0xJRU5USURfTEVHQUNZLCAy MzEsCj4gKwlyZXQgPSBhbWRncHVfaXJxX2FkZF9pZChhZGV2LCBBTURHUFVfSVJRX0NMSUVOVElE X0xFR0FDWSwgMjMxLAo+ICAJCQkJJmFkZXYtPnBtLmRwbS50aGVybWFsLmlycSk7Cj4gIAlpZiAo cmV0KQo+ICAJCXJldHVybiByZXQ7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQv YW1kZ3B1L2Npa19paC5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvY2lrX2loLmMKPiBp bmRleCBjMzdjNGI3NmU3ZTkuLmI1Nzc1YzZhODU3YiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vYW1kL2FtZGdwdS9jaWtfaWguYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1k Z3B1L2Npa19paC5jCj4gQEAgLTI3Niw3ICsyNzYsNyBAQCBzdGF0aWMgdm9pZCBjaWtfaWhfZGVj b2RlX2l2KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LAo+ICAJZHdbMl0gPSBsZTMyX3RvX2Nw dShhZGV2LT5pcnEuaWgucmluZ1tyaW5nX2luZGV4ICsgMl0pOwo+ICAJZHdbM10gPSBsZTMyX3Rv X2NwdShhZGV2LT5pcnEuaWgucmluZ1tyaW5nX2luZGV4ICsgM10pOwo+ICAKPiAtCWVudHJ5LT5j bGllbnRfaWQgPSBBTURHUFVfSUhfQ0xJRU5USURfTEVHQUNZOwo+ICsJZW50cnktPmNsaWVudF9p ZCA9IEFNREdQVV9JUlFfQ0xJRU5USURfTEVHQUNZOwo+ICAJZW50cnktPnNyY19pZCA9IGR3WzBd ICYgMHhmZjsKPiAgCWVudHJ5LT5zcmNfZGF0YVswXSA9IGR3WzFdICYgMHhmZmZmZmZmOwo+ICAJ ZW50cnktPnJpbmdfaWQgPSBkd1syXSAmIDB4ZmY7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9hbWQvYW1kZ3B1L2Npa19zZG1hLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9j aWtfc2RtYS5jCj4gaW5kZXggZWU5ZDVjOTJlZGIxLi5iOTE4Yzg4ODZiNzUgMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvY2lrX3NkbWEuYwo+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9hbWQvYW1kZ3B1L2Npa19zZG1hLmMKPiBAQCAtOTcwLDE5ICs5NzAsMTkgQEAgc3Rh dGljIGludCBjaWtfc2RtYV9zd19pbml0KHZvaWQgKmhhbmRsZSkKPiAgCX0KPiAgCj4gIAkvKiBT RE1BIHRyYXAgZXZlbnQgKi8KPiAtCXIgPSBhbWRncHVfaXJxX2FkZF9pZChhZGV2LCBBTURHUFVf SUhfQ0xJRU5USURfTEVHQUNZLCAyMjQsCj4gKwlyID0gYW1kZ3B1X2lycV9hZGRfaWQoYWRldiwg QU1ER1BVX0lSUV9DTElFTlRJRF9MRUdBQ1ksIDIyNCwKPiAgCQkJICAgICAgJmFkZXYtPnNkbWEu dHJhcF9pcnEpOwo+ICAJaWYgKHIpCj4gIAkJcmV0dXJuIHI7Cj4gIAo+ICAJLyogU0RNQSBQcml2 aWxlZ2VkIGluc3QgKi8KPiAtCXIgPSBhbWRncHVfaXJxX2FkZF9pZChhZGV2LCBBTURHUFVfSUhf Q0xJRU5USURfTEVHQUNZLCAyNDEsCj4gKwlyID0gYW1kZ3B1X2lycV9hZGRfaWQoYWRldiwgQU1E R1BVX0lSUV9DTElFTlRJRF9MRUdBQ1ksIDI0MSwKPiAgCQkJICAgICAgJmFkZXYtPnNkbWEuaWxs ZWdhbF9pbnN0X2lycSk7Cj4gIAlpZiAocikKPiAgCQlyZXR1cm4gcjsKPiAgCj4gIAkvKiBTRE1B IFByaXZpbGVnZWQgaW5zdCAqLwo+IC0JciA9IGFtZGdwdV9pcnFfYWRkX2lkKGFkZXYsIEFNREdQ VV9JSF9DTElFTlRJRF9MRUdBQ1ksIDI0NywKPiArCXIgPSBhbWRncHVfaXJxX2FkZF9pZChhZGV2 LCBBTURHUFVfSVJRX0NMSUVOVElEX0xFR0FDWSwgMjQ3LAo+ICAJCQkgICAgICAmYWRldi0+c2Rt YS5pbGxlZ2FsX2luc3RfaXJxKTsKPiAgCWlmIChyKQo+ICAJCXJldHVybiByOwo+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9jel9paC5jIGIvZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRncHUvY3pfaWguYwo+IGluZGV4IDMwNmUwYmQxNTRmYS4uZGY1YWM0ZDg1YTAwIDEw MDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2N6X2loLmMKPiArKysgYi9k cml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9jel9paC5jCj4gQEAgLTI1NSw3ICsyNTUsNyBAQCBz dGF0aWMgdm9pZCBjel9paF9kZWNvZGVfaXYoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCj4g IAlkd1syXSA9IGxlMzJfdG9fY3B1KGFkZXYtPmlycS5paC5yaW5nW3JpbmdfaW5kZXggKyAyXSk7 Cj4gIAlkd1szXSA9IGxlMzJfdG9fY3B1KGFkZXYtPmlycS5paC5yaW5nW3JpbmdfaW5kZXggKyAz XSk7Cj4gIAo+IC0JZW50cnktPmNsaWVudF9pZCA9IEFNREdQVV9JSF9DTElFTlRJRF9MRUdBQ1k7 Cj4gKwllbnRyeS0+Y2xpZW50X2lkID0gQU1ER1BVX0lSUV9DTElFTlRJRF9MRUdBQ1k7Cj4gIAll bnRyeS0+c3JjX2lkID0gZHdbMF0gJiAweGZmOwo+ICAJZW50cnktPnNyY19kYXRhWzBdID0gZHdb MV0gJiAweGZmZmZmZmY7Cj4gIAllbnRyeS0+cmluZ19pZCA9IGR3WzJdICYgMHhmZjsKPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZGNlX3YxMF8wLmMgYi9kcml2ZXJz L2dwdS9kcm0vYW1kL2FtZGdwdS9kY2VfdjEwXzAuYwo+IGluZGV4IDg5YzA5YzM5NmZlNi4uNGNm ZWNkY2UyOWEzIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2RjZV92 MTBfMC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZGNlX3YxMF8wLmMKPiBA QCAtMjc0NiwxOSArMjc0NiwxOSBAQCBzdGF0aWMgaW50IGRjZV92MTBfMF9zd19pbml0KHZvaWQg KmhhbmRsZSkKPiAgCXN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2ID0gKHN0cnVjdCBhbWRncHVf ZGV2aWNlICopaGFuZGxlOwo+ICAKPiAgCWZvciAoaSA9IDA7IGkgPCBhZGV2LT5tb2RlX2luZm8u bnVtX2NydGM7IGkrKykgewo+IC0JCXIgPSBhbWRncHVfaXJxX2FkZF9pZChhZGV2LCBBTURHUFVf SUhfQ0xJRU5USURfTEVHQUNZLCBpICsgMSwgJmFkZXYtPmNydGNfaXJxKTsKPiArCQlyID0gYW1k Z3B1X2lycV9hZGRfaWQoYWRldiwgQU1ER1BVX0lSUV9DTElFTlRJRF9MRUdBQ1ksIGkgKyAxLCAm YWRldi0+Y3J0Y19pcnEpOwo+ICAJCWlmIChyKQo+ICAJCQlyZXR1cm4gcjsKPiAgCX0KPiAgCj4g IAlmb3IgKGkgPSBWSVNMQU5EUzMwX0lWX1NSQ0lEX0QxX0dSUEhfUEZMSVA7IGkgPCAyMDsgaSAr PSAyKSB7Cj4gLQkJciA9IGFtZGdwdV9pcnFfYWRkX2lkKGFkZXYsIEFNREdQVV9JSF9DTElFTlRJ RF9MRUdBQ1ksIGksICZhZGV2LT5wYWdlZmxpcF9pcnEpOwo+ICsJCXIgPSBhbWRncHVfaXJxX2Fk ZF9pZChhZGV2LCBBTURHUFVfSVJRX0NMSUVOVElEX0xFR0FDWSwgaSwgJmFkZXYtPnBhZ2VmbGlw X2lycSk7Cj4gIAkJaWYgKHIpCj4gIAkJCXJldHVybiByOwo+ICAJfQo+ICAKPiAgCS8qIEhQRCBo b3RwbHVnICovCj4gLQlyID0gYW1kZ3B1X2lycV9hZGRfaWQoYWRldiwgQU1ER1BVX0lIX0NMSUVO VElEX0xFR0FDWSwgVklTTEFORFMzMF9JVl9TUkNJRF9IT1RQTFVHX0RFVEVDVF9BLCAmYWRldi0+ aHBkX2lycSk7Cj4gKwlyID0gYW1kZ3B1X2lycV9hZGRfaWQoYWRldiwgQU1ER1BVX0lSUV9DTElF TlRJRF9MRUdBQ1ksIFZJU0xBTkRTMzBfSVZfU1JDSURfSE9UUExVR19ERVRFQ1RfQSwgJmFkZXYt PmhwZF9pcnEpOwo+ICAJaWYgKHIpCj4gIAkJcmV0dXJuIHI7Cj4gIAo+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9kY2VfdjExXzAuYyBiL2RyaXZlcnMvZ3B1L2RybS9h bWQvYW1kZ3B1L2RjZV92MTFfMC5jCj4gaW5kZXggY2Y2ZmFhYTA1ZGJiLi43Yzg2ODkxNmQ5MGYg MTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZGNlX3YxMV8wLmMKPiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9kY2VfdjExXzAuYwo+IEBAIC0yODY3LDE5 ICsyODY3LDE5IEBAIHN0YXRpYyBpbnQgZGNlX3YxMV8wX3N3X2luaXQodm9pZCAqaGFuZGxlKQo+ ICAJc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYgPSAoc3RydWN0IGFtZGdwdV9kZXZpY2UgKilo YW5kbGU7Cj4gIAo+ICAJZm9yIChpID0gMDsgaSA8IGFkZXYtPm1vZGVfaW5mby5udW1fY3J0Yzsg aSsrKSB7Cj4gLQkJciA9IGFtZGdwdV9pcnFfYWRkX2lkKGFkZXYsIEFNREdQVV9JSF9DTElFTlRJ RF9MRUdBQ1ksIGkgKyAxLCAmYWRldi0+Y3J0Y19pcnEpOwo+ICsJCXIgPSBhbWRncHVfaXJxX2Fk ZF9pZChhZGV2LCBBTURHUFVfSVJRX0NMSUVOVElEX0xFR0FDWSwgaSArIDEsICZhZGV2LT5jcnRj X2lycSk7Cj4gIAkJaWYgKHIpCj4gIAkJCXJldHVybiByOwo+ICAJfQo+ICAKPiAgCWZvciAoaSA9 IFZJU0xBTkRTMzBfSVZfU1JDSURfRDFfR1JQSF9QRkxJUDsgaSA8IDIwOyBpICs9IDIpIHsKPiAt CQlyID0gYW1kZ3B1X2lycV9hZGRfaWQoYWRldiwgQU1ER1BVX0lIX0NMSUVOVElEX0xFR0FDWSwg aSwgJmFkZXYtPnBhZ2VmbGlwX2lycSk7Cj4gKwkJciA9IGFtZGdwdV9pcnFfYWRkX2lkKGFkZXYs IEFNREdQVV9JUlFfQ0xJRU5USURfTEVHQUNZLCBpLCAmYWRldi0+cGFnZWZsaXBfaXJxKTsKPiAg CQlpZiAocikKPiAgCQkJcmV0dXJuIHI7Cj4gIAl9Cj4gIAo+ICAJLyogSFBEIGhvdHBsdWcgKi8K PiAtCXIgPSBhbWRncHVfaXJxX2FkZF9pZChhZGV2LCBBTURHUFVfSUhfQ0xJRU5USURfTEVHQUNZ LCBWSVNMQU5EUzMwX0lWX1NSQ0lEX0hPVFBMVUdfREVURUNUX0EsICZhZGV2LT5ocGRfaXJxKTsK PiArCXIgPSBhbWRncHVfaXJxX2FkZF9pZChhZGV2LCBBTURHUFVfSVJRX0NMSUVOVElEX0xFR0FD WSwgVklTTEFORFMzMF9JVl9TUkNJRF9IT1RQTFVHX0RFVEVDVF9BLCAmYWRldi0+aHBkX2lycSk7 Cj4gIAlpZiAocikKPiAgCQlyZXR1cm4gcjsKPiAgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9hbWQvYW1kZ3B1L2RjZV92Nl8wLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9k Y2VfdjZfMC5jCj4gaW5kZXggMzcxYWEwNWJmNTM3Li4xN2VhYWJhMzYwMTcgMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZGNlX3Y2XzAuYwo+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9hbWQvYW1kZ3B1L2RjZV92Nl8wLmMKPiBAQCAtMjYxNiwxOSArMjYxNiwxOSBAQCBz dGF0aWMgaW50IGRjZV92Nl8wX3N3X2luaXQodm9pZCAqaGFuZGxlKQo+ICAJc3RydWN0IGFtZGdw dV9kZXZpY2UgKmFkZXYgPSAoc3RydWN0IGFtZGdwdV9kZXZpY2UgKiloYW5kbGU7Cj4gIAo+ICAJ Zm9yIChpID0gMDsgaSA8IGFkZXYtPm1vZGVfaW5mby5udW1fY3J0YzsgaSsrKSB7Cj4gLQkJciA9 IGFtZGdwdV9pcnFfYWRkX2lkKGFkZXYsIEFNREdQVV9JSF9DTElFTlRJRF9MRUdBQ1ksIGkgKyAx LCAmYWRldi0+Y3J0Y19pcnEpOwo+ICsJCXIgPSBhbWRncHVfaXJxX2FkZF9pZChhZGV2LCBBTURH UFVfSVJRX0NMSUVOVElEX0xFR0FDWSwgaSArIDEsICZhZGV2LT5jcnRjX2lycSk7Cj4gIAkJaWYg KHIpCj4gIAkJCXJldHVybiByOwo+ICAJfQo+ICAKPiAgCWZvciAoaSA9IDg7IGkgPCAyMDsgaSAr PSAyKSB7Cj4gLQkJciA9IGFtZGdwdV9pcnFfYWRkX2lkKGFkZXYsIEFNREdQVV9JSF9DTElFTlRJ RF9MRUdBQ1ksIGksICZhZGV2LT5wYWdlZmxpcF9pcnEpOwo+ICsJCXIgPSBhbWRncHVfaXJxX2Fk ZF9pZChhZGV2LCBBTURHUFVfSVJRX0NMSUVOVElEX0xFR0FDWSwgaSwgJmFkZXYtPnBhZ2VmbGlw X2lycSk7Cj4gIAkJaWYgKHIpCj4gIAkJCXJldHVybiByOwo+ICAJfQo+ICAKPiAgCS8qIEhQRCBo b3RwbHVnICovCj4gLQlyID0gYW1kZ3B1X2lycV9hZGRfaWQoYWRldiwgQU1ER1BVX0lIX0NMSUVO VElEX0xFR0FDWSwgNDIsICZhZGV2LT5ocGRfaXJxKTsKPiArCXIgPSBhbWRncHVfaXJxX2FkZF9p ZChhZGV2LCBBTURHUFVfSVJRX0NMSUVOVElEX0xFR0FDWSwgNDIsICZhZGV2LT5ocGRfaXJxKTsK PiAgCWlmIChyKQo+ICAJCXJldHVybiByOwo+ICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2FtZC9hbWRncHUvZGNlX3Y4XzAuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2Rj ZV92OF8wLmMKPiBpbmRleCAzMGU3NmYyNDA3YzIuLjhjMDU3Njk3OGQzNiAxMDA2NDQKPiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9kY2VfdjhfMC5jCj4gKysrIGIvZHJpdmVycy9n cHUvZHJtL2FtZC9hbWRncHUvZGNlX3Y4XzAuYwo+IEBAIC0yNjQzLDE5ICsyNjQzLDE5IEBAIHN0 YXRpYyBpbnQgZGNlX3Y4XzBfc3dfaW5pdCh2b2lkICpoYW5kbGUpCj4gIAlzdHJ1Y3QgYW1kZ3B1 X2RldmljZSAqYWRldiA9IChzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqKWhhbmRsZTsKPiAgCj4gIAlm b3IgKGkgPSAwOyBpIDwgYWRldi0+bW9kZV9pbmZvLm51bV9jcnRjOyBpKyspIHsKPiAtCQlyID0g YW1kZ3B1X2lycV9hZGRfaWQoYWRldiwgQU1ER1BVX0lIX0NMSUVOVElEX0xFR0FDWSwgaSArIDEs ICZhZGV2LT5jcnRjX2lycSk7Cj4gKwkJciA9IGFtZGdwdV9pcnFfYWRkX2lkKGFkZXYsIEFNREdQ VV9JUlFfQ0xJRU5USURfTEVHQUNZLCBpICsgMSwgJmFkZXYtPmNydGNfaXJxKTsKPiAgCQlpZiAo cikKPiAgCQkJcmV0dXJuIHI7Cj4gIAl9Cj4gIAo+ICAJZm9yIChpID0gODsgaSA8IDIwOyBpICs9 IDIpIHsKPiAtCQlyID0gYW1kZ3B1X2lycV9hZGRfaWQoYWRldiwgQU1ER1BVX0lIX0NMSUVOVElE X0xFR0FDWSwgaSwgJmFkZXYtPnBhZ2VmbGlwX2lycSk7Cj4gKwkJciA9IGFtZGdwdV9pcnFfYWRk X2lkKGFkZXYsIEFNREdQVV9JUlFfQ0xJRU5USURfTEVHQUNZLCBpLCAmYWRldi0+cGFnZWZsaXBf aXJxKTsKPiAgCQlpZiAocikKPiAgCQkJcmV0dXJuIHI7Cj4gIAl9Cj4gIAo+ICAJLyogSFBEIGhv dHBsdWcgKi8KPiAtCXIgPSBhbWRncHVfaXJxX2FkZF9pZChhZGV2LCBBTURHUFVfSUhfQ0xJRU5U SURfTEVHQUNZLCA0MiwgJmFkZXYtPmhwZF9pcnEpOwo+ICsJciA9IGFtZGdwdV9pcnFfYWRkX2lk KGFkZXYsIEFNREdQVV9JUlFfQ0xJRU5USURfTEVHQUNZLCA0MiwgJmFkZXYtPmhwZF9pcnEpOwo+ ICAJaWYgKHIpCj4gIAkJcmV0dXJuIHI7Cj4gIAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9kY2VfdmlydHVhbC5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUv ZGNlX3ZpcnR1YWwuYwo+IGluZGV4IDJjYzQ4MGQ2NTM5NC4uZmRhY2UwMDQ1NDRkIDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2RjZV92aXJ0dWFsLmMKPiArKysgYi9k cml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9kY2VfdmlydHVhbC5jCj4gQEAgLTM3Miw3ICszNzIs NyBAQCBzdGF0aWMgaW50IGRjZV92aXJ0dWFsX3N3X2luaXQodm9pZCAqaGFuZGxlKQo+ICAJaW50 IHIsIGk7Cj4gIAlzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiA9IChzdHJ1Y3QgYW1kZ3B1X2Rl dmljZSAqKWhhbmRsZTsKPiAgCj4gLQlyID0gYW1kZ3B1X2lycV9hZGRfaWQoYWRldiwgQU1ER1BV X0lIX0NMSUVOVElEX0xFR0FDWSwgVklTTEFORFMzMF9JVl9TUkNJRF9TTVVfRElTUF9USU1FUjJf VFJJR0dFUiwgJmFkZXYtPmNydGNfaXJxKTsKPiArCXIgPSBhbWRncHVfaXJxX2FkZF9pZChhZGV2 LCBBTURHUFVfSVJRX0NMSUVOVElEX0xFR0FDWSwgVklTTEFORFMzMF9JVl9TUkNJRF9TTVVfRElT UF9USU1FUjJfVFJJR0dFUiwgJmFkZXYtPmNydGNfaXJxKTsKPiAgCWlmIChyKQo+ICAJCXJldHVy biByOwo+ICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ2Z4X3Y2 XzAuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2dmeF92Nl8wLmMKPiBpbmRleCBkZTE4 NGE4ODYwNTcuLjdjZGEwMDMxYmQ1NyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS9nZnhfdjZfMC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ2Z4 X3Y2XzAuYwo+IEBAIC0zMDk0LDE1ICszMDk0LDE1IEBAIHN0YXRpYyBpbnQgZ2Z4X3Y2XzBfc3df aW5pdCh2b2lkICpoYW5kbGUpCj4gIAlzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiA9IChzdHJ1 Y3QgYW1kZ3B1X2RldmljZSAqKWhhbmRsZTsKPiAgCWludCBpLCByOwo+ICAKPiAtCXIgPSBhbWRn cHVfaXJxX2FkZF9pZChhZGV2LCBBTURHUFVfSUhfQ0xJRU5USURfTEVHQUNZLCAxODEsICZhZGV2 LT5nZnguZW9wX2lycSk7Cj4gKwlyID0gYW1kZ3B1X2lycV9hZGRfaWQoYWRldiwgQU1ER1BVX0lS UV9DTElFTlRJRF9MRUdBQ1ksIDE4MSwgJmFkZXYtPmdmeC5lb3BfaXJxKTsKPiAgCWlmIChyKQo+ ICAJCXJldHVybiByOwo+ICAKPiAtCXIgPSBhbWRncHVfaXJxX2FkZF9pZChhZGV2LCBBTURHUFVf SUhfQ0xJRU5USURfTEVHQUNZLCAxODQsICZhZGV2LT5nZngucHJpdl9yZWdfaXJxKTsKPiArCXIg PSBhbWRncHVfaXJxX2FkZF9pZChhZGV2LCBBTURHUFVfSVJRX0NMSUVOVElEX0xFR0FDWSwgMTg0 LCAmYWRldi0+Z2Z4LnByaXZfcmVnX2lycSk7Cj4gIAlpZiAocikKPiAgCQlyZXR1cm4gcjsKPiAg Cj4gLQlyID0gYW1kZ3B1X2lycV9hZGRfaWQoYWRldiwgQU1ER1BVX0lIX0NMSUVOVElEX0xFR0FD WSwgMTg1LCAmYWRldi0+Z2Z4LnByaXZfaW5zdF9pcnEpOwo+ICsJciA9IGFtZGdwdV9pcnFfYWRk X2lkKGFkZXYsIEFNREdQVV9JUlFfQ0xJRU5USURfTEVHQUNZLCAxODUsICZhZGV2LT5nZngucHJp dl9pbnN0X2lycSk7Cj4gIAlpZiAocikKPiAgCQlyZXR1cm4gcjsKPiAgCj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2dmeF92N18wLmMgYi9kcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS9nZnhfdjdfMC5jCj4gaW5kZXggZmMzOWViYmM5ZDlmLi45MGYwMzBhY2I2ODUg MTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ2Z4X3Y3XzAuYwo+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2dmeF92N18wLmMKPiBAQCAtNDUxNiwxOCAr NDUxNiwxOCBAQCBzdGF0aWMgaW50IGdmeF92N18wX3N3X2luaXQodm9pZCAqaGFuZGxlKQo+ICAJ YWRldi0+Z2Z4Lm1lYy5udW1fcXVldWVfcGVyX3BpcGUgPSA4Owo+ICAKPiAgCS8qIEVPUCBFdmVu dCAqLwo+IC0JciA9IGFtZGdwdV9pcnFfYWRkX2lkKGFkZXYsIEFNREdQVV9JSF9DTElFTlRJRF9M RUdBQ1ksIDE4MSwgJmFkZXYtPmdmeC5lb3BfaXJxKTsKPiArCXIgPSBhbWRncHVfaXJxX2FkZF9p ZChhZGV2LCBBTURHUFVfSVJRX0NMSUVOVElEX0xFR0FDWSwgMTgxLCAmYWRldi0+Z2Z4LmVvcF9p cnEpOwo+ICAJaWYgKHIpCj4gIAkJcmV0dXJuIHI7Cj4gIAo+ICAJLyogUHJpdmlsZWdlZCByZWcg Ki8KPiAtCXIgPSBhbWRncHVfaXJxX2FkZF9pZChhZGV2LCBBTURHUFVfSUhfQ0xJRU5USURfTEVH QUNZLCAxODQsCj4gKwlyID0gYW1kZ3B1X2lycV9hZGRfaWQoYWRldiwgQU1ER1BVX0lSUV9DTElF TlRJRF9MRUdBQ1ksIDE4NCwKPiAgCQkJICAgICAgJmFkZXYtPmdmeC5wcml2X3JlZ19pcnEpOwo+ ICAJaWYgKHIpCj4gIAkJcmV0dXJuIHI7Cj4gIAo+ICAJLyogUHJpdmlsZWdlZCBpbnN0ICovCj4g LQlyID0gYW1kZ3B1X2lycV9hZGRfaWQoYWRldiwgQU1ER1BVX0lIX0NMSUVOVElEX0xFR0FDWSwg MTg1LAo+ICsJciA9IGFtZGdwdV9pcnFfYWRkX2lkKGFkZXYsIEFNREdQVV9JUlFfQ0xJRU5USURf TEVHQUNZLCAxODUsCj4gIAkJCSAgICAgICZhZGV2LT5nZngucHJpdl9pbnN0X2lycSk7Cj4gIAlp ZiAocikKPiAgCQlyZXR1cm4gcjsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRncHUvZ2Z4X3Y4XzAuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2dmeF92OF8wLmMK PiBpbmRleCA0NzBkYzgwZjRmZTcuLmI2MTYwZGU3MGQxMiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0vYW1kL2FtZGdwdS9nZnhfdjhfMC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2Ft ZC9hbWRncHUvZ2Z4X3Y4XzAuYwo+IEBAIC0yMDQ5LDM1ICsyMDQ5LDM1IEBAIHN0YXRpYyBpbnQg Z2Z4X3Y4XzBfc3dfaW5pdCh2b2lkICpoYW5kbGUpCj4gIAlhZGV2LT5nZngubWVjLm51bV9xdWV1 ZV9wZXJfcGlwZSA9IDg7Cj4gIAo+ICAJLyogS0lRIGV2ZW50ICovCj4gLQlyID0gYW1kZ3B1X2ly cV9hZGRfaWQoYWRldiwgQU1ER1BVX0lIX0NMSUVOVElEX0xFR0FDWSwgVklTTEFORFMzMF9JVl9T UkNJRF9DUF9JTlRfSUIyLCAmYWRldi0+Z2Z4LmtpcS5pcnEpOwo+ICsJciA9IGFtZGdwdV9pcnFf YWRkX2lkKGFkZXYsIEFNREdQVV9JUlFfQ0xJRU5USURfTEVHQUNZLCBWSVNMQU5EUzMwX0lWX1NS Q0lEX0NQX0lOVF9JQjIsICZhZGV2LT5nZngua2lxLmlycSk7Cj4gIAlpZiAocikKPiAgCQlyZXR1 cm4gcjsKPiAgCj4gIAkvKiBFT1AgRXZlbnQgKi8KPiAtCXIgPSBhbWRncHVfaXJxX2FkZF9pZChh ZGV2LCBBTURHUFVfSUhfQ0xJRU5USURfTEVHQUNZLCBWSVNMQU5EUzMwX0lWX1NSQ0lEX0NQX0VO RF9PRl9QSVBFLCAmYWRldi0+Z2Z4LmVvcF9pcnEpOwo+ICsJciA9IGFtZGdwdV9pcnFfYWRkX2lk KGFkZXYsIEFNREdQVV9JUlFfQ0xJRU5USURfTEVHQUNZLCBWSVNMQU5EUzMwX0lWX1NSQ0lEX0NQ X0VORF9PRl9QSVBFLCAmYWRldi0+Z2Z4LmVvcF9pcnEpOwo+ICAJaWYgKHIpCj4gIAkJcmV0dXJu IHI7Cj4gIAo+ICAJLyogUHJpdmlsZWdlZCByZWcgKi8KPiAtCXIgPSBhbWRncHVfaXJxX2FkZF9p ZChhZGV2LCBBTURHUFVfSUhfQ0xJRU5USURfTEVHQUNZLCBWSVNMQU5EUzMwX0lWX1NSQ0lEX0NQ X1BSSVZfUkVHX0ZBVUxULAo+ICsJciA9IGFtZGdwdV9pcnFfYWRkX2lkKGFkZXYsIEFNREdQVV9J UlFfQ0xJRU5USURfTEVHQUNZLCBWSVNMQU5EUzMwX0lWX1NSQ0lEX0NQX1BSSVZfUkVHX0ZBVUxU LAo+ICAJCQkgICAgICAmYWRldi0+Z2Z4LnByaXZfcmVnX2lycSk7Cj4gIAlpZiAocikKPiAgCQly ZXR1cm4gcjsKPiAgCj4gIAkvKiBQcml2aWxlZ2VkIGluc3QgKi8KPiAtCXIgPSBhbWRncHVfaXJx X2FkZF9pZChhZGV2LCBBTURHUFVfSUhfQ0xJRU5USURfTEVHQUNZLCBWSVNMQU5EUzMwX0lWX1NS Q0lEX0NQX1BSSVZfSU5TVFJfRkFVTFQsCj4gKwlyID0gYW1kZ3B1X2lycV9hZGRfaWQoYWRldiwg QU1ER1BVX0lSUV9DTElFTlRJRF9MRUdBQ1ksIFZJU0xBTkRTMzBfSVZfU1JDSURfQ1BfUFJJVl9J TlNUUl9GQVVMVCwKPiAgCQkJICAgICAgJmFkZXYtPmdmeC5wcml2X2luc3RfaXJxKTsKPiAgCWlm IChyKQo+ICAJCXJldHVybiByOwo+ICAKPiAgCS8qIEFkZCBDUCBFREMvRUNDIGlycSAgKi8KPiAt CXIgPSBhbWRncHVfaXJxX2FkZF9pZChhZGV2LCBBTURHUFVfSUhfQ0xJRU5USURfTEVHQUNZLCBW SVNMQU5EUzMwX0lWX1NSQ0lEX0NQX0VDQ19FUlJPUiwKPiArCXIgPSBhbWRncHVfaXJxX2FkZF9p ZChhZGV2LCBBTURHUFVfSVJRX0NMSUVOVElEX0xFR0FDWSwgVklTTEFORFMzMF9JVl9TUkNJRF9D UF9FQ0NfRVJST1IsCj4gIAkJCSAgICAgICZhZGV2LT5nZnguY3BfZWNjX2Vycm9yX2lycSk7Cj4g IAlpZiAocikKPiAgCQlyZXR1cm4gcjsKPiAgCj4gIAkvKiBTUSBpbnRlcnJ1cHRzLiAqLwo+IC0J ciA9IGFtZGdwdV9pcnFfYWRkX2lkKGFkZXYsIEFNREdQVV9JSF9DTElFTlRJRF9MRUdBQ1ksIFZJ U0xBTkRTMzBfSVZfU1JDSURfU1FfSU5URVJSVVBUX01TRywKPiArCXIgPSBhbWRncHVfaXJxX2Fk ZF9pZChhZGV2LCBBTURHUFVfSVJRX0NMSUVOVElEX0xFR0FDWSwgVklTTEFORFMzMF9JVl9TUkNJ RF9TUV9JTlRFUlJVUFRfTVNHLAo+ICAJCQkgICAgICAmYWRldi0+Z2Z4LnNxX2lycSk7Cj4gIAlp ZiAocikgewo+ICAJCURSTV9FUlJPUigiYW1kZ3B1X2lycV9hZGQoKSBmb3IgU1EgZmFpbGVkOiAl ZFxuIiwgcik7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2dtY192 Nl8wLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9nbWNfdjZfMC5jCj4gaW5kZXggM2I4 YWM0NDQyZjA2Li5lMWMyYjRlOWM3YjIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2Ft ZC9hbWRncHUvZ21jX3Y2XzAuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2dt Y192Nl8wLmMKPiBAQCAtODU5LDExICs4NTksMTEgQEAgc3RhdGljIGludCBnbWNfdjZfMF9zd19p bml0KHZvaWQgKmhhbmRsZSkKPiAgCQlhZGV2LT5nbWMudnJhbV90eXBlID0gZ21jX3Y2XzBfY29u dmVydF92cmFtX3R5cGUodG1wKTsKPiAgCX0KPiAgCj4gLQlyID0gYW1kZ3B1X2lycV9hZGRfaWQo YWRldiwgQU1ER1BVX0lIX0NMSUVOVElEX0xFR0FDWSwgMTQ2LCAmYWRldi0+Z21jLnZtX2ZhdWx0 KTsKPiArCXIgPSBhbWRncHVfaXJxX2FkZF9pZChhZGV2LCBBTURHUFVfSVJRX0NMSUVOVElEX0xF R0FDWSwgMTQ2LCAmYWRldi0+Z21jLnZtX2ZhdWx0KTsKPiAgCWlmIChyKQo+ICAJCXJldHVybiBy Owo+ICAKPiAtCXIgPSBhbWRncHVfaXJxX2FkZF9pZChhZGV2LCBBTURHUFVfSUhfQ0xJRU5USURf TEVHQUNZLCAxNDcsICZhZGV2LT5nbWMudm1fZmF1bHQpOwo+ICsJciA9IGFtZGdwdV9pcnFfYWRk X2lkKGFkZXYsIEFNREdQVV9JUlFfQ0xJRU5USURfTEVHQUNZLCAxNDcsICZhZGV2LT5nbWMudm1f ZmF1bHQpOwo+ICAJaWYgKHIpCj4gIAkJcmV0dXJuIHI7Cj4gIAo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9nbWNfdjdfMC5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRncHUvZ21jX3Y3XzAuYwo+IGluZGV4IDg5OTYzNGNlNDIzOC4uOTEwYzRjZTE5Y2IzIDEwMDY0 NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2dtY192N18wLmMKPiArKysgYi9k cml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9nbWNfdjdfMC5jCj4gQEAgLTk5MSwxMSArOTkxLDEx IEBAIHN0YXRpYyBpbnQgZ21jX3Y3XzBfc3dfaW5pdCh2b2lkICpoYW5kbGUpCj4gIAkJYWRldi0+ Z21jLnZyYW1fdHlwZSA9IGdtY192N18wX2NvbnZlcnRfdnJhbV90eXBlKHRtcCk7Cj4gIAl9Cj4g IAo+IC0JciA9IGFtZGdwdV9pcnFfYWRkX2lkKGFkZXYsIEFNREdQVV9JSF9DTElFTlRJRF9MRUdB Q1ksIFZJU0xBTkRTMzBfSVZfU1JDSURfR0ZYX1BBR0VfSU5WX0ZBVUxULCAmYWRldi0+Z21jLnZt X2ZhdWx0KTsKPiArCXIgPSBhbWRncHVfaXJxX2FkZF9pZChhZGV2LCBBTURHUFVfSVJRX0NMSUVO VElEX0xFR0FDWSwgVklTTEFORFMzMF9JVl9TUkNJRF9HRlhfUEFHRV9JTlZfRkFVTFQsICZhZGV2 LT5nbWMudm1fZmF1bHQpOwo+ICAJaWYgKHIpCj4gIAkJcmV0dXJuIHI7Cj4gIAo+IC0JciA9IGFt ZGdwdV9pcnFfYWRkX2lkKGFkZXYsIEFNREdQVV9JSF9DTElFTlRJRF9MRUdBQ1ksIFZJU0xBTkRT MzBfSVZfU1JDSURfR0ZYX01FTV9QUk9UX0ZBVUxULCAmYWRldi0+Z21jLnZtX2ZhdWx0KTsKPiAr CXIgPSBhbWRncHVfaXJxX2FkZF9pZChhZGV2LCBBTURHUFVfSVJRX0NMSUVOVElEX0xFR0FDWSwg VklTTEFORFMzMF9JVl9TUkNJRF9HRlhfTUVNX1BST1RfRkFVTFQsICZhZGV2LT5nbWMudm1fZmF1 bHQpOwo+ICAJaWYgKHIpCj4gIAkJcmV0dXJuIHI7Cj4gIAo+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vYW1kL2FtZGdwdS9nbWNfdjhfMC5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRn cHUvZ21jX3Y4XzAuYwo+IGluZGV4IDc5MTQzY2E3Y2ZhYy4uMWQzMjY1Yzk3YjcwIDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2dtY192OF8wLmMKPiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9nbWNfdjhfMC5jCj4gQEAgLTEwOTUsMTEgKzEwOTUsMTEg QEAgc3RhdGljIGludCBnbWNfdjhfMF9zd19pbml0KHZvaWQgKmhhbmRsZSkKPiAgCQlhZGV2LT5n bWMudnJhbV90eXBlID0gZ21jX3Y4XzBfY29udmVydF92cmFtX3R5cGUodG1wKTsKPiAgCX0KPiAg Cj4gLQlyID0gYW1kZ3B1X2lycV9hZGRfaWQoYWRldiwgQU1ER1BVX0lIX0NMSUVOVElEX0xFR0FD WSwgVklTTEFORFMzMF9JVl9TUkNJRF9HRlhfUEFHRV9JTlZfRkFVTFQsICZhZGV2LT5nbWMudm1f ZmF1bHQpOwo+ICsJciA9IGFtZGdwdV9pcnFfYWRkX2lkKGFkZXYsIEFNREdQVV9JUlFfQ0xJRU5U SURfTEVHQUNZLCBWSVNMQU5EUzMwX0lWX1NSQ0lEX0dGWF9QQUdFX0lOVl9GQVVMVCwgJmFkZXYt PmdtYy52bV9mYXVsdCk7Cj4gIAlpZiAocikKPiAgCQlyZXR1cm4gcjsKPiAgCj4gLQlyID0gYW1k Z3B1X2lycV9hZGRfaWQoYWRldiwgQU1ER1BVX0lIX0NMSUVOVElEX0xFR0FDWSwgVklTTEFORFMz MF9JVl9TUkNJRF9HRlhfTUVNX1BST1RfRkFVTFQsICZhZGV2LT5nbWMudm1fZmF1bHQpOwo+ICsJ ciA9IGFtZGdwdV9pcnFfYWRkX2lkKGFkZXYsIEFNREdQVV9JUlFfQ0xJRU5USURfTEVHQUNZLCBW SVNMQU5EUzMwX0lWX1NSQ0lEX0dGWF9NRU1fUFJPVF9GQVVMVCwgJmFkZXYtPmdtYy52bV9mYXVs dCk7Cj4gIAlpZiAocikKPiAgCQlyZXR1cm4gcjsKPiAgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9hbWQvYW1kZ3B1L2ljZWxhbmRfaWguYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1k Z3B1L2ljZWxhbmRfaWguYwo+IGluZGV4IDkwMDVkZWVlYzYxMi4uY2YwZmM2MWFlYmU2IDEwMDY0 NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2ljZWxhbmRfaWguYwo+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2ljZWxhbmRfaWguYwo+IEBAIC0yNTUsNyArMjU1 LDcgQEAgc3RhdGljIHZvaWQgaWNlbGFuZF9paF9kZWNvZGVfaXYoc3RydWN0IGFtZGdwdV9kZXZp Y2UgKmFkZXYsCj4gIAlkd1syXSA9IGxlMzJfdG9fY3B1KGFkZXYtPmlycS5paC5yaW5nW3Jpbmdf aW5kZXggKyAyXSk7Cj4gIAlkd1szXSA9IGxlMzJfdG9fY3B1KGFkZXYtPmlycS5paC5yaW5nW3Jp bmdfaW5kZXggKyAzXSk7Cj4gIAo+IC0JZW50cnktPmNsaWVudF9pZCA9IEFNREdQVV9JSF9DTElF TlRJRF9MRUdBQ1k7Cj4gKwllbnRyeS0+Y2xpZW50X2lkID0gQU1ER1BVX0lSUV9DTElFTlRJRF9M RUdBQ1k7Cj4gIAllbnRyeS0+c3JjX2lkID0gZHdbMF0gJiAweGZmOwo+ICAJZW50cnktPnNyY19k YXRhWzBdID0gZHdbMV0gJiAweGZmZmZmZmY7Cj4gIAllbnRyeS0+cmluZ19pZCA9IGR3WzJdICYg MHhmZjsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUva3ZfZHBtLmMg Yi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9rdl9kcG0uYwo+IGluZGV4IGNiNzlhOTNjMmVi Ny4uZDBlNDc4ZjQzNDQzIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1 L2t2X2RwbS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUva3ZfZHBtLmMKPiBA QCAtMjk5NSwxMiArMjk5NSwxMiBAQCBzdGF0aWMgaW50IGt2X2RwbV9zd19pbml0KHZvaWQgKmhh bmRsZSkKPiAgCWludCByZXQ7Cj4gIAlzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiA9IChzdHJ1 Y3QgYW1kZ3B1X2RldmljZSAqKWhhbmRsZTsKPiAgCj4gLQlyZXQgPSBhbWRncHVfaXJxX2FkZF9p ZChhZGV2LCBBTURHUFVfSUhfQ0xJRU5USURfTEVHQUNZLCAyMzAsCj4gKwlyZXQgPSBhbWRncHVf aXJxX2FkZF9pZChhZGV2LCBBTURHUFVfSVJRX0NMSUVOVElEX0xFR0FDWSwgMjMwLAo+ICAJCQkJ JmFkZXYtPnBtLmRwbS50aGVybWFsLmlycSk7Cj4gIAlpZiAocmV0KQo+ICAJCXJldHVybiByZXQ7 Cj4gIAo+IC0JcmV0ID0gYW1kZ3B1X2lycV9hZGRfaWQoYWRldiwgQU1ER1BVX0lIX0NMSUVOVElE X0xFR0FDWSwgMjMxLAo+ICsJcmV0ID0gYW1kZ3B1X2lycV9hZGRfaWQoYWRldiwgQU1ER1BVX0lS UV9DTElFTlRJRF9MRUdBQ1ksIDIzMSwKPiAgCQkJCSZhZGV2LT5wbS5kcG0udGhlcm1hbC5pcnEp Owo+ICAJaWYgKHJldCkKPiAgCQlyZXR1cm4gcmV0Owo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vYW1kL2FtZGdwdS9teGdwdV92aS5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUv bXhncHVfdmkuYwo+IGluZGV4IDg0MjU2N2I1M2RmNS4uNjRlODc1ZDUyOGRkIDEwMDY0NAo+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L214Z3B1X3ZpLmMKPiArKysgYi9kcml2ZXJz L2dwdS9kcm0vYW1kL2FtZGdwdS9teGdwdV92aS5jCj4gQEAgLTU4MCwxMSArNTgwLDExIEBAIGlu dCB4Z3B1X3ZpX21haWxib3hfYWRkX2lycV9pZChzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldikK PiAgewo+ICAJaW50IHI7Cj4gIAo+IC0JciA9IGFtZGdwdV9pcnFfYWRkX2lkKGFkZXYsIEFNREdQ VV9JSF9DTElFTlRJRF9MRUdBQ1ksIDEzNSwgJmFkZXYtPnZpcnQucmN2X2lycSk7Cj4gKwlyID0g YW1kZ3B1X2lycV9hZGRfaWQoYWRldiwgQU1ER1BVX0lSUV9DTElFTlRJRF9MRUdBQ1ksIDEzNSwg JmFkZXYtPnZpcnQucmN2X2lycSk7Cj4gIAlpZiAocikKPiAgCQlyZXR1cm4gcjsKPiAgCj4gLQly ID0gYW1kZ3B1X2lycV9hZGRfaWQoYWRldiwgQU1ER1BVX0lIX0NMSUVOVElEX0xFR0FDWSwgMTM4 LCAmYWRldi0+dmlydC5hY2tfaXJxKTsKPiArCXIgPSBhbWRncHVfaXJxX2FkZF9pZChhZGV2LCBB TURHUFVfSVJRX0NMSUVOVElEX0xFR0FDWSwgMTM4LCAmYWRldi0+dmlydC5hY2tfaXJxKTsKPiAg CWlmIChyKSB7Cj4gIAkJYW1kZ3B1X2lycV9wdXQoYWRldiwgJmFkZXYtPnZpcnQucmN2X2lycSwg MCk7Cj4gIAkJcmV0dXJuIHI7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1k Z3B1L3NkbWFfdjJfNC5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvc2RtYV92Ml80LmMK PiBpbmRleCAwYzVhNTc2ZGVlMTMuLmNkNzgxYWJjNDk1MyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0vYW1kL2FtZGdwdS9zZG1hX3YyXzQuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9h bWQvYW1kZ3B1L3NkbWFfdjJfNC5jCj4gQEAgLTg5OCwxOSArODk4LDE5IEBAIHN0YXRpYyBpbnQg c2RtYV92Ml80X3N3X2luaXQodm9pZCAqaGFuZGxlKQo+ICAJc3RydWN0IGFtZGdwdV9kZXZpY2Ug KmFkZXYgPSAoc3RydWN0IGFtZGdwdV9kZXZpY2UgKiloYW5kbGU7Cj4gIAo+ICAJLyogU0RNQSB0 cmFwIGV2ZW50ICovCj4gLQlyID0gYW1kZ3B1X2lycV9hZGRfaWQoYWRldiwgQU1ER1BVX0lIX0NM SUVOVElEX0xFR0FDWSwgVklTTEFORFMzMF9JVl9TUkNJRF9TRE1BX1RSQVAsCj4gKwlyID0gYW1k Z3B1X2lycV9hZGRfaWQoYWRldiwgQU1ER1BVX0lSUV9DTElFTlRJRF9MRUdBQ1ksIFZJU0xBTkRT MzBfSVZfU1JDSURfU0RNQV9UUkFQLAo+ICAJCQkgICAgICAmYWRldi0+c2RtYS50cmFwX2lycSk7 Cj4gIAlpZiAocikKPiAgCQlyZXR1cm4gcjsKPiAgCj4gIAkvKiBTRE1BIFByaXZpbGVnZWQgaW5z dCAqLwo+IC0JciA9IGFtZGdwdV9pcnFfYWRkX2lkKGFkZXYsIEFNREdQVV9JSF9DTElFTlRJRF9M RUdBQ1ksIDI0MSwKPiArCXIgPSBhbWRncHVfaXJxX2FkZF9pZChhZGV2LCBBTURHUFVfSVJRX0NM SUVOVElEX0xFR0FDWSwgMjQxLAo+ICAJCQkgICAgICAmYWRldi0+c2RtYS5pbGxlZ2FsX2luc3Rf aXJxKTsKPiAgCWlmIChyKQo+ICAJCXJldHVybiByOwo+ICAKPiAgCS8qIFNETUEgUHJpdmlsZWdl ZCBpbnN0ICovCj4gLQlyID0gYW1kZ3B1X2lycV9hZGRfaWQoYWRldiwgQU1ER1BVX0lIX0NMSUVO VElEX0xFR0FDWSwgVklTTEFORFMzMF9JVl9TUkNJRF9TRE1BX1NSQk1fV1JJVEUsCj4gKwlyID0g YW1kZ3B1X2lycV9hZGRfaWQoYWRldiwgQU1ER1BVX0lSUV9DTElFTlRJRF9MRUdBQ1ksIFZJU0xB TkRTMzBfSVZfU1JDSURfU0RNQV9TUkJNX1dSSVRFLAo+ICAJCQkgICAgICAmYWRldi0+c2RtYS5p bGxlZ2FsX2luc3RfaXJxKTsKPiAgCWlmIChyKQo+ICAJCXJldHVybiByOwo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9zZG1hX3YzXzAuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvYW1kZ3B1L3NkbWFfdjNfMC5jCj4gaW5kZXggMjU4N2I4ZGU5MThhLi42ZDVjOGFjNjQ4 NzQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvc2RtYV92M18wLmMK PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9zZG1hX3YzXzAuYwo+IEBAIC0xMTc3 LDE5ICsxMTc3LDE5IEBAIHN0YXRpYyBpbnQgc2RtYV92M18wX3N3X2luaXQodm9pZCAqaGFuZGxl KQo+ICAJc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYgPSAoc3RydWN0IGFtZGdwdV9kZXZpY2Ug KiloYW5kbGU7Cj4gIAo+ICAJLyogU0RNQSB0cmFwIGV2ZW50ICovCj4gLQlyID0gYW1kZ3B1X2ly cV9hZGRfaWQoYWRldiwgQU1ER1BVX0lIX0NMSUVOVElEX0xFR0FDWSwgVklTTEFORFMzMF9JVl9T UkNJRF9TRE1BX1RSQVAsCj4gKwlyID0gYW1kZ3B1X2lycV9hZGRfaWQoYWRldiwgQU1ER1BVX0lS UV9DTElFTlRJRF9MRUdBQ1ksIFZJU0xBTkRTMzBfSVZfU1JDSURfU0RNQV9UUkFQLAo+ICAJCQkg ICAgICAmYWRldi0+c2RtYS50cmFwX2lycSk7Cj4gIAlpZiAocikKPiAgCQlyZXR1cm4gcjsKPiAg Cj4gIAkvKiBTRE1BIFByaXZpbGVnZWQgaW5zdCAqLwo+IC0JciA9IGFtZGdwdV9pcnFfYWRkX2lk KGFkZXYsIEFNREdQVV9JSF9DTElFTlRJRF9MRUdBQ1ksIDI0MSwKPiArCXIgPSBhbWRncHVfaXJx X2FkZF9pZChhZGV2LCBBTURHUFVfSVJRX0NMSUVOVElEX0xFR0FDWSwgMjQxLAo+ICAJCQkgICAg ICAmYWRldi0+c2RtYS5pbGxlZ2FsX2luc3RfaXJxKTsKPiAgCWlmIChyKQo+ICAJCXJldHVybiBy Owo+ICAKPiAgCS8qIFNETUEgUHJpdmlsZWdlZCBpbnN0ICovCj4gLQlyID0gYW1kZ3B1X2lycV9h ZGRfaWQoYWRldiwgQU1ER1BVX0lIX0NMSUVOVElEX0xFR0FDWSwgVklTTEFORFMzMF9JVl9TUkNJ RF9TRE1BX1NSQk1fV1JJVEUsCj4gKwlyID0gYW1kZ3B1X2lycV9hZGRfaWQoYWRldiwgQU1ER1BV X0lSUV9DTElFTlRJRF9MRUdBQ1ksIFZJU0xBTkRTMzBfSVZfU1JDSURfU0RNQV9TUkJNX1dSSVRF LAo+ICAJCQkgICAgICAmYWRldi0+c2RtYS5pbGxlZ2FsX2luc3RfaXJxKTsKPiAgCWlmIChyKQo+ ICAJCXJldHVybiByOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9z aV9kbWEuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3NpX2RtYS5jCj4gaW5kZXggYzM1 MTBhNzAzZjlmLi5kNGNlYWY0NDBmMjYgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2Ft ZC9hbWRncHUvc2lfZG1hLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9zaV9k bWEuYwo+IEBAIC01MDIsMTIgKzUwMiwxMiBAQCBzdGF0aWMgaW50IHNpX2RtYV9zd19pbml0KHZv aWQgKmhhbmRsZSkKPiAgCXN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2ID0gKHN0cnVjdCBhbWRn cHVfZGV2aWNlICopaGFuZGxlOwo+ICAKPiAgCS8qIERNQTAgdHJhcCBldmVudCAqLwo+IC0JciA9 IGFtZGdwdV9pcnFfYWRkX2lkKGFkZXYsIEFNREdQVV9JSF9DTElFTlRJRF9MRUdBQ1ksIDIyNCwg JmFkZXYtPnNkbWEudHJhcF9pcnEpOwo+ICsJciA9IGFtZGdwdV9pcnFfYWRkX2lkKGFkZXYsIEFN REdQVV9JUlFfQ0xJRU5USURfTEVHQUNZLCAyMjQsICZhZGV2LT5zZG1hLnRyYXBfaXJxKTsKPiAg CWlmIChyKQo+ICAJCXJldHVybiByOwo+ICAKPiAgCS8qIERNQTEgdHJhcCBldmVudCAqLwo+IC0J ciA9IGFtZGdwdV9pcnFfYWRkX2lkKGFkZXYsIEFNREdQVV9JSF9DTElFTlRJRF9MRUdBQ1ksIDI0 NCwgJmFkZXYtPnNkbWEudHJhcF9pcnFfMSk7Cj4gKwlyID0gYW1kZ3B1X2lycV9hZGRfaWQoYWRl diwgQU1ER1BVX0lSUV9DTElFTlRJRF9MRUdBQ1ksIDI0NCwgJmFkZXYtPnNkbWEudHJhcF9pcnFf MSk7Cj4gIAlpZiAocikKPiAgCQlyZXR1cm4gcjsKPiAgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9hbWQvYW1kZ3B1L3NpX2RwbS5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUv c2lfZHBtLmMKPiBpbmRleCAxZGU5Njk5NWU2OTAuLmRhNTgwNDBmZGJkYyAxMDA2NDQKPiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9zaV9kcG0uYwo+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9hbWQvYW1kZ3B1L3NpX2RwbS5jCj4gQEAgLTc2ODcsMTEgKzc2ODcsMTEgQEAgc3RhdGlj IGludCBzaV9kcG1fc3dfaW5pdCh2b2lkICpoYW5kbGUpCj4gIAlpbnQgcmV0Owo+ICAJc3RydWN0 IGFtZGdwdV9kZXZpY2UgKmFkZXYgPSAoc3RydWN0IGFtZGdwdV9kZXZpY2UgKiloYW5kbGU7Cj4g IAo+IC0JcmV0ID0gYW1kZ3B1X2lycV9hZGRfaWQoYWRldiwgQU1ER1BVX0lIX0NMSUVOVElEX0xF R0FDWSwgMjMwLCAmYWRldi0+cG0uZHBtLnRoZXJtYWwuaXJxKTsKPiArCXJldCA9IGFtZGdwdV9p cnFfYWRkX2lkKGFkZXYsIEFNREdQVV9JUlFfQ0xJRU5USURfTEVHQUNZLCAyMzAsICZhZGV2LT5w bS5kcG0udGhlcm1hbC5pcnEpOwo+ICAJaWYgKHJldCkKPiAgCQlyZXR1cm4gcmV0Owo+ICAKPiAt CXJldCA9IGFtZGdwdV9pcnFfYWRkX2lkKGFkZXYsIEFNREdQVV9JSF9DTElFTlRJRF9MRUdBQ1ks IDIzMSwgJmFkZXYtPnBtLmRwbS50aGVybWFsLmlycSk7Cj4gKwlyZXQgPSBhbWRncHVfaXJxX2Fk ZF9pZChhZGV2LCBBTURHUFVfSVJRX0NMSUVOVElEX0xFR0FDWSwgMjMxLCAmYWRldi0+cG0uZHBt LnRoZXJtYWwuaXJxKTsKPiAgCWlmIChyZXQpCj4gIAkJcmV0dXJuIHJldDsKPiAgCj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3NpX2loLmMgYi9kcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9zaV9paC5jCj4gaW5kZXggYWNkZjYwNzU5NTdhLi5iM2Q3ZDlmODMyMDIg MTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvc2lfaWguYwo+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3NpX2loLmMKPiBAQCAtMTQyLDcgKzE0Miw3IEBA IHN0YXRpYyB2b2lkIHNpX2loX2RlY29kZV9pdihzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwK PiAgCWR3WzJdID0gbGUzMl90b19jcHUoYWRldi0+aXJxLmloLnJpbmdbcmluZ19pbmRleCArIDJd KTsKPiAgCWR3WzNdID0gbGUzMl90b19jcHUoYWRldi0+aXJxLmloLnJpbmdbcmluZ19pbmRleCAr IDNdKTsKPiAgCj4gLQllbnRyeS0+Y2xpZW50X2lkID0gQU1ER1BVX0lIX0NMSUVOVElEX0xFR0FD WTsKPiArCWVudHJ5LT5jbGllbnRfaWQgPSBBTURHUFVfSVJRX0NMSUVOVElEX0xFR0FDWTsKPiAg CWVudHJ5LT5zcmNfaWQgPSBkd1swXSAmIDB4ZmY7Cj4gIAllbnRyeS0+c3JjX2RhdGFbMF0gPSBk d1sxXSAmIDB4ZmZmZmZmZjsKPiAgCWVudHJ5LT5yaW5nX2lkID0gZHdbMl0gJiAweGZmOwo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS90b25nYV9paC5jIGIvZHJpdmVy cy9ncHUvZHJtL2FtZC9hbWRncHUvdG9uZ2FfaWguYwo+IGluZGV4IDgzZmRmODEwZmZjNy4uM2Fi ZmZkMDZiNWM3IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3Rvbmdh X2loLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS90b25nYV9paC5jCj4gQEAg LTI2Niw3ICsyNjYsNyBAQCBzdGF0aWMgdm9pZCB0b25nYV9paF9kZWNvZGVfaXYoc3RydWN0IGFt ZGdwdV9kZXZpY2UgKmFkZXYsCj4gIAlkd1syXSA9IGxlMzJfdG9fY3B1KGFkZXYtPmlycS5paC5y aW5nW3JpbmdfaW5kZXggKyAyXSk7Cj4gIAlkd1szXSA9IGxlMzJfdG9fY3B1KGFkZXYtPmlycS5p aC5yaW5nW3JpbmdfaW5kZXggKyAzXSk7Cj4gIAo+IC0JZW50cnktPmNsaWVudF9pZCA9IEFNREdQ VV9JSF9DTElFTlRJRF9MRUdBQ1k7Cj4gKwllbnRyeS0+Y2xpZW50X2lkID0gQU1ER1BVX0lSUV9D TElFTlRJRF9MRUdBQ1k7Cj4gIAllbnRyeS0+c3JjX2lkID0gZHdbMF0gJiAweGZmOwo+ICAJZW50 cnktPnNyY19kYXRhWzBdID0gZHdbMV0gJiAweGZmZmZmZmY7Cj4gIAllbnRyeS0+cmluZ19pZCA9 IGR3WzJdICYgMHhmZjsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUv dXZkX3Y0XzIuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3V2ZF92NF8yLmMKPiBpbmRl eCA4YTkyNmQxZGY5MzkuLjFmYzE3YmYzOWZlZCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS91dmRfdjRfMi5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRn cHUvdXZkX3Y0XzIuYwo+IEBAIC0xMDgsNyArMTA4LDcgQEAgc3RhdGljIGludCB1dmRfdjRfMl9z d19pbml0KHZvaWQgKmhhbmRsZSkKPiAgCWludCByOwo+ICAKPiAgCS8qIFVWRCBUUkFQICovCj4g LQlyID0gYW1kZ3B1X2lycV9hZGRfaWQoYWRldiwgQU1ER1BVX0lIX0NMSUVOVElEX0xFR0FDWSwg MTI0LCAmYWRldi0+dXZkLmluc3QtPmlycSk7Cj4gKwlyID0gYW1kZ3B1X2lycV9hZGRfaWQoYWRl diwgQU1ER1BVX0lSUV9DTElFTlRJRF9MRUdBQ1ksIDEyNCwgJmFkZXYtPnV2ZC5pbnN0LT5pcnEp Owo+ICAJaWYgKHIpCj4gIAkJcmV0dXJuIHI7Cj4gIAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vYW1kL2FtZGdwdS91dmRfdjVfMC5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUv dXZkX3Y1XzAuYwo+IGluZGV4IDUwMjQ4MDU5NDEyZS4uZmRlNmFkNWFjOWFiIDEwMDY0NAo+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3V2ZF92NV8wLmMKPiArKysgYi9kcml2ZXJz L2dwdS9kcm0vYW1kL2FtZGdwdS91dmRfdjVfMC5jCj4gQEAgLTEwNSw3ICsxMDUsNyBAQCBzdGF0 aWMgaW50IHV2ZF92NV8wX3N3X2luaXQodm9pZCAqaGFuZGxlKQo+ICAJaW50IHI7Cj4gIAo+ICAJ LyogVVZEIFRSQVAgKi8KPiAtCXIgPSBhbWRncHVfaXJxX2FkZF9pZChhZGV2LCBBTURHUFVfSUhf Q0xJRU5USURfTEVHQUNZLCBWSVNMQU5EUzMwX0lWX1NSQ0lEX1VWRF9TWVNURU1fTUVTU0FHRSwg JmFkZXYtPnV2ZC5pbnN0LT5pcnEpOwo+ICsJciA9IGFtZGdwdV9pcnFfYWRkX2lkKGFkZXYsIEFN REdQVV9JUlFfQ0xJRU5USURfTEVHQUNZLCBWSVNMQU5EUzMwX0lWX1NSQ0lEX1VWRF9TWVNURU1f TUVTU0FHRSwgJmFkZXYtPnV2ZC5pbnN0LT5pcnEpOwo+ICAJaWYgKHIpCj4gIAkJcmV0dXJuIHI7 Cj4gIAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS91dmRfdjZfMC5j IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvdXZkX3Y2XzAuYwo+IGluZGV4IDZhZTgyY2My ZTU1ZS4uOGVmNGE1MzkyMTEyIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1k Z3B1L3V2ZF92Nl8wLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS91dmRfdjZf MC5jCj4gQEAgLTM5MywxNCArMzkzLDE0IEBAIHN0YXRpYyBpbnQgdXZkX3Y2XzBfc3dfaW5pdCh2 b2lkICpoYW5kbGUpCj4gIAlzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiA9IChzdHJ1Y3QgYW1k Z3B1X2RldmljZSAqKWhhbmRsZTsKPiAgCj4gIAkvKiBVVkQgVFJBUCAqLwo+IC0JciA9IGFtZGdw dV9pcnFfYWRkX2lkKGFkZXYsIEFNREdQVV9JSF9DTElFTlRJRF9MRUdBQ1ksIFZJU0xBTkRTMzBf SVZfU1JDSURfVVZEX1NZU1RFTV9NRVNTQUdFLCAmYWRldi0+dXZkLmluc3QtPmlycSk7Cj4gKwly ID0gYW1kZ3B1X2lycV9hZGRfaWQoYWRldiwgQU1ER1BVX0lSUV9DTElFTlRJRF9MRUdBQ1ksIFZJ U0xBTkRTMzBfSVZfU1JDSURfVVZEX1NZU1RFTV9NRVNTQUdFLCAmYWRldi0+dXZkLmluc3QtPmly cSk7Cj4gIAlpZiAocikKPiAgCQlyZXR1cm4gcjsKPiAgCj4gIAkvKiBVVkQgRU5DIFRSQVAgKi8K PiAgCWlmICh1dmRfdjZfMF9lbmNfc3VwcG9ydChhZGV2KSkgewo+ICAJCWZvciAoaSA9IDA7IGkg PCBhZGV2LT51dmQubnVtX2VuY19yaW5nczsgKytpKSB7Cj4gLQkJCXIgPSBhbWRncHVfaXJxX2Fk ZF9pZChhZGV2LCBBTURHUFVfSUhfQ0xJRU5USURfTEVHQUNZLCBpICsgVklTTEFORFMzMF9JVl9T UkNJRF9VVkRfRU5DX0dFTl9QVVJQLCAmYWRldi0+dXZkLmluc3QtPmlycSk7Cj4gKwkJCXIgPSBh bWRncHVfaXJxX2FkZF9pZChhZGV2LCBBTURHUFVfSVJRX0NMSUVOVElEX0xFR0FDWSwgaSArIFZJ U0xBTkRTMzBfSVZfU1JDSURfVVZEX0VOQ19HRU5fUFVSUCwgJmFkZXYtPnV2ZC5pbnN0LT5pcnEp Owo+ICAJCQlpZiAocikKPiAgCQkJCXJldHVybiByOwo+ICAJCX0KPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRncHUvdmNlX3YyXzAuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQv YW1kZ3B1L3ZjZV92Ml8wLmMKPiBpbmRleCA3ZWFhNTRiYTAxNmIuLmVhMjg4MjgzNjBkMyAxMDA2 NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS92Y2VfdjJfMC5jCj4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvdmNlX3YyXzAuYwo+IEBAIC00MTcsNyArNDE3LDcg QEAgc3RhdGljIGludCB2Y2VfdjJfMF9zd19pbml0KHZvaWQgKmhhbmRsZSkKPiAgCXN0cnVjdCBh bWRncHVfZGV2aWNlICphZGV2ID0gKHN0cnVjdCBhbWRncHVfZGV2aWNlICopaGFuZGxlOwo+ICAK PiAgCS8qIFZDRSAqLwo+IC0JciA9IGFtZGdwdV9pcnFfYWRkX2lkKGFkZXYsIEFNREdQVV9JSF9D TElFTlRJRF9MRUdBQ1ksIDE2NywgJmFkZXYtPnZjZS5pcnEpOwo+ICsJciA9IGFtZGdwdV9pcnFf YWRkX2lkKGFkZXYsIEFNREdQVV9JUlFfQ0xJRU5USURfTEVHQUNZLCAxNjcsICZhZGV2LT52Y2Uu aXJxKTsKPiAgCWlmIChyKQo+ICAJCXJldHVybiByOwo+ICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2FtZC9hbWRncHUvdmNlX3YzXzAuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1k Z3B1L3ZjZV92M18wLmMKPiBpbmRleCBjODM5MGY5YWRmZDYuLjZkYmQzOTczMDA3MCAxMDA2NDQK PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS92Y2VfdjNfMC5jCj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRncHUvdmNlX3YzXzAuYwo+IEBAIC00MjMsNyArNDIzLDcgQEAg c3RhdGljIGludCB2Y2VfdjNfMF9zd19pbml0KHZvaWQgKmhhbmRsZSkKPiAgCWludCByLCBpOwo+ ICAKPiAgCS8qIFZDRSAqLwo+IC0JciA9IGFtZGdwdV9pcnFfYWRkX2lkKGFkZXYsIEFNREdQVV9J SF9DTElFTlRJRF9MRUdBQ1ksIFZJU0xBTkRTMzBfSVZfU1JDSURfVkNFX1RSQVAsICZhZGV2LT52 Y2UuaXJxKTsKPiArCXIgPSBhbWRncHVfaXJxX2FkZF9pZChhZGV2LCBBTURHUFVfSVJRX0NMSUVO VElEX0xFR0FDWSwgVklTTEFORFMzMF9JVl9TUkNJRF9WQ0VfVFJBUCwgJmFkZXYtPnZjZS5pcnEp Owo+ICAJaWYgKHIpCj4gIAkJcmV0dXJuIHI7Cj4gIAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vYW1kL2Rpc3BsYXkvYW1kZ3B1X2RtL2FtZGdwdV9kbS5jIGIvZHJpdmVycy9ncHUvZHJt L2FtZC9kaXNwbGF5L2FtZGdwdV9kbS9hbWRncHVfZG0uYwo+IGluZGV4IDBmMTBkOTIwYTc4NS4u OGM4MjE4NTRhMTlhIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9h bWRncHVfZG0vYW1kZ3B1X2RtLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkv YW1kZ3B1X2RtL2FtZGdwdV9kbS5jCj4gQEAgLTExOTgsNyArMTE5OCw3IEBAIHN0YXRpYyBpbnQg ZGNlMTEwX3JlZ2lzdGVyX2lycV9oYW5kbGVycyhzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldikK PiAgCXN0cnVjdCBkY19pbnRlcnJ1cHRfcGFyYW1zIGludF9wYXJhbXMgPSB7MH07Cj4gIAlpbnQg cjsKPiAgCWludCBpOwo+IC0JdW5zaWduZWQgY2xpZW50X2lkID0gQU1ER1BVX0lIX0NMSUVOVElE X0xFR0FDWTsKPiArCXVuc2lnbmVkIGNsaWVudF9pZCA9IEFNREdQVV9JUlFfQ0xJRU5USURfTEVH QUNZOwo+ICAKPiAgCWlmIChhZGV2LT5hc2ljX3R5cGUgPT0gQ0hJUF9WRUdBMTAgfHwKPiAgCSAg ICBhZGV2LT5hc2ljX3R5cGUgPT0gQ0hJUF9WRUdBMTIgfHwKPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvaHdtZ3Ivc211N19od21nci5jIGIvZHJpdmVycy9ncHUv ZHJtL2FtZC9wb3dlcnBsYXkvaHdtZ3Ivc211N19od21nci5jCj4gaW5kZXggMDRiN2RhMGUzOWE2 Li4zMmE4YzEwZDY2NjYgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBs YXkvaHdtZ3Ivc211N19od21nci5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBs YXkvaHdtZ3Ivc211N19od21nci5jCj4gQEAgLTQxMDYsMTcgKzQxMDYsMTcgQEAgc3RhdGljIGlu dCBzbXU3X3JlZ2lzdGVyX2lycV9oYW5kbGVycyhzdHJ1Y3QgcHBfaHdtZ3IgKmh3bWdyKQo+ICAJ c291cmNlLT5mdW5jcyA9ICZzbXU3X2lycV9mdW5jczsKPiAgCj4gIAlhbWRncHVfaXJxX2FkZF9p ZCgoc3RydWN0IGFtZGdwdV9kZXZpY2UgKikoaHdtZ3ItPmFkZXYpLAo+IC0JCQlBTURHUFVfSUhf Q0xJRU5USURfTEVHQUNZLAo+ICsJCQlBTURHUFVfSVJRX0NMSUVOVElEX0xFR0FDWSwKPiAgCQkJ VklTTEFORFMzMF9JVl9TUkNJRF9DR19UU1NfVEhFUk1BTF9MT1dfVE9fSElHSCwKPiAgCQkJc291 cmNlKTsKPiAgCWFtZGdwdV9pcnFfYWRkX2lkKChzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqKShod21n ci0+YWRldiksCj4gLQkJCUFNREdQVV9JSF9DTElFTlRJRF9MRUdBQ1ksCj4gKwkJCUFNREdQVV9J UlFfQ0xJRU5USURfTEVHQUNZLAo+ICAJCQlWSVNMQU5EUzMwX0lWX1NSQ0lEX0NHX1RTU19USEVS TUFMX0hJR0hfVE9fTE9XLAo+ICAJCQlzb3VyY2UpOwo+ICAKPiAgCS8qIFJlZ2lzdGVyIENURihH UElPXzE5KSBpbnRlcnJ1cHQgKi8KPiAgCWFtZGdwdV9pcnFfYWRkX2lkKChzdHJ1Y3QgYW1kZ3B1 X2RldmljZSAqKShod21nci0+YWRldiksCj4gLQkJCUFNREdQVV9JSF9DTElFTlRJRF9MRUdBQ1ks Cj4gKwkJCUFNREdQVV9JUlFfQ0xJRU5USURfTEVHQUNZLAo+ICAJCQlWSVNMQU5EUzMwX0lWX1NS Q0lEX0dQSU9fMTksCj4gIAkJCXNvdXJjZSk7Cj4gIAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vYW1kL3Bvd2VycGxheS9od21nci9zbXVfaGVscGVyLmMgYi9kcml2ZXJzL2dwdS9kcm0v YW1kL3Bvd2VycGxheS9od21nci9zbXVfaGVscGVyLmMKPiBpbmRleCAyYWFiMWI0NzU5NDUuLjhh ZDRlNjk2MGVmZCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9o d21nci9zbXVfaGVscGVyLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9o d21nci9zbXVfaGVscGVyLmMKPiBAQCAtNTQ1LDcgKzU0NSw3IEBAIGludCBwaG1faXJxX3Byb2Nl c3Moc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCj4gIAl1aW50MzJfdCBjbGllbnRfaWQgPSBl bnRyeS0+Y2xpZW50X2lkOwo+ICAJdWludDMyX3Qgc3JjX2lkID0gZW50cnktPnNyY19pZDsKPiAg Cj4gLQlpZiAoY2xpZW50X2lkID09IEFNREdQVV9JSF9DTElFTlRJRF9MRUdBQ1kpIHsKPiArCWlm IChjbGllbnRfaWQgPT0gQU1ER1BVX0lSUV9DTElFTlRJRF9MRUdBQ1kpIHsKPiAgCQlpZiAoc3Jj X2lkID09IFZJU0xBTkRTMzBfSVZfU1JDSURfQ0dfVFNTX1RIRVJNQUxfTE9XX1RPX0hJR0gpCj4g IAkJCXByX3dhcm4oIkdQVSBvdmVyIHRlbXBlcmF0dXJlIHJhbmdlIGRldGVjdGVkIG9uIFBDSWUg JWQ6JWQuJWQhXG4iLAo+ICAJCQkJCQlQQ0lfQlVTX05VTShhZGV2LT5wZGV2LT5kZXZmbiksCj4g LS0gCj4gMi4xNC4xCj4gCj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KPiBhbWQtZ2Z4IG1haWxpbmcgbGlzdAo+IGFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnCj4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9h bWQtZ2Z4Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmFt ZC1nZnggbWFpbGluZyBsaXN0CmFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8v bGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vYW1kLWdmeAo=