From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bart Van Assche Subject: [PATCH 1/9] treewide: Constify most dma_map_ops structures Date: Tue, 10 Jan 2017 16:56:40 -0800 Message-ID: <20170111005648.14988-2-bart.vanassche__33525.2846744426$1484110496$gmane$org@sandisk.com> References: <20170111005648.14988-1-bart.vanassche@sandisk.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta6.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cR7Dv-0007v8-2I for xen-devel@lists.xenproject.org; Wed, 11 Jan 2017 00:57:07 +0000 In-Reply-To: <20170111005648.14988-1-bart.vanassche@sandisk.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Doug Ledford Cc: linux-mips@linux-mips.org, Rich Felker , linux-ia64@vger.kernel.org, Aurelien Jacquiot , Catalin Marinas , Will Deacon , Muli Ben-Yehuda , David Howells , Max Filippov , "H . Peter Anvin" , sparclinux@vger.kernel.org, Russell King , Guan Xuetao , Thomas Gleixner , Hans-Christian Egtvedt , Jonas Bonn , linux-s390@vger.kernel.org, Jesper Nilsson , Stefano Stabellini , linux-c6x-dev@linux-c6x.org, Yoshinori Sato , linux-rdma@vger.kernel.org, linux-hexagon@vger.kernel.org, Helge Deller , x86@kernel.org, James E . J . Bottomley List-Id: xen-devel@lists.xenproject.org TW9zdCBkbWFfbWFwX29wcyBzdHJ1Y3R1cmVzIGFyZSBuZXZlciBtb2RpZmllZC4gQ29uc3RpZnkg dGhlc2UKc3RydWN0dXJlcyBzdWNoIHRoYXQgdGhlc2UgY2FuIGJlIHdyaXRlLXByb3RlY3RlZC4g VGhpcyBwYXRjaApoYXMgYmVlbiBnZW5lcmF0ZWQgYXMgZm9sbG93czoKCmdpdCBncmVwIC1sICdz dHJ1Y3QgZG1hX21hcF9vcHMnIHwKICB4YXJncyAtZFxcbiBzZWQgLWkgXAogICAgLWUgJ3Mvc3Ry dWN0IGRtYV9tYXBfb3BzL2NvbnN0IHN0cnVjdCBkbWFfbWFwX29wcy9nJyBcCiAgICAtZSAncy9j b25zdCBzdHJ1Y3QgZG1hX21hcF9vcHMgey9zdHJ1Y3QgZG1hX21hcF9vcHMgey9nJyBcCiAgICAt ZSAncy9eY29uc3Qgc3RydWN0IGRtYV9tYXBfb3BzOyQvc3RydWN0IGRtYV9tYXBfb3BzOy8nIFwK ICAgIC1lICdzL2NvbnN0IGNvbnN0IHN0cnVjdCBkbWFfbWFwX29wcyAvY29uc3Qgc3RydWN0IGRt YV9tYXBfb3BzIC9nJzsKc2VkIC1pIC1lICdzL2NvbnN0IFwoc3RydWN0IGRtYV9tYXBfb3BzIGlu dGVsX2RtYV9vcHNcKS9cMS8nIFwKICAkKGdpdCBncmVwIC1sICdzdHJ1Y3QgZG1hX21hcF9vcHMg aW50ZWxfZG1hX29wcycpOwpzZWQgLWkgLWUgJ3MvY29uc3QgXChzdHJ1Y3QgZG1hX21hcF9vcHMg ZG1hX2lvbW11X29wc1wpL1wxLycgXAogICQoZ2l0IGdyZXAgLWwgJ3N0cnVjdCBkbWFfbWFwX29w cycgfCBncmVwIF5hcmNoL3Bvd2VycGMpOwpzZWQgLWkgLWUgJy9ec3RydWN0IHZtZF9kZXYgeyQv LC9efTskLyBzL2NvbnN0IFwoc3RydWN0IGRtYV9tYXBfb3BzW1s6Ymxhbms6XV1kbWFfb3BzO1wp L1wxLycgXAogICAgICAgLWUgJy9ec3RhdGljIHZvaWQgdm1kX3NldHVwX2RtYV9vcHMvLC9efSQv IHMvY29uc3QgXChzdHJ1Y3QgZG1hX21hcF9vcHMgXCpkZXN0XCkvXDEvJyBcCiAgICAgICAtZSAn cy9jb25zdCBcKHN0cnVjdCBkbWFfbWFwX29wcyBcKmRlc3QgPSBcJnZtZC0+ZG1hX29wc1wpL1wx LycgXAogICAgZHJpdmVycy9wY2kvaG9zdC8qLmMKc2VkIC1pIC1lICcvXnZvaWQgX19pbml0IHBj aV9pb21tdV9hbGxvYyh2b2lkKSQvLC9efSQvIHMvZG1hX29wcy0+L2ludGVsX2RtYV9vcHMuLycg YXJjaC9pYTY0L2tlcm5lbC9wY2ktZG1hLmMKc2VkIC1pIC1lICdzL3N0YXRpYyBjb25zdCBzdHJ1 Y3QgZG1hX21hcF9vcHMgc25fZG1hX29wcy9zdGF0aWMgc3RydWN0IGRtYV9tYXBfb3BzIHNuX2Rt YV9vcHMvJyBhcmNoL2lhNjQvc24vcGNpL3BjaV9kbWEuYwoKU2lnbmVkLW9mZi1ieTogQmFydCBW YW4gQXNzY2hlIDxiYXJ0LnZhbmFzc2NoZUBzYW5kaXNrLmNvbT4KUmV2aWV3ZWQtYnk6IENocmlz dG9waCBIZWxsd2lnIDxoY2hAbHN0LmRlPgpDYzogQXVyZWxpZW4gSmFjcXVpb3QgPGEtamFjcXVp b3RAdGkuY29tPgpDYzogQ2F0YWxpbiBNYXJpbmFzIDxjYXRhbGluLm1hcmluYXNAYXJtLmNvbT4K Q2M6IENocmlzIFphbmtlbCA8Y2hyaXNAemFua2VsLm5ldD4KQ2M6IERhdmlkIEhvd2VsbHMgPGRo b3dlbGxzQHJlZGhhdC5jb20+CkNjOiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5u ZXQ+CkNjOiBGZW5naHVhIFl1IDxmZW5naHVhLnl1QGludGVsLmNvbT4KQ2M6IEdlZXJ0IFV5dHRl cmhvZXZlbiA8Z2VlcnRAbGludXgtbTY4ay5vcmc+CkNjOiBHZW9mZiBMZXZhbmQgPGdlb2ZmQGlu ZnJhZGVhZC5vcmc+CkNjOiBHdWFuIFh1ZXRhbyA8Z3h0QG1wcmMucGt1LmVkdS5jbj4KQ2M6IEgu IFBldGVyIEFudmluIDxocGFAenl0b3IuY29tPgpDYzogSGFhdmFyZCBTa2lubmVtb2VuIDxoc2tp bm5lbW9lbkBnbWFpbC5jb20+CkNjOiBIYW5zLUNocmlzdGlhbiBFZ3R2ZWR0IDxlZ3R2ZWR0QHNh bWZ1bmRldC5ubz4KQ2M6IEhlbGdlIERlbGxlciA8ZGVsbGVyQGdteC5kZT4KQ2M6IEluZ28gTW9s bmFyIDxtaW5nb0ByZWRoYXQuY29tPgpDYzogSmFtZXMgRS5KLiBCb3R0b21sZXkgPGplamJAcGFy aXNjLWxpbnV4Lm9yZz4KQ2M6IEplc3BlciBOaWxzc29uIDxqZXNwZXIubmlsc3NvbkBheGlzLmNv bT4KQ2M6IEpvZXJnIFJvZWRlbCA8am9yb0A4Ynl0ZXMub3JnPgpDYzogSm9uIE1hc29uIDxqZG1h c29uQGt1ZHp1LnVzPgpDYzogSm9uYXMgQm9ubiA8am9uYXNAc291dGhwb2xlLnNlPgpDYzogTGV5 IEZvb24gVGFuIDxsZnRhbkBhbHRlcmEuY29tPgpDYzogTWFyayBTYWx0ZXIgPG1zYWx0ZXJAcmVk aGF0LmNvbT4KQ2M6IE1heCBGaWxpcHBvdiA8amNtdmJrYmNAZ21haWwuY29tPgpDYzogTWlrYWVs IFN0YXJ2aWsgPHN0YXJ2aWtAYXhpcy5jb20+CkNjOiBNdWxpIEJlbi1ZZWh1ZGEgPG11bGl4QG11 bGl4Lm9yZz4KQ2M6IFJpY2ggRmVsa2VyIDxkYWxpYXNAbGliYy5vcmc+CkNjOiBSdXNzZWxsIEtp bmcgPGxpbnV4QGFybWxpbnV4Lm9yZy51az4KQ2M6IFN0YWZmb3JkIEhvcm5lIDxzaG9ybmVAZ21h aWwuY29tPgpDYzogU3RlZmFuIEtyaXN0aWFuc3NvbiA8c3RlZmFuLmtyaXN0aWFuc3NvbkBzYXVu YWxhaHRpLmZpPgpDYzogU3RlZmFubyBTdGFiZWxsaW5pIDxzc3RhYmVsbGluaUBrZXJuZWwub3Jn PgpDYzogVGhvbWFzIEdsZWl4bmVyIDx0Z2x4QGxpbnV0cm9uaXguZGU+CkNjOiBUb255IEx1Y2sg PHRvbnkubHVja0BpbnRlbC5jb20+CkNjOiBXaWxsIERlYWNvbiA8d2lsbC5kZWFjb25AYXJtLmNv bT4KQ2M6IHg4NkBrZXJuZWwub3JnCkNjOiBZb3NoaW5vcmkgU2F0byA8eXNhdG9AdXNlcnMuc291 cmNlZm9yZ2UuanA+CkNjOiBhZGktYnVpbGRyb290LWRldmVsQGxpc3RzLnNvdXJjZWZvcmdlLm5l dApDYzogaW9tbXVAbGlzdHMubGludXgtZm91bmRhdGlvbi5vcmcKQ2M6IGxpbnV4LWFscGhhQHZn ZXIua2VybmVsLm9yZwpDYzogbGludXgtYW0zMy1saXN0QHJlZGhhdC5jb20KQ2M6IGxpbnV4LWFy bS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpDYzogbGludXgtYzZ4LWRldkBsaW51eC1jNngu b3JnCkNjOiBsaW51eC1jcmlzLWtlcm5lbEBheGlzLmNvbQpDYzogbGludXgtaGV4YWdvbkB2Z2Vy Lmtlcm5lbC5vcmcKQ2M6IGxpbnV4LWlhNjRAdmdlci5rZXJuZWwub3JnCkNjOiBsaW51eC1tNjhr QGxpc3RzLmxpbnV4LW02OGsub3JnCkNjOiBsaW51eC1tZXRhZ0B2Z2VyLmtlcm5lbC5vcmcKQ2M6 IGxpbnV4LW1pcHNAbGludXgtbWlwcy5vcmcKQ2M6IGxpbnV4LXBhcmlzY0B2Z2VyLmtlcm5lbC5v cmcKQ2M6IGxpbnV4LXBjaUB2Z2VyLmtlcm5lbC5vcmcKQ2M6IGxpbnV4LXMzOTBAdmdlci5rZXJu ZWwub3JnCkNjOiBsaW51eC1zaEB2Z2VyLmtlcm5lbC5vcmcKQ2M6IGxpbnV4LXNucHMtYXJjQGxp c3RzLmluZnJhZGVhZC5vcmcKQ2M6IGxpbnV4LXh0ZW5zYUBsaW51eC14dGVuc2Eub3JnCkNjOiBs aW51eHBwYy1kZXZAbGlzdHMub3psYWJzLm9yZwpDYzogbmlvczItZGV2QGxpc3RzLnJvY2tldGJv YXJkcy5vcmcKQ2M6IG9wZW5yaXNjQGxpc3RzLmxpYnJlY29yZXMub3JnCkNjOiBzcGFyY2xpbnV4 QHZnZXIua2VybmVsLm9yZwpDYzogdWNsaW51eC1oOC1kZXZlbEBsaXN0cy5zb3VyY2Vmb3JnZS5q cApDYzogeGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCi0tLQogYXJjaC9hbHBoYS9pbmNs dWRlL2FzbS9kbWEtbWFwcGluZy5oICAgICAgICAgICAgICAgfCAgNCArLS0KIGFyY2gvYWxwaGEv a2VybmVsL3BjaS1ub29wLmMgICAgICAgICAgICAgICAgICAgICAgIHwgIDQgKy0tCiBhcmNoL2Fs cGhhL2tlcm5lbC9wY2lfaW9tbXUuYyAgICAgICAgICAgICAgICAgICAgICB8ICA0ICstLQogYXJj aC9hcmMvaW5jbHVkZS9hc20vZG1hLW1hcHBpbmcuaCAgICAgICAgICAgICAgICAgfCAgNCArLS0K IGFyY2gvYXJjL21tL2RtYS5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDIg Ky0KIGFyY2gvYXJtL2NvbW1vbi9kbWFib3VuY2UuYyAgICAgICAgICAgICAgICAgICAgICAgIHwg IDIgKy0KIGFyY2gvYXJtL2luY2x1ZGUvYXNtL2RldmljZS5oICAgICAgICAgICAgICAgICAgICAg IHwgIDIgKy0KIGFyY2gvYXJtL2luY2x1ZGUvYXNtL2RtYS1tYXBwaW5nLmggICAgICAgICAgICAg ICAgIHwgMTAgKysrLS0tCiBhcmNoL2FybS9tbS9kbWEtbWFwcGluZy5jICAgICAgICAgICAgICAg ICAgICAgICAgICB8IDIyICsrKysrKy0tLS0tLQogYXJjaC9hcm0veGVuL21tLmMgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfCAgNCArLS0KIGFyY2gvYXJtNjQvaW5jbHVkZS9hc20v ZGV2aWNlLmggICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIGFyY2gvYXJtNjQvaW5jbHVkZS9h c20vZG1hLW1hcHBpbmcuaCAgICAgICAgICAgICAgIHwgIDYgKystLQogYXJjaC9hcm02NC9tbS9k bWEtbWFwcGluZy5jICAgICAgICAgICAgICAgICAgICAgICAgfCAgNiArKy0tCiBhcmNoL2F2cjMy L2luY2x1ZGUvYXNtL2RtYS1tYXBwaW5nLmggICAgICAgICAgICAgICB8ICA0ICstLQogYXJjaC9h dnIzMi9tbS9kbWEtY29oZXJlbnQuYyAgICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQogYXJj aC9ibGFja2Zpbi9pbmNsdWRlL2FzbS9kbWEtbWFwcGluZy5oICAgICAgICAgICAgfCAgNCArLS0K IGFyY2gvYmxhY2tmaW4va2VybmVsL2RtYS1tYXBwaW5nLmMgICAgICAgICAgICAgICAgIHwgIDIg Ky0KIGFyY2gvYzZ4L2luY2x1ZGUvYXNtL2RtYS1tYXBwaW5nLmggICAgICAgICAgICAgICAgIHwg IDQgKy0tCiBhcmNoL2M2eC9rZXJuZWwvZG1hLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB8ICAyICstCiBhcmNoL2NyaXMvYXJjaC12MzIvZHJpdmVycy9wY2kvZG1hLmMgICAgICAgICAg ICAgICB8ICAyICstCiBhcmNoL2NyaXMvaW5jbHVkZS9hc20vZG1hLW1hcHBpbmcuaCAgICAgICAg ICAgICAgICB8ICA2ICsrLS0KIGFyY2gvZnJ2L2luY2x1ZGUvYXNtL2RtYS1tYXBwaW5nLmggICAg ICAgICAgICAgICAgIHwgIDQgKy0tCiBhcmNoL2Zydi9tYjkzMDkwLW1iMDAvcGNpLWRtYS1ub21t dS5jICAgICAgICAgICAgICB8ICAyICstCiBhcmNoL2Zydi9tYjkzMDkwLW1iMDAvcGNpLWRtYS5j ICAgICAgICAgICAgICAgICAgICB8ICAyICstCiBhcmNoL2g4MzAwL2luY2x1ZGUvYXNtL2RtYS1t YXBwaW5nLmggICAgICAgICAgICAgICB8ICA0ICstLQogYXJjaC9oODMwMC9rZXJuZWwvZG1hLmMg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQogYXJjaC9oZXhhZ29uL2luY2x1ZGUv YXNtL2RtYS1tYXBwaW5nLmggICAgICAgICAgICAgfCAgNCArLS0KIGFyY2gvaGV4YWdvbi9rZXJu ZWwvZG1hLmMgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDQgKy0tCiBhcmNoL2lhNjQvaHAv Y29tbW9uL2h3c3dfaW9tbXUuYyAgICAgICAgICAgICAgICAgICB8ICA0ICstLQogYXJjaC9pYTY0 L2hwL2NvbW1vbi9zYmFfaW9tbXUuYyAgICAgICAgICAgICAgICAgICAgfCAgNCArLS0KIGFyY2gv aWE2NC9pbmNsdWRlL2FzbS9kbWEtbWFwcGluZy5oICAgICAgICAgICAgICAgIHwgIDIgKy0KIGFy Y2gvaWE2NC9pbmNsdWRlL2FzbS9tYWNodmVjLmggICAgICAgICAgICAgICAgICAgIHwgIDQgKy0t CiBhcmNoL2lhNjQva2VybmVsL2RtYS1tYXBwaW5nLmMgICAgICAgICAgICAgICAgICAgICB8ICA0 ICstLQogYXJjaC9pYTY0L2tlcm5lbC9wY2ktZG1hLmMgICAgICAgICAgICAgICAgICAgICAgICAg fCAxMCArKystLS0KIGFyY2gvaWE2NC9rZXJuZWwvcGNpLXN3aW90bGIuYyAgICAgICAgICAgICAg ICAgICAgIHwgIDIgKy0KIGFyY2gvbTMyci9pbmNsdWRlL2FzbS9kZXZpY2UuaCAgICAgICAgICAg ICAgICAgICAgIHwgIDIgKy0KIGFyY2gvbTMyci9pbmNsdWRlL2FzbS9kbWEtbWFwcGluZy5oICAg ICAgICAgICAgICAgIHwgIDIgKy0KIGFyY2gvbTY4ay9pbmNsdWRlL2FzbS9kbWEtbWFwcGluZy5o ICAgICAgICAgICAgICAgIHwgIDQgKy0tCiBhcmNoL202OGsva2VybmVsL2RtYS5jICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB8ICAyICstCiBhcmNoL21ldGFnL2luY2x1ZGUvYXNtL2RtYS1t YXBwaW5nLmggICAgICAgICAgICAgICB8ICA0ICstLQogYXJjaC9tZXRhZy9rZXJuZWwvZG1hLmMg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQogYXJjaC9taWNyb2JsYXplL2luY2x1 ZGUvYXNtL2RtYS1tYXBwaW5nLmggICAgICAgICAgfCAgNCArLS0KIGFyY2gvbWljcm9ibGF6ZS9r ZXJuZWwvZG1hLmMgICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIGFyY2gvbWlwcy9jYXZp dW0tb2N0ZW9uL2RtYS1vY3Rlb24uYyAgICAgICAgICAgICAgIHwgIDQgKy0tCiBhcmNoL21pcHMv aW5jbHVkZS9hc20vZGV2aWNlLmggICAgICAgICAgICAgICAgICAgICB8ICAyICstCiBhcmNoL21p cHMvaW5jbHVkZS9hc20vZG1hLW1hcHBpbmcuaCAgICAgICAgICAgICAgICB8ICA0ICstLQogLi4u L2luY2x1ZGUvYXNtL21hY2gtY2F2aXVtLW9jdGVvbi9kbWEtY29oZXJlbmNlLmggfCAgMiArLQog YXJjaC9taXBzL2luY2x1ZGUvYXNtL25ldGxvZ2ljL2NvbW1vbi5oICAgICAgICAgICAgfCAgMiAr LQogYXJjaC9taXBzL2xvb25nc29uNjQvY29tbW9uL2RtYS1zd2lvdGxiLmMgICAgICAgICAgfCAg MiArLQogYXJjaC9taXBzL21tL2RtYS1kZWZhdWx0LmMgICAgICAgICAgICAgICAgICAgICAgICAg fCAgNCArLS0KIGFyY2gvbWlwcy9uZXRsb2dpYy9jb21tb24vbmxtLWRtYS5jICAgICAgICAgICAg ICAgIHwgIDIgKy0KIGFyY2gvbW4xMDMwMC9pbmNsdWRlL2FzbS9kbWEtbWFwcGluZy5oICAgICAg ICAgICAgIHwgIDQgKy0tCiBhcmNoL21uMTAzMDAvbW0vZG1hLWFsbG9jLmMgICAgICAgICAgICAg ICAgICAgICAgICB8ICAyICstCiBhcmNoL25pb3MyL2luY2x1ZGUvYXNtL2RtYS1tYXBwaW5nLmgg ICAgICAgICAgICAgICB8ICA0ICstLQogYXJjaC9uaW9zMi9tbS9kbWEtbWFwcGluZy5jICAgICAg ICAgICAgICAgICAgICAgICAgfCAgMiArLQogYXJjaC9vcGVucmlzYy9pbmNsdWRlL2FzbS9kbWEt bWFwcGluZy5oICAgICAgICAgICAgfCAgNCArLS0KIGFyY2gvb3BlbnJpc2Mva2VybmVsL2RtYS5j ICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIGFyY2gvcGFyaXNjL2luY2x1ZGUvYXNt L2RtYS1tYXBwaW5nLmggICAgICAgICAgICAgIHwgIDggKystLS0KIGFyY2gvcGFyaXNjL2tlcm5l bC9kcml2ZXJzLmMgICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIGFyY2gvcGFyaXNjL2tl cm5lbC9wY2ktZG1hLmMgICAgICAgICAgICAgICAgICAgICAgIHwgIDQgKy0tCiBhcmNoL3Bvd2Vy cGMvaW5jbHVkZS9hc20vZGV2aWNlLmggICAgICAgICAgICAgICAgICB8ICAyICstCiBhcmNoL3Bv d2VycGMvaW5jbHVkZS9hc20vZG1hLW1hcHBpbmcuaCAgICAgICAgICAgICB8ICA2ICsrLS0KIGFy Y2gvcG93ZXJwYy9pbmNsdWRlL2FzbS9wY2kuaCAgICAgICAgICAgICAgICAgICAgIHwgIDQgKy0t CiBhcmNoL3Bvd2VycGMvaW5jbHVkZS9hc20vc3dpb3RsYi5oICAgICAgICAgICAgICAgICB8ICAy ICstCiBhcmNoL3Bvd2VycGMva2VybmVsL2RtYS1zd2lvdGxiLmMgICAgICAgICAgICAgICAgICB8 ICAyICstCiBhcmNoL3Bvd2VycGMva2VybmVsL2RtYS5jICAgICAgICAgICAgICAgICAgICAgICAg ICB8ICA2ICsrLS0KIGFyY2gvcG93ZXJwYy9rZXJuZWwvcGNpLWNvbW1vbi5jICAgICAgICAgICAg ICAgICAgIHwgIDYgKystLQogYXJjaC9wb3dlcnBjL3BsYXRmb3Jtcy9jZWxsL2lvbW11LmMgICAg ICAgICAgICAgICAgfCAgNCArLS0KIGFyY2gvcG93ZXJwYy9wbGF0Zm9ybXMvcG93ZXJudi9ucHUt ZG1hLmMgICAgICAgICAgIHwgIDIgKy0KIGFyY2gvcG93ZXJwYy9wbGF0Zm9ybXMvcHMzL3N5c3Rl bS1idXMuYyAgICAgICAgICAgIHwgIDQgKy0tCiBhcmNoL3Bvd2VycGMvcGxhdGZvcm1zL3BzZXJp ZXMvaWJtZWJ1cy5jICAgICAgICAgICB8ICAyICstCiBhcmNoL3Bvd2VycGMvcGxhdGZvcm1zL3Bz ZXJpZXMvdmlvLmMgICAgICAgICAgICAgICB8ICAyICstCiBhcmNoL3MzOTAvaW5jbHVkZS9hc20v ZGV2aWNlLmggICAgICAgICAgICAgICAgICAgICB8ICAyICstCiBhcmNoL3MzOTAvaW5jbHVkZS9h c20vZG1hLW1hcHBpbmcuaCAgICAgICAgICAgICAgICB8ICA0ICstLQogYXJjaC9zMzkwL3BjaS9w Y2lfZG1hLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQogYXJjaC9zaC9pbmNs dWRlL2FzbS9kbWEtbWFwcGluZy5oICAgICAgICAgICAgICAgICAgfCAgNCArLS0KIGFyY2gvc2gv a2VybmVsL2RtYS1ub21tdS5jICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIGFyY2gv c2gvbW0vY29uc2lzdGVudC5jICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIGFy Y2gvc3BhcmMvaW5jbHVkZS9hc20vZG1hLW1hcHBpbmcuaCAgICAgICAgICAgICAgIHwgIDggKyst LS0KIGFyY2gvc3BhcmMva2VybmVsL2lvbW11LmMgICAgICAgICAgICAgICAgICAgICAgICAgIHwg IDQgKy0tCiBhcmNoL3NwYXJjL2tlcm5lbC9pb3BvcnQuYyAgICAgICAgICAgICAgICAgICAgICAg ICB8ICA4ICsrLS0tCiBhcmNoL3NwYXJjL2tlcm5lbC9wY2lfc3VuNHYuYyAgICAgICAgICAgICAg ICAgICAgICB8ICAyICstCiBhcmNoL3RpbGUvaW5jbHVkZS9hc20vZGV2aWNlLmggICAgICAgICAg ICAgICAgICAgICB8ICAyICstCiBhcmNoL3RpbGUvaW5jbHVkZS9hc20vZG1hLW1hcHBpbmcuaCAg ICAgICAgICAgICAgICB8IDEyICsrKy0tLS0KIGFyY2gvdGlsZS9rZXJuZWwvcGNpLWRtYS5jICAg ICAgICAgICAgICAgICAgICAgICAgIHwgMjQgKysrKysrLS0tLS0tLQogYXJjaC91bmljb3JlMzIv aW5jbHVkZS9hc20vZG1hLW1hcHBpbmcuaCAgICAgICAgICAgfCAgNCArLS0KIGFyY2gvdW5pY29y ZTMyL21tL2RtYS1zd2lvdGxiLmMgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIGFyY2gveDg2 L2luY2x1ZGUvYXNtL2RldmljZS5oICAgICAgICAgICAgICAgICAgICAgIHwgIDQgKy0tCiBhcmNo L3g4Ni9pbmNsdWRlL2FzbS9kbWEtbWFwcGluZy5oICAgICAgICAgICAgICAgICB8ICA0ICstLQog YXJjaC94ODYvaW5jbHVkZS9hc20vaW9tbXUuaCAgICAgICAgICAgICAgICAgICAgICAgfCAgMiAr LQogYXJjaC94ODYva2VybmVsL2FtZF9nYXJ0XzY0LmMgICAgICAgICAgICAgICAgICAgICAgfCAg MiArLQogYXJjaC94ODYva2VybmVsL3BjaS1jYWxnYXJ5XzY0LmMgICAgICAgICAgICAgICAgICAg fCAgMiArLQogYXJjaC94ODYva2VybmVsL3BjaS1kbWEuYyAgICAgICAgICAgICAgICAgICAgICAg ICAgfCAgNCArLS0KIGFyY2gveDg2L2tlcm5lbC9wY2ktbm9tbXUuYyAgICAgICAgICAgICAgICAg ICAgICAgIHwgIDIgKy0KIGFyY2gveDg2L2tlcm5lbC9wY2ktc3dpb3RsYi5jICAgICAgICAgICAg ICAgICAgICAgIHwgIDIgKy0KIGFyY2gveDg2L3BjaS9zdGEyeDExLWZpeHVwLmMgICAgICAgICAg ICAgICAgICAgICAgIHwgIDIgKy0KIGFyY2gveDg2L3hlbi9wY2ktc3dpb3RsYi14ZW4uYyAgICAg ICAgICAgICAgICAgICAgIHwgIDIgKy0KIGFyY2gveHRlbnNhL2luY2x1ZGUvYXNtL2RldmljZS5o ICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIGFyY2gveHRlbnNhL2luY2x1ZGUvYXNtL2RtYS1t YXBwaW5nLmggICAgICAgICAgICAgIHwgIDQgKy0tCiBhcmNoL3h0ZW5zYS9rZXJuZWwvcGNpLWRt YS5jICAgICAgICAgICAgICAgICAgICAgICB8ICAyICstCiBkcml2ZXJzL2lvbW11L2FtZF9pb21t dS5jICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA0ICstLQogZHJpdmVycy9taXNjL21pYy9i dXMvbWljX2J1cy5jICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQogZHJpdmVycy9taXNjL21p Yy9idXMvc2NpZl9idXMuYyAgICAgICAgICAgICAgICAgICAgfCAgMiArLQogZHJpdmVycy9taXNj L21pYy9idXMvc2NpZl9idXMuaCAgICAgICAgICAgICAgICAgICAgfCAgMiArLQogZHJpdmVycy9t aXNjL21pYy9idXMvdm9wX2J1cy5jICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQogZHJpdmVy cy9taXNjL21pYy9ob3N0L21pY19ib290LmMgICAgICAgICAgICAgICAgICAgfCAgNCArLS0KIGRy aXZlcnMvcGFyaXNjL2NjaW8tZG1hLmMgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0K IGRyaXZlcnMvcGFyaXNjL3NiYV9pb21tdS5jICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDIg Ky0KIGRyaXZlcnMvcGNpL2hvc3Qvdm1kLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwg IDIgKy0KIGluY2x1ZGUvbGludXgvZG1hLW1hcHBpbmcuaCAgICAgICAgICAgICAgICAgICAgICAg IHwgNDIgKysrKysrKysrKystLS0tLS0tLS0tLQogaW5jbHVkZS9saW51eC9taWNfYnVzLmggICAg ICAgICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQogaW5jbHVkZS94ZW4vYXJtL2h5cGVydmlz b3IuaCAgICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQogbGliL2RtYS1ub29wLmMgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQogMTEzIGZpbGVzIGNoYW5nZWQs IDIyNyBpbnNlcnRpb25zKCspLCAyMjcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvYXJjaC9h bHBoYS9pbmNsdWRlL2FzbS9kbWEtbWFwcGluZy5oIGIvYXJjaC9hbHBoYS9pbmNsdWRlL2FzbS9k bWEtbWFwcGluZy5oCmluZGV4IGM2M2I2YWMxOWVlNS4uZDM0ODA1NjI0MTFkIDEwMDY0NAotLS0g YS9hcmNoL2FscGhhL2luY2x1ZGUvYXNtL2RtYS1tYXBwaW5nLmgKKysrIGIvYXJjaC9hbHBoYS9p bmNsdWRlL2FzbS9kbWEtbWFwcGluZy5oCkBAIC0xLDkgKzEsOSBAQAogI2lmbmRlZiBfQUxQSEFf RE1BX01BUFBJTkdfSAogI2RlZmluZSBfQUxQSEFfRE1BX01BUFBJTkdfSAogCi1leHRlcm4gc3Ry dWN0IGRtYV9tYXBfb3BzICpkbWFfb3BzOworZXh0ZXJuIGNvbnN0IHN0cnVjdCBkbWFfbWFwX29w cyAqZG1hX29wczsKIAotc3RhdGljIGlubGluZSBzdHJ1Y3QgZG1hX21hcF9vcHMgKmdldF9kbWFf b3BzKHN0cnVjdCBkZXZpY2UgKmRldikKK3N0YXRpYyBpbmxpbmUgY29uc3Qgc3RydWN0IGRtYV9t YXBfb3BzICpnZXRfZG1hX29wcyhzdHJ1Y3QgZGV2aWNlICpkZXYpCiB7CiAJcmV0dXJuIGRtYV9v cHM7CiB9CmRpZmYgLS1naXQgYS9hcmNoL2FscGhhL2tlcm5lbC9wY2ktbm9vcC5jIGIvYXJjaC9h bHBoYS9rZXJuZWwvcGNpLW5vb3AuYwppbmRleCBiYjE1MmUyMWU1YWUuLmZmYmRiM2ZiNjcyZiAx MDA2NDQKLS0tIGEvYXJjaC9hbHBoYS9rZXJuZWwvcGNpLW5vb3AuYworKysgYi9hcmNoL2FscGhh L2tlcm5lbC9wY2ktbm9vcC5jCkBAIC0xMjgsNyArMTI4LDcgQEAgc3RhdGljIGludCBhbHBoYV9u b29wX3N1cHBvcnRlZChzdHJ1Y3QgZGV2aWNlICpkZXYsIHU2NCBtYXNrKQogCXJldHVybiBtYXNr IDwgMHgwMGZmZmZmZlVMID8gMCA6IDE7CiB9CiAKLXN0cnVjdCBkbWFfbWFwX29wcyBhbHBoYV9u b29wX29wcyA9IHsKK2NvbnN0IHN0cnVjdCBkbWFfbWFwX29wcyBhbHBoYV9ub29wX29wcyA9IHsK IAkuYWxsb2MJCQk9IGFscGhhX25vb3BfYWxsb2NfY29oZXJlbnQsCiAJLmZyZWUJCQk9IGRtYV9u b29wX2ZyZWVfY29oZXJlbnQsCiAJLm1hcF9wYWdlCQk9IGRtYV9ub29wX21hcF9wYWdlLApAQCAt MTM3LDUgKzEzNyw1IEBAIHN0cnVjdCBkbWFfbWFwX29wcyBhbHBoYV9ub29wX29wcyA9IHsKIAku ZG1hX3N1cHBvcnRlZAkJPSBhbHBoYV9ub29wX3N1cHBvcnRlZCwKIH07CiAKLXN0cnVjdCBkbWFf bWFwX29wcyAqZG1hX29wcyA9ICZhbHBoYV9ub29wX29wczsKK2NvbnN0IHN0cnVjdCBkbWFfbWFw X29wcyAqZG1hX29wcyA9ICZhbHBoYV9ub29wX29wczsKIEVYUE9SVF9TWU1CT0woZG1hX29wcyk7 CmRpZmYgLS1naXQgYS9hcmNoL2FscGhhL2tlcm5lbC9wY2lfaW9tbXUuYyBiL2FyY2gvYWxwaGEv a2VybmVsL3BjaV9pb21tdS5jCmluZGV4IDQ1MWZjOWNkZDMyMy4uN2ZkMjMyOTAzOGEzIDEwMDY0 NAotLS0gYS9hcmNoL2FscGhhL2tlcm5lbC9wY2lfaW9tbXUuYworKysgYi9hcmNoL2FscGhhL2tl cm5lbC9wY2lfaW9tbXUuYwpAQCAtOTM5LDcgKzkzOSw3IEBAIHN0YXRpYyBpbnQgYWxwaGFfcGNp X21hcHBpbmdfZXJyb3Ioc3RydWN0IGRldmljZSAqZGV2LCBkbWFfYWRkcl90IGRtYV9hZGRyKQog CXJldHVybiBkbWFfYWRkciA9PSAwOwogfQogCi1zdHJ1Y3QgZG1hX21hcF9vcHMgYWxwaGFfcGNp X29wcyA9IHsKK2NvbnN0IHN0cnVjdCBkbWFfbWFwX29wcyBhbHBoYV9wY2lfb3BzID0gewogCS5h bGxvYwkJCT0gYWxwaGFfcGNpX2FsbG9jX2NvaGVyZW50LAogCS5mcmVlCQkJPSBhbHBoYV9wY2lf ZnJlZV9jb2hlcmVudCwKIAkubWFwX3BhZ2UJCT0gYWxwaGFfcGNpX21hcF9wYWdlLApAQCAtOTUw LDUgKzk1MCw1IEBAIHN0cnVjdCBkbWFfbWFwX29wcyBhbHBoYV9wY2lfb3BzID0gewogCS5kbWFf c3VwcG9ydGVkCQk9IGFscGhhX3BjaV9zdXBwb3J0ZWQsCiB9OwogCi1zdHJ1Y3QgZG1hX21hcF9v cHMgKmRtYV9vcHMgPSAmYWxwaGFfcGNpX29wczsKK2NvbnN0IHN0cnVjdCBkbWFfbWFwX29wcyAq ZG1hX29wcyA9ICZhbHBoYV9wY2lfb3BzOwogRVhQT1JUX1NZTUJPTChkbWFfb3BzKTsKZGlmZiAt LWdpdCBhL2FyY2gvYXJjL2luY2x1ZGUvYXNtL2RtYS1tYXBwaW5nLmggYi9hcmNoL2FyYy9pbmNs dWRlL2FzbS9kbWEtbWFwcGluZy5oCmluZGV4IDI2NmYxMWM5YmQ1OS4uZmRmZjNhYTYwMDUyIDEw MDY0NAotLS0gYS9hcmNoL2FyYy9pbmNsdWRlL2FzbS9kbWEtbWFwcGluZy5oCisrKyBiL2FyY2gv YXJjL2luY2x1ZGUvYXNtL2RtYS1tYXBwaW5nLmgKQEAgLTE4LDkgKzE4LDkgQEAKICNpbmNsdWRl IDxwbGF0L2RtYS5oPgogI2VuZGlmCiAKLWV4dGVybiBzdHJ1Y3QgZG1hX21hcF9vcHMgYXJjX2Rt YV9vcHM7CitleHRlcm4gY29uc3Qgc3RydWN0IGRtYV9tYXBfb3BzIGFyY19kbWFfb3BzOwogCi1z dGF0aWMgaW5saW5lIHN0cnVjdCBkbWFfbWFwX29wcyAqZ2V0X2RtYV9vcHMoc3RydWN0IGRldmlj ZSAqZGV2KQorc3RhdGljIGlubGluZSBjb25zdCBzdHJ1Y3QgZG1hX21hcF9vcHMgKmdldF9kbWFf b3BzKHN0cnVjdCBkZXZpY2UgKmRldikKIHsKIAlyZXR1cm4gJmFyY19kbWFfb3BzOwogfQpkaWZm IC0tZ2l0IGEvYXJjaC9hcmMvbW0vZG1hLmMgYi9hcmNoL2FyYy9tbS9kbWEuYwppbmRleCAwODQ1 MGExYTViNWYuLjJhMDdlNmVjYWZiZCAxMDA2NDQKLS0tIGEvYXJjaC9hcmMvbW0vZG1hLmMKKysr IGIvYXJjaC9hcmMvbW0vZG1hLmMKQEAgLTIxOCw3ICsyMTgsNyBAQCBzdGF0aWMgaW50IGFyY19k bWFfc3VwcG9ydGVkKHN0cnVjdCBkZXZpY2UgKmRldiwgdTY0IGRtYV9tYXNrKQogCXJldHVybiBk bWFfbWFzayA9PSBETUFfQklUX01BU0soMzIpOwogfQogCi1zdHJ1Y3QgZG1hX21hcF9vcHMgYXJj X2RtYV9vcHMgPSB7Citjb25zdCBzdHJ1Y3QgZG1hX21hcF9vcHMgYXJjX2RtYV9vcHMgPSB7CiAJ LmFsbG9jCQkJPSBhcmNfZG1hX2FsbG9jLAogCS5mcmVlCQkJPSBhcmNfZG1hX2ZyZWUsCiAJLm1t YXAJCQk9IGFyY19kbWFfbW1hcCwKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NvbW1vbi9kbWFib3Vu Y2UuYyBiL2FyY2gvYXJtL2NvbW1vbi9kbWFib3VuY2UuYwppbmRleCA3NTA1NWRmMWNkYTMuLjli MWI3YmUyZWMwZSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vY29tbW9uL2RtYWJvdW5jZS5jCisrKyBi L2FyY2gvYXJtL2NvbW1vbi9kbWFib3VuY2UuYwpAQCAtNDUyLDcgKzQ1Miw3IEBAIHN0YXRpYyBp bnQgZG1hYm91bmNlX3NldF9tYXNrKHN0cnVjdCBkZXZpY2UgKmRldiwgdTY0IGRtYV9tYXNrKQog CXJldHVybiBhcm1fZG1hX29wcy5zZXRfZG1hX21hc2soZGV2LCBkbWFfbWFzayk7CiB9CiAKLXN0 YXRpYyBzdHJ1Y3QgZG1hX21hcF9vcHMgZG1hYm91bmNlX29wcyA9IHsKK3N0YXRpYyBjb25zdCBz dHJ1Y3QgZG1hX21hcF9vcHMgZG1hYm91bmNlX29wcyA9IHsKIAkuYWxsb2MJCQk9IGFybV9kbWFf YWxsb2MsCiAJLmZyZWUJCQk9IGFybV9kbWFfZnJlZSwKIAkubW1hcAkJCT0gYXJtX2RtYV9tbWFw LApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vaW5jbHVkZS9hc20vZGV2aWNlLmggYi9hcmNoL2FybS9p bmNsdWRlL2FzbS9kZXZpY2UuaAppbmRleCA0MTExNTkyZjAxMzAuLmQ4YTU3MmY5YzE4NyAxMDA2 NDQKLS0tIGEvYXJjaC9hcm0vaW5jbHVkZS9hc20vZGV2aWNlLmgKKysrIGIvYXJjaC9hcm0vaW5j bHVkZS9hc20vZGV2aWNlLmgKQEAgLTcsNyArNyw3IEBACiAjZGVmaW5lIEFTTUFSTV9ERVZJQ0Vf SAogCiBzdHJ1Y3QgZGV2X2FyY2hkYXRhIHsKLQlzdHJ1Y3QgZG1hX21hcF9vcHMJKmRtYV9vcHM7 CisJY29uc3Qgc3RydWN0IGRtYV9tYXBfb3BzCSpkbWFfb3BzOwogI2lmZGVmIENPTkZJR19ETUFC T1VOQ0UKIAlzdHJ1Y3QgZG1hYm91bmNlX2RldmljZV9pbmZvICpkbWFib3VuY2U7CiAjZW5kaWYK ZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2luY2x1ZGUvYXNtL2RtYS1tYXBwaW5nLmggYi9hcmNoL2Fy bS9pbmNsdWRlL2FzbS9kbWEtbWFwcGluZy5oCmluZGV4IGJmMDJkYmQ5Y2NkYS4uMWFhYmQ3ODEz MDZmIDEwMDY0NAotLS0gYS9hcmNoL2FybS9pbmNsdWRlL2FzbS9kbWEtbWFwcGluZy5oCisrKyBi L2FyY2gvYXJtL2luY2x1ZGUvYXNtL2RtYS1tYXBwaW5nLmgKQEAgLTEzLDE3ICsxMywxNyBAQAog I2luY2x1ZGUgPGFzbS94ZW4vaHlwZXJ2aXNvci5oPgogCiAjZGVmaW5lIERNQV9FUlJPUl9DT0RF CSh+KGRtYV9hZGRyX3QpMHgwKQotZXh0ZXJuIHN0cnVjdCBkbWFfbWFwX29wcyBhcm1fZG1hX29w czsKLWV4dGVybiBzdHJ1Y3QgZG1hX21hcF9vcHMgYXJtX2NvaGVyZW50X2RtYV9vcHM7CitleHRl cm4gY29uc3Qgc3RydWN0IGRtYV9tYXBfb3BzIGFybV9kbWFfb3BzOworZXh0ZXJuIGNvbnN0IHN0 cnVjdCBkbWFfbWFwX29wcyBhcm1fY29oZXJlbnRfZG1hX29wczsKIAotc3RhdGljIGlubGluZSBz dHJ1Y3QgZG1hX21hcF9vcHMgKl9fZ2VuZXJpY19kbWFfb3BzKHN0cnVjdCBkZXZpY2UgKmRldikK K3N0YXRpYyBpbmxpbmUgY29uc3Qgc3RydWN0IGRtYV9tYXBfb3BzICpfX2dlbmVyaWNfZG1hX29w cyhzdHJ1Y3QgZGV2aWNlICpkZXYpCiB7CiAJaWYgKGRldiAmJiBkZXYtPmFyY2hkYXRhLmRtYV9v cHMpCiAJCXJldHVybiBkZXYtPmFyY2hkYXRhLmRtYV9vcHM7CiAJcmV0dXJuICZhcm1fZG1hX29w czsKIH0KIAotc3RhdGljIGlubGluZSBzdHJ1Y3QgZG1hX21hcF9vcHMgKmdldF9kbWFfb3BzKHN0 cnVjdCBkZXZpY2UgKmRldikKK3N0YXRpYyBpbmxpbmUgY29uc3Qgc3RydWN0IGRtYV9tYXBfb3Bz ICpnZXRfZG1hX29wcyhzdHJ1Y3QgZGV2aWNlICpkZXYpCiB7CiAJaWYgKHhlbl9pbml0aWFsX2Rv bWFpbigpKQogCQlyZXR1cm4geGVuX2RtYV9vcHM7CkBAIC0zMSw3ICszMSw3IEBAIHN0YXRpYyBp bmxpbmUgc3RydWN0IGRtYV9tYXBfb3BzICpnZXRfZG1hX29wcyhzdHJ1Y3QgZGV2aWNlICpkZXYp CiAJCXJldHVybiBfX2dlbmVyaWNfZG1hX29wcyhkZXYpOwogfQogCi1zdGF0aWMgaW5saW5lIHZv aWQgc2V0X2RtYV9vcHMoc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgZG1hX21hcF9vcHMgKm9w cykKK3N0YXRpYyBpbmxpbmUgdm9pZCBzZXRfZG1hX29wcyhzdHJ1Y3QgZGV2aWNlICpkZXYsIGNv bnN0IHN0cnVjdCBkbWFfbWFwX29wcyAqb3BzKQogewogCUJVR19PTighZGV2KTsKIAlkZXYtPmFy Y2hkYXRhLmRtYV9vcHMgPSBvcHM7CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tbS9kbWEtbWFwcGlu Zy5jIGIvYXJjaC9hcm0vbW0vZG1hLW1hcHBpbmcuYwppbmRleCBhYjc3MTAwMDJiYTYuLmQyNmZl MWEzNTY4NyAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbW0vZG1hLW1hcHBpbmcuYworKysgYi9hcmNo L2FybS9tbS9kbWEtbWFwcGluZy5jCkBAIC0xODAsNyArMTgwLDcgQEAgc3RhdGljIHZvaWQgYXJt X2RtYV9zeW5jX3NpbmdsZV9mb3JfZGV2aWNlKHN0cnVjdCBkZXZpY2UgKmRldiwKIAlfX2RtYV9w YWdlX2NwdV90b19kZXYocGFnZSwgb2Zmc2V0LCBzaXplLCBkaXIpOwogfQogCi1zdHJ1Y3QgZG1h X21hcF9vcHMgYXJtX2RtYV9vcHMgPSB7Citjb25zdCBzdHJ1Y3QgZG1hX21hcF9vcHMgYXJtX2Rt YV9vcHMgPSB7CiAJLmFsbG9jCQkJPSBhcm1fZG1hX2FsbG9jLAogCS5mcmVlCQkJPSBhcm1fZG1h X2ZyZWUsCiAJLm1tYXAJCQk9IGFybV9kbWFfbW1hcCwKQEAgLTIwNCw3ICsyMDQsNyBAQCBzdGF0 aWMgaW50IGFybV9jb2hlcmVudF9kbWFfbW1hcChzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCB2 bV9hcmVhX3N0cnVjdCAqdm1hLAogCQkgdm9pZCAqY3B1X2FkZHIsIGRtYV9hZGRyX3QgZG1hX2Fk ZHIsIHNpemVfdCBzaXplLAogCQkgdW5zaWduZWQgbG9uZyBhdHRycyk7CiAKLXN0cnVjdCBkbWFf bWFwX29wcyBhcm1fY29oZXJlbnRfZG1hX29wcyA9IHsKK2NvbnN0IHN0cnVjdCBkbWFfbWFwX29w cyBhcm1fY29oZXJlbnRfZG1hX29wcyA9IHsKIAkuYWxsb2MJCQk9IGFybV9jb2hlcmVudF9kbWFf YWxsb2MsCiAJLmZyZWUJCQk9IGFybV9jb2hlcmVudF9kbWFfZnJlZSwKIAkubW1hcAkJCT0gYXJt X2NvaGVyZW50X2RtYV9tbWFwLApAQCAtMTA2Nyw3ICsxMDY3LDcgQEAgc3RhdGljIHZvaWQgX19k bWFfcGFnZV9kZXZfdG9fY3B1KHN0cnVjdCBwYWdlICpwYWdlLCB1bnNpZ25lZCBsb25nIG9mZiwK IGludCBhcm1fZG1hX21hcF9zZyhzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBzY2F0dGVybGlz dCAqc2csIGludCBuZW50cywKIAkJZW51bSBkbWFfZGF0YV9kaXJlY3Rpb24gZGlyLCB1bnNpZ25l ZCBsb25nIGF0dHJzKQogewotCXN0cnVjdCBkbWFfbWFwX29wcyAqb3BzID0gZ2V0X2RtYV9vcHMo ZGV2KTsKKwljb25zdCBzdHJ1Y3QgZG1hX21hcF9vcHMgKm9wcyA9IGdldF9kbWFfb3BzKGRldik7 CiAJc3RydWN0IHNjYXR0ZXJsaXN0ICpzOwogCWludCBpLCBqOwogCkBAIC0xMTAxLDcgKzExMDEs NyBAQCBpbnQgYXJtX2RtYV9tYXBfc2coc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3Qgc2NhdHRl cmxpc3QgKnNnLCBpbnQgbmVudHMsCiB2b2lkIGFybV9kbWFfdW5tYXBfc2coc3RydWN0IGRldmlj ZSAqZGV2LCBzdHJ1Y3Qgc2NhdHRlcmxpc3QgKnNnLCBpbnQgbmVudHMsCiAJCWVudW0gZG1hX2Rh dGFfZGlyZWN0aW9uIGRpciwgdW5zaWduZWQgbG9uZyBhdHRycykKIHsKLQlzdHJ1Y3QgZG1hX21h cF9vcHMgKm9wcyA9IGdldF9kbWFfb3BzKGRldik7CisJY29uc3Qgc3RydWN0IGRtYV9tYXBfb3Bz ICpvcHMgPSBnZXRfZG1hX29wcyhkZXYpOwogCXN0cnVjdCBzY2F0dGVybGlzdCAqczsKIAogCWlu dCBpOwpAQCAtMTEyMCw3ICsxMTIwLDcgQEAgdm9pZCBhcm1fZG1hX3VubWFwX3NnKHN0cnVjdCBk ZXZpY2UgKmRldiwgc3RydWN0IHNjYXR0ZXJsaXN0ICpzZywgaW50IG5lbnRzLAogdm9pZCBhcm1f ZG1hX3N5bmNfc2dfZm9yX2NwdShzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBzY2F0dGVybGlz dCAqc2csCiAJCQlpbnQgbmVudHMsIGVudW0gZG1hX2RhdGFfZGlyZWN0aW9uIGRpcikKIHsKLQlz dHJ1Y3QgZG1hX21hcF9vcHMgKm9wcyA9IGdldF9kbWFfb3BzKGRldik7CisJY29uc3Qgc3RydWN0 IGRtYV9tYXBfb3BzICpvcHMgPSBnZXRfZG1hX29wcyhkZXYpOwogCXN0cnVjdCBzY2F0dGVybGlz dCAqczsKIAlpbnQgaTsKIApAQCAtMTEzOSw3ICsxMTM5LDcgQEAgdm9pZCBhcm1fZG1hX3N5bmNf c2dfZm9yX2NwdShzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBzY2F0dGVybGlzdCAqc2csCiB2 b2lkIGFybV9kbWFfc3luY19zZ19mb3JfZGV2aWNlKHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0 IHNjYXR0ZXJsaXN0ICpzZywKIAkJCWludCBuZW50cywgZW51bSBkbWFfZGF0YV9kaXJlY3Rpb24g ZGlyKQogewotCXN0cnVjdCBkbWFfbWFwX29wcyAqb3BzID0gZ2V0X2RtYV9vcHMoZGV2KTsKKwlj b25zdCBzdHJ1Y3QgZG1hX21hcF9vcHMgKm9wcyA9IGdldF9kbWFfb3BzKGRldik7CiAJc3RydWN0 IHNjYXR0ZXJsaXN0ICpzOwogCWludCBpOwogCkBAIC0yMDk5LDcgKzIwOTksNyBAQCBzdGF0aWMg dm9pZCBhcm1faW9tbXVfc3luY19zaW5nbGVfZm9yX2RldmljZShzdHJ1Y3QgZGV2aWNlICpkZXYs CiAJX19kbWFfcGFnZV9jcHVfdG9fZGV2KHBhZ2UsIG9mZnNldCwgc2l6ZSwgZGlyKTsKIH0KIAot c3RydWN0IGRtYV9tYXBfb3BzIGlvbW11X29wcyA9IHsKK2NvbnN0IHN0cnVjdCBkbWFfbWFwX29w cyBpb21tdV9vcHMgPSB7CiAJLmFsbG9jCQk9IGFybV9pb21tdV9hbGxvY19hdHRycywKIAkuZnJl ZQkJPSBhcm1faW9tbXVfZnJlZV9hdHRycywKIAkubW1hcAkJPSBhcm1faW9tbXVfbW1hcF9hdHRy cywKQEAgLTIxMTksNyArMjExOSw3IEBAIHN0cnVjdCBkbWFfbWFwX29wcyBpb21tdV9vcHMgPSB7 CiAJLnVubWFwX3Jlc291cmNlCQk9IGFybV9pb21tdV91bm1hcF9yZXNvdXJjZSwKIH07CiAKLXN0 cnVjdCBkbWFfbWFwX29wcyBpb21tdV9jb2hlcmVudF9vcHMgPSB7Citjb25zdCBzdHJ1Y3QgZG1h X21hcF9vcHMgaW9tbXVfY29oZXJlbnRfb3BzID0gewogCS5hbGxvYwkJPSBhcm1fY29oZXJlbnRf aW9tbXVfYWxsb2NfYXR0cnMsCiAJLmZyZWUJCT0gYXJtX2NvaGVyZW50X2lvbW11X2ZyZWVfYXR0 cnMsCiAJLm1tYXAJCT0gYXJtX2NvaGVyZW50X2lvbW11X21tYXBfYXR0cnMsCkBAIC0yMzE5LDcg KzIzMTksNyBAQCB2b2lkIGFybV9pb21tdV9kZXRhY2hfZGV2aWNlKHN0cnVjdCBkZXZpY2UgKmRl dikKIH0KIEVYUE9SVF9TWU1CT0xfR1BMKGFybV9pb21tdV9kZXRhY2hfZGV2aWNlKTsKIAotc3Rh dGljIHN0cnVjdCBkbWFfbWFwX29wcyAqYXJtX2dldF9pb21tdV9kbWFfbWFwX29wcyhib29sIGNv aGVyZW50KQorc3RhdGljIGNvbnN0IHN0cnVjdCBkbWFfbWFwX29wcyAqYXJtX2dldF9pb21tdV9k bWFfbWFwX29wcyhib29sIGNvaGVyZW50KQogewogCXJldHVybiBjb2hlcmVudCA/ICZpb21tdV9j b2hlcmVudF9vcHMgOiAmaW9tbXVfb3BzOwogfQpAQCAtMjM3NCw3ICsyMzc0LDcgQEAgc3RhdGlj IHZvaWQgYXJtX3RlYXJkb3duX2lvbW11X2RtYV9vcHMoc3RydWN0IGRldmljZSAqZGV2KSB7IH0K IAogI2VuZGlmCS8qIENPTkZJR19BUk1fRE1BX1VTRV9JT01NVSAqLwogCi1zdGF0aWMgc3RydWN0 IGRtYV9tYXBfb3BzICphcm1fZ2V0X2RtYV9tYXBfb3BzKGJvb2wgY29oZXJlbnQpCitzdGF0aWMg Y29uc3Qgc3RydWN0IGRtYV9tYXBfb3BzICphcm1fZ2V0X2RtYV9tYXBfb3BzKGJvb2wgY29oZXJl bnQpCiB7CiAJcmV0dXJuIGNvaGVyZW50ID8gJmFybV9jb2hlcmVudF9kbWFfb3BzIDogJmFybV9k bWFfb3BzOwogfQpAQCAtMjM4Miw3ICsyMzgyLDcgQEAgc3RhdGljIHN0cnVjdCBkbWFfbWFwX29w cyAqYXJtX2dldF9kbWFfbWFwX29wcyhib29sIGNvaGVyZW50KQogdm9pZCBhcmNoX3NldHVwX2Rt YV9vcHMoc3RydWN0IGRldmljZSAqZGV2LCB1NjQgZG1hX2Jhc2UsIHU2NCBzaXplLAogCQkJY29u c3Qgc3RydWN0IGlvbW11X29wcyAqaW9tbXUsIGJvb2wgY29oZXJlbnQpCiB7Ci0Jc3RydWN0IGRt YV9tYXBfb3BzICpkbWFfb3BzOworCWNvbnN0IHN0cnVjdCBkbWFfbWFwX29wcyAqZG1hX29wczsK IAogCWRldi0+YXJjaGRhdGEuZG1hX2NvaGVyZW50ID0gY29oZXJlbnQ7CiAJaWYgKGFybV9zZXR1 cF9pb21tdV9kbWFfb3BzKGRldiwgZG1hX2Jhc2UsIHNpemUsIGlvbW11KSkKZGlmZiAtLWdpdCBh L2FyY2gvYXJtL3hlbi9tbS5jIGIvYXJjaC9hcm0veGVuL21tLmMKaW5kZXggYmQ2MmQ5NGY4YWM1 Li5jZTE4YzkxYjUwYTEgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL3hlbi9tbS5jCisrKyBiL2FyY2gv YXJtL3hlbi9tbS5jCkBAIC0xODIsMTAgKzE4MiwxMCBAQCB2b2lkIHhlbl9kZXN0cm95X2NvbnRp Z3VvdXNfcmVnaW9uKHBoeXNfYWRkcl90IHBzdGFydCwgdW5zaWduZWQgaW50IG9yZGVyKQogfQog RVhQT1JUX1NZTUJPTF9HUEwoeGVuX2Rlc3Ryb3lfY29udGlndW91c19yZWdpb24pOwogCi1zdHJ1 Y3QgZG1hX21hcF9vcHMgKnhlbl9kbWFfb3BzOworY29uc3Qgc3RydWN0IGRtYV9tYXBfb3BzICp4 ZW5fZG1hX29wczsKIEVYUE9SVF9TWU1CT0woeGVuX2RtYV9vcHMpOwogCi1zdGF0aWMgc3RydWN0 IGRtYV9tYXBfb3BzIHhlbl9zd2lvdGxiX2RtYV9vcHMgPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0 IGRtYV9tYXBfb3BzIHhlbl9zd2lvdGxiX2RtYV9vcHMgPSB7CiAJLmFsbG9jID0geGVuX3N3aW90 bGJfYWxsb2NfY29oZXJlbnQsCiAJLmZyZWUgPSB4ZW5fc3dpb3RsYl9mcmVlX2NvaGVyZW50LAog CS5zeW5jX3NpbmdsZV9mb3JfY3B1ID0geGVuX3N3aW90bGJfc3luY19zaW5nbGVfZm9yX2NwdSwK ZGlmZiAtLWdpdCBhL2FyY2gvYXJtNjQvaW5jbHVkZS9hc20vZGV2aWNlLmggYi9hcmNoL2FybTY0 L2luY2x1ZGUvYXNtL2RldmljZS5oCmluZGV4IDI0M2VmMjU2YjhjOS4uMDBjNjc4Y2MzMWUxIDEw MDY0NAotLS0gYS9hcmNoL2FybTY0L2luY2x1ZGUvYXNtL2RldmljZS5oCisrKyBiL2FyY2gvYXJt NjQvaW5jbHVkZS9hc20vZGV2aWNlLmgKQEAgLTE3LDcgKzE3LDcgQEAKICNkZWZpbmUgX19BU01f REVWSUNFX0gKIAogc3RydWN0IGRldl9hcmNoZGF0YSB7Ci0Jc3RydWN0IGRtYV9tYXBfb3BzICpk bWFfb3BzOworCWNvbnN0IHN0cnVjdCBkbWFfbWFwX29wcyAqZG1hX29wczsKICNpZmRlZiBDT05G SUdfSU9NTVVfQVBJCiAJdm9pZCAqaW9tbXU7CQkJLyogcHJpdmF0ZSBJT01NVSBkYXRhICovCiAj ZW5kaWYKZGlmZiAtLWdpdCBhL2FyY2gvYXJtNjQvaW5jbHVkZS9hc20vZG1hLW1hcHBpbmcuaCBi L2FyY2gvYXJtNjQvaW5jbHVkZS9hc20vZG1hLW1hcHBpbmcuaAppbmRleCBjY2VhODJjMmIwODku LjFmZWRiNDNiZTcxMiAxMDA2NDQKLS0tIGEvYXJjaC9hcm02NC9pbmNsdWRlL2FzbS9kbWEtbWFw cGluZy5oCisrKyBiL2FyY2gvYXJtNjQvaW5jbHVkZS9hc20vZG1hLW1hcHBpbmcuaApAQCAtMjUs OSArMjUsOSBAQAogI2luY2x1ZGUgPGFzbS94ZW4vaHlwZXJ2aXNvci5oPgogCiAjZGVmaW5lIERN QV9FUlJPUl9DT0RFCSh+KGRtYV9hZGRyX3QpMCkKLWV4dGVybiBzdHJ1Y3QgZG1hX21hcF9vcHMg ZHVtbXlfZG1hX29wczsKK2V4dGVybiBjb25zdCBzdHJ1Y3QgZG1hX21hcF9vcHMgZHVtbXlfZG1h X29wczsKIAotc3RhdGljIGlubGluZSBzdHJ1Y3QgZG1hX21hcF9vcHMgKl9fZ2VuZXJpY19kbWFf b3BzKHN0cnVjdCBkZXZpY2UgKmRldikKK3N0YXRpYyBpbmxpbmUgY29uc3Qgc3RydWN0IGRtYV9t YXBfb3BzICpfX2dlbmVyaWNfZG1hX29wcyhzdHJ1Y3QgZGV2aWNlICpkZXYpCiB7CiAJaWYgKGRl diAmJiBkZXYtPmFyY2hkYXRhLmRtYV9vcHMpCiAJCXJldHVybiBkZXYtPmFyY2hkYXRhLmRtYV9v cHM7CkBAIC0zOSw3ICszOSw3IEBAIHN0YXRpYyBpbmxpbmUgc3RydWN0IGRtYV9tYXBfb3BzICpf X2dlbmVyaWNfZG1hX29wcyhzdHJ1Y3QgZGV2aWNlICpkZXYpCiAJcmV0dXJuICZkdW1teV9kbWFf b3BzOwogfQogCi1zdGF0aWMgaW5saW5lIHN0cnVjdCBkbWFfbWFwX29wcyAqZ2V0X2RtYV9vcHMo c3RydWN0IGRldmljZSAqZGV2KQorc3RhdGljIGlubGluZSBjb25zdCBzdHJ1Y3QgZG1hX21hcF9v cHMgKmdldF9kbWFfb3BzKHN0cnVjdCBkZXZpY2UgKmRldikKIHsKIAlpZiAoeGVuX2luaXRpYWxf ZG9tYWluKCkpCiAJCXJldHVybiB4ZW5fZG1hX29wczsKZGlmZiAtLWdpdCBhL2FyY2gvYXJtNjQv bW0vZG1hLW1hcHBpbmcuYyBiL2FyY2gvYXJtNjQvbW0vZG1hLW1hcHBpbmcuYwppbmRleCBlMDQw ODI3MDBiYjEuLmJjZWY2MzY4ZDQ4ZiAxMDA2NDQKLS0tIGEvYXJjaC9hcm02NC9tbS9kbWEtbWFw cGluZy5jCisrKyBiL2FyY2gvYXJtNjQvbW0vZG1hLW1hcHBpbmcuYwpAQCAtMzUyLDcgKzM1Miw3 IEBAIHN0YXRpYyBpbnQgX19zd2lvdGxiX2RtYV9zdXBwb3J0ZWQoc3RydWN0IGRldmljZSAqaHdk ZXYsIHU2NCBtYXNrKQogCXJldHVybiAxOwogfQogCi1zdGF0aWMgc3RydWN0IGRtYV9tYXBfb3Bz IHN3aW90bGJfZG1hX29wcyA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZG1hX21hcF9vcHMgc3dp b3RsYl9kbWFfb3BzID0gewogCS5hbGxvYyA9IF9fZG1hX2FsbG9jLAogCS5mcmVlID0gX19kbWFf ZnJlZSwKIAkubW1hcCA9IF9fc3dpb3RsYl9tbWFwLApAQCAtNTA1LDcgKzUwNSw3IEBAIHN0YXRp YyBpbnQgX19kdW1teV9kbWFfc3VwcG9ydGVkKHN0cnVjdCBkZXZpY2UgKmh3ZGV2LCB1NjQgbWFz aykKIAlyZXR1cm4gMDsKIH0KIAotc3RydWN0IGRtYV9tYXBfb3BzIGR1bW15X2RtYV9vcHMgPSB7 Citjb25zdCBzdHJ1Y3QgZG1hX21hcF9vcHMgZHVtbXlfZG1hX29wcyA9IHsKIAkuYWxsb2MgICAg ICAgICAgICAgICAgICA9IF9fZHVtbXlfYWxsb2MsCiAJLmZyZWUgICAgICAgICAgICAgICAgICAg PSBfX2R1bW15X2ZyZWUsCiAJLm1tYXAgICAgICAgICAgICAgICAgICAgPSBfX2R1bW15X21tYXAs CkBAIC03ODQsNyArNzg0LDcgQEAgc3RhdGljIHZvaWQgX19pb21tdV91bm1hcF9zZ19hdHRycyhz dHJ1Y3QgZGV2aWNlICpkZXYsCiAJaW9tbXVfZG1hX3VubWFwX3NnKGRldiwgc2dsLCBuZWxlbXMs IGRpciwgYXR0cnMpOwogfQogCi1zdGF0aWMgc3RydWN0IGRtYV9tYXBfb3BzIGlvbW11X2RtYV9v cHMgPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IGRtYV9tYXBfb3BzIGlvbW11X2RtYV9vcHMgPSB7 CiAJLmFsbG9jID0gX19pb21tdV9hbGxvY19hdHRycywKIAkuZnJlZSA9IF9faW9tbXVfZnJlZV9h dHRycywKIAkubW1hcCA9IF9faW9tbXVfbW1hcF9hdHRycywKZGlmZiAtLWdpdCBhL2FyY2gvYXZy MzIvaW5jbHVkZS9hc20vZG1hLW1hcHBpbmcuaCBiL2FyY2gvYXZyMzIvaW5jbHVkZS9hc20vZG1h LW1hcHBpbmcuaAppbmRleCAxMTE1ZjJhNjQ1ZDEuLmIyYjQzYzBlMDc3NCAxMDA2NDQKLS0tIGEv YXJjaC9hdnIzMi9pbmNsdWRlL2FzbS9kbWEtbWFwcGluZy5oCisrKyBiL2FyY2gvYXZyMzIvaW5j bHVkZS9hc20vZG1hLW1hcHBpbmcuaApAQCAtNCw5ICs0LDkgQEAKIGV4dGVybiB2b2lkIGRtYV9j YWNoZV9zeW5jKHN0cnVjdCBkZXZpY2UgKmRldiwgdm9pZCAqdmFkZHIsIHNpemVfdCBzaXplLAog CWludCBkaXJlY3Rpb24pOwogCi1leHRlcm4gc3RydWN0IGRtYV9tYXBfb3BzIGF2cjMyX2RtYV9v cHM7CitleHRlcm4gY29uc3Qgc3RydWN0IGRtYV9tYXBfb3BzIGF2cjMyX2RtYV9vcHM7CiAKLXN0 YXRpYyBpbmxpbmUgc3RydWN0IGRtYV9tYXBfb3BzICpnZXRfZG1hX29wcyhzdHJ1Y3QgZGV2aWNl ICpkZXYpCitzdGF0aWMgaW5saW5lIGNvbnN0IHN0cnVjdCBkbWFfbWFwX29wcyAqZ2V0X2RtYV9v cHMoc3RydWN0IGRldmljZSAqZGV2KQogewogCXJldHVybiAmYXZyMzJfZG1hX29wczsKIH0KZGlm ZiAtLWdpdCBhL2FyY2gvYXZyMzIvbW0vZG1hLWNvaGVyZW50LmMgYi9hcmNoL2F2cjMyL21tL2Rt YS1jb2hlcmVudC5jCmluZGV4IDU0NTM0ZTVkMDc4MS4uNTU1MjIyZDRmNDE0IDEwMDY0NAotLS0g YS9hcmNoL2F2cjMyL21tL2RtYS1jb2hlcmVudC5jCisrKyBiL2FyY2gvYXZyMzIvbW0vZG1hLWNv aGVyZW50LmMKQEAgLTE5MSw3ICsxOTEsNyBAQCBzdGF0aWMgdm9pZCBhdnIzMl9kbWFfc3luY19z Z19mb3JfZGV2aWNlKHN0cnVjdCBkZXZpY2UgKmRldiwKIAkJZG1hX2NhY2hlX3N5bmMoZGV2LCBz Z192aXJ0KHNnKSwgc2ctPmxlbmd0aCwgZGlyZWN0aW9uKTsKIH0KIAotc3RydWN0IGRtYV9tYXBf b3BzIGF2cjMyX2RtYV9vcHMgPSB7Citjb25zdCBzdHJ1Y3QgZG1hX21hcF9vcHMgYXZyMzJfZG1h X29wcyA9IHsKIAkuYWxsb2MJCQk9IGF2cjMyX2RtYV9hbGxvYywKIAkuZnJlZQkJCT0gYXZyMzJf ZG1hX2ZyZWUsCiAJLm1hcF9wYWdlCQk9IGF2cjMyX2RtYV9tYXBfcGFnZSwKZGlmZiAtLWdpdCBh L2FyY2gvYmxhY2tmaW4vaW5jbHVkZS9hc20vZG1hLW1hcHBpbmcuaCBiL2FyY2gvYmxhY2tmaW4v aW5jbHVkZS9hc20vZG1hLW1hcHBpbmcuaAppbmRleCAzNDkwNTcwYWFhODIuLjMyMGZiNTBmYmQ0 MSAxMDA2NDQKLS0tIGEvYXJjaC9ibGFja2Zpbi9pbmNsdWRlL2FzbS9kbWEtbWFwcGluZy5oCisr KyBiL2FyY2gvYmxhY2tmaW4vaW5jbHVkZS9hc20vZG1hLW1hcHBpbmcuaApAQCAtMzYsOSArMzYs OSBAQCBfZG1hX3N5bmMoZG1hX2FkZHJfdCBhZGRyLCBzaXplX3Qgc2l6ZSwgZW51bSBkbWFfZGF0 YV9kaXJlY3Rpb24gZGlyKQogCQlfX2RtYV9zeW5jKGFkZHIsIHNpemUsIGRpcik7CiB9CiAKLWV4 dGVybiBzdHJ1Y3QgZG1hX21hcF9vcHMgYmZpbl9kbWFfb3BzOworZXh0ZXJuIGNvbnN0IHN0cnVj dCBkbWFfbWFwX29wcyBiZmluX2RtYV9vcHM7CiAKLXN0YXRpYyBpbmxpbmUgc3RydWN0IGRtYV9t YXBfb3BzICpnZXRfZG1hX29wcyhzdHJ1Y3QgZGV2aWNlICpkZXYpCitzdGF0aWMgaW5saW5lIGNv bnN0IHN0cnVjdCBkbWFfbWFwX29wcyAqZ2V0X2RtYV9vcHMoc3RydWN0IGRldmljZSAqZGV2KQog ewogCXJldHVybiAmYmZpbl9kbWFfb3BzOwogfQpkaWZmIC0tZ2l0IGEvYXJjaC9ibGFja2Zpbi9r ZXJuZWwvZG1hLW1hcHBpbmcuYyBiL2FyY2gvYmxhY2tmaW4va2VybmVsL2RtYS1tYXBwaW5nLmMK aW5kZXggYTI3YTc0YTE4ZmIwLi40NzdiYjI5YTc5ODcgMTAwNjQ0Ci0tLSBhL2FyY2gvYmxhY2tm aW4va2VybmVsL2RtYS1tYXBwaW5nLmMKKysrIGIvYXJjaC9ibGFja2Zpbi9rZXJuZWwvZG1hLW1h cHBpbmcuYwpAQCAtMTU5LDcgKzE1OSw3IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBiZmluX2RtYV9z eW5jX3NpbmdsZV9mb3JfZGV2aWNlKHN0cnVjdCBkZXZpY2UgKmRldiwKIAlfZG1hX3N5bmMoaGFu ZGxlLCBzaXplLCBkaXIpOwogfQogCi1zdHJ1Y3QgZG1hX21hcF9vcHMgYmZpbl9kbWFfb3BzID0g eworY29uc3Qgc3RydWN0IGRtYV9tYXBfb3BzIGJmaW5fZG1hX29wcyA9IHsKIAkuYWxsb2MJCQk9 IGJmaW5fZG1hX2FsbG9jLAogCS5mcmVlCQkJPSBiZmluX2RtYV9mcmVlLAogCmRpZmYgLS1naXQg YS9hcmNoL2M2eC9pbmNsdWRlL2FzbS9kbWEtbWFwcGluZy5oIGIvYXJjaC9jNngvaW5jbHVkZS9h c20vZG1hLW1hcHBpbmcuaAppbmRleCA1NzE3YjFlNTJkOTYuLjg4MjU4YjllYmM4ZSAxMDA2NDQK LS0tIGEvYXJjaC9jNngvaW5jbHVkZS9hc20vZG1hLW1hcHBpbmcuaAorKysgYi9hcmNoL2M2eC9p bmNsdWRlL2FzbS9kbWEtbWFwcGluZy5oCkBAIC0xNyw5ICsxNyw5IEBACiAgKi8KICNkZWZpbmUg RE1BX0VSUk9SX0NPREUgfjAKIAotZXh0ZXJuIHN0cnVjdCBkbWFfbWFwX29wcyBjNnhfZG1hX29w czsKK2V4dGVybiBjb25zdCBzdHJ1Y3QgZG1hX21hcF9vcHMgYzZ4X2RtYV9vcHM7CiAKLXN0YXRp YyBpbmxpbmUgc3RydWN0IGRtYV9tYXBfb3BzICpnZXRfZG1hX29wcyhzdHJ1Y3QgZGV2aWNlICpk ZXYpCitzdGF0aWMgaW5saW5lIGNvbnN0IHN0cnVjdCBkbWFfbWFwX29wcyAqZ2V0X2RtYV9vcHMo c3RydWN0IGRldmljZSAqZGV2KQogewogCXJldHVybiAmYzZ4X2RtYV9vcHM7CiB9CmRpZmYgLS1n aXQgYS9hcmNoL2M2eC9rZXJuZWwvZG1hLmMgYi9hcmNoL2M2eC9rZXJuZWwvZG1hLmMKaW5kZXgg Njc1MmRmMzJlZjA2Li45ZmZmOGJlNzVmNTggMTAwNjQ0Ci0tLSBhL2FyY2gvYzZ4L2tlcm5lbC9k bWEuYworKysgYi9hcmNoL2M2eC9rZXJuZWwvZG1hLmMKQEAgLTEyMyw3ICsxMjMsNyBAQCBzdGF0 aWMgdm9pZCBjNnhfZG1hX3N5bmNfc2dfZm9yX2RldmljZShzdHJ1Y3QgZGV2aWNlICpkZXYsCiAK IH0KIAotc3RydWN0IGRtYV9tYXBfb3BzIGM2eF9kbWFfb3BzID0geworY29uc3Qgc3RydWN0IGRt YV9tYXBfb3BzIGM2eF9kbWFfb3BzID0gewogCS5hbGxvYwkJCT0gYzZ4X2RtYV9hbGxvYywKIAku ZnJlZQkJCT0gYzZ4X2RtYV9mcmVlLAogCS5tYXBfcGFnZQkJPSBjNnhfZG1hX21hcF9wYWdlLApk aWZmIC0tZ2l0IGEvYXJjaC9jcmlzL2FyY2gtdjMyL2RyaXZlcnMvcGNpL2RtYS5jIGIvYXJjaC9j cmlzL2FyY2gtdjMyL2RyaXZlcnMvcGNpL2RtYS5jCmluZGV4IDFmMDYzNjc5M2YwYy4uNzA3MjM0 MTk5NWZmIDEwMDY0NAotLS0gYS9hcmNoL2NyaXMvYXJjaC12MzIvZHJpdmVycy9wY2kvZG1hLmMK KysrIGIvYXJjaC9jcmlzL2FyY2gtdjMyL2RyaXZlcnMvcGNpL2RtYS5jCkBAIC02OSw3ICs2OSw3 IEBAIHN0YXRpYyBpbmxpbmUgaW50IHYzMl9kbWFfc3VwcG9ydGVkKHN0cnVjdCBkZXZpY2UgKmRl diwgdTY0IG1hc2spCiAJcmV0dXJuIDE7CiB9CiAKLXN0cnVjdCBkbWFfbWFwX29wcyB2MzJfZG1h X29wcyA9IHsKK2NvbnN0IHN0cnVjdCBkbWFfbWFwX29wcyB2MzJfZG1hX29wcyA9IHsKIAkuYWxs b2MJCQk9IHYzMl9kbWFfYWxsb2MsCiAJLmZyZWUJCQk9IHYzMl9kbWFfZnJlZSwKIAkubWFwX3Bh Z2UJCT0gdjMyX2RtYV9tYXBfcGFnZSwKZGlmZiAtLWdpdCBhL2FyY2gvY3Jpcy9pbmNsdWRlL2Fz bS9kbWEtbWFwcGluZy5oIGIvYXJjaC9jcmlzL2luY2x1ZGUvYXNtL2RtYS1tYXBwaW5nLmgKaW5k ZXggNWEzNzAxNzhhMGU5Li5hYWU0ZmJjMGE2NTYgMTAwNjQ0Ci0tLSBhL2FyY2gvY3Jpcy9pbmNs dWRlL2FzbS9kbWEtbWFwcGluZy5oCisrKyBiL2FyY2gvY3Jpcy9pbmNsdWRlL2FzbS9kbWEtbWFw cGluZy5oCkBAIC0yLDE0ICsyLDE0IEBACiAjZGVmaW5lIF9BU01fQ1JJU19ETUFfTUFQUElOR19I CiAKICNpZmRlZiBDT05GSUdfUENJCi1leHRlcm4gc3RydWN0IGRtYV9tYXBfb3BzIHYzMl9kbWFf b3BzOworZXh0ZXJuIGNvbnN0IHN0cnVjdCBkbWFfbWFwX29wcyB2MzJfZG1hX29wczsKIAotc3Rh dGljIGlubGluZSBzdHJ1Y3QgZG1hX21hcF9vcHMgKmdldF9kbWFfb3BzKHN0cnVjdCBkZXZpY2Ug KmRldikKK3N0YXRpYyBpbmxpbmUgY29uc3Qgc3RydWN0IGRtYV9tYXBfb3BzICpnZXRfZG1hX29w cyhzdHJ1Y3QgZGV2aWNlICpkZXYpCiB7CiAJcmV0dXJuICZ2MzJfZG1hX29wczsKIH0KICNlbHNl Ci1zdGF0aWMgaW5saW5lIHN0cnVjdCBkbWFfbWFwX29wcyAqZ2V0X2RtYV9vcHMoc3RydWN0IGRl dmljZSAqZGV2KQorc3RhdGljIGlubGluZSBjb25zdCBzdHJ1Y3QgZG1hX21hcF9vcHMgKmdldF9k bWFfb3BzKHN0cnVjdCBkZXZpY2UgKmRldikKIHsKIAlCVUcoKTsKIAlyZXR1cm4gTlVMTDsKZGlm ZiAtLWdpdCBhL2FyY2gvZnJ2L2luY2x1ZGUvYXNtL2RtYS1tYXBwaW5nLmggYi9hcmNoL2Zydi9p bmNsdWRlL2FzbS9kbWEtbWFwcGluZy5oCmluZGV4IDlhODJiZmE0MzAzYi4uMTUwY2MwMDU0NGE4 IDEwMDY0NAotLS0gYS9hcmNoL2Zydi9pbmNsdWRlL2FzbS9kbWEtbWFwcGluZy5oCisrKyBiL2Fy Y2gvZnJ2L2luY2x1ZGUvYXNtL2RtYS1tYXBwaW5nLmgKQEAgLTcsOSArNyw5IEBACiBleHRlcm4g dW5zaWduZWQgbG9uZyBfX25vbmdwcmVsYnNzIGRtYV9jb2hlcmVudF9tZW1fc3RhcnQ7CiBleHRl cm4gdW5zaWduZWQgbG9uZyBfX25vbmdwcmVsYnNzIGRtYV9jb2hlcmVudF9tZW1fZW5kOwogCi1l eHRlcm4gc3RydWN0IGRtYV9tYXBfb3BzIGZydl9kbWFfb3BzOworZXh0ZXJuIGNvbnN0IHN0cnVj dCBkbWFfbWFwX29wcyBmcnZfZG1hX29wczsKIAotc3RhdGljIGlubGluZSBzdHJ1Y3QgZG1hX21h cF9vcHMgKmdldF9kbWFfb3BzKHN0cnVjdCBkZXZpY2UgKmRldikKK3N0YXRpYyBpbmxpbmUgY29u c3Qgc3RydWN0IGRtYV9tYXBfb3BzICpnZXRfZG1hX29wcyhzdHJ1Y3QgZGV2aWNlICpkZXYpCiB7 CiAJcmV0dXJuICZmcnZfZG1hX29wczsKIH0KZGlmZiAtLWdpdCBhL2FyY2gvZnJ2L21iOTMwOTAt bWIwMC9wY2ktZG1hLW5vbW11LmMgYi9hcmNoL2Zydi9tYjkzMDkwLW1iMDAvcGNpLWRtYS1ub21t dS5jCmluZGV4IDE4NzY4ODEyOGM2NS4uNGE5NmRlN2YwYWY0IDEwMDY0NAotLS0gYS9hcmNoL2Zy di9tYjkzMDkwLW1iMDAvcGNpLWRtYS1ub21tdS5jCisrKyBiL2FyY2gvZnJ2L21iOTMwOTAtbWIw MC9wY2ktZG1hLW5vbW11LmMKQEAgLTE2NCw3ICsxNjQsNyBAQCBzdGF0aWMgaW50IGZydl9kbWFf c3VwcG9ydGVkKHN0cnVjdCBkZXZpY2UgKmRldiwgdTY0IG1hc2spCiAJcmV0dXJuIDE7CiB9CiAK LXN0cnVjdCBkbWFfbWFwX29wcyBmcnZfZG1hX29wcyA9IHsKK2NvbnN0IHN0cnVjdCBkbWFfbWFw X29wcyBmcnZfZG1hX29wcyA9IHsKIAkuYWxsb2MJCQk9IGZydl9kbWFfYWxsb2MsCiAJLmZyZWUJ CQk9IGZydl9kbWFfZnJlZSwKIAkubWFwX3BhZ2UJCT0gZnJ2X2RtYV9tYXBfcGFnZSwKZGlmZiAt LWdpdCBhL2FyY2gvZnJ2L21iOTMwOTAtbWIwMC9wY2ktZG1hLmMgYi9hcmNoL2Zydi9tYjkzMDkw LW1iMDAvcGNpLWRtYS5jCmluZGV4IGRiYTdkZjkxODE0NC4uZTcxMzBhYmMwZGFlIDEwMDY0NAot LS0gYS9hcmNoL2Zydi9tYjkzMDkwLW1iMDAvcGNpLWRtYS5jCisrKyBiL2FyY2gvZnJ2L21iOTMw OTAtbWIwMC9wY2ktZG1hLmMKQEAgLTEwNiw3ICsxMDYsNyBAQCBzdGF0aWMgaW50IGZydl9kbWFf c3VwcG9ydGVkKHN0cnVjdCBkZXZpY2UgKmRldiwgdTY0IG1hc2spCiAJcmV0dXJuIDE7CiB9CiAK LXN0cnVjdCBkbWFfbWFwX29wcyBmcnZfZG1hX29wcyA9IHsKK2NvbnN0IHN0cnVjdCBkbWFfbWFw X29wcyBmcnZfZG1hX29wcyA9IHsKIAkuYWxsb2MJCQk9IGZydl9kbWFfYWxsb2MsCiAJLmZyZWUJ CQk9IGZydl9kbWFfZnJlZSwKIAkubWFwX3BhZ2UJCT0gZnJ2X2RtYV9tYXBfcGFnZSwKZGlmZiAt LWdpdCBhL2FyY2gvaDgzMDAvaW5jbHVkZS9hc20vZG1hLW1hcHBpbmcuaCBiL2FyY2gvaDgzMDAv aW5jbHVkZS9hc20vZG1hLW1hcHBpbmcuaAppbmRleCA3YWM3ZmFkZmZlZDAuLmY4MDRiY2E0YzEz ZiAxMDA2NDQKLS0tIGEvYXJjaC9oODMwMC9pbmNsdWRlL2FzbS9kbWEtbWFwcGluZy5oCisrKyBi L2FyY2gvaDgzMDAvaW5jbHVkZS9hc20vZG1hLW1hcHBpbmcuaApAQCAtMSw5ICsxLDkgQEAKICNp Zm5kZWYgX0g4MzAwX0RNQV9NQVBQSU5HX0gKICNkZWZpbmUgX0g4MzAwX0RNQV9NQVBQSU5HX0gK IAotZXh0ZXJuIHN0cnVjdCBkbWFfbWFwX29wcyBoODMwMF9kbWFfbWFwX29wczsKK2V4dGVybiBj b25zdCBzdHJ1Y3QgZG1hX21hcF9vcHMgaDgzMDBfZG1hX21hcF9vcHM7CiAKLXN0YXRpYyBpbmxp bmUgc3RydWN0IGRtYV9tYXBfb3BzICpnZXRfZG1hX29wcyhzdHJ1Y3QgZGV2aWNlICpkZXYpCitz dGF0aWMgaW5saW5lIGNvbnN0IHN0cnVjdCBkbWFfbWFwX29wcyAqZ2V0X2RtYV9vcHMoc3RydWN0 IGRldmljZSAqZGV2KQogewogCXJldHVybiAmaDgzMDBfZG1hX21hcF9vcHM7CiB9CmRpZmYgLS1n aXQgYS9hcmNoL2g4MzAwL2tlcm5lbC9kbWEuYyBiL2FyY2gvaDgzMDAva2VybmVsL2RtYS5jCmlu ZGV4IDM2NTFkYTA0NTgwNi4uMjI1ZGQwYTE4OGRjIDEwMDY0NAotLS0gYS9hcmNoL2g4MzAwL2tl cm5lbC9kbWEuYworKysgYi9hcmNoL2g4MzAwL2tlcm5lbC9kbWEuYwpAQCAtNjAsNyArNjAsNyBA QCBzdGF0aWMgaW50IG1hcF9zZyhzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBzY2F0dGVybGlz dCAqc2dsLAogCXJldHVybiBuZW50czsKIH0KIAotc3RydWN0IGRtYV9tYXBfb3BzIGg4MzAwX2Rt YV9tYXBfb3BzID0geworY29uc3Qgc3RydWN0IGRtYV9tYXBfb3BzIGg4MzAwX2RtYV9tYXBfb3Bz ID0gewogCS5hbGxvYyA9IGRtYV9hbGxvYywKIAkuZnJlZSA9IGRtYV9mcmVlLAogCS5tYXBfcGFn ZSA9IG1hcF9wYWdlLApkaWZmIC0tZ2l0IGEvYXJjaC9oZXhhZ29uL2luY2x1ZGUvYXNtL2RtYS1t YXBwaW5nLmggYi9hcmNoL2hleGFnb24vaW5jbHVkZS9hc20vZG1hLW1hcHBpbmcuaAppbmRleCA3 ZWY1OGRmOTA5ZmMuLmI4MTJlOTE3Y2Q5NSAxMDA2NDQKLS0tIGEvYXJjaC9oZXhhZ29uL2luY2x1 ZGUvYXNtL2RtYS1tYXBwaW5nLmgKKysrIGIvYXJjaC9oZXhhZ29uL2luY2x1ZGUvYXNtL2RtYS1t YXBwaW5nLmgKQEAgLTMyLDkgKzMyLDkgQEAgc3RydWN0IGRldmljZTsKIGV4dGVybiBpbnQgYmFk X2RtYV9hZGRyZXNzOwogI2RlZmluZSBETUFfRVJST1JfQ09ERSBiYWRfZG1hX2FkZHJlc3MKIAot ZXh0ZXJuIHN0cnVjdCBkbWFfbWFwX29wcyAqZG1hX29wczsKK2V4dGVybiBjb25zdCBzdHJ1Y3Qg ZG1hX21hcF9vcHMgKmRtYV9vcHM7CiAKLXN0YXRpYyBpbmxpbmUgc3RydWN0IGRtYV9tYXBfb3Bz ICpnZXRfZG1hX29wcyhzdHJ1Y3QgZGV2aWNlICpkZXYpCitzdGF0aWMgaW5saW5lIGNvbnN0IHN0 cnVjdCBkbWFfbWFwX29wcyAqZ2V0X2RtYV9vcHMoc3RydWN0IGRldmljZSAqZGV2KQogewogCWlm ICh1bmxpa2VseShkZXYgPT0gTlVMTCkpCiAJCXJldHVybiBOVUxMOwpkaWZmIC0tZ2l0IGEvYXJj aC9oZXhhZ29uL2tlcm5lbC9kbWEuYyBiL2FyY2gvaGV4YWdvbi9rZXJuZWwvZG1hLmMKaW5kZXgg ZGJjNGYxMDAzZGE0Li5lNzRiNjUwMDk1ODcgMTAwNjQ0Ci0tLSBhL2FyY2gvaGV4YWdvbi9rZXJu ZWwvZG1hLmMKKysrIGIvYXJjaC9oZXhhZ29uL2tlcm5lbC9kbWEuYwpAQCAtMjUsNyArMjUsNyBA QAogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGFzbS9wYWdlLmg+CiAKLXN0 cnVjdCBkbWFfbWFwX29wcyAqZG1hX29wczsKK2NvbnN0IHN0cnVjdCBkbWFfbWFwX29wcyAqZG1h X29wczsKIEVYUE9SVF9TWU1CT0woZG1hX29wcyk7CiAKIGludCBiYWRfZG1hX2FkZHJlc3M7ICAv KiAgZ2xvYmFscyBhcmUgYXV0b21hdGljYWxseSBpbml0aWFsaXplZCB0byB6ZXJvICAqLwpAQCAt MjAzLDcgKzIwMyw3IEBAIHN0YXRpYyB2b2lkIGhleGFnb25fc3luY19zaW5nbGVfZm9yX2Rldmlj ZShzdHJ1Y3QgZGV2aWNlICpkZXYsCiAJZG1hX3N5bmMoZG1hX2FkZHJfdG9fdmlydChkbWFfaGFu ZGxlKSwgc2l6ZSwgZGlyKTsKIH0KIAotc3RydWN0IGRtYV9tYXBfb3BzIGhleGFnb25fZG1hX29w cyA9IHsKK2NvbnN0IHN0cnVjdCBkbWFfbWFwX29wcyBoZXhhZ29uX2RtYV9vcHMgPSB7CiAJLmFs bG9jCQk9IGhleGFnb25fZG1hX2FsbG9jX2NvaGVyZW50LAogCS5mcmVlCQk9IGhleGFnb25fZnJl ZV9jb2hlcmVudCwKIAkubWFwX3NnCQk9IGhleGFnb25fbWFwX3NnLApkaWZmIC0tZ2l0IGEvYXJj aC9pYTY0L2hwL2NvbW1vbi9od3N3X2lvbW11LmMgYi9hcmNoL2lhNjQvaHAvY29tbW9uL2h3c3df aW9tbXUuYwppbmRleCAxZTRjYWU1YWUwNTMuLjAzMTAwNzhhOTVmOCAxMDA2NDQKLS0tIGEvYXJj aC9pYTY0L2hwL2NvbW1vbi9od3N3X2lvbW11LmMKKysrIGIvYXJjaC9pYTY0L2hwL2NvbW1vbi9o d3N3X2lvbW11LmMKQEAgLTE4LDcgKzE4LDcgQEAKICNpbmNsdWRlIDxsaW51eC9leHBvcnQuaD4K ICNpbmNsdWRlIDxhc20vbWFjaHZlYy5oPgogCi1leHRlcm4gc3RydWN0IGRtYV9tYXBfb3BzIHNi YV9kbWFfb3BzLCBzd2lvdGxiX2RtYV9vcHM7CitleHRlcm4gY29uc3Qgc3RydWN0IGRtYV9tYXBf b3BzIHNiYV9kbWFfb3BzLCBzd2lvdGxiX2RtYV9vcHM7CiAKIC8qIHN3aW90bGIgZGVjbGFyYXRp b25zICYgZGVmaW5pdGlvbnM6ICovCiBleHRlcm4gaW50IHN3aW90bGJfbGF0ZV9pbml0X3dpdGhf ZGVmYXVsdF9zaXplIChzaXplX3Qgc2l6ZSk7CkBAIC0zNCw3ICszNCw3IEBAIHN0YXRpYyBpbmxp bmUgaW50IHVzZV9zd2lvdGxiKHN0cnVjdCBkZXZpY2UgKmRldikKIAkJIXNiYV9kbWFfb3BzLmRt YV9zdXBwb3J0ZWQoZGV2LCAqZGV2LT5kbWFfbWFzayk7CiB9CiAKLXN0cnVjdCBkbWFfbWFwX29w cyAqaHdzd19kbWFfZ2V0X29wcyhzdHJ1Y3QgZGV2aWNlICpkZXYpCitjb25zdCBzdHJ1Y3QgZG1h X21hcF9vcHMgKmh3c3dfZG1hX2dldF9vcHMoc3RydWN0IGRldmljZSAqZGV2KQogewogCWlmICh1 c2Vfc3dpb3RsYihkZXYpKQogCQlyZXR1cm4gJnN3aW90bGJfZG1hX29wczsKZGlmZiAtLWdpdCBh L2FyY2gvaWE2NC9ocC9jb21tb24vc2JhX2lvbW11LmMgYi9hcmNoL2lhNjQvaHAvY29tbW9uL3Ni YV9pb21tdS5jCmluZGV4IDYzMGVlODA3Mzg5OS4uYWVjNGEzMzU0YWJlIDEwMDY0NAotLS0gYS9h cmNoL2lhNjQvaHAvY29tbW9uL3NiYV9pb21tdS5jCisrKyBiL2FyY2gvaWE2NC9ocC9jb21tb24v c2JhX2lvbW11LmMKQEAgLTIwOTYsNyArMjA5Niw3IEBAIHN0YXRpYyBpbnQgX19pbml0IGFjcGlf c2JhX2lvY19pbml0X2FjcGkodm9pZCkKIC8qIFRoaXMgaGFzIHRvIHJ1biBiZWZvcmUgYWNwaV9z Y2FuX2luaXQoKS4gKi8KIGFyY2hfaW5pdGNhbGwoYWNwaV9zYmFfaW9jX2luaXRfYWNwaSk7CiAK LWV4dGVybiBzdHJ1Y3QgZG1hX21hcF9vcHMgc3dpb3RsYl9kbWFfb3BzOworZXh0ZXJuIGNvbnN0 IHN0cnVjdCBkbWFfbWFwX29wcyBzd2lvdGxiX2RtYV9vcHM7CiAKIHN0YXRpYyBpbnQgX19pbml0 CiBzYmFfaW5pdCh2b2lkKQpAQCAtMjIxNiw3ICsyMjE2LDcgQEAgc2JhX3BhZ2Vfb3ZlcnJpZGUo Y2hhciAqc3RyKQogCiBfX3NldHVwKCJzYmFwYWdlc2l6ZT0iLHNiYV9wYWdlX292ZXJyaWRlKTsK IAotc3RydWN0IGRtYV9tYXBfb3BzIHNiYV9kbWFfb3BzID0geworY29uc3Qgc3RydWN0IGRtYV9t YXBfb3BzIHNiYV9kbWFfb3BzID0gewogCS5hbGxvYwkJCT0gc2JhX2FsbG9jX2NvaGVyZW50LAog CS5mcmVlCQkJPSBzYmFfZnJlZV9jb2hlcmVudCwKIAkubWFwX3BhZ2UJCT0gc2JhX21hcF9wYWdl LApkaWZmIC0tZ2l0IGEvYXJjaC9pYTY0L2luY2x1ZGUvYXNtL2RtYS1tYXBwaW5nLmggYi9hcmNo L2lhNjQvaW5jbHVkZS9hc20vZG1hLW1hcHBpbmcuaAppbmRleCBkNDcyODA1ZWRmYTkuLjA1ZTQ2 N2Q1NmQ4NiAxMDA2NDQKLS0tIGEvYXJjaC9pYTY0L2luY2x1ZGUvYXNtL2RtYS1tYXBwaW5nLmgK KysrIGIvYXJjaC9pYTY0L2luY2x1ZGUvYXNtL2RtYS1tYXBwaW5nLmgKQEAgLTE0LDcgKzE0LDcg QEAKIAogI2RlZmluZSBETUFfRVJST1JfQ09ERSAwCiAKLWV4dGVybiBzdHJ1Y3QgZG1hX21hcF9v cHMgKmRtYV9vcHM7CitleHRlcm4gY29uc3Qgc3RydWN0IGRtYV9tYXBfb3BzICpkbWFfb3BzOwog ZXh0ZXJuIHN0cnVjdCBpYTY0X21hY2hpbmVfdmVjdG9yIGlhNjRfbXY7CiBleHRlcm4gdm9pZCBz ZXRfaW9tbXVfbWFjaHZlYyh2b2lkKTsKIApkaWZmIC0tZ2l0IGEvYXJjaC9pYTY0L2luY2x1ZGUv YXNtL21hY2h2ZWMuaCBiL2FyY2gvaWE2NC9pbmNsdWRlL2FzbS9tYWNodmVjLmgKaW5kZXggZWQ3 ZjA5MDg5ZjEyLi5hZjI4NWM0MjNlMWUgMTAwNjQ0Ci0tLSBhL2FyY2gvaWE2NC9pbmNsdWRlL2Fz bS9tYWNodmVjLmgKKysrIGIvYXJjaC9pYTY0L2luY2x1ZGUvYXNtL21hY2h2ZWMuaApAQCAtNDQs NyArNDQsNyBAQCB0eXBlZGVmIHZvaWQgaWE2NF9tdl9rZXJuZWxfbGF1bmNoX2V2ZW50X3Qodm9p ZCk7CiAvKiBETUEtbWFwcGluZyBpbnRlcmZhY2U6ICovCiB0eXBlZGVmIHZvaWQgaWE2NF9tdl9k bWFfaW5pdCAodm9pZCk7CiB0eXBlZGVmIHU2NCBpYTY0X212X2RtYV9nZXRfcmVxdWlyZWRfbWFz ayAoc3RydWN0IGRldmljZSAqKTsKLXR5cGVkZWYgc3RydWN0IGRtYV9tYXBfb3BzICppYTY0X212 X2RtYV9nZXRfb3BzKHN0cnVjdCBkZXZpY2UgKik7Cit0eXBlZGVmIGNvbnN0IHN0cnVjdCBkbWFf bWFwX29wcyAqaWE2NF9tdl9kbWFfZ2V0X29wcyhzdHJ1Y3QgZGV2aWNlICopOwogCiAvKgogICog V0FSTklORzogVGhlIGxlZ2FjeSBJL08gc3BhY2UgaXMgX2FyY2hpdGVjdGVkXy4gIFBsYXRmb3Jt cyBhcmUKQEAgLTI0OCw3ICsyNDgsNyBAQCBleHRlcm4gdm9pZCBtYWNodmVjX2luaXRfZnJvbV9j bWRsaW5lKGNvbnN0IGNoYXIgKmNtZGxpbmUpOwogIyBlbmRpZiAvKiBDT05GSUdfSUE2NF9HRU5F UklDICovCiAKIGV4dGVybiB2b2lkIHN3aW90bGJfZG1hX2luaXQodm9pZCk7Ci1leHRlcm4gc3Ry dWN0IGRtYV9tYXBfb3BzICpkbWFfZ2V0X29wcyhzdHJ1Y3QgZGV2aWNlICopOworZXh0ZXJuIGNv bnN0IHN0cnVjdCBkbWFfbWFwX29wcyAqZG1hX2dldF9vcHMoc3RydWN0IGRldmljZSAqKTsKIAog LyoKICAqIERlZmluZSBkZWZhdWx0IHZlcnNpb25zIHNvIHdlIGNhbiBleHRlbmQgbWFjaHZlYyBm b3IgbmV3IHBsYXRmb3JtcyB3aXRob3V0IGhhdmluZwpkaWZmIC0tZ2l0IGEvYXJjaC9pYTY0L2tl cm5lbC9kbWEtbWFwcGluZy5jIGIvYXJjaC9pYTY0L2tlcm5lbC9kbWEtbWFwcGluZy5jCmluZGV4 IDdmNzkxNjIzODIwOC4uZTBkZDk3ZjRlYjY5IDEwMDY0NAotLS0gYS9hcmNoL2lhNjQva2VybmVs L2RtYS1tYXBwaW5nLmMKKysrIGIvYXJjaC9pYTY0L2tlcm5lbC9kbWEtbWFwcGluZy5jCkBAIC00 LDcgKzQsNyBAQAogLyogU2V0IHRoaXMgdG8gMSBpZiB0aGVyZSBpcyBhIEhXIElPTU1VIGluIHRo ZSBzeXN0ZW0gKi8KIGludCBpb21tdV9kZXRlY3RlZCBfX3JlYWRfbW9zdGx5OwogCi1zdHJ1Y3Qg ZG1hX21hcF9vcHMgKmRtYV9vcHM7Citjb25zdCBzdHJ1Y3QgZG1hX21hcF9vcHMgKmRtYV9vcHM7 CiBFWFBPUlRfU1lNQk9MKGRtYV9vcHMpOwogCiAjZGVmaW5lIFBSRUFMTE9DX0RNQV9ERUJVR19F TlRSSUVTICgxIDw8IDE2KQpAQCAtMTcsNyArMTcsNyBAQCBzdGF0aWMgaW50IF9faW5pdCBkbWFf aW5pdCh2b2lkKQogfQogZnNfaW5pdGNhbGwoZG1hX2luaXQpOwogCi1zdHJ1Y3QgZG1hX21hcF9v cHMgKmRtYV9nZXRfb3BzKHN0cnVjdCBkZXZpY2UgKmRldikKK2NvbnN0IHN0cnVjdCBkbWFfbWFw X29wcyAqZG1hX2dldF9vcHMoc3RydWN0IGRldmljZSAqZGV2KQogewogCXJldHVybiBkbWFfb3Bz OwogfQpkaWZmIC0tZ2l0IGEvYXJjaC9pYTY0L2tlcm5lbC9wY2ktZG1hLmMgYi9hcmNoL2lhNjQv a2VybmVsL3BjaS1kbWEuYwppbmRleCA5OTJjMTA5OGM1MjIuLjkwOTRhNzNmOTk2ZiAxMDA2NDQK LS0tIGEvYXJjaC9pYTY0L2tlcm5lbC9wY2ktZG1hLmMKKysrIGIvYXJjaC9pYTY0L2tlcm5lbC9w Y2ktZG1hLmMKQEAgLTkwLDExICs5MCwxMSBAQCB2b2lkIF9faW5pdCBwY2lfaW9tbXVfYWxsb2Mo dm9pZCkKIHsKIAlkbWFfb3BzID0gJmludGVsX2RtYV9vcHM7CiAKLQlkbWFfb3BzLT5zeW5jX3Np bmdsZV9mb3JfY3B1ID0gbWFjaHZlY19kbWFfc3luY19zaW5nbGU7Ci0JZG1hX29wcy0+c3luY19z Z19mb3JfY3B1ID0gbWFjaHZlY19kbWFfc3luY19zZzsKLQlkbWFfb3BzLT5zeW5jX3NpbmdsZV9m b3JfZGV2aWNlID0gbWFjaHZlY19kbWFfc3luY19zaW5nbGU7Ci0JZG1hX29wcy0+c3luY19zZ19m b3JfZGV2aWNlID0gbWFjaHZlY19kbWFfc3luY19zZzsKLQlkbWFfb3BzLT5kbWFfc3VwcG9ydGVk ID0gaW9tbXVfZG1hX3N1cHBvcnRlZDsKKwlpbnRlbF9kbWFfb3BzLnN5bmNfc2luZ2xlX2Zvcl9j cHUgPSBtYWNodmVjX2RtYV9zeW5jX3NpbmdsZTsKKwlpbnRlbF9kbWFfb3BzLnN5bmNfc2dfZm9y X2NwdSA9IG1hY2h2ZWNfZG1hX3N5bmNfc2c7CisJaW50ZWxfZG1hX29wcy5zeW5jX3NpbmdsZV9m b3JfZGV2aWNlID0gbWFjaHZlY19kbWFfc3luY19zaW5nbGU7CisJaW50ZWxfZG1hX29wcy5zeW5j X3NnX2Zvcl9kZXZpY2UgPSBtYWNodmVjX2RtYV9zeW5jX3NnOworCWludGVsX2RtYV9vcHMuZG1h X3N1cHBvcnRlZCA9IGlvbW11X2RtYV9zdXBwb3J0ZWQ7CiAKIAkvKgogCSAqIFRoZSBvcmRlciBv ZiB0aGVzZSBmdW5jdGlvbnMgaXMgaW1wb3J0YW50IGZvcgpkaWZmIC0tZ2l0IGEvYXJjaC9pYTY0 L2tlcm5lbC9wY2ktc3dpb3RsYi5jIGIvYXJjaC9pYTY0L2tlcm5lbC9wY2ktc3dpb3RsYi5jCmlu ZGV4IDI5MzMyMDhjMDI4NS4uYTE0OTg5ZGFjZGVkIDEwMDY0NAotLS0gYS9hcmNoL2lhNjQva2Vy bmVsL3BjaS1zd2lvdGxiLmMKKysrIGIvYXJjaC9pYTY0L2tlcm5lbC9wY2ktc3dpb3RsYi5jCkBA IC0zMCw3ICszMCw3IEBAIHN0YXRpYyB2b2lkIGlhNjRfc3dpb3RsYl9mcmVlX2NvaGVyZW50KHN0 cnVjdCBkZXZpY2UgKmRldiwgc2l6ZV90IHNpemUsCiAJc3dpb3RsYl9mcmVlX2NvaGVyZW50KGRl diwgc2l6ZSwgdmFkZHIsIGRtYV9hZGRyKTsKIH0KIAotc3RydWN0IGRtYV9tYXBfb3BzIHN3aW90 bGJfZG1hX29wcyA9IHsKK2NvbnN0IHN0cnVjdCBkbWFfbWFwX29wcyBzd2lvdGxiX2RtYV9vcHMg PSB7CiAJLmFsbG9jID0gaWE2NF9zd2lvdGxiX2FsbG9jX2NvaGVyZW50LAogCS5mcmVlID0gaWE2 NF9zd2lvdGxiX2ZyZWVfY29oZXJlbnQsCiAJLm1hcF9wYWdlID0gc3dpb3RsYl9tYXBfcGFnZSwK ZGlmZiAtLWdpdCBhL2FyY2gvbTMyci9pbmNsdWRlL2FzbS9kZXZpY2UuaCBiL2FyY2gvbTMyci9p bmNsdWRlL2FzbS9kZXZpY2UuaAppbmRleCA0YTlmMzVlMDk3M2YuLjc5NTVhOTc5OTQ2NiAxMDA2 NDQKLS0tIGEvYXJjaC9tMzJyL2luY2x1ZGUvYXNtL2RldmljZS5oCisrKyBiL2FyY2gvbTMyci9p bmNsdWRlL2FzbS9kZXZpY2UuaApAQCAtNCw3ICs0LDcgQEAKICAqIFRoaXMgZmlsZSBpcyByZWxl YXNlZCB1bmRlciB0aGUgR1BMdjIKICAqLwogc3RydWN0IGRldl9hcmNoZGF0YSB7Ci0Jc3RydWN0 IGRtYV9tYXBfb3BzICpkbWFfb3BzOworCWNvbnN0IHN0cnVjdCBkbWFfbWFwX29wcyAqZG1hX29w czsKIH07CiAKIHN0cnVjdCBwZGV2X2FyY2hkYXRhIHsKZGlmZiAtLWdpdCBhL2FyY2gvbTMyci9p bmNsdWRlL2FzbS9kbWEtbWFwcGluZy5oIGIvYXJjaC9tMzJyL2luY2x1ZGUvYXNtL2RtYS1tYXBw aW5nLmgKaW5kZXggMmM0M2E3N2ZlOTQyLi45OWM0M2QyZjA1ZGMgMTAwNjQ0Ci0tLSBhL2FyY2gv bTMyci9pbmNsdWRlL2FzbS9kbWEtbWFwcGluZy5oCisrKyBiL2FyY2gvbTMyci9pbmNsdWRlL2Fz bS9kbWEtbWFwcGluZy5oCkBAIC0xMCw3ICsxMCw3IEBACiAKICNkZWZpbmUgRE1BX0VSUk9SX0NP REUgKH4oZG1hX2FkZHJfdCkweDApCiAKLXN0YXRpYyBpbmxpbmUgc3RydWN0IGRtYV9tYXBfb3Bz ICpnZXRfZG1hX29wcyhzdHJ1Y3QgZGV2aWNlICpkZXYpCitzdGF0aWMgaW5saW5lIGNvbnN0IHN0 cnVjdCBkbWFfbWFwX29wcyAqZ2V0X2RtYV9vcHMoc3RydWN0IGRldmljZSAqZGV2KQogewogCWlm IChkZXYgJiYgZGV2LT5hcmNoZGF0YS5kbWFfb3BzKQogCQlyZXR1cm4gZGV2LT5hcmNoZGF0YS5k bWFfb3BzOwpkaWZmIC0tZ2l0IGEvYXJjaC9tNjhrL2luY2x1ZGUvYXNtL2RtYS1tYXBwaW5nLmgg Yi9hcmNoL202OGsvaW5jbHVkZS9hc20vZG1hLW1hcHBpbmcuaAppbmRleCA5NmM1MzYxOTQyODcu Ljg2MzUwOTkzOWQ1YSAxMDA2NDQKLS0tIGEvYXJjaC9tNjhrL2luY2x1ZGUvYXNtL2RtYS1tYXBw aW5nLmgKKysrIGIvYXJjaC9tNjhrL2luY2x1ZGUvYXNtL2RtYS1tYXBwaW5nLmgKQEAgLTEsOSAr MSw5IEBACiAjaWZuZGVmIF9NNjhLX0RNQV9NQVBQSU5HX0gKICNkZWZpbmUgX002OEtfRE1BX01B UFBJTkdfSAogCi1leHRlcm4gc3RydWN0IGRtYV9tYXBfb3BzIG02OGtfZG1hX29wczsKK2V4dGVy biBjb25zdCBzdHJ1Y3QgZG1hX21hcF9vcHMgbTY4a19kbWFfb3BzOwogCi1zdGF0aWMgaW5saW5l IHN0cnVjdCBkbWFfbWFwX29wcyAqZ2V0X2RtYV9vcHMoc3RydWN0IGRldmljZSAqZGV2KQorc3Rh dGljIGlubGluZSBjb25zdCBzdHJ1Y3QgZG1hX21hcF9vcHMgKmdldF9kbWFfb3BzKHN0cnVjdCBk ZXZpY2UgKmRldikKIHsKICAgICAgICAgcmV0dXJuICZtNjhrX2RtYV9vcHM7CiB9CmRpZmYgLS1n aXQgYS9hcmNoL202OGsva2VybmVsL2RtYS5jIGIvYXJjaC9tNjhrL2tlcm5lbC9kbWEuYwppbmRl eCAwNzA3MDA2NWE0MjUuLjBmYzVkYWJiNGE0MiAxMDA2NDQKLS0tIGEvYXJjaC9tNjhrL2tlcm5l bC9kbWEuYworKysgYi9hcmNoL202OGsva2VybmVsL2RtYS5jCkBAIC0xNTgsNyArMTU4LDcgQEAg c3RhdGljIGludCBtNjhrX2RtYV9tYXBfc2coc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3Qgc2Nh dHRlcmxpc3QgKnNnbGlzdCwKIAlyZXR1cm4gbmVudHM7CiB9CiAKLXN0cnVjdCBkbWFfbWFwX29w cyBtNjhrX2RtYV9vcHMgPSB7Citjb25zdCBzdHJ1Y3QgZG1hX21hcF9vcHMgbTY4a19kbWFfb3Bz ID0gewogCS5hbGxvYwkJCT0gbTY4a19kbWFfYWxsb2MsCiAJLmZyZWUJCQk9IG02OGtfZG1hX2Zy ZWUsCiAJLm1hcF9wYWdlCQk9IG02OGtfZG1hX21hcF9wYWdlLApkaWZmIC0tZ2l0IGEvYXJjaC9t ZXRhZy9pbmNsdWRlL2FzbS9kbWEtbWFwcGluZy5oIGIvYXJjaC9tZXRhZy9pbmNsdWRlL2FzbS9k bWEtbWFwcGluZy5oCmluZGV4IDI3YWY1ZDQ3OWNlNi4uYzE1NmE3YWM3MzJmIDEwMDY0NAotLS0g YS9hcmNoL21ldGFnL2luY2x1ZGUvYXNtL2RtYS1tYXBwaW5nLmgKKysrIGIvYXJjaC9tZXRhZy9p bmNsdWRlL2FzbS9kbWEtbWFwcGluZy5oCkBAIC0xLDkgKzEsOSBAQAogI2lmbmRlZiBfQVNNX01F VEFHX0RNQV9NQVBQSU5HX0gKICNkZWZpbmUgX0FTTV9NRVRBR19ETUFfTUFQUElOR19ICiAKLWV4 dGVybiBzdHJ1Y3QgZG1hX21hcF9vcHMgbWV0YWdfZG1hX29wczsKK2V4dGVybiBjb25zdCBzdHJ1 Y3QgZG1hX21hcF9vcHMgbWV0YWdfZG1hX29wczsKIAotc3RhdGljIGlubGluZSBzdHJ1Y3QgZG1h X21hcF9vcHMgKmdldF9kbWFfb3BzKHN0cnVjdCBkZXZpY2UgKmRldikKK3N0YXRpYyBpbmxpbmUg Y29uc3Qgc3RydWN0IGRtYV9tYXBfb3BzICpnZXRfZG1hX29wcyhzdHJ1Y3QgZGV2aWNlICpkZXYp CiB7CiAJcmV0dXJuICZtZXRhZ19kbWFfb3BzOwogfQpkaWZmIC0tZ2l0IGEvYXJjaC9tZXRhZy9r ZXJuZWwvZG1hLmMgYi9hcmNoL21ldGFnL2tlcm5lbC9kbWEuYwppbmRleCA5MTk2OGQ5MjY1MmIu LmYwYWIzYTQ5ODMyOCAxMDA2NDQKLS0tIGEvYXJjaC9tZXRhZy9rZXJuZWwvZG1hLmMKKysrIGIv YXJjaC9tZXRhZy9rZXJuZWwvZG1hLmMKQEAgLTU3NSw3ICs1NzUsNyBAQCBzdGF0aWMgdm9pZCBt ZXRhZ19kbWFfc3luY19zZ19mb3JfZGV2aWNlKHN0cnVjdCBkZXZpY2UgKmRldiwKIAkJZG1hX3N5 bmNfZm9yX2RldmljZShzZ192aXJ0KHNnKSwgc2ctPmxlbmd0aCwgZGlyZWN0aW9uKTsKIH0KIAot c3RydWN0IGRtYV9tYXBfb3BzIG1ldGFnX2RtYV9vcHMgPSB7Citjb25zdCBzdHJ1Y3QgZG1hX21h cF9vcHMgbWV0YWdfZG1hX29wcyA9IHsKIAkuYWxsb2MJCQk9IG1ldGFnX2RtYV9hbGxvYywKIAku ZnJlZQkJCT0gbWV0YWdfZG1hX2ZyZWUsCiAJLm1hcF9wYWdlCQk9IG1ldGFnX2RtYV9tYXBfcGFn ZSwKZGlmZiAtLWdpdCBhL2FyY2gvbWljcm9ibGF6ZS9pbmNsdWRlL2FzbS9kbWEtbWFwcGluZy5o IGIvYXJjaC9taWNyb2JsYXplL2luY2x1ZGUvYXNtL2RtYS1tYXBwaW5nLmgKaW5kZXggMTc2OGQ0 YmRjOGQzLi5jN2ZhZjJmYjUxZDYgMTAwNjQ0Ci0tLSBhL2FyY2gvbWljcm9ibGF6ZS9pbmNsdWRl L2FzbS9kbWEtbWFwcGluZy5oCisrKyBiL2FyY2gvbWljcm9ibGF6ZS9pbmNsdWRlL2FzbS9kbWEt bWFwcGluZy5oCkBAIC0zNiw5ICszNiw5IEBACiAvKgogICogQXZhaWxhYmxlIGdlbmVyaWMgc2V0 cyBvZiBvcGVyYXRpb25zCiAgKi8KLWV4dGVybiBzdHJ1Y3QgZG1hX21hcF9vcHMgZG1hX2RpcmVj dF9vcHM7CitleHRlcm4gY29uc3Qgc3RydWN0IGRtYV9tYXBfb3BzIGRtYV9kaXJlY3Rfb3BzOwog Ci1zdGF0aWMgaW5saW5lIHN0cnVjdCBkbWFfbWFwX29wcyAqZ2V0X2RtYV9vcHMoc3RydWN0IGRl dmljZSAqZGV2KQorc3RhdGljIGlubGluZSBjb25zdCBzdHJ1Y3QgZG1hX21hcF9vcHMgKmdldF9k bWFfb3BzKHN0cnVjdCBkZXZpY2UgKmRldikKIHsKIAlyZXR1cm4gJmRtYV9kaXJlY3Rfb3BzOwog fQpkaWZmIC0tZ2l0IGEvYXJjaC9taWNyb2JsYXplL2tlcm5lbC9kbWEuYyBiL2FyY2gvbWljcm9i bGF6ZS9rZXJuZWwvZG1hLmMKaW5kZXggODE4ZGFmMjMwZWI0Li4xMmUwOTNhMDNlNjAgMTAwNjQ0 Ci0tLSBhL2FyY2gvbWljcm9ibGF6ZS9rZXJuZWwvZG1hLmMKKysrIGIvYXJjaC9taWNyb2JsYXpl L2tlcm5lbC9kbWEuYwpAQCAtMTg3LDcgKzE4Nyw3IEBAIGludCBkbWFfZGlyZWN0X21tYXBfY29o ZXJlbnQoc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSwKICNl bmRpZgogfQogCi1zdHJ1Y3QgZG1hX21hcF9vcHMgZG1hX2RpcmVjdF9vcHMgPSB7Citjb25zdCBz dHJ1Y3QgZG1hX21hcF9vcHMgZG1hX2RpcmVjdF9vcHMgPSB7CiAJLmFsbG9jCQk9IGRtYV9kaXJl Y3RfYWxsb2NfY29oZXJlbnQsCiAJLmZyZWUJCT0gZG1hX2RpcmVjdF9mcmVlX2NvaGVyZW50LAog CS5tbWFwCQk9IGRtYV9kaXJlY3RfbW1hcF9jb2hlcmVudCwKZGlmZiAtLWdpdCBhL2FyY2gvbWlw cy9jYXZpdW0tb2N0ZW9uL2RtYS1vY3Rlb24uYyBiL2FyY2gvbWlwcy9jYXZpdW0tb2N0ZW9uL2Rt YS1vY3Rlb24uYwppbmRleCBmZDY5NTI4YjI0ZmIuLjg5N2QzMmM4ODhlZSAxMDA2NDQKLS0tIGEv YXJjaC9taXBzL2Nhdml1bS1vY3Rlb24vZG1hLW9jdGVvbi5jCisrKyBiL2FyY2gvbWlwcy9jYXZp dW0tb2N0ZW9uL2RtYS1vY3Rlb24uYwpAQCAtMjA1LDcgKzIwNSw3IEBAIHN0YXRpYyBwaHlzX2Fk ZHJfdCBvY3Rlb25fdW5pdHlfZG1hX3RvX3BoeXMoc3RydWN0IGRldmljZSAqZGV2LCBkbWFfYWRk cl90IGRhZGRyCiB9CiAKIHN0cnVjdCBvY3Rlb25fZG1hX21hcF9vcHMgewotCXN0cnVjdCBkbWFf bWFwX29wcyBkbWFfbWFwX29wczsKKwljb25zdCBzdHJ1Y3QgZG1hX21hcF9vcHMgZG1hX21hcF9v cHM7CiAJZG1hX2FkZHJfdCAoKnBoeXNfdG9fZG1hKShzdHJ1Y3QgZGV2aWNlICpkZXYsIHBoeXNf YWRkcl90IHBhZGRyKTsKIAlwaHlzX2FkZHJfdCAoKmRtYV90b19waHlzKShzdHJ1Y3QgZGV2aWNl ICpkZXYsIGRtYV9hZGRyX3QgZGFkZHIpOwogfTsKQEAgLTMzMyw3ICszMzMsNyBAQCBzdGF0aWMg c3RydWN0IG9jdGVvbl9kbWFfbWFwX29wcyBfb2N0ZW9uX3BjaV9kbWFfbWFwX29wcyA9IHsKIAl9 LAogfTsKIAotc3RydWN0IGRtYV9tYXBfb3BzICpvY3Rlb25fcGNpX2RtYV9tYXBfb3BzOworY29u c3Qgc3RydWN0IGRtYV9tYXBfb3BzICpvY3Rlb25fcGNpX2RtYV9tYXBfb3BzOwogCiB2b2lkIF9f aW5pdCBvY3Rlb25fcGNpX2RtYV9pbml0KHZvaWQpCiB7CmRpZmYgLS1naXQgYS9hcmNoL21pcHMv aW5jbHVkZS9hc20vZGV2aWNlLmggYi9hcmNoL21pcHMvaW5jbHVkZS9hc20vZGV2aWNlLmgKaW5k ZXggMjFjMjA4MmEwZGZiLi5lYmM1YzEyNjU0NzMgMTAwNjQ0Ci0tLSBhL2FyY2gvbWlwcy9pbmNs dWRlL2FzbS9kZXZpY2UuaAorKysgYi9hcmNoL21pcHMvaW5jbHVkZS9hc20vZGV2aWNlLmgKQEAg LTEwLDcgKzEwLDcgQEAgc3RydWN0IGRtYV9tYXBfb3BzOwogCiBzdHJ1Y3QgZGV2X2FyY2hkYXRh IHsKIAkvKiBETUEgb3BlcmF0aW9ucyBvbiB0aGF0IGRldmljZSAqLwotCXN0cnVjdCBkbWFfbWFw X29wcyAqZG1hX29wczsKKwljb25zdCBzdHJ1Y3QgZG1hX21hcF9vcHMgKmRtYV9vcHM7CiAKICNp ZmRlZiBDT05GSUdfRE1BX1BFUkRFVl9DT0hFUkVOVAogCS8qIE5vbi16ZXJvIGlmIERNQSBpcyBj b2hlcmVudCB3aXRoIENQVSBjYWNoZXMgKi8KZGlmZiAtLWdpdCBhL2FyY2gvbWlwcy9pbmNsdWRl L2FzbS9kbWEtbWFwcGluZy5oIGIvYXJjaC9taXBzL2luY2x1ZGUvYXNtL2RtYS1tYXBwaW5nLmgK aW5kZXggN2FhNzFiOWIwMjU4Li5iNTliMDg0YTc1NjkgMTAwNjQ0Ci0tLSBhL2FyY2gvbWlwcy9p bmNsdWRlL2FzbS9kbWEtbWFwcGluZy5oCisrKyBiL2FyY2gvbWlwcy9pbmNsdWRlL2FzbS9kbWEt bWFwcGluZy5oCkBAIC05LDkgKzksOSBAQAogI2luY2x1ZGUgPGRtYS1jb2hlcmVuY2UuaD4KICNl bmRpZgogCi1leHRlcm4gc3RydWN0IGRtYV9tYXBfb3BzICptaXBzX2RtYV9tYXBfb3BzOworZXh0 ZXJuIGNvbnN0IHN0cnVjdCBkbWFfbWFwX29wcyAqbWlwc19kbWFfbWFwX29wczsKIAotc3RhdGlj IGlubGluZSBzdHJ1Y3QgZG1hX21hcF9vcHMgKmdldF9kbWFfb3BzKHN0cnVjdCBkZXZpY2UgKmRl dikKK3N0YXRpYyBpbmxpbmUgY29uc3Qgc3RydWN0IGRtYV9tYXBfb3BzICpnZXRfZG1hX29wcyhz dHJ1Y3QgZGV2aWNlICpkZXYpCiB7CiAJaWYgKGRldiAmJiBkZXYtPmFyY2hkYXRhLmRtYV9vcHMp CiAJCXJldHVybiBkZXYtPmFyY2hkYXRhLmRtYV9vcHM7CmRpZmYgLS1naXQgYS9hcmNoL21pcHMv aW5jbHVkZS9hc20vbWFjaC1jYXZpdW0tb2N0ZW9uL2RtYS1jb2hlcmVuY2UuaCBiL2FyY2gvbWlw cy9pbmNsdWRlL2FzbS9tYWNoLWNhdml1bS1vY3Rlb24vZG1hLWNvaGVyZW5jZS5oCmluZGV4IDQ2 MDA0MmVlNWQ2Zi4uOTExMDk4OGI5MmExIDEwMDY0NAotLS0gYS9hcmNoL21pcHMvaW5jbHVkZS9h c20vbWFjaC1jYXZpdW0tb2N0ZW9uL2RtYS1jb2hlcmVuY2UuaAorKysgYi9hcmNoL21pcHMvaW5j bHVkZS9hc20vbWFjaC1jYXZpdW0tb2N0ZW9uL2RtYS1jb2hlcmVuY2UuaApAQCAtNjUsNyArNjUs NyBAQCBkbWFfYWRkcl90IHBoeXNfdG9fZG1hKHN0cnVjdCBkZXZpY2UgKmRldiwgcGh5c19hZGRy X3QgcGFkZHIpOwogcGh5c19hZGRyX3QgZG1hX3RvX3BoeXMoc3RydWN0IGRldmljZSAqZGV2LCBk bWFfYWRkcl90IGRhZGRyKTsKIAogc3RydWN0IGRtYV9tYXBfb3BzOwotZXh0ZXJuIHN0cnVjdCBk bWFfbWFwX29wcyAqb2N0ZW9uX3BjaV9kbWFfbWFwX29wczsKK2V4dGVybiBjb25zdCBzdHJ1Y3Qg ZG1hX21hcF9vcHMgKm9jdGVvbl9wY2lfZG1hX21hcF9vcHM7CiBleHRlcm4gY2hhciAqb2N0ZW9u X3N3aW90bGI7CiAKICNlbmRpZiAvKiBfX0FTTV9NQUNIX0NBVklVTV9PQ1RFT05fRE1BX0NPSEVS RU5DRV9IICovCmRpZmYgLS1naXQgYS9hcmNoL21pcHMvaW5jbHVkZS9hc20vbmV0bG9naWMvY29t bW9uLmggYi9hcmNoL21pcHMvaW5jbHVkZS9hc20vbmV0bG9naWMvY29tbW9uLmgKaW5kZXggYmU1 MmMyMTI1ZDcxLi5lMDcxN2QxMGU2NTAgMTAwNjQ0Ci0tLSBhL2FyY2gvbWlwcy9pbmNsdWRlL2Fz bS9uZXRsb2dpYy9jb21tb24uaAorKysgYi9hcmNoL21pcHMvaW5jbHVkZS9hc20vbmV0bG9naWMv Y29tbW9uLmgKQEAgLTg4LDcgKzg4LDcgQEAgZXh0ZXJuIHN0cnVjdCBwbGF0X3NtcF9vcHMgbmxt X3NtcF9vcHM7CiBleHRlcm4gY2hhciBubG1fcmVzZXRfZW50cnlbXSwgbmxtX3Jlc2V0X2VudHJ5 X2VuZFtdOwogCiAvKiBTV0lPVExCICovCi1leHRlcm4gc3RydWN0IGRtYV9tYXBfb3BzIG5sbV9z d2lvdGxiX2RtYV9vcHM7CitleHRlcm4gY29uc3Qgc3RydWN0IGRtYV9tYXBfb3BzIG5sbV9zd2lv dGxiX2RtYV9vcHM7CiAKIGV4dGVybiB1bnNpZ25lZCBpbnQgbmxtX3RocmVhZHNfcGVyX2NvcmU7 CiBleHRlcm4gY3B1bWFza190IG5sbV9jcHVtYXNrOwpkaWZmIC0tZ2l0IGEvYXJjaC9taXBzL2xv b25nc29uNjQvY29tbW9uL2RtYS1zd2lvdGxiLmMgYi9hcmNoL21pcHMvbG9vbmdzb242NC9jb21t b24vZG1hLXN3aW90bGIuYwppbmRleCBhYWI0ZmQ2ODFlMWYuLjcyOTZkZjA0M2Q5MiAxMDA2NDQK LS0tIGEvYXJjaC9taXBzL2xvb25nc29uNjQvY29tbW9uL2RtYS1zd2lvdGxiLmMKKysrIGIvYXJj aC9taXBzL2xvb25nc29uNjQvY29tbW9uL2RtYS1zd2lvdGxiLmMKQEAgLTEyMiw3ICsxMjIsNyBA QCBwaHlzX2FkZHJfdCBkbWFfdG9fcGh5cyhzdHJ1Y3QgZGV2aWNlICpkZXYsIGRtYV9hZGRyX3Qg ZGFkZHIpCiAJcmV0dXJuIGRhZGRyOwogfQogCi1zdGF0aWMgc3RydWN0IGRtYV9tYXBfb3BzIGxv b25nc29uX2RtYV9tYXBfb3BzID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBkbWFfbWFwX29wcyBs b29uZ3Nvbl9kbWFfbWFwX29wcyA9IHsKIAkuYWxsb2MgPSBsb29uZ3Nvbl9kbWFfYWxsb2NfY29o ZXJlbnQsCiAJLmZyZWUgPSBsb29uZ3Nvbl9kbWFfZnJlZV9jb2hlcmVudCwKIAkubWFwX3BhZ2Ug PSBsb29uZ3Nvbl9kbWFfbWFwX3BhZ2UsCmRpZmYgLS1naXQgYS9hcmNoL21pcHMvbW0vZG1hLWRl ZmF1bHQuYyBiL2FyY2gvbWlwcy9tbS9kbWEtZGVmYXVsdC5jCmluZGV4IGEzOWMzNmFmOTdhZC4u MWNiODQ0NzJjYjU4IDEwMDY0NAotLS0gYS9hcmNoL21pcHMvbW0vZG1hLWRlZmF1bHQuYworKysg Yi9hcmNoL21pcHMvbW0vZG1hLWRlZmF1bHQuYwpAQCAtNDE3LDcgKzQxNyw3IEBAIHZvaWQgZG1h X2NhY2hlX3N5bmMoc3RydWN0IGRldmljZSAqZGV2LCB2b2lkICp2YWRkciwgc2l6ZV90IHNpemUs CiAKIEVYUE9SVF9TWU1CT0woZG1hX2NhY2hlX3N5bmMpOwogCi1zdGF0aWMgc3RydWN0IGRtYV9t YXBfb3BzIG1pcHNfZGVmYXVsdF9kbWFfbWFwX29wcyA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3Qg ZG1hX21hcF9vcHMgbWlwc19kZWZhdWx0X2RtYV9tYXBfb3BzID0gewogCS5hbGxvYyA9IG1pcHNf ZG1hX2FsbG9jX2NvaGVyZW50LAogCS5mcmVlID0gbWlwc19kbWFfZnJlZV9jb2hlcmVudCwKIAku bW1hcCA9IG1pcHNfZG1hX21tYXAsCkBAIC00MzMsNyArNDMzLDcgQEAgc3RhdGljIHN0cnVjdCBk bWFfbWFwX29wcyBtaXBzX2RlZmF1bHRfZG1hX21hcF9vcHMgPSB7CiAJLmRtYV9zdXBwb3J0ZWQg PSBtaXBzX2RtYV9zdXBwb3J0ZWQKIH07CiAKLXN0cnVjdCBkbWFfbWFwX29wcyAqbWlwc19kbWFf bWFwX29wcyA9ICZtaXBzX2RlZmF1bHRfZG1hX21hcF9vcHM7Citjb25zdCBzdHJ1Y3QgZG1hX21h cF9vcHMgKm1pcHNfZG1hX21hcF9vcHMgPSAmbWlwc19kZWZhdWx0X2RtYV9tYXBfb3BzOwogRVhQ T1JUX1NZTUJPTChtaXBzX2RtYV9tYXBfb3BzKTsKIAogI2RlZmluZSBQUkVBTExPQ19ETUFfREVC VUdfRU5UUklFUyAoMSA8PCAxNikKZGlmZiAtLWdpdCBhL2FyY2gvbWlwcy9uZXRsb2dpYy9jb21t b24vbmxtLWRtYS5jIGIvYXJjaC9taXBzL25ldGxvZ2ljL2NvbW1vbi9ubG0tZG1hLmMKaW5kZXgg MDYzMDY5M2JlYzJhLi4wZWM5ZDlkYTZkNTEgMTAwNjQ0Ci0tLSBhL2FyY2gvbWlwcy9uZXRsb2dp Yy9jb21tb24vbmxtLWRtYS5jCisrKyBiL2FyY2gvbWlwcy9uZXRsb2dpYy9jb21tb24vbmxtLWRt YS5jCkBAIC02Nyw3ICs2Nyw3IEBAIHN0YXRpYyB2b2lkIG5sbV9kbWFfZnJlZV9jb2hlcmVudChz dHJ1Y3QgZGV2aWNlICpkZXYsIHNpemVfdCBzaXplLAogCXN3aW90bGJfZnJlZV9jb2hlcmVudChk ZXYsIHNpemUsIHZhZGRyLCBkbWFfaGFuZGxlKTsKIH0KIAotc3RydWN0IGRtYV9tYXBfb3BzIG5s bV9zd2lvdGxiX2RtYV9vcHMgPSB7Citjb25zdCBzdHJ1Y3QgZG1hX21hcF9vcHMgbmxtX3N3aW90 bGJfZG1hX29wcyA9IHsKIAkuYWxsb2MgPSBubG1fZG1hX2FsbG9jX2NvaGVyZW50LAogCS5mcmVl ID0gbmxtX2RtYV9mcmVlX2NvaGVyZW50LAogCS5tYXBfcGFnZSA9IHN3aW90bGJfbWFwX3BhZ2Us CmRpZmYgLS1naXQgYS9hcmNoL21uMTAzMDAvaW5jbHVkZS9hc20vZG1hLW1hcHBpbmcuaCBiL2Fy Y2gvbW4xMDMwMC9pbmNsdWRlL2FzbS9kbWEtbWFwcGluZy5oCmluZGV4IDFkY2Q0NDc1N2YzMi4u NTY0ZTM5MjdlMDA1IDEwMDY0NAotLS0gYS9hcmNoL21uMTAzMDAvaW5jbHVkZS9hc20vZG1hLW1h cHBpbmcuaAorKysgYi9hcmNoL21uMTAzMDAvaW5jbHVkZS9hc20vZG1hLW1hcHBpbmcuaApAQCAt MTQsOSArMTQsOSBAQAogI2luY2x1ZGUgPGFzbS9jYWNoZS5oPgogI2luY2x1ZGUgPGFzbS9pby5o PgogCi1leHRlcm4gc3RydWN0IGRtYV9tYXBfb3BzIG1uMTAzMDBfZG1hX29wczsKK2V4dGVybiBj b25zdCBzdHJ1Y3QgZG1hX21hcF9vcHMgbW4xMDMwMF9kbWFfb3BzOwogCi1zdGF0aWMgaW5saW5l IHN0cnVjdCBkbWFfbWFwX29wcyAqZ2V0X2RtYV9vcHMoc3RydWN0IGRldmljZSAqZGV2KQorc3Rh dGljIGlubGluZSBjb25zdCBzdHJ1Y3QgZG1hX21hcF9vcHMgKmdldF9kbWFfb3BzKHN0cnVjdCBk ZXZpY2UgKmRldikKIHsKIAlyZXR1cm4gJm1uMTAzMDBfZG1hX29wczsKIH0KZGlmZiAtLWdpdCBh L2FyY2gvbW4xMDMwMC9tbS9kbWEtYWxsb2MuYyBiL2FyY2gvbW4xMDMwMC9tbS9kbWEtYWxsb2Mu YwppbmRleCA0ZjRiOTAyOWYwZWEuLjg2MTA4ZDI0OTZiMyAxMDA2NDQKLS0tIGEvYXJjaC9tbjEw MzAwL21tL2RtYS1hbGxvYy5jCisrKyBiL2FyY2gvbW4xMDMwMC9tbS9kbWEtYWxsb2MuYwpAQCAt MTIxLDcgKzEyMSw3IEBAIHN0YXRpYyBpbnQgbW4xMDMwMF9kbWFfc3VwcG9ydGVkKHN0cnVjdCBk ZXZpY2UgKmRldiwgdTY0IG1hc2spCiAJcmV0dXJuIDE7CiB9CiAKLXN0cnVjdCBkbWFfbWFwX29w cyBtbjEwMzAwX2RtYV9vcHMgPSB7Citjb25zdCBzdHJ1Y3QgZG1hX21hcF9vcHMgbW4xMDMwMF9k bWFfb3BzID0gewogCS5hbGxvYwkJCT0gbW4xMDMwMF9kbWFfYWxsb2MsCiAJLmZyZWUJCQk9IG1u MTAzMDBfZG1hX2ZyZWUsCiAJLm1hcF9wYWdlCQk9IG1uMTAzMDBfZG1hX21hcF9wYWdlLApkaWZm IC0tZ2l0IGEvYXJjaC9uaW9zMi9pbmNsdWRlL2FzbS9kbWEtbWFwcGluZy5oIGIvYXJjaC9uaW9z Mi9pbmNsdWRlL2FzbS9kbWEtbWFwcGluZy5oCmluZGV4IGJlYzhhYzhlNmFkMi4uYWEwMGQ4Mzlh NjRiIDEwMDY0NAotLS0gYS9hcmNoL25pb3MyL2luY2x1ZGUvYXNtL2RtYS1tYXBwaW5nLmgKKysr IGIvYXJjaC9uaW9zMi9pbmNsdWRlL2FzbS9kbWEtbWFwcGluZy5oCkBAIC0xMCw5ICsxMCw5IEBA CiAjaWZuZGVmIF9BU01fTklPUzJfRE1BX01BUFBJTkdfSAogI2RlZmluZSBfQVNNX05JT1MyX0RN QV9NQVBQSU5HX0gKIAotZXh0ZXJuIHN0cnVjdCBkbWFfbWFwX29wcyBuaW9zMl9kbWFfb3BzOwor ZXh0ZXJuIGNvbnN0IHN0cnVjdCBkbWFfbWFwX29wcyBuaW9zMl9kbWFfb3BzOwogCi1zdGF0aWMg aW5saW5lIHN0cnVjdCBkbWFfbWFwX29wcyAqZ2V0X2RtYV9vcHMoc3RydWN0IGRldmljZSAqZGV2 KQorc3RhdGljIGlubGluZSBjb25zdCBzdHJ1Y3QgZG1hX21hcF9vcHMgKmdldF9kbWFfb3BzKHN0 cnVjdCBkZXZpY2UgKmRldikKIHsKIAlyZXR1cm4gJm5pb3MyX2RtYV9vcHM7CiB9CmRpZmYgLS1n aXQgYS9hcmNoL25pb3MyL21tL2RtYS1tYXBwaW5nLmMgYi9hcmNoL25pb3MyL21tL2RtYS1tYXBw aW5nLmMKaW5kZXggZjZhNWRjZjlkNjgyLi43MDQwYzFhZGJiNWUgMTAwNjQ0Ci0tLSBhL2FyY2gv bmlvczIvbW0vZG1hLW1hcHBpbmcuYworKysgYi9hcmNoL25pb3MyL21tL2RtYS1tYXBwaW5nLmMK QEAgLTE5Miw3ICsxOTIsNyBAQCBzdGF0aWMgdm9pZCBuaW9zMl9kbWFfc3luY19zZ19mb3JfZGV2 aWNlKHN0cnVjdCBkZXZpY2UgKmRldiwKIAogfQogCi1zdHJ1Y3QgZG1hX21hcF9vcHMgbmlvczJf ZG1hX29wcyA9IHsKK2NvbnN0IHN0cnVjdCBkbWFfbWFwX29wcyBuaW9zMl9kbWFfb3BzID0gewog CS5hbGxvYwkJCT0gbmlvczJfZG1hX2FsbG9jLAogCS5mcmVlCQkJPSBuaW9zMl9kbWFfZnJlZSwK IAkubWFwX3BhZ2UJCT0gbmlvczJfZG1hX21hcF9wYWdlLApkaWZmIC0tZ2l0IGEvYXJjaC9vcGVu cmlzYy9pbmNsdWRlL2FzbS9kbWEtbWFwcGluZy5oIGIvYXJjaC9vcGVucmlzYy9pbmNsdWRlL2Fz bS9kbWEtbWFwcGluZy5oCmluZGV4IDFmMjYwYmNjYjM2OC4uODhhY2JlZGI0OTQ3IDEwMDY0NAot LS0gYS9hcmNoL29wZW5yaXNjL2luY2x1ZGUvYXNtL2RtYS1tYXBwaW5nLmgKKysrIGIvYXJjaC9v cGVucmlzYy9pbmNsdWRlL2FzbS9kbWEtbWFwcGluZy5oCkBAIC0yOCw5ICsyOCw5IEBACiAKICNk ZWZpbmUgRE1BX0VSUk9SX0NPREUJCSh+KGRtYV9hZGRyX3QpMHgwKQogCi1leHRlcm4gc3RydWN0 IGRtYV9tYXBfb3BzIG9yMWtfZG1hX21hcF9vcHM7CitleHRlcm4gY29uc3Qgc3RydWN0IGRtYV9t YXBfb3BzIG9yMWtfZG1hX21hcF9vcHM7CiAKLXN0YXRpYyBpbmxpbmUgc3RydWN0IGRtYV9tYXBf b3BzICpnZXRfZG1hX29wcyhzdHJ1Y3QgZGV2aWNlICpkZXYpCitzdGF0aWMgaW5saW5lIGNvbnN0 IHN0cnVjdCBkbWFfbWFwX29wcyAqZ2V0X2RtYV9vcHMoc3RydWN0IGRldmljZSAqZGV2KQogewog CXJldHVybiAmb3Ixa19kbWFfbWFwX29wczsKIH0KZGlmZiAtLWdpdCBhL2FyY2gvb3BlbnJpc2Mv a2VybmVsL2RtYS5jIGIvYXJjaC9vcGVucmlzYy9rZXJuZWwvZG1hLmMKaW5kZXggOTA2OTk4YmFj OTU3Li5iMTAzNjliN2UzMWIgMTAwNjQ0Ci0tLSBhL2FyY2gvb3BlbnJpc2Mva2VybmVsL2RtYS5j CisrKyBiL2FyY2gvb3BlbnJpc2Mva2VybmVsL2RtYS5jCkBAIC0yMzIsNyArMjMyLDcgQEAgb3Ix a19zeW5jX3NpbmdsZV9mb3JfZGV2aWNlKHN0cnVjdCBkZXZpY2UgKmRldiwKIAkJbXRzcHIoU1BS X0RDQkZSLCBjbCk7CiB9CiAKLXN0cnVjdCBkbWFfbWFwX29wcyBvcjFrX2RtYV9tYXBfb3BzID0g eworY29uc3Qgc3RydWN0IGRtYV9tYXBfb3BzIG9yMWtfZG1hX21hcF9vcHMgPSB7CiAJLmFsbG9j ID0gb3Ixa19kbWFfYWxsb2MsCiAJLmZyZWUgPSBvcjFrX2RtYV9mcmVlLAogCS5tYXBfcGFnZSA9 IG9yMWtfbWFwX3BhZ2UsCmRpZmYgLS1naXQgYS9hcmNoL3BhcmlzYy9pbmNsdWRlL2FzbS9kbWEt bWFwcGluZy5oIGIvYXJjaC9wYXJpc2MvaW5jbHVkZS9hc20vZG1hLW1hcHBpbmcuaAppbmRleCAx NmUwMjQ2MDI3MzcuLjE3NDkwNzNlNDRmYyAxMDA2NDQKLS0tIGEvYXJjaC9wYXJpc2MvaW5jbHVk ZS9hc20vZG1hLW1hcHBpbmcuaAorKysgYi9hcmNoL3BhcmlzYy9pbmNsdWRlL2FzbS9kbWEtbWFw cGluZy5oCkBAIC0yMSwxMyArMjEsMTMgQEAKICovCiAKICNpZmRlZiBDT05GSUdfUEExMQotZXh0 ZXJuIHN0cnVjdCBkbWFfbWFwX29wcyBwY3hsX2RtYV9vcHM7Ci1leHRlcm4gc3RydWN0IGRtYV9t YXBfb3BzIHBjeF9kbWFfb3BzOworZXh0ZXJuIGNvbnN0IHN0cnVjdCBkbWFfbWFwX29wcyBwY3hs X2RtYV9vcHM7CitleHRlcm4gY29uc3Qgc3RydWN0IGRtYV9tYXBfb3BzIHBjeF9kbWFfb3BzOwog I2VuZGlmCiAKLWV4dGVybiBzdHJ1Y3QgZG1hX21hcF9vcHMgKmhwcGFfZG1hX29wczsKK2V4dGVy biBjb25zdCBzdHJ1Y3QgZG1hX21hcF9vcHMgKmhwcGFfZG1hX29wczsKIAotc3RhdGljIGlubGlu ZSBzdHJ1Y3QgZG1hX21hcF9vcHMgKmdldF9kbWFfb3BzKHN0cnVjdCBkZXZpY2UgKmRldikKK3N0 YXRpYyBpbmxpbmUgY29uc3Qgc3RydWN0IGRtYV9tYXBfb3BzICpnZXRfZG1hX29wcyhzdHJ1Y3Qg ZGV2aWNlICpkZXYpCiB7CiAJcmV0dXJuIGhwcGFfZG1hX29wczsKIH0KZGlmZiAtLWdpdCBhL2Fy Y2gvcGFyaXNjL2tlcm5lbC9kcml2ZXJzLmMgYi9hcmNoL3BhcmlzYy9rZXJuZWwvZHJpdmVycy5j CmluZGV4IDcwMGUyZDJkYTA5Ni4uZmE3ODQxOTEwMGM4IDEwMDY0NAotLS0gYS9hcmNoL3Bhcmlz Yy9rZXJuZWwvZHJpdmVycy5jCisrKyBiL2FyY2gvcGFyaXNjL2tlcm5lbC9kcml2ZXJzLmMKQEAg LTQwLDcgKzQwLDcgQEAKICNpbmNsdWRlIDxhc20vcGFyaXNjLWRldmljZS5oPgogCiAvKiBTZWUg Y29tbWVudHMgaW4gaW5jbHVkZS9hc20tcGFyaXNjL3BjaS5oICovCi1zdHJ1Y3QgZG1hX21hcF9v cHMgKmhwcGFfZG1hX29wcyBfX3JlYWRfbW9zdGx5OworY29uc3Qgc3RydWN0IGRtYV9tYXBfb3Bz ICpocHBhX2RtYV9vcHMgX19yZWFkX21vc3RseTsKIEVYUE9SVF9TWU1CT0woaHBwYV9kbWFfb3Bz KTsKIAogc3RhdGljIHN0cnVjdCBkZXZpY2Ugcm9vdCA9IHsKZGlmZiAtLWdpdCBhL2FyY2gvcGFy aXNjL2tlcm5lbC9wY2ktZG1hLmMgYi9hcmNoL3BhcmlzYy9rZXJuZWwvcGNpLWRtYS5jCmluZGV4 IDY5N2M1MzU0M2E0ZC4uNWYwMDY3YTYyNzM4IDEwMDY0NAotLS0gYS9hcmNoL3BhcmlzYy9rZXJu ZWwvcGNpLWRtYS5jCisrKyBiL2FyY2gvcGFyaXNjL2tlcm5lbC9wY2ktZG1hLmMKQEAgLTU3Miw3 ICs1NzIsNyBAQCBzdGF0aWMgdm9pZCBwYTExX2RtYV9zeW5jX3NnX2Zvcl9kZXZpY2Uoc3RydWN0 IGRldmljZSAqZGV2LCBzdHJ1Y3Qgc2NhdHRlcmxpc3QgKgogCQlmbHVzaF9rZXJuZWxfdm1hcF9y YW5nZShzZ192aXJ0KHNnKSwgc2ctPmxlbmd0aCk7CiB9CiAKLXN0cnVjdCBkbWFfbWFwX29wcyBw Y3hsX2RtYV9vcHMgPSB7Citjb25zdCBzdHJ1Y3QgZG1hX21hcF9vcHMgcGN4bF9kbWFfb3BzID0g ewogCS5kbWFfc3VwcG9ydGVkID0JcGExMV9kbWFfc3VwcG9ydGVkLAogCS5hbGxvYyA9CQlwYTEx X2RtYV9hbGxvYywKIAkuZnJlZSA9CQkJcGExMV9kbWFfZnJlZSwKQEAgLTYwOCw3ICs2MDgsNyBA QCBzdGF0aWMgdm9pZCBwY3hfZG1hX2ZyZWUoc3RydWN0IGRldmljZSAqZGV2LCBzaXplX3Qgc2l6 ZSwgdm9pZCAqdmFkZHIsCiAJcmV0dXJuOwogfQogCi1zdHJ1Y3QgZG1hX21hcF9vcHMgcGN4X2Rt YV9vcHMgPSB7Citjb25zdCBzdHJ1Y3QgZG1hX21hcF9vcHMgcGN4X2RtYV9vcHMgPSB7CiAJLmRt YV9zdXBwb3J0ZWQgPQlwYTExX2RtYV9zdXBwb3J0ZWQsCiAJLmFsbG9jID0JCXBjeF9kbWFfYWxs b2MsCiAJLmZyZWUgPQkJCXBjeF9kbWFfZnJlZSwKZGlmZiAtLWdpdCBhL2FyY2gvcG93ZXJwYy9p bmNsdWRlL2FzbS9kZXZpY2UuaCBiL2FyY2gvcG93ZXJwYy9pbmNsdWRlL2FzbS9kZXZpY2UuaApp bmRleCA0MDZjMmIxZmY4MmQuLjQ5Y2JiMGZjYTIzMyAxMDA2NDQKLS0tIGEvYXJjaC9wb3dlcnBj L2luY2x1ZGUvYXNtL2RldmljZS5oCisrKyBiL2FyY2gvcG93ZXJwYy9pbmNsdWRlL2FzbS9kZXZp Y2UuaApAQCAtMjEsNyArMjEsNyBAQCBzdHJ1Y3QgaW9tbXVfdGFibGU7CiAgKi8KIHN0cnVjdCBk ZXZfYXJjaGRhdGEgewogCS8qIERNQSBvcGVyYXRpb25zIG9uIHRoYXQgZGV2aWNlICovCi0Jc3Ry dWN0IGRtYV9tYXBfb3BzCSpkbWFfb3BzOworCWNvbnN0IHN0cnVjdCBkbWFfbWFwX29wcwkqZG1h X29wczsKIAogCS8qCiAJICogVGhlc2UgdHdvIHVzZWQgdG8gYmUgYSB1bmlvbi4gSG93ZXZlciwg d2l0aCB0aGUgaHlicmlkIG9wcyB3ZSBuZWVkCmRpZmYgLS1naXQgYS9hcmNoL3Bvd2VycGMvaW5j bHVkZS9hc20vZG1hLW1hcHBpbmcuaCBiL2FyY2gvcG93ZXJwYy9pbmNsdWRlL2FzbS9kbWEtbWFw cGluZy5oCmluZGV4IDg0ZTNmOGRkNWU0Zi4uMmVjM2VhZGYzMzZmIDEwMDY0NAotLS0gYS9hcmNo L3Bvd2VycGMvaW5jbHVkZS9hc20vZG1hLW1hcHBpbmcuaAorKysgYi9hcmNoL3Bvd2VycGMvaW5j bHVkZS9hc20vZG1hLW1hcHBpbmcuaApAQCAtNzYsOSArNzYsOSBAQCBzdGF0aWMgaW5saW5lIHVu c2lnbmVkIGxvbmcgZGV2aWNlX3RvX21hc2soc3RydWN0IGRldmljZSAqZGV2KQogI2lmZGVmIENP TkZJR19QUEM2NAogZXh0ZXJuIHN0cnVjdCBkbWFfbWFwX29wcyBkbWFfaW9tbXVfb3BzOwogI2Vu ZGlmCi1leHRlcm4gc3RydWN0IGRtYV9tYXBfb3BzIGRtYV9kaXJlY3Rfb3BzOworZXh0ZXJuIGNv bnN0IHN0cnVjdCBkbWFfbWFwX29wcyBkbWFfZGlyZWN0X29wczsKIAotc3RhdGljIGlubGluZSBz dHJ1Y3QgZG1hX21hcF9vcHMgKmdldF9kbWFfb3BzKHN0cnVjdCBkZXZpY2UgKmRldikKK3N0YXRp YyBpbmxpbmUgY29uc3Qgc3RydWN0IGRtYV9tYXBfb3BzICpnZXRfZG1hX29wcyhzdHJ1Y3QgZGV2 aWNlICpkZXYpCiB7CiAJLyogV2UgZG9uJ3QgaGFuZGxlIHRoZSBOVUxMIGRldiBjYXNlIGZvciBJ U0EgZm9yIG5vdy4gV2UgY291bGQKIAkgKiBkbyBpdCB2aWEgYW4gb3V0IG9mIGxpbmUgY2FsbCBi dXQgaXQgaXMgbm90IG5lZWRlZCBmb3Igbm93LiBUaGUKQEAgLTkxLDcgKzkxLDcgQEAgc3RhdGlj IGlubGluZSBzdHJ1Y3QgZG1hX21hcF9vcHMgKmdldF9kbWFfb3BzKHN0cnVjdCBkZXZpY2UgKmRl dikKIAlyZXR1cm4gZGV2LT5hcmNoZGF0YS5kbWFfb3BzOwogfQogCi1zdGF0aWMgaW5saW5lIHZv aWQgc2V0X2RtYV9vcHMoc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgZG1hX21hcF9vcHMgKm9w cykKK3N0YXRpYyBpbmxpbmUgdm9pZCBzZXRfZG1hX29wcyhzdHJ1Y3QgZGV2aWNlICpkZXYsIGNv bnN0IHN0cnVjdCBkbWFfbWFwX29wcyAqb3BzKQogewogCWRldi0+YXJjaGRhdGEuZG1hX29wcyA9 IG9wczsKIH0KZGlmZiAtLWdpdCBhL2FyY2gvcG93ZXJwYy9pbmNsdWRlL2FzbS9wY2kuaCBiL2Fy Y2gvcG93ZXJwYy9pbmNsdWRlL2FzbS9wY2kuaAppbmRleCBlOWJkNmNmMDIxMmYuLjkzZWRlZDhk Mzg0MyAxMDA2NDQKLS0tIGEvYXJjaC9wb3dlcnBjL2luY2x1ZGUvYXNtL3BjaS5oCisrKyBiL2Fy Y2gvcG93ZXJwYy9pbmNsdWRlL2FzbS9wY2kuaApAQCAtNTMsOCArNTMsOCBAQCBzdGF0aWMgaW5s aW5lIGludCBwY2lfZ2V0X2xlZ2FjeV9pZGVfaXJxKHN0cnVjdCBwY2lfZGV2ICpkZXYsIGludCBj aGFubmVsKQogfQogCiAjaWZkZWYgQ09ORklHX1BDSQotZXh0ZXJuIHZvaWQgc2V0X3BjaV9kbWFf b3BzKHN0cnVjdCBkbWFfbWFwX29wcyAqZG1hX29wcyk7Ci1leHRlcm4gc3RydWN0IGRtYV9tYXBf b3BzICpnZXRfcGNpX2RtYV9vcHModm9pZCk7CitleHRlcm4gdm9pZCBzZXRfcGNpX2RtYV9vcHMo Y29uc3Qgc3RydWN0IGRtYV9tYXBfb3BzICpkbWFfb3BzKTsKK2V4dGVybiBjb25zdCBzdHJ1Y3Qg ZG1hX21hcF9vcHMgKmdldF9wY2lfZG1hX29wcyh2b2lkKTsKICNlbHNlCS8qIENPTkZJR19QQ0kg Ki8KICNkZWZpbmUgc2V0X3BjaV9kbWFfb3BzKGQpCiAjZGVmaW5lIGdldF9wY2lfZG1hX29wcygp CU5VTEwKZGlmZiAtLWdpdCBhL2FyY2gvcG93ZXJwYy9pbmNsdWRlL2FzbS9zd2lvdGxiLmggYi9h cmNoL3Bvd2VycGMvaW5jbHVkZS9hc20vc3dpb3RsYi5oCmluZGV4IGRlOTlkNmUyOTQzMC4uMDFk NDVhNWZkMDBiIDEwMDY0NAotLS0gYS9hcmNoL3Bvd2VycGMvaW5jbHVkZS9hc20vc3dpb3RsYi5o CisrKyBiL2FyY2gvcG93ZXJwYy9pbmNsdWRlL2FzbS9zd2lvdGxiLmgKQEAgLTEzLDcgKzEzLDcg QEAKIAogI2luY2x1ZGUgPGxpbnV4L3N3aW90bGIuaD4KIAotZXh0ZXJuIHN0cnVjdCBkbWFfbWFw X29wcyBzd2lvdGxiX2RtYV9vcHM7CitleHRlcm4gY29uc3Qgc3RydWN0IGRtYV9tYXBfb3BzIHN3 aW90bGJfZG1hX29wczsKIAogc3RhdGljIGlubGluZSB2b2lkIGRtYV9tYXJrX2NsZWFuKHZvaWQg KmFkZHIsIHNpemVfdCBzaXplKSB7fQogCmRpZmYgLS1naXQgYS9hcmNoL3Bvd2VycGMva2VybmVs L2RtYS1zd2lvdGxiLmMgYi9hcmNoL3Bvd2VycGMva2VybmVsL2RtYS1zd2lvdGxiLmMKaW5kZXgg YzY2ODlmNjU4YjUwLi5kMGVhNzg2MGUwMmIgMTAwNjQ0Ci0tLSBhL2FyY2gvcG93ZXJwYy9rZXJu ZWwvZG1hLXN3aW90bGIuYworKysgYi9hcmNoL3Bvd2VycGMva2VybmVsL2RtYS1zd2lvdGxiLmMK QEAgLTQ2LDcgKzQ2LDcgQEAgc3RhdGljIHU2NCBzd2lvdGxiX3Bvd2VycGNfZ2V0X3JlcXVpcmVk KHN0cnVjdCBkZXZpY2UgKmRldikKICAqIG1hcF9wYWdlLCBhbmQgdW5tYXBfcGFnZSBvbiBoaWdo bWVtLCB1c2Ugbm9ybWFsIGRtYV9vcHMKICAqIGZvciBldmVyeXRoaW5nIGVsc2UuCiAgKi8KLXN0 cnVjdCBkbWFfbWFwX29wcyBzd2lvdGxiX2RtYV9vcHMgPSB7Citjb25zdCBzdHJ1Y3QgZG1hX21h cF9vcHMgc3dpb3RsYl9kbWFfb3BzID0gewogCS5hbGxvYyA9IF9fZG1hX2RpcmVjdF9hbGxvY19j b2hlcmVudCwKIAkuZnJlZSA9IF9fZG1hX2RpcmVjdF9mcmVlX2NvaGVyZW50LAogCS5tbWFwID0g ZG1hX2RpcmVjdF9tbWFwX2NvaGVyZW50LApkaWZmIC0tZ2l0IGEvYXJjaC9wb3dlcnBjL2tlcm5l bC9kbWEuYyBiL2FyY2gvcG93ZXJwYy9rZXJuZWwvZG1hLmMKaW5kZXggNjg3N2UzZmE5NWJiLi4w M2I5OGYxZjk4ZWMgMTAwNjQ0Ci0tLSBhL2FyY2gvcG93ZXJwYy9rZXJuZWwvZG1hLmMKKysrIGIv YXJjaC9wb3dlcnBjL2tlcm5lbC9kbWEuYwpAQCAtMjc0LDcgKzI3NCw3IEBAIHN0YXRpYyBpbmxp bmUgdm9pZCBkbWFfZGlyZWN0X3N5bmNfc2luZ2xlKHN0cnVjdCBkZXZpY2UgKmRldiwKIH0KICNl bmRpZgogCi1zdHJ1Y3QgZG1hX21hcF9vcHMgZG1hX2RpcmVjdF9vcHMgPSB7Citjb25zdCBzdHJ1 Y3QgZG1hX21hcF9vcHMgZG1hX2RpcmVjdF9vcHMgPSB7CiAJLmFsbG9jCQkJCT0gZG1hX2RpcmVj dF9hbGxvY19jb2hlcmVudCwKIAkuZnJlZQkJCQk9IGRtYV9kaXJlY3RfZnJlZV9jb2hlcmVudCwK IAkubW1hcAkJCQk9IGRtYV9kaXJlY3RfbW1hcF9jb2hlcmVudCwKQEAgLTMxNiw3ICszMTYsNyBA QCBFWFBPUlRfU1lNQk9MKGRtYV9zZXRfY29oZXJlbnRfbWFzayk7CiAKIGludCBfX2RtYV9zZXRf bWFzayhzdHJ1Y3QgZGV2aWNlICpkZXYsIHU2NCBkbWFfbWFzaykKIHsKLQlzdHJ1Y3QgZG1hX21h cF9vcHMgKmRtYV9vcHMgPSBnZXRfZG1hX29wcyhkZXYpOworCWNvbnN0IHN0cnVjdCBkbWFfbWFw X29wcyAqZG1hX29wcyA9IGdldF9kbWFfb3BzKGRldik7CiAKIAlpZiAoKGRtYV9vcHMgIT0gTlVM TCkgJiYgKGRtYV9vcHMtPnNldF9kbWFfbWFzayAhPSBOVUxMKSkKIAkJcmV0dXJuIGRtYV9vcHMt PnNldF9kbWFfbWFzayhkZXYsIGRtYV9tYXNrKTsKQEAgLTM0NCw3ICszNDQsNyBAQCBFWFBPUlRf U1lNQk9MKGRtYV9zZXRfbWFzayk7CiAKIHU2NCBfX2RtYV9nZXRfcmVxdWlyZWRfbWFzayhzdHJ1 Y3QgZGV2aWNlICpkZXYpCiB7Ci0Jc3RydWN0IGRtYV9tYXBfb3BzICpkbWFfb3BzID0gZ2V0X2Rt YV9vcHMoZGV2KTsKKwljb25zdCBzdHJ1Y3QgZG1hX21hcF9vcHMgKmRtYV9vcHMgPSBnZXRfZG1h X29wcyhkZXYpOwogCiAJaWYgKHVubGlrZWx5KGRtYV9vcHMgPT0gTlVMTCkpCiAJCXJldHVybiAw OwpkaWZmIC0tZ2l0IGEvYXJjaC9wb3dlcnBjL2tlcm5lbC9wY2ktY29tbW9uLmMgYi9hcmNoL3Bv d2VycGMva2VybmVsL3BjaS1jb21tb24uYwppbmRleCA3NGJlYzU0OTg5NzIuLjA5ZGI0Nzc4NDM1 YyAxMDA2NDQKLS0tIGEvYXJjaC9wb3dlcnBjL2tlcm5lbC9wY2ktY29tbW9uLmMKKysrIGIvYXJj aC9wb3dlcnBjL2tlcm5lbC9wY2ktY29tbW9uLmMKQEAgLTU5LDE0ICs1OSwxNCBAQCByZXNvdXJj ZV9zaXplX3QgaXNhX21lbV9iYXNlOwogRVhQT1JUX1NZTUJPTChpc2FfbWVtX2Jhc2UpOwogCiAK LXN0YXRpYyBzdHJ1Y3QgZG1hX21hcF9vcHMgKnBjaV9kbWFfb3BzID0gJmRtYV9kaXJlY3Rfb3Bz Oworc3RhdGljIGNvbnN0IHN0cnVjdCBkbWFfbWFwX29wcyAqcGNpX2RtYV9vcHMgPSAmZG1hX2Rp cmVjdF9vcHM7CiAKLXZvaWQgc2V0X3BjaV9kbWFfb3BzKHN0cnVjdCBkbWFfbWFwX29wcyAqZG1h X29wcykKK3ZvaWQgc2V0X3BjaV9kbWFfb3BzKGNvbnN0IHN0cnVjdCBkbWFfbWFwX29wcyAqZG1h X29wcykKIHsKIAlwY2lfZG1hX29wcyA9IGRtYV9vcHM7CiB9CiAKLXN0cnVjdCBkbWFfbWFwX29w cyAqZ2V0X3BjaV9kbWFfb3BzKHZvaWQpCitjb25zdCBzdHJ1Y3QgZG1hX21hcF9vcHMgKmdldF9w Y2lfZG1hX29wcyh2b2lkKQogewogCXJldHVybiBwY2lfZG1hX29wczsKIH0KZGlmZiAtLWdpdCBh L2FyY2gvcG93ZXJwYy9wbGF0Zm9ybXMvY2VsbC9pb21tdS5jIGIvYXJjaC9wb3dlcnBjL3BsYXRm b3Jtcy9jZWxsL2lvbW11LmMKaW5kZXggN2ZmNTFmOTZhMDBlLi5lMTQxM2U2OWU1ZmUgMTAwNjQ0 Ci0tLSBhL2FyY2gvcG93ZXJwYy9wbGF0Zm9ybXMvY2VsbC9pb21tdS5jCisrKyBiL2FyY2gvcG93 ZXJwYy9wbGF0Zm9ybXMvY2VsbC9pb21tdS5jCkBAIC02NTEsNyArNjUxLDcgQEAgc3RhdGljIGlu dCBkbWFfZml4ZWRfZG1hX3N1cHBvcnRlZChzdHJ1Y3QgZGV2aWNlICpkZXYsIHU2NCBtYXNrKQog CiBzdGF0aWMgaW50IGRtYV9zZXRfbWFza19hbmRfc3dpdGNoKHN0cnVjdCBkZXZpY2UgKmRldiwg dTY0IGRtYV9tYXNrKTsKIAotc3RhdGljIHN0cnVjdCBkbWFfbWFwX29wcyBkbWFfaW9tbXVfZml4 ZWRfb3BzID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBkbWFfbWFwX29wcyBkbWFfaW9tbXVfZml4 ZWRfb3BzID0gewogCS5hbGxvYyAgICAgICAgICA9IGRtYV9maXhlZF9hbGxvY19jb2hlcmVudCwK IAkuZnJlZSAgICAgICAgICAgPSBkbWFfZml4ZWRfZnJlZV9jb2hlcmVudCwKIAkubWFwX3NnICAg ICAgICAgPSBkbWFfZml4ZWRfbWFwX3NnLApAQCAtMTE3Miw3ICsxMTcyLDcgQEAgX19zZXR1cCgi aW9tbXVfZml4ZWQ9Iiwgc2V0dXBfaW9tbXVfZml4ZWQpOwogCiBzdGF0aWMgdTY0IGNlbGxfZG1h X2dldF9yZXF1aXJlZF9tYXNrKHN0cnVjdCBkZXZpY2UgKmRldikKIHsKLQlzdHJ1Y3QgZG1hX21h cF9vcHMgKmRtYV9vcHM7CisJY29uc3Qgc3RydWN0IGRtYV9tYXBfb3BzICpkbWFfb3BzOwogCiAJ aWYgKCFkZXYtPmRtYV9tYXNrKQogCQlyZXR1cm4gMDsKZGlmZiAtLWdpdCBhL2FyY2gvcG93ZXJw Yy9wbGF0Zm9ybXMvcG93ZXJudi9ucHUtZG1hLmMgYi9hcmNoL3Bvd2VycGMvcGxhdGZvcm1zL3Bv d2VybnYvbnB1LWRtYS5jCmluZGV4IDczYjE1NWZkNDQ4MS4uMWMzODNmMzgwMzFkIDEwMDY0NAot LS0gYS9hcmNoL3Bvd2VycGMvcGxhdGZvcm1zL3Bvd2VybnYvbnB1LWRtYS5jCisrKyBiL2FyY2gv cG93ZXJwYy9wbGF0Zm9ybXMvcG93ZXJudi9ucHUtZG1hLmMKQEAgLTExNSw3ICsxMTUsNyBAQCBz dGF0aWMgdTY0IGRtYV9ucHVfZ2V0X3JlcXVpcmVkX21hc2soc3RydWN0IGRldmljZSAqZGV2KQog CXJldHVybiAwOwogfQogCi1zdGF0aWMgc3RydWN0IGRtYV9tYXBfb3BzIGRtYV9ucHVfb3BzID0g eworc3RhdGljIGNvbnN0IHN0cnVjdCBkbWFfbWFwX29wcyBkbWFfbnB1X29wcyA9IHsKIAkubWFw X3BhZ2UJCT0gZG1hX25wdV9tYXBfcGFnZSwKIAkubWFwX3NnCQkJPSBkbWFfbnB1X21hcF9zZywK IAkuYWxsb2MJCQk9IGRtYV9ucHVfYWxsb2MsCmRpZmYgLS1naXQgYS9hcmNoL3Bvd2VycGMvcGxh dGZvcm1zL3BzMy9zeXN0ZW0tYnVzLmMgYi9hcmNoL3Bvd2VycGMvcGxhdGZvcm1zL3BzMy9zeXN0 ZW0tYnVzLmMKaW5kZXggOGFmMWMxNWFlZjg1Li5jODE0NTBkOTg3OTQgMTAwNjQ0Ci0tLSBhL2Fy Y2gvcG93ZXJwYy9wbGF0Zm9ybXMvcHMzL3N5c3RlbS1idXMuYworKysgYi9hcmNoL3Bvd2VycGMv cGxhdGZvcm1zL3BzMy9zeXN0ZW0tYnVzLmMKQEAgLTcwMSw3ICs3MDEsNyBAQCBzdGF0aWMgdTY0 IHBzM19kbWFfZ2V0X3JlcXVpcmVkX21hc2soc3RydWN0IGRldmljZSAqX2RldikKIAlyZXR1cm4g RE1BX0JJVF9NQVNLKDMyKTsKIH0KIAotc3RhdGljIHN0cnVjdCBkbWFfbWFwX29wcyBwczNfc2Jf ZG1hX29wcyA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZG1hX21hcF9vcHMgcHMzX3NiX2RtYV9v cHMgPSB7CiAJLmFsbG9jID0gcHMzX2FsbG9jX2NvaGVyZW50LAogCS5mcmVlID0gcHMzX2ZyZWVf Y29oZXJlbnQsCiAJLm1hcF9zZyA9IHBzM19zYl9tYXBfc2csCkBAIC03MTIsNyArNzEyLDcgQEAg c3RhdGljIHN0cnVjdCBkbWFfbWFwX29wcyBwczNfc2JfZG1hX29wcyA9IHsKIAkudW5tYXBfcGFn ZSA9IHBzM191bm1hcF9wYWdlLAogfTsKIAotc3RhdGljIHN0cnVjdCBkbWFfbWFwX29wcyBwczNf aW9jMF9kbWFfb3BzID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBkbWFfbWFwX29wcyBwczNfaW9j MF9kbWFfb3BzID0gewogCS5hbGxvYyA9IHBzM19hbGxvY19jb2hlcmVudCwKIAkuZnJlZSA9IHBz M19mcmVlX2NvaGVyZW50LAogCS5tYXBfc2cgPSBwczNfaW9jMF9tYXBfc2csCmRpZmYgLS1naXQg YS9hcmNoL3Bvd2VycGMvcGxhdGZvcm1zL3BzZXJpZXMvaWJtZWJ1cy5jIGIvYXJjaC9wb3dlcnBj L3BsYXRmb3Jtcy9wc2VyaWVzL2libWVidXMuYwppbmRleCA2MTRjMjg1MzcxNDEuLjJlMzZhMGI4 OTQ0YSAxMDA2NDQKLS0tIGEvYXJjaC9wb3dlcnBjL3BsYXRmb3Jtcy9wc2VyaWVzL2libWVidXMu YworKysgYi9hcmNoL3Bvd2VycGMvcGxhdGZvcm1zL3BzZXJpZXMvaWJtZWJ1cy5jCkBAIC0xMzYs NyArMTM2LDcgQEAgc3RhdGljIHU2NCBpYm1lYnVzX2RtYV9nZXRfcmVxdWlyZWRfbWFzayhzdHJ1 Y3QgZGV2aWNlICpkZXYpCiAJcmV0dXJuIERNQV9CSVRfTUFTSyg2NCk7CiB9CiAKLXN0YXRpYyBz dHJ1Y3QgZG1hX21hcF9vcHMgaWJtZWJ1c19kbWFfb3BzID0geworc3RhdGljIGNvbnN0IHN0cnVj dCBkbWFfbWFwX29wcyBpYm1lYnVzX2RtYV9vcHMgPSB7CiAJLmFsbG9jICAgICAgICAgICAgICA9 IGlibWVidXNfYWxsb2NfY29oZXJlbnQsCiAJLmZyZWUgICAgICAgICAgICAgICA9IGlibWVidXNf ZnJlZV9jb2hlcmVudCwKIAkubWFwX3NnICAgICAgICAgICAgID0gaWJtZWJ1c19tYXBfc2csCmRp ZmYgLS1naXQgYS9hcmNoL3Bvd2VycGMvcGxhdGZvcm1zL3BzZXJpZXMvdmlvLmMgYi9hcmNoL3Bv d2VycGMvcGxhdGZvcm1zL3BzZXJpZXMvdmlvLmMKaW5kZXggMmM4ZmIzZWM5ODllLi43MjA0OTM5 MzI0ODYgMTAwNjQ0Ci0tLSBhL2FyY2gvcG93ZXJwYy9wbGF0Zm9ybXMvcHNlcmllcy92aW8uYwor KysgYi9hcmNoL3Bvd2VycGMvcGxhdGZvcm1zL3BzZXJpZXMvdmlvLmMKQEAgLTYxNSw3ICs2MTUs NyBAQCBzdGF0aWMgdTY0IHZpb19kbWFfZ2V0X3JlcXVpcmVkX21hc2soc3RydWN0IGRldmljZSAq ZGV2KQogICAgICAgICByZXR1cm4gZG1hX2lvbW11X29wcy5nZXRfcmVxdWlyZWRfbWFzayhkZXYp OwogfQogCi1zdGF0aWMgc3RydWN0IGRtYV9tYXBfb3BzIHZpb19kbWFfbWFwcGluZ19vcHMgPSB7 CitzdGF0aWMgY29uc3Qgc3RydWN0IGRtYV9tYXBfb3BzIHZpb19kbWFfbWFwcGluZ19vcHMgPSB7 CiAJLmFsbG9jICAgICAgICAgICAgID0gdmlvX2RtYV9pb21tdV9hbGxvY19jb2hlcmVudCwKIAku ZnJlZSAgICAgICAgICAgICAgPSB2aW9fZG1hX2lvbW11X2ZyZWVfY29oZXJlbnQsCiAJLm1tYXAJ CSAgID0gZG1hX2RpcmVjdF9tbWFwX2NvaGVyZW50LApkaWZmIC0tZ2l0IGEvYXJjaC9zMzkwL2lu Y2x1ZGUvYXNtL2RldmljZS5oIGIvYXJjaC9zMzkwL2luY2x1ZGUvYXNtL2RldmljZS5oCmluZGV4 IDRhOWYzNWUwOTczZi4uNzk1NWE5Nzk5NDY2IDEwMDY0NAotLS0gYS9hcmNoL3MzOTAvaW5jbHVk ZS9hc20vZGV2aWNlLmgKKysrIGIvYXJjaC9zMzkwL2luY2x1ZGUvYXNtL2RldmljZS5oCkBAIC00 LDcgKzQsNyBAQAogICogVGhpcyBmaWxlIGlzIHJlbGVhc2VkIHVuZGVyIHRoZSBHUEx2MgogICov CiBzdHJ1Y3QgZGV2X2FyY2hkYXRhIHsKLQlzdHJ1Y3QgZG1hX21hcF9vcHMgKmRtYV9vcHM7CisJ Y29uc3Qgc3RydWN0IGRtYV9tYXBfb3BzICpkbWFfb3BzOwogfTsKIAogc3RydWN0IHBkZXZfYXJj aGRhdGEgewpkaWZmIC0tZ2l0IGEvYXJjaC9zMzkwL2luY2x1ZGUvYXNtL2RtYS1tYXBwaW5nLmgg Yi9hcmNoL3MzOTAvaW5jbHVkZS9hc20vZG1hLW1hcHBpbmcuaAppbmRleCBmZmFiYTA3ZjUwYWIu LjI3NzZkMjA1YjFmZiAxMDA2NDQKLS0tIGEvYXJjaC9zMzkwL2luY2x1ZGUvYXNtL2RtYS1tYXBw aW5nLmgKKysrIGIvYXJjaC9zMzkwL2luY2x1ZGUvYXNtL2RtYS1tYXBwaW5nLmgKQEAgLTEwLDkg KzEwLDkgQEAKIAogI2RlZmluZSBETUFfRVJST1JfQ09ERQkJKH4oZG1hX2FkZHJfdCkgMHgwKQog Ci1leHRlcm4gc3RydWN0IGRtYV9tYXBfb3BzIHMzOTBfcGNpX2RtYV9vcHM7CitleHRlcm4gY29u c3Qgc3RydWN0IGRtYV9tYXBfb3BzIHMzOTBfcGNpX2RtYV9vcHM7CiAKLXN0YXRpYyBpbmxpbmUg c3RydWN0IGRtYV9tYXBfb3BzICpnZXRfZG1hX29wcyhzdHJ1Y3QgZGV2aWNlICpkZXYpCitzdGF0 aWMgaW5saW5lIGNvbnN0IHN0cnVjdCBkbWFfbWFwX29wcyAqZ2V0X2RtYV9vcHMoc3RydWN0IGRl dmljZSAqZGV2KQogewogCWlmIChkZXYgJiYgZGV2LT5hcmNoZGF0YS5kbWFfb3BzKQogCQlyZXR1 cm4gZGV2LT5hcmNoZGF0YS5kbWFfb3BzOwpkaWZmIC0tZ2l0IGEvYXJjaC9zMzkwL3BjaS9wY2lf ZG1hLmMgYi9hcmNoL3MzOTAvcGNpL3BjaV9kbWEuYwppbmRleCAxZDdhOWM3MTk0NGEuLjkwODFh NTdmYTM0MCAxMDA2NDQKLS0tIGEvYXJjaC9zMzkwL3BjaS9wY2lfZG1hLmMKKysrIGIvYXJjaC9z MzkwL3BjaS9wY2lfZG1hLmMKQEAgLTY1MCw3ICs2NTAsNyBAQCBzdGF0aWMgaW50IF9faW5pdCBk bWFfZGVidWdfZG9faW5pdCh2b2lkKQogfQogZnNfaW5pdGNhbGwoZG1hX2RlYnVnX2RvX2luaXQp OwogCi1zdHJ1Y3QgZG1hX21hcF9vcHMgczM5MF9wY2lfZG1hX29wcyA9IHsKK2NvbnN0IHN0cnVj dCBkbWFfbWFwX29wcyBzMzkwX3BjaV9kbWFfb3BzID0gewogCS5hbGxvYwkJPSBzMzkwX2RtYV9h bGxvYywKIAkuZnJlZQkJPSBzMzkwX2RtYV9mcmVlLAogCS5tYXBfc2cJCT0gczM5MF9kbWFfbWFw X3NnLApkaWZmIC0tZ2l0IGEvYXJjaC9zaC9pbmNsdWRlL2FzbS9kbWEtbWFwcGluZy5oIGIvYXJj aC9zaC9pbmNsdWRlL2FzbS9kbWEtbWFwcGluZy5oCmluZGV4IDAwNTJhZDQwZTg2ZC4uYTczODJj MzRjMjQxIDEwMDY0NAotLS0gYS9hcmNoL3NoL2luY2x1ZGUvYXNtL2RtYS1tYXBwaW5nLmgKKysr IGIvYXJjaC9zaC9pbmNsdWRlL2FzbS9kbWEtbWFwcGluZy5oCkBAIC0xLDEwICsxLDEwIEBACiAj aWZuZGVmIF9fQVNNX1NIX0RNQV9NQVBQSU5HX0gKICNkZWZpbmUgX19BU01fU0hfRE1BX01BUFBJ TkdfSAogCi1leHRlcm4gc3RydWN0IGRtYV9tYXBfb3BzICpkbWFfb3BzOworZXh0ZXJuIGNvbnN0 IHN0cnVjdCBkbWFfbWFwX29wcyAqZG1hX29wczsKIGV4dGVybiB2b2lkIG5vX2lvbW11X2luaXQo dm9pZCk7CiAKLXN0YXRpYyBpbmxpbmUgc3RydWN0IGRtYV9tYXBfb3BzICpnZXRfZG1hX29wcyhz dHJ1Y3QgZGV2aWNlICpkZXYpCitzdGF0aWMgaW5saW5lIGNvbnN0IHN0cnVjdCBkbWFfbWFwX29w cyAqZ2V0X2RtYV9vcHMoc3RydWN0IGRldmljZSAqZGV2KQogewogCXJldHVybiBkbWFfb3BzOwog fQpkaWZmIC0tZ2l0IGEvYXJjaC9zaC9rZXJuZWwvZG1hLW5vbW11LmMgYi9hcmNoL3NoL2tlcm5l bC9kbWEtbm9tbXUuYwppbmRleCA0N2ZlZTNiNmUyOWMuLmQyNGM3MDdiMjE4MSAxMDA2NDQKLS0t IGEvYXJjaC9zaC9rZXJuZWwvZG1hLW5vbW11LmMKKysrIGIvYXJjaC9zaC9rZXJuZWwvZG1hLW5v bW11LmMKQEAgLTY1LDcgKzY1LDcgQEAgc3RhdGljIHZvaWQgbm9tbXVfc3luY19zZyhzdHJ1Y3Qg ZGV2aWNlICpkZXYsIHN0cnVjdCBzY2F0dGVybGlzdCAqc2csCiB9CiAjZW5kaWYKIAotc3RydWN0 IGRtYV9tYXBfb3BzIG5vbW11X2RtYV9vcHMgPSB7Citjb25zdCBzdHJ1Y3QgZG1hX21hcF9vcHMg bm9tbXVfZG1hX29wcyA9IHsKIAkuYWxsb2MJCQk9IGRtYV9nZW5lcmljX2FsbG9jX2NvaGVyZW50 LAogCS5mcmVlCQkJPSBkbWFfZ2VuZXJpY19mcmVlX2NvaGVyZW50LAogCS5tYXBfcGFnZQkJPSBu b21tdV9tYXBfcGFnZSwKZGlmZiAtLWdpdCBhL2FyY2gvc2gvbW0vY29uc2lzdGVudC5jIGIvYXJj aC9zaC9tbS9jb25zaXN0ZW50LmMKaW5kZXggOTJiNjk3NmZkZTU5Li5kMTI3NWFkZmEwZWYgMTAw NjQ0Ci0tLSBhL2FyY2gvc2gvbW0vY29uc2lzdGVudC5jCisrKyBiL2FyY2gvc2gvbW0vY29uc2lz dGVudC5jCkBAIC0yMiw3ICsyMiw3IEBACiAKICNkZWZpbmUgUFJFQUxMT0NfRE1BX0RFQlVHX0VO VFJJRVMJNDA5NgogCi1zdHJ1Y3QgZG1hX21hcF9vcHMgKmRtYV9vcHM7Citjb25zdCBzdHJ1Y3Qg ZG1hX21hcF9vcHMgKmRtYV9vcHM7CiBFWFBPUlRfU1lNQk9MKGRtYV9vcHMpOwogCiBzdGF0aWMg aW50IF9faW5pdCBkbWFfaW5pdCh2b2lkKQpkaWZmIC0tZ2l0IGEvYXJjaC9zcGFyYy9pbmNsdWRl L2FzbS9kbWEtbWFwcGluZy5oIGIvYXJjaC9zcGFyYy9pbmNsdWRlL2FzbS9kbWEtbWFwcGluZy5o CmluZGV4IDExODBhZTI1NDE1NC4uM2QyYmFiYzBjNGM2IDEwMDY0NAotLS0gYS9hcmNoL3NwYXJj L2luY2x1ZGUvYXNtL2RtYS1tYXBwaW5nLmgKKysrIGIvYXJjaC9zcGFyYy9pbmNsdWRlL2FzbS9k bWEtbWFwcGluZy5oCkBAIC0xOCwxMyArMTgsMTMgQEAgc3RhdGljIGlubGluZSB2b2lkIGRtYV9j YWNoZV9zeW5jKHN0cnVjdCBkZXZpY2UgKmRldiwgdm9pZCAqdmFkZHIsIHNpemVfdCBzaXplLAog CSAqLwogfQogCi1leHRlcm4gc3RydWN0IGRtYV9tYXBfb3BzICpkbWFfb3BzOwotZXh0ZXJuIHN0 cnVjdCBkbWFfbWFwX29wcyAqbGVvbl9kbWFfb3BzOwotZXh0ZXJuIHN0cnVjdCBkbWFfbWFwX29w cyBwY2kzMl9kbWFfb3BzOworZXh0ZXJuIGNvbnN0IHN0cnVjdCBkbWFfbWFwX29wcyAqZG1hX29w czsKK2V4dGVybiBjb25zdCBzdHJ1Y3QgZG1hX21hcF9vcHMgKmxlb25fZG1hX29wczsKK2V4dGVy biBjb25zdCBzdHJ1Y3QgZG1hX21hcF9vcHMgcGNpMzJfZG1hX29wczsKIAogZXh0ZXJuIHN0cnVj dCBidXNfdHlwZSBwY2lfYnVzX3R5cGU7CiAKLXN0YXRpYyBpbmxpbmUgc3RydWN0IGRtYV9tYXBf b3BzICpnZXRfZG1hX29wcyhzdHJ1Y3QgZGV2aWNlICpkZXYpCitzdGF0aWMgaW5saW5lIGNvbnN0 IHN0cnVjdCBkbWFfbWFwX29wcyAqZ2V0X2RtYV9vcHMoc3RydWN0IGRldmljZSAqZGV2KQogewog I2lmZGVmIENPTkZJR19TUEFSQ19MRU9OCiAJaWYgKHNwYXJjX2NwdV9tb2RlbCA9PSBzcGFyY19s ZW9uKQpkaWZmIC0tZ2l0IGEvYXJjaC9zcGFyYy9rZXJuZWwvaW9tbXUuYyBiL2FyY2gvc3BhcmMv a2VybmVsL2lvbW11LmMKaW5kZXggOWRmOTk3OTk1ZjZiLi5jNjNiYTk5Y2E1NTEgMTAwNjQ0Ci0t LSBhL2FyY2gvc3BhcmMva2VybmVsL2lvbW11LmMKKysrIGIvYXJjaC9zcGFyYy9rZXJuZWwvaW9t bXUuYwpAQCAtNzQxLDcgKzc0MSw3IEBAIHN0YXRpYyB2b2lkIGRtYV80dV9zeW5jX3NnX2Zvcl9j cHUoc3RydWN0IGRldmljZSAqZGV2LAogCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmlvbW11LT5s b2NrLCBmbGFncyk7CiB9CiAKLXN0YXRpYyBzdHJ1Y3QgZG1hX21hcF9vcHMgc3VuNHVfZG1hX29w cyA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZG1hX21hcF9vcHMgc3VuNHVfZG1hX29wcyA9IHsK IAkuYWxsb2MJCQk9IGRtYV80dV9hbGxvY19jb2hlcmVudCwKIAkuZnJlZQkJCT0gZG1hXzR1X2Zy ZWVfY29oZXJlbnQsCiAJLm1hcF9wYWdlCQk9IGRtYV80dV9tYXBfcGFnZSwKQEAgLTc1Miw3ICs3 NTIsNyBAQCBzdGF0aWMgc3RydWN0IGRtYV9tYXBfb3BzIHN1bjR1X2RtYV9vcHMgPSB7CiAJLnN5 bmNfc2dfZm9yX2NwdQk9IGRtYV80dV9zeW5jX3NnX2Zvcl9jcHUsCiB9OwogCi1zdHJ1Y3QgZG1h X21hcF9vcHMgKmRtYV9vcHMgPSAmc3VuNHVfZG1hX29wczsKK2NvbnN0IHN0cnVjdCBkbWFfbWFw X29wcyAqZG1hX29wcyA9ICZzdW40dV9kbWFfb3BzOwogRVhQT1JUX1NZTUJPTChkbWFfb3BzKTsK IAogaW50IGRtYV9zdXBwb3J0ZWQoc3RydWN0IGRldmljZSAqZGV2LCB1NjQgZGV2aWNlX21hc2sp CmRpZmYgLS1naXQgYS9hcmNoL3NwYXJjL2tlcm5lbC9pb3BvcnQuYyBiL2FyY2gvc3BhcmMva2Vy bmVsL2lvcG9ydC5jCmluZGV4IDZmZmFlYzQ0OTMxYS4uY2YyMDAzM2ExNDU4IDEwMDY0NAotLS0g YS9hcmNoL3NwYXJjL2tlcm5lbC9pb3BvcnQuYworKysgYi9hcmNoL3NwYXJjL2tlcm5lbC9pb3Bv cnQuYwpAQCAtNDAxLDcgKzQwMSw3IEBAIHN0YXRpYyB2b2lkIHNidXNfc3luY19zZ19mb3JfZGV2 aWNlKHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IHNjYXR0ZXJsaXN0ICpzZywKIAlCVUcoKTsK IH0KIAotc3RhdGljIHN0cnVjdCBkbWFfbWFwX29wcyBzYnVzX2RtYV9vcHMgPSB7CitzdGF0aWMg Y29uc3Qgc3RydWN0IGRtYV9tYXBfb3BzIHNidXNfZG1hX29wcyA9IHsKIAkuYWxsb2MJCQk9IHNi dXNfYWxsb2NfY29oZXJlbnQsCiAJLmZyZWUJCQk9IHNidXNfZnJlZV9jb2hlcmVudCwKIAkubWFw X3BhZ2UJCT0gc2J1c19tYXBfcGFnZSwKQEAgLTYzNyw3ICs2MzcsNyBAQCBzdGF0aWMgdm9pZCBw Y2kzMl9zeW5jX3NnX2Zvcl9kZXZpY2Uoc3RydWN0IGRldmljZSAqZGV2aWNlLCBzdHJ1Y3Qgc2Nh dHRlcmxpc3QgKgogCX0KIH0KIAotc3RydWN0IGRtYV9tYXBfb3BzIHBjaTMyX2RtYV9vcHMgPSB7 Citjb25zdCBzdHJ1Y3QgZG1hX21hcF9vcHMgcGNpMzJfZG1hX29wcyA9IHsKIAkuYWxsb2MJCQk9 IHBjaTMyX2FsbG9jX2NvaGVyZW50LAogCS5mcmVlCQkJPSBwY2kzMl9mcmVlX2NvaGVyZW50LAog CS5tYXBfcGFnZQkJPSBwY2kzMl9tYXBfcGFnZSwKQEAgLTY1MiwxMCArNjUyLDEwIEBAIHN0cnVj dCBkbWFfbWFwX29wcyBwY2kzMl9kbWFfb3BzID0gewogRVhQT1JUX1NZTUJPTChwY2kzMl9kbWFf b3BzKTsKIAogLyogbGVvbiByZS11c2VzIHBjaTMyX2RtYV9vcHMgKi8KLXN0cnVjdCBkbWFfbWFw X29wcyAqbGVvbl9kbWFfb3BzID0gJnBjaTMyX2RtYV9vcHM7Citjb25zdCBzdHJ1Y3QgZG1hX21h cF9vcHMgKmxlb25fZG1hX29wcyA9ICZwY2kzMl9kbWFfb3BzOwogRVhQT1JUX1NZTUJPTChsZW9u X2RtYV9vcHMpOwogCi1zdHJ1Y3QgZG1hX21hcF9vcHMgKmRtYV9vcHMgPSAmc2J1c19kbWFfb3Bz OworY29uc3Qgc3RydWN0IGRtYV9tYXBfb3BzICpkbWFfb3BzID0gJnNidXNfZG1hX29wczsKIEVY UE9SVF9TWU1CT0woZG1hX29wcyk7CiAKIApkaWZmIC0tZ2l0IGEvYXJjaC9zcGFyYy9rZXJuZWwv cGNpX3N1bjR2LmMgYi9hcmNoL3NwYXJjL2tlcm5lbC9wY2lfc3VuNHYuYwppbmRleCBmNGRhY2Nk MTJiZjUuLjY4YmVjN2M5N2NiOCAxMDA2NDQKLS0tIGEvYXJjaC9zcGFyYy9rZXJuZWwvcGNpX3N1 bjR2LmMKKysrIGIvYXJjaC9zcGFyYy9rZXJuZWwvcGNpX3N1bjR2LmMKQEAgLTY2OSw3ICs2Njks NyBAQCBzdGF0aWMgdm9pZCBkbWFfNHZfdW5tYXBfc2coc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1 Y3Qgc2NhdHRlcmxpc3QgKnNnbGlzdCwKIAlsb2NhbF9pcnFfcmVzdG9yZShmbGFncyk7CiB9CiAK LXN0YXRpYyBzdHJ1Y3QgZG1hX21hcF9vcHMgc3VuNHZfZG1hX29wcyA9IHsKK3N0YXRpYyBjb25z dCBzdHJ1Y3QgZG1hX21hcF9vcHMgc3VuNHZfZG1hX29wcyA9IHsKIAkuYWxsb2MJCQkJPSBkbWFf NHZfYWxsb2NfY29oZXJlbnQsCiAJLmZyZWUJCQkJPSBkbWFfNHZfZnJlZV9jb2hlcmVudCwKIAku bWFwX3BhZ2UJCQk9IGRtYV80dl9tYXBfcGFnZSwKZGlmZiAtLWdpdCBhL2FyY2gvdGlsZS9pbmNs dWRlL2FzbS9kZXZpY2UuaCBiL2FyY2gvdGlsZS9pbmNsdWRlL2FzbS9kZXZpY2UuaAppbmRleCA2 YWI4YmYxNDZkNGMuLjI1ZjIzYWM3ZDM2MSAxMDA2NDQKLS0tIGEvYXJjaC90aWxlL2luY2x1ZGUv YXNtL2RldmljZS5oCisrKyBiL2FyY2gvdGlsZS9pbmNsdWRlL2FzbS9kZXZpY2UuaApAQCAtMTgs NyArMTgsNyBAQAogCiBzdHJ1Y3QgZGV2X2FyY2hkYXRhIHsKIAkvKiBETUEgb3BlcmF0aW9ucyBv biB0aGF0IGRldmljZSAqLwotICAgICAgICBzdHJ1Y3QgZG1hX21hcF9vcHMJKmRtYV9vcHM7Cisg ICAgICAgIGNvbnN0IHN0cnVjdCBkbWFfbWFwX29wcwkqZG1hX29wczsKIAogCS8qIE9mZnNldCBv ZiB0aGUgRE1BIGFkZHJlc3MgZnJvbSB0aGUgUEEuICovCiAJZG1hX2FkZHJfdAkJZG1hX29mZnNl dDsKZGlmZiAtLWdpdCBhL2FyY2gvdGlsZS9pbmNsdWRlL2FzbS9kbWEtbWFwcGluZy5oIGIvYXJj aC90aWxlL2luY2x1ZGUvYXNtL2RtYS1tYXBwaW5nLmgKaW5kZXggMDFjZWI0YTg5NWIwLi40YTA2 Y2M3NWI4NTYgMTAwNjQ0Ci0tLSBhL2FyY2gvdGlsZS9pbmNsdWRlL2FzbS9kbWEtbWFwcGluZy5o CisrKyBiL2FyY2gvdGlsZS9pbmNsdWRlL2FzbS9kbWEtbWFwcGluZy5oCkBAIC0yNCwxMiArMjQs MTIgQEAKICNkZWZpbmUgQVJDSF9IQVNfRE1BX0dFVF9SRVFVSVJFRF9NQVNLCiAjZW5kaWYKIAot ZXh0ZXJuIHN0cnVjdCBkbWFfbWFwX29wcyAqdGlsZV9kbWFfbWFwX29wczsKLWV4dGVybiBzdHJ1 Y3QgZG1hX21hcF9vcHMgKmd4X3BjaV9kbWFfbWFwX29wczsKLWV4dGVybiBzdHJ1Y3QgZG1hX21h cF9vcHMgKmd4X2xlZ2FjeV9wY2lfZG1hX21hcF9vcHM7Ci1leHRlcm4gc3RydWN0IGRtYV9tYXBf b3BzICpneF9oeWJyaWRfcGNpX2RtYV9tYXBfb3BzOworZXh0ZXJuIGNvbnN0IHN0cnVjdCBkbWFf bWFwX29wcyAqdGlsZV9kbWFfbWFwX29wczsKK2V4dGVybiBjb25zdCBzdHJ1Y3QgZG1hX21hcF9v cHMgKmd4X3BjaV9kbWFfbWFwX29wczsKK2V4dGVybiBjb25zdCBzdHJ1Y3QgZG1hX21hcF9vcHMg Kmd4X2xlZ2FjeV9wY2lfZG1hX21hcF9vcHM7CitleHRlcm4gY29uc3Qgc3RydWN0IGRtYV9tYXBf b3BzICpneF9oeWJyaWRfcGNpX2RtYV9tYXBfb3BzOwogCi1zdGF0aWMgaW5saW5lIHN0cnVjdCBk bWFfbWFwX29wcyAqZ2V0X2RtYV9vcHMoc3RydWN0IGRldmljZSAqZGV2KQorc3RhdGljIGlubGlu ZSBjb25zdCBzdHJ1Y3QgZG1hX21hcF9vcHMgKmdldF9kbWFfb3BzKHN0cnVjdCBkZXZpY2UgKmRl dikKIHsKIAlpZiAoZGV2ICYmIGRldi0+YXJjaGRhdGEuZG1hX29wcykKIAkJcmV0dXJuIGRldi0+ YXJjaGRhdGEuZG1hX29wczsKQEAgLTU5LDcgKzU5LDcgQEAgc3RhdGljIGlubGluZSBwaHlzX2Fk ZHJfdCBkbWFfdG9fcGh5cyhzdHJ1Y3QgZGV2aWNlICpkZXYsIGRtYV9hZGRyX3QgZGFkZHIpCiAK IHN0YXRpYyBpbmxpbmUgdm9pZCBkbWFfbWFya19jbGVhbih2b2lkICphZGRyLCBzaXplX3Qgc2l6 ZSkge30KIAotc3RhdGljIGlubGluZSB2b2lkIHNldF9kbWFfb3BzKHN0cnVjdCBkZXZpY2UgKmRl diwgc3RydWN0IGRtYV9tYXBfb3BzICpvcHMpCitzdGF0aWMgaW5saW5lIHZvaWQgc2V0X2RtYV9v cHMoc3RydWN0IGRldmljZSAqZGV2LCBjb25zdCBzdHJ1Y3QgZG1hX21hcF9vcHMgKm9wcykKIHsK IAlkZXYtPmFyY2hkYXRhLmRtYV9vcHMgPSBvcHM7CiB9CmRpZmYgLS1naXQgYS9hcmNoL3RpbGUv a2VybmVsL3BjaS1kbWEuYyBiL2FyY2gvdGlsZS9rZXJuZWwvcGNpLWRtYS5jCmluZGV4IDI0ZTBm OGMyMWYyZi4uNTY5YmI2ZGQxNTRhIDEwMDY0NAotLS0gYS9hcmNoL3RpbGUva2VybmVsL3BjaS1k bWEuYworKysgYi9hcmNoL3RpbGUva2VybmVsL3BjaS1kbWEuYwpAQCAtMzI5LDcgKzMyOSw3IEBA IHRpbGVfZG1hX3N1cHBvcnRlZChzdHJ1Y3QgZGV2aWNlICpkZXYsIHU2NCBtYXNrKQogCXJldHVy biAxOwogfQogCi1zdGF0aWMgc3RydWN0IGRtYV9tYXBfb3BzIHRpbGVfZGVmYXVsdF9kbWFfbWFw X29wcyA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZG1hX21hcF9vcHMgdGlsZV9kZWZhdWx0X2Rt YV9tYXBfb3BzID0gewogCS5hbGxvYyA9IHRpbGVfZG1hX2FsbG9jX2NvaGVyZW50LAogCS5mcmVl ID0gdGlsZV9kbWFfZnJlZV9jb2hlcmVudCwKIAkubWFwX3BhZ2UgPSB0aWxlX2RtYV9tYXBfcGFn ZSwKQEAgLTM0NCw3ICszNDQsNyBAQCBzdGF0aWMgc3RydWN0IGRtYV9tYXBfb3BzIHRpbGVfZGVm YXVsdF9kbWFfbWFwX29wcyA9IHsKIAkuZG1hX3N1cHBvcnRlZCA9IHRpbGVfZG1hX3N1cHBvcnRl ZAogfTsKIAotc3RydWN0IGRtYV9tYXBfb3BzICp0aWxlX2RtYV9tYXBfb3BzID0gJnRpbGVfZGVm YXVsdF9kbWFfbWFwX29wczsKK2NvbnN0IHN0cnVjdCBkbWFfbWFwX29wcyAqdGlsZV9kbWFfbWFw X29wcyA9ICZ0aWxlX2RlZmF1bHRfZG1hX21hcF9vcHM7CiBFWFBPUlRfU1lNQk9MKHRpbGVfZG1h X21hcF9vcHMpOwogCiAvKiBHZW5lcmljIFBDSSBETUEgbWFwcGluZyBmdW5jdGlvbnMgKi8KQEAg LTUxNiw3ICs1MTYsNyBAQCB0aWxlX3BjaV9kbWFfc3VwcG9ydGVkKHN0cnVjdCBkZXZpY2UgKmRl diwgdTY0IG1hc2spCiAJcmV0dXJuIDE7CiB9CiAKLXN0YXRpYyBzdHJ1Y3QgZG1hX21hcF9vcHMg dGlsZV9wY2lfZGVmYXVsdF9kbWFfbWFwX29wcyA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZG1h X21hcF9vcHMgdGlsZV9wY2lfZGVmYXVsdF9kbWFfbWFwX29wcyA9IHsKIAkuYWxsb2MgPSB0aWxl X3BjaV9kbWFfYWxsb2NfY29oZXJlbnQsCiAJLmZyZWUgPSB0aWxlX3BjaV9kbWFfZnJlZV9jb2hl cmVudCwKIAkubWFwX3BhZ2UgPSB0aWxlX3BjaV9kbWFfbWFwX3BhZ2UsCkBAIC01MzEsNyArNTMx LDcgQEAgc3RhdGljIHN0cnVjdCBkbWFfbWFwX29wcyB0aWxlX3BjaV9kZWZhdWx0X2RtYV9tYXBf b3BzID0gewogCS5kbWFfc3VwcG9ydGVkID0gdGlsZV9wY2lfZG1hX3N1cHBvcnRlZAogfTsKIAot c3RydWN0IGRtYV9tYXBfb3BzICpneF9wY2lfZG1hX21hcF9vcHMgPSAmdGlsZV9wY2lfZGVmYXVs dF9kbWFfbWFwX29wczsKK2NvbnN0IHN0cnVjdCBkbWFfbWFwX29wcyAqZ3hfcGNpX2RtYV9tYXBf b3BzID0gJnRpbGVfcGNpX2RlZmF1bHRfZG1hX21hcF9vcHM7CiBFWFBPUlRfU1lNQk9MKGd4X3Bj aV9kbWFfbWFwX29wcyk7CiAKIC8qIFBDSSBETUEgbWFwcGluZyBmdW5jdGlvbnMgZm9yIGxlZ2Fj eSBQQ0kgZGV2aWNlcyAqLwpAQCAtNTUyLDcgKzU1Miw3IEBAIHN0YXRpYyB2b2lkIHRpbGVfc3dp b3RsYl9mcmVlX2NvaGVyZW50KHN0cnVjdCBkZXZpY2UgKmRldiwgc2l6ZV90IHNpemUsCiAJc3dp b3RsYl9mcmVlX2NvaGVyZW50KGRldiwgc2l6ZSwgdmFkZHIsIGRtYV9hZGRyKTsKIH0KIAotc3Rh dGljIHN0cnVjdCBkbWFfbWFwX29wcyBwY2lfc3dpb3RsYl9kbWFfb3BzID0geworc3RhdGljIGNv bnN0IHN0cnVjdCBkbWFfbWFwX29wcyBwY2lfc3dpb3RsYl9kbWFfb3BzID0gewogCS5hbGxvYyA9 IHRpbGVfc3dpb3RsYl9hbGxvY19jb2hlcmVudCwKIAkuZnJlZSA9IHRpbGVfc3dpb3RsYl9mcmVl X2NvaGVyZW50LAogCS5tYXBfcGFnZSA9IHN3aW90bGJfbWFwX3BhZ2UsCkBAIC01NjcsNyArNTY3 LDcgQEAgc3RhdGljIHN0cnVjdCBkbWFfbWFwX29wcyBwY2lfc3dpb3RsYl9kbWFfb3BzID0gewog CS5tYXBwaW5nX2Vycm9yID0gc3dpb3RsYl9kbWFfbWFwcGluZ19lcnJvciwKIH07CiAKLXN0YXRp YyBzdHJ1Y3QgZG1hX21hcF9vcHMgcGNpX2h5YnJpZF9kbWFfb3BzID0geworc3RhdGljIGNvbnN0 IHN0cnVjdCBkbWFfbWFwX29wcyBwY2lfaHlicmlkX2RtYV9vcHMgPSB7CiAJLmFsbG9jID0gdGls ZV9zd2lvdGxiX2FsbG9jX2NvaGVyZW50LAogCS5mcmVlID0gdGlsZV9zd2lvdGxiX2ZyZWVfY29o ZXJlbnQsCiAJLm1hcF9wYWdlID0gdGlsZV9wY2lfZG1hX21hcF9wYWdlLApAQCAtNTgyLDE4ICs1 ODIsMTggQEAgc3RhdGljIHN0cnVjdCBkbWFfbWFwX29wcyBwY2lfaHlicmlkX2RtYV9vcHMgPSB7 CiAJLmRtYV9zdXBwb3J0ZWQgPSB0aWxlX3BjaV9kbWFfc3VwcG9ydGVkCiB9OwogCi1zdHJ1Y3Qg ZG1hX21hcF9vcHMgKmd4X2xlZ2FjeV9wY2lfZG1hX21hcF9vcHMgPSAmcGNpX3N3aW90bGJfZG1h X29wczsKLXN0cnVjdCBkbWFfbWFwX29wcyAqZ3hfaHlicmlkX3BjaV9kbWFfbWFwX29wcyA9ICZw Y2lfaHlicmlkX2RtYV9vcHM7Citjb25zdCBzdHJ1Y3QgZG1hX21hcF9vcHMgKmd4X2xlZ2FjeV9w Y2lfZG1hX21hcF9vcHMgPSAmcGNpX3N3aW90bGJfZG1hX29wczsKK2NvbnN0IHN0cnVjdCBkbWFf bWFwX29wcyAqZ3hfaHlicmlkX3BjaV9kbWFfbWFwX29wcyA9ICZwY2lfaHlicmlkX2RtYV9vcHM7 CiAjZWxzZQotc3RydWN0IGRtYV9tYXBfb3BzICpneF9sZWdhY3lfcGNpX2RtYV9tYXBfb3BzOwot c3RydWN0IGRtYV9tYXBfb3BzICpneF9oeWJyaWRfcGNpX2RtYV9tYXBfb3BzOworY29uc3Qgc3Ry dWN0IGRtYV9tYXBfb3BzICpneF9sZWdhY3lfcGNpX2RtYV9tYXBfb3BzOworY29uc3Qgc3RydWN0 IGRtYV9tYXBfb3BzICpneF9oeWJyaWRfcGNpX2RtYV9tYXBfb3BzOwogI2VuZGlmCiBFWFBPUlRf U1lNQk9MKGd4X2xlZ2FjeV9wY2lfZG1hX21hcF9vcHMpOwogRVhQT1JUX1NZTUJPTChneF9oeWJy aWRfcGNpX2RtYV9tYXBfb3BzKTsKIAogaW50IGRtYV9zZXRfbWFzayhzdHJ1Y3QgZGV2aWNlICpk ZXYsIHU2NCBtYXNrKQogewotCXN0cnVjdCBkbWFfbWFwX29wcyAqZG1hX29wcyA9IGdldF9kbWFf b3BzKGRldik7CisJY29uc3Qgc3RydWN0IGRtYV9tYXBfb3BzICpkbWFfb3BzID0gZ2V0X2RtYV9v cHMoZGV2KTsKIAogCS8qCiAJICogRm9yIFBDSSBkZXZpY2VzIHdpdGggNjQtYml0IERNQSBhZGRy ZXNzaW5nIGNhcGFiaWxpdHksIHByb21vdGUKQEAgLTYyMyw3ICs2MjMsNyBAQCBFWFBPUlRfU1lN Qk9MKGRtYV9zZXRfbWFzayk7CiAjaWZkZWYgQ09ORklHX0FSQ0hfSEFTX0RNQV9TRVRfQ09IRVJF TlRfTUFTSwogaW50IGRtYV9zZXRfY29oZXJlbnRfbWFzayhzdHJ1Y3QgZGV2aWNlICpkZXYsIHU2 NCBtYXNrKQogewotCXN0cnVjdCBkbWFfbWFwX29wcyAqZG1hX29wcyA9IGdldF9kbWFfb3BzKGRl dik7CisJY29uc3Qgc3RydWN0IGRtYV9tYXBfb3BzICpkbWFfb3BzID0gZ2V0X2RtYV9vcHMoZGV2 KTsKIAogCS8qCiAJICogRm9yIFBDSSBkZXZpY2VzIHdpdGggNjQtYml0IERNQSBhZGRyZXNzaW5n IGNhcGFiaWxpdHksIHByb21vdGUKZGlmZiAtLWdpdCBhL2FyY2gvdW5pY29yZTMyL2luY2x1ZGUv YXNtL2RtYS1tYXBwaW5nLmggYi9hcmNoL3VuaWNvcmUzMi9pbmNsdWRlL2FzbS9kbWEtbWFwcGlu Zy5oCmluZGV4IDQ3NDk4NTRhZmQwMy4uMTRkNzcyOWM3YjczIDEwMDY0NAotLS0gYS9hcmNoL3Vu aWNvcmUzMi9pbmNsdWRlL2FzbS9kbWEtbWFwcGluZy5oCisrKyBiL2FyY2gvdW5pY29yZTMyL2lu Y2x1ZGUvYXNtL2RtYS1tYXBwaW5nLmgKQEAgLTIxLDkgKzIxLDkgQEAKICNpbmNsdWRlIDxhc20v bWVtb3J5Lmg+CiAjaW5jbHVkZSA8YXNtL2NhY2hlZmx1c2guaD4KIAotZXh0ZXJuIHN0cnVjdCBk bWFfbWFwX29wcyBzd2lvdGxiX2RtYV9tYXBfb3BzOworZXh0ZXJuIGNvbnN0IHN0cnVjdCBkbWFf bWFwX29wcyBzd2lvdGxiX2RtYV9tYXBfb3BzOwogCi1zdGF0aWMgaW5saW5lIHN0cnVjdCBkbWFf bWFwX29wcyAqZ2V0X2RtYV9vcHMoc3RydWN0IGRldmljZSAqZGV2KQorc3RhdGljIGlubGluZSBj b25zdCBzdHJ1Y3QgZG1hX21hcF9vcHMgKmdldF9kbWFfb3BzKHN0cnVjdCBkZXZpY2UgKmRldikK IHsKIAlyZXR1cm4gJnN3aW90bGJfZG1hX21hcF9vcHM7CiB9CmRpZmYgLS1naXQgYS9hcmNoL3Vu aWNvcmUzMi9tbS9kbWEtc3dpb3RsYi5jIGIvYXJjaC91bmljb3JlMzIvbW0vZG1hLXN3aW90bGIu YwppbmRleCAzZTlmNjQ4OWJhMzguLjUyNTQxM2Q2NjkwZSAxMDA2NDQKLS0tIGEvYXJjaC91bmlj b3JlMzIvbW0vZG1hLXN3aW90bGIuYworKysgYi9hcmNoL3VuaWNvcmUzMi9tbS9kbWEtc3dpb3Rs Yi5jCkBAIC0zMSw3ICszMSw3IEBAIHN0YXRpYyB2b2lkIHVuaWNvcmVfc3dpb3RsYl9mcmVlX2Nv aGVyZW50KHN0cnVjdCBkZXZpY2UgKmRldiwgc2l6ZV90IHNpemUsCiAJc3dpb3RsYl9mcmVlX2Nv aGVyZW50KGRldiwgc2l6ZSwgdmFkZHIsIGRtYV9hZGRyKTsKIH0KIAotc3RydWN0IGRtYV9tYXBf b3BzIHN3aW90bGJfZG1hX21hcF9vcHMgPSB7Citjb25zdCBzdHJ1Y3QgZG1hX21hcF9vcHMgc3dp b3RsYl9kbWFfbWFwX29wcyA9IHsKIAkuYWxsb2MgPSB1bmljb3JlX3N3aW90bGJfYWxsb2NfY29o ZXJlbnQsCiAJLmZyZWUgPSB1bmljb3JlX3N3aW90bGJfZnJlZV9jb2hlcmVudCwKIAkubWFwX3Nn ID0gc3dpb3RsYl9tYXBfc2dfYXR0cnMsCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9pbmNsdWRlL2Fz bS9kZXZpY2UuaCBiL2FyY2gveDg2L2luY2x1ZGUvYXNtL2RldmljZS5oCmluZGV4IDY4NGVkNmMz YWE2Ny4uYjJkMGI0Y2VkN2UzIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9kZXZp Y2UuaAorKysgYi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9kZXZpY2UuaApAQCAtMyw3ICszLDcgQEAK IAogc3RydWN0IGRldl9hcmNoZGF0YSB7CiAjaWZkZWYgQ09ORklHX1g4Nl9ERVZfRE1BX09QUwot CXN0cnVjdCBkbWFfbWFwX29wcyAqZG1hX29wczsKKwljb25zdCBzdHJ1Y3QgZG1hX21hcF9vcHMg KmRtYV9vcHM7CiAjZW5kaWYKICNpZiBkZWZpbmVkKENPTkZJR19JTlRFTF9JT01NVSkgfHwgZGVm aW5lZChDT05GSUdfQU1EX0lPTU1VKQogCXZvaWQgKmlvbW11OyAvKiBob29rIGZvciBJT01NVSBz cGVjaWZpYyBleHRlbnNpb24gKi8KQEAgLTEzLDcgKzEzLDcgQEAgc3RydWN0IGRldl9hcmNoZGF0 YSB7CiAjaWYgZGVmaW5lZChDT05GSUdfWDg2X0RFVl9ETUFfT1BTKSAmJiBkZWZpbmVkKENPTkZJ R19QQ0lfRE9NQUlOUykKIHN0cnVjdCBkbWFfZG9tYWluIHsKIAlzdHJ1Y3QgbGlzdF9oZWFkIG5v ZGU7Ci0Jc3RydWN0IGRtYV9tYXBfb3BzICpkbWFfb3BzOworCWNvbnN0IHN0cnVjdCBkbWFfbWFw X29wcyAqZG1hX29wczsKIAlpbnQgZG9tYWluX25yOwogfTsKIHZvaWQgYWRkX2RtYV9kb21haW4o c3RydWN0IGRtYV9kb21haW4gKmRvbWFpbik7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9pbmNsdWRl L2FzbS9kbWEtbWFwcGluZy5oIGIvYXJjaC94ODYvaW5jbHVkZS9hc20vZG1hLW1hcHBpbmcuaApp bmRleCA0NDQ2MTYyNjgzMGUuLjVlNDc3Mjg4NmExZSAxMDA2NDQKLS0tIGEvYXJjaC94ODYvaW5j bHVkZS9hc20vZG1hLW1hcHBpbmcuaAorKysgYi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9kbWEtbWFw cGluZy5oCkBAIC0yNSw5ICsyNSw5IEBAIGV4dGVybiBpbnQgaW9tbXVfbWVyZ2U7CiBleHRlcm4g c3RydWN0IGRldmljZSB4ODZfZG1hX2ZhbGxiYWNrX2RldjsKIGV4dGVybiBpbnQgcGFuaWNfb25f b3ZlcmZsb3c7CiAKLWV4dGVybiBzdHJ1Y3QgZG1hX21hcF9vcHMgKmRtYV9vcHM7CitleHRlcm4g Y29uc3Qgc3RydWN0IGRtYV9tYXBfb3BzICpkbWFfb3BzOwogCi1zdGF0aWMgaW5saW5lIHN0cnVj dCBkbWFfbWFwX29wcyAqZ2V0X2RtYV9vcHMoc3RydWN0IGRldmljZSAqZGV2KQorc3RhdGljIGlu bGluZSBjb25zdCBzdHJ1Y3QgZG1hX21hcF9vcHMgKmdldF9kbWFfb3BzKHN0cnVjdCBkZXZpY2Ug KmRldikKIHsKICNpZm5kZWYgQ09ORklHX1g4Nl9ERVZfRE1BX09QUwogCXJldHVybiBkbWFfb3Bz OwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvaW5jbHVkZS9hc20vaW9tbXUuaCBiL2FyY2gveDg2L2lu Y2x1ZGUvYXNtL2lvbW11LmgKaW5kZXggMzQ1Yzk5Y2VmMTUyLi43OTM4Njk4Nzk0NjQgMTAwNjQ0 Ci0tLSBhL2FyY2gveDg2L2luY2x1ZGUvYXNtL2lvbW11LmgKKysrIGIvYXJjaC94ODYvaW5jbHVk ZS9hc20vaW9tbXUuaApAQCAtMSw3ICsxLDcgQEAKICNpZm5kZWYgX0FTTV9YODZfSU9NTVVfSAog I2RlZmluZSBfQVNNX1g4Nl9JT01NVV9ICiAKLWV4dGVybiBzdHJ1Y3QgZG1hX21hcF9vcHMgbm9t bXVfZG1hX29wczsKK2V4dGVybiBjb25zdCBzdHJ1Y3QgZG1hX21hcF9vcHMgbm9tbXVfZG1hX29w czsKIGV4dGVybiBpbnQgZm9yY2VfaW9tbXUsIG5vX2lvbW11OwogZXh0ZXJuIGludCBpb21tdV9k ZXRlY3RlZDsKIGV4dGVybiBpbnQgaW9tbXVfcGFzc190aHJvdWdoOwpkaWZmIC0tZ2l0IGEvYXJj aC94ODYva2VybmVsL2FtZF9nYXJ0XzY0LmMgYi9hcmNoL3g4Ni9rZXJuZWwvYW1kX2dhcnRfNjQu YwppbmRleCA2M2ZmNDY4YTc5ODYuLjgyZGZlMzJmYWFmNCAxMDA2NDQKLS0tIGEvYXJjaC94ODYv a2VybmVsL2FtZF9nYXJ0XzY0LmMKKysrIGIvYXJjaC94ODYva2VybmVsL2FtZF9nYXJ0XzY0LmMK QEAgLTY5NSw3ICs2OTUsNyBAQCBzdGF0aWMgX19pbml0IGludCBpbml0X2FtZF9nYXR0KHN0cnVj dCBhZ3Bfa2Vybl9pbmZvICppbmZvKQogCXJldHVybiAtMTsKIH0KIAotc3RhdGljIHN0cnVjdCBk bWFfbWFwX29wcyBnYXJ0X2RtYV9vcHMgPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IGRtYV9tYXBf b3BzIGdhcnRfZG1hX29wcyA9IHsKIAkubWFwX3NnCQkJCT0gZ2FydF9tYXBfc2csCiAJLnVubWFw X3NnCQkJPSBnYXJ0X3VubWFwX3NnLAogCS5tYXBfcGFnZQkJCT0gZ2FydF9tYXBfcGFnZSwKZGlm ZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9wY2ktY2FsZ2FyeV82NC5jIGIvYXJjaC94ODYva2Vy bmVsL3BjaS1jYWxnYXJ5XzY0LmMKaW5kZXggNWQ0MDBiYTEzNDlkLi4xN2YxODAxNDhjODAgMTAw NjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9wY2ktY2FsZ2FyeV82NC5jCisrKyBiL2FyY2gveDg2 L2tlcm5lbC9wY2ktY2FsZ2FyeV82NC5jCkBAIC00NzgsNyArNDc4LDcgQEAgc3RhdGljIHZvaWQg Y2FsZ2FyeV9mcmVlX2NvaGVyZW50KHN0cnVjdCBkZXZpY2UgKmRldiwgc2l6ZV90IHNpemUsCiAJ ZnJlZV9wYWdlcygodW5zaWduZWQgbG9uZyl2YWRkciwgZ2V0X29yZGVyKHNpemUpKTsKIH0KIAot c3RhdGljIHN0cnVjdCBkbWFfbWFwX29wcyBjYWxnYXJ5X2RtYV9vcHMgPSB7CitzdGF0aWMgY29u c3Qgc3RydWN0IGRtYV9tYXBfb3BzIGNhbGdhcnlfZG1hX29wcyA9IHsKIAkuYWxsb2MgPSBjYWxn YXJ5X2FsbG9jX2NvaGVyZW50LAogCS5mcmVlID0gY2FsZ2FyeV9mcmVlX2NvaGVyZW50LAogCS5t YXBfc2cgPSBjYWxnYXJ5X21hcF9zZywKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9wY2kt ZG1hLmMgYi9hcmNoL3g4Ni9rZXJuZWwvcGNpLWRtYS5jCmluZGV4IGQzMGMzNzc1MDc2NS4uNzZm NGMwMzliYWFlIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvcGNpLWRtYS5jCisrKyBiL2Fy Y2gveDg2L2tlcm5lbC9wY2ktZG1hLmMKQEAgLTE3LDcgKzE3LDcgQEAKIAogc3RhdGljIGludCBm b3JiaWRfZGFjIF9fcmVhZF9tb3N0bHk7CiAKLXN0cnVjdCBkbWFfbWFwX29wcyAqZG1hX29wcyA9 ICZub21tdV9kbWFfb3BzOworY29uc3Qgc3RydWN0IGRtYV9tYXBfb3BzICpkbWFfb3BzID0gJm5v bW11X2RtYV9vcHM7CiBFWFBPUlRfU1lNQk9MKGRtYV9vcHMpOwogCiBzdGF0aWMgaW50IGlvbW11 X3NhY19mb3JjZSBfX3JlYWRfbW9zdGx5OwpAQCAtMjE0LDcgKzIxNCw3IEBAIGVhcmx5X3BhcmFt KCJpb21tdSIsIGlvbW11X3NldHVwKTsKIAogaW50IGRtYV9zdXBwb3J0ZWQoc3RydWN0IGRldmlj ZSAqZGV2LCB1NjQgbWFzaykKIHsKLQlzdHJ1Y3QgZG1hX21hcF9vcHMgKm9wcyA9IGdldF9kbWFf b3BzKGRldik7CisJY29uc3Qgc3RydWN0IGRtYV9tYXBfb3BzICpvcHMgPSBnZXRfZG1hX29wcyhk ZXYpOwogCiAjaWZkZWYgQ09ORklHX1BDSQogCWlmIChtYXNrID4gMHhmZmZmZmZmZiAmJiBmb3Ji aWRfZGFjID4gMCkgewpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL3BjaS1ub21tdS5jIGIv YXJjaC94ODYva2VybmVsL3BjaS1ub21tdS5jCmluZGV4IDAwZTcxY2UzOTZhOC4uYTg4OTUyZWYz NzFjIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvcGNpLW5vbW11LmMKKysrIGIvYXJjaC94 ODYva2VybmVsL3BjaS1ub21tdS5jCkBAIC04OCw3ICs4OCw3IEBAIHN0YXRpYyB2b2lkIG5vbW11 X3N5bmNfc2dfZm9yX2RldmljZShzdHJ1Y3QgZGV2aWNlICpkZXYsCiAJZmx1c2hfd3JpdGVfYnVm ZmVycygpOwogfQogCi1zdHJ1Y3QgZG1hX21hcF9vcHMgbm9tbXVfZG1hX29wcyA9IHsKK2NvbnN0 IHN0cnVjdCBkbWFfbWFwX29wcyBub21tdV9kbWFfb3BzID0gewogCS5hbGxvYwkJCT0gZG1hX2dl bmVyaWNfYWxsb2NfY29oZXJlbnQsCiAJLmZyZWUJCQk9IGRtYV9nZW5lcmljX2ZyZWVfY29oZXJl bnQsCiAJLm1hcF9zZwkJCT0gbm9tbXVfbWFwX3NnLApkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2Vy bmVsL3BjaS1zd2lvdGxiLmMgYi9hcmNoL3g4Ni9rZXJuZWwvcGNpLXN3aW90bGIuYwppbmRleCA0 MTBlZmIyYzdiODAuLjFlMjM1NzdlMTdjZiAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL3Bj aS1zd2lvdGxiLmMKKysrIGIvYXJjaC94ODYva2VybmVsL3BjaS1zd2lvdGxiLmMKQEAgLTQ1LDcg KzQ1LDcgQEAgdm9pZCB4ODZfc3dpb3RsYl9mcmVlX2NvaGVyZW50KHN0cnVjdCBkZXZpY2UgKmRl diwgc2l6ZV90IHNpemUsCiAJCWRtYV9nZW5lcmljX2ZyZWVfY29oZXJlbnQoZGV2LCBzaXplLCB2 YWRkciwgZG1hX2FkZHIsIGF0dHJzKTsKIH0KIAotc3RhdGljIHN0cnVjdCBkbWFfbWFwX29wcyBz d2lvdGxiX2RtYV9vcHMgPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IGRtYV9tYXBfb3BzIHN3aW90 bGJfZG1hX29wcyA9IHsKIAkubWFwcGluZ19lcnJvciA9IHN3aW90bGJfZG1hX21hcHBpbmdfZXJy b3IsCiAJLmFsbG9jID0geDg2X3N3aW90bGJfYWxsb2NfY29oZXJlbnQsCiAJLmZyZWUgPSB4ODZf c3dpb3RsYl9mcmVlX2NvaGVyZW50LApkaWZmIC0tZ2l0IGEvYXJjaC94ODYvcGNpL3N0YTJ4MTEt Zml4dXAuYyBiL2FyY2gveDg2L3BjaS9zdGEyeDExLWZpeHVwLmMKaW5kZXggMDUyYzFjYjc2MzA1 Li5hYTM4Mjg4MjMxNzAgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L3BjaS9zdGEyeDExLWZpeHVwLmMK KysrIGIvYXJjaC94ODYvcGNpL3N0YTJ4MTEtZml4dXAuYwpAQCAtMTc5LDcgKzE3OSw3IEBAIHN0 YXRpYyB2b2lkICpzdGEyeDExX3N3aW90bGJfYWxsb2NfY29oZXJlbnQoc3RydWN0IGRldmljZSAq ZGV2LAogfQogCiAvKiBXZSBoYXZlIG91ciBvd24gZG1hX29wczogdGhlIHNhbWUgYXMgc3dpb3Rs YiBidXQgZnJvbSBhbGxvYyAoYWJvdmUpICovCi1zdGF0aWMgc3RydWN0IGRtYV9tYXBfb3BzIHN0 YTJ4MTFfZG1hX29wcyA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZG1hX21hcF9vcHMgc3RhMngx MV9kbWFfb3BzID0gewogCS5hbGxvYyA9IHN0YTJ4MTFfc3dpb3RsYl9hbGxvY19jb2hlcmVudCwK IAkuZnJlZSA9IHg4Nl9zd2lvdGxiX2ZyZWVfY29oZXJlbnQsCiAJLm1hcF9wYWdlID0gc3dpb3Rs Yl9tYXBfcGFnZSwKZGlmZiAtLWdpdCBhL2FyY2gveDg2L3hlbi9wY2ktc3dpb3RsYi14ZW4uYyBi L2FyY2gveDg2L3hlbi9wY2ktc3dpb3RsYi14ZW4uYwppbmRleCBhMGIzNmE5ZDVkZjEuLjQyYjA4 ZjhmYzJjYSAxMDA2NDQKLS0tIGEvYXJjaC94ODYveGVuL3BjaS1zd2lvdGxiLXhlbi5jCisrKyBi L2FyY2gveDg2L3hlbi9wY2ktc3dpb3RsYi14ZW4uYwpAQCAtMTgsNyArMTgsNyBAQAogCiBpbnQg eGVuX3N3aW90bGIgX19yZWFkX21vc3RseTsKIAotc3RhdGljIHN0cnVjdCBkbWFfbWFwX29wcyB4 ZW5fc3dpb3RsYl9kbWFfb3BzID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBkbWFfbWFwX29wcyB4 ZW5fc3dpb3RsYl9kbWFfb3BzID0gewogCS5hbGxvYyA9IHhlbl9zd2lvdGxiX2FsbG9jX2NvaGVy ZW50LAogCS5mcmVlID0geGVuX3N3aW90bGJfZnJlZV9jb2hlcmVudCwKIAkuc3luY19zaW5nbGVf Zm9yX2NwdSA9IHhlbl9zd2lvdGxiX3N5bmNfc2luZ2xlX2Zvcl9jcHUsCmRpZmYgLS1naXQgYS9h cmNoL3h0ZW5zYS9pbmNsdWRlL2FzbS9kZXZpY2UuaCBiL2FyY2gveHRlbnNhL2luY2x1ZGUvYXNt L2RldmljZS5oCmluZGV4IGZlMWY1Yzg3ODQ5My4uYTc3ZDQ1ZDM5ZjM1IDEwMDY0NAotLS0gYS9h cmNoL3h0ZW5zYS9pbmNsdWRlL2FzbS9kZXZpY2UuaAorKysgYi9hcmNoL3h0ZW5zYS9pbmNsdWRl L2FzbS9kZXZpY2UuaApAQCAtMTAsNyArMTAsNyBAQCBzdHJ1Y3QgZG1hX21hcF9vcHM7CiAKIHN0 cnVjdCBkZXZfYXJjaGRhdGEgewogCS8qIERNQSBvcGVyYXRpb25zIG9uIHRoYXQgZGV2aWNlICov Ci0Jc3RydWN0IGRtYV9tYXBfb3BzICpkbWFfb3BzOworCWNvbnN0IHN0cnVjdCBkbWFfbWFwX29w cyAqZG1hX29wczsKIH07CiAKIHN0cnVjdCBwZGV2X2FyY2hkYXRhIHsKZGlmZiAtLWdpdCBhL2Fy Y2gveHRlbnNhL2luY2x1ZGUvYXNtL2RtYS1tYXBwaW5nLmggYi9hcmNoL3h0ZW5zYS9pbmNsdWRl L2FzbS9kbWEtbWFwcGluZy5oCmluZGV4IDNmYzExNzBhNjQ4OC4uNTBkMjMxMDZjY2UwIDEwMDY0 NAotLS0gYS9hcmNoL3h0ZW5zYS9pbmNsdWRlL2FzbS9kbWEtbWFwcGluZy5oCisrKyBiL2FyY2gv eHRlbnNhL2luY2x1ZGUvYXNtL2RtYS1tYXBwaW5nLmgKQEAgLTE4LDkgKzE4LDkgQEAKIAogI2Rl ZmluZSBETUFfRVJST1JfQ09ERQkJKH4oZG1hX2FkZHJfdCkweDApCiAKLWV4dGVybiBzdHJ1Y3Qg ZG1hX21hcF9vcHMgeHRlbnNhX2RtYV9tYXBfb3BzOworZXh0ZXJuIGNvbnN0IHN0cnVjdCBkbWFf bWFwX29wcyB4dGVuc2FfZG1hX21hcF9vcHM7CiAKLXN0YXRpYyBpbmxpbmUgc3RydWN0IGRtYV9t YXBfb3BzICpnZXRfZG1hX29wcyhzdHJ1Y3QgZGV2aWNlICpkZXYpCitzdGF0aWMgaW5saW5lIGNv bnN0IHN0cnVjdCBkbWFfbWFwX29wcyAqZ2V0X2RtYV9vcHMoc3RydWN0IGRldmljZSAqZGV2KQog ewogCWlmIChkZXYgJiYgZGV2LT5hcmNoZGF0YS5kbWFfb3BzKQogCQlyZXR1cm4gZGV2LT5hcmNo ZGF0YS5kbWFfb3BzOwpkaWZmIC0tZ2l0IGEvYXJjaC94dGVuc2Eva2VybmVsL3BjaS1kbWEuYyBi L2FyY2gveHRlbnNhL2tlcm5lbC9wY2ktZG1hLmMKaW5kZXggNzBlMzYyZTYwMzhlLi5lY2VjNTI2 NWE2NmQgMTAwNjQ0Ci0tLSBhL2FyY2gveHRlbnNhL2tlcm5lbC9wY2ktZG1hLmMKKysrIGIvYXJj aC94dGVuc2Eva2VybmVsL3BjaS1kbWEuYwpAQCAtMjQ5LDcgKzI0OSw3IEBAIGludCB4dGVuc2Ff ZG1hX21hcHBpbmdfZXJyb3Ioc3RydWN0IGRldmljZSAqZGV2LCBkbWFfYWRkcl90IGRtYV9hZGRy KQogCXJldHVybiAwOwogfQogCi1zdHJ1Y3QgZG1hX21hcF9vcHMgeHRlbnNhX2RtYV9tYXBfb3Bz ID0geworY29uc3Qgc3RydWN0IGRtYV9tYXBfb3BzIHh0ZW5zYV9kbWFfbWFwX29wcyA9IHsKIAku YWxsb2MgPSB4dGVuc2FfZG1hX2FsbG9jLAogCS5mcmVlID0geHRlbnNhX2RtYV9mcmVlLAogCS5t YXBfcGFnZSA9IHh0ZW5zYV9tYXBfcGFnZSwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW9tbXUvYW1k X2lvbW11LmMgYi9kcml2ZXJzL2lvbW11L2FtZF9pb21tdS5jCmluZGV4IDNlZjBmNDI5ODRmMi4u MzcwM2ZiOWRiNDE5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2lvbW11L2FtZF9pb21tdS5jCisrKyBi L2RyaXZlcnMvaW9tbXUvYW1kX2lvbW11LmMKQEAgLTExNyw3ICsxMTcsNyBAQCBzdGF0aWMgY29u c3Qgc3RydWN0IGlvbW11X29wcyBhbWRfaW9tbXVfb3BzOwogc3RhdGljIEFUT01JQ19OT1RJRklF Ul9IRUFEKHBwcl9ub3RpZmllcik7CiBpbnQgYW1kX2lvbW11X21heF9nbHhfdmFsID0gLTE7CiAK LXN0YXRpYyBzdHJ1Y3QgZG1hX21hcF9vcHMgYW1kX2lvbW11X2RtYV9vcHM7CitzdGF0aWMgY29u c3Qgc3RydWN0IGRtYV9tYXBfb3BzIGFtZF9pb21tdV9kbWFfb3BzOwogCiAvKgogICogVGhpcyBz dHJ1Y3QgY29udGFpbnMgZGV2aWNlIHNwZWNpZmljIGRhdGEgZm9yIHRoZSBJT01NVQpAQCAtMjcy OCw3ICsyNzI4LDcgQEAgc3RhdGljIGludCBhbWRfaW9tbXVfZG1hX3N1cHBvcnRlZChzdHJ1Y3Qg ZGV2aWNlICpkZXYsIHU2NCBtYXNrKQogCXJldHVybiBjaGVja19kZXZpY2UoZGV2KTsKIH0KIAot c3RhdGljIHN0cnVjdCBkbWFfbWFwX29wcyBhbWRfaW9tbXVfZG1hX29wcyA9IHsKK3N0YXRpYyBj b25zdCBzdHJ1Y3QgZG1hX21hcF9vcHMgYW1kX2lvbW11X2RtYV9vcHMgPSB7CiAJLmFsbG9jCQk9 IGFsbG9jX2NvaGVyZW50LAogCS5mcmVlCQk9IGZyZWVfY29oZXJlbnQsCiAJLm1hcF9wYWdlCT0g bWFwX3BhZ2UsCmRpZmYgLS1naXQgYS9kcml2ZXJzL21pc2MvbWljL2J1cy9taWNfYnVzLmMgYi9k cml2ZXJzL21pc2MvbWljL2J1cy9taWNfYnVzLmMKaW5kZXggYmUzNzg5MGFiYjkzLi5jNGIyN2Ey NTY2MmEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbWlzYy9taWMvYnVzL21pY19idXMuYworKysgYi9k cml2ZXJzL21pc2MvbWljL2J1cy9taWNfYnVzLmMKQEAgLTE0Myw3ICsxNDMsNyBAQCBzdGF0aWMg dm9pZCBtYnVzX3JlbGVhc2VfZGV2KHN0cnVjdCBkZXZpY2UgKmQpCiB9CiAKIHN0cnVjdCBtYnVz X2RldmljZSAqCi1tYnVzX3JlZ2lzdGVyX2RldmljZShzdHJ1Y3QgZGV2aWNlICpwZGV2LCBpbnQg aWQsIHN0cnVjdCBkbWFfbWFwX29wcyAqZG1hX29wcywKK21idXNfcmVnaXN0ZXJfZGV2aWNlKHN0 cnVjdCBkZXZpY2UgKnBkZXYsIGludCBpZCwgY29uc3Qgc3RydWN0IGRtYV9tYXBfb3BzICpkbWFf b3BzLAogCQkgICAgIHN0cnVjdCBtYnVzX2h3X29wcyAqaHdfb3BzLCBpbnQgaW5kZXgsCiAJCSAg ICAgdm9pZCBfX2lvbWVtICptbWlvX3ZhKQogewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9taXNjL21p Yy9idXMvc2NpZl9idXMuYyBiL2RyaXZlcnMvbWlzYy9taWMvYnVzL3NjaWZfYnVzLmMKaW5kZXgg ZmY2ZTAxYzI1ODEwLi5lNWQzNzdlOTdjODYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbWlzYy9taWMv YnVzL3NjaWZfYnVzLmMKKysrIGIvZHJpdmVycy9taXNjL21pYy9idXMvc2NpZl9idXMuYwpAQCAt MTM4LDcgKzEzOCw3IEBAIHN0YXRpYyB2b2lkIHNjaWZfcmVsZWFzZV9kZXYoc3RydWN0IGRldmlj ZSAqZCkKIH0KIAogc3RydWN0IHNjaWZfaHdfZGV2ICoKLXNjaWZfcmVnaXN0ZXJfZGV2aWNlKHN0 cnVjdCBkZXZpY2UgKnBkZXYsIGludCBpZCwgc3RydWN0IGRtYV9tYXBfb3BzICpkbWFfb3BzLAor c2NpZl9yZWdpc3Rlcl9kZXZpY2Uoc3RydWN0IGRldmljZSAqcGRldiwgaW50IGlkLCBjb25zdCBz dHJ1Y3QgZG1hX21hcF9vcHMgKmRtYV9vcHMsCiAJCSAgICAgc3RydWN0IHNjaWZfaHdfb3BzICpo d19vcHMsIHU4IGRub2RlLCB1OCBzbm9kZSwKIAkJICAgICBzdHJ1Y3QgbWljX213ICptbWlvLCBz dHJ1Y3QgbWljX213ICphcGVyLCB2b2lkICpkcCwKIAkJICAgICB2b2lkIF9faW9tZW0gKnJkcCwg c3RydWN0IGRtYV9jaGFuICoqY2hhbiwgaW50IG51bV9jaGFuLApkaWZmIC0tZ2l0IGEvZHJpdmVy cy9taXNjL21pYy9idXMvc2NpZl9idXMuaCBiL2RyaXZlcnMvbWlzYy9taWMvYnVzL3NjaWZfYnVz LmgKaW5kZXggOTRmMjlhYzYwOGI2Li5mZjU5NTY4MjE5YWQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv bWlzYy9taWMvYnVzL3NjaWZfYnVzLmgKKysrIGIvZHJpdmVycy9taXNjL21pYy9idXMvc2NpZl9i dXMuaApAQCAtMTEzLDcgKzExMyw3IEBAIGludCBzY2lmX3JlZ2lzdGVyX2RyaXZlcihzdHJ1Y3Qg c2NpZl9kcml2ZXIgKmRyaXZlcik7CiB2b2lkIHNjaWZfdW5yZWdpc3Rlcl9kcml2ZXIoc3RydWN0 IHNjaWZfZHJpdmVyICpkcml2ZXIpOwogc3RydWN0IHNjaWZfaHdfZGV2ICoKIHNjaWZfcmVnaXN0 ZXJfZGV2aWNlKHN0cnVjdCBkZXZpY2UgKnBkZXYsIGludCBpZCwKLQkJICAgICBzdHJ1Y3QgZG1h X21hcF9vcHMgKmRtYV9vcHMsCisJCSAgICAgY29uc3Qgc3RydWN0IGRtYV9tYXBfb3BzICpkbWFf b3BzLAogCQkgICAgIHN0cnVjdCBzY2lmX2h3X29wcyAqaHdfb3BzLCB1OCBkbm9kZSwgdTggc25v ZGUsCiAJCSAgICAgc3RydWN0IG1pY19tdyAqbW1pbywgc3RydWN0IG1pY19tdyAqYXBlciwKIAkJ ICAgICB2b2lkICpkcCwgdm9pZCBfX2lvbWVtICpyZHAsCmRpZmYgLS1naXQgYS9kcml2ZXJzL21p c2MvbWljL2J1cy92b3BfYnVzLmMgYi9kcml2ZXJzL21pc2MvbWljL2J1cy92b3BfYnVzLmMKaW5k ZXggMzAzZGEyMjJmNWI2Li5iNTk1NTFmNWRiNjUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbWlzYy9t aWMvYnVzL3ZvcF9idXMuYworKysgYi9kcml2ZXJzL21pc2MvbWljL2J1cy92b3BfYnVzLmMKQEAg LTE1NCw3ICsxNTQsNyBAQCB2b3BfcmVnaXN0ZXJfZGV2aWNlKHN0cnVjdCBkZXZpY2UgKnBkZXYs IGludCBpZCwKIAl2ZGV2LT5kZXYucGFyZW50ID0gcGRldjsKIAl2ZGV2LT5pZC5kZXZpY2UgPSBp ZDsKIAl2ZGV2LT5pZC52ZW5kb3IgPSBWT1BfREVWX0FOWV9JRDsKLQl2ZGV2LT5kZXYuYXJjaGRh dGEuZG1hX29wcyA9IChzdHJ1Y3QgZG1hX21hcF9vcHMgKilkbWFfb3BzOworCXZkZXYtPmRldi5h cmNoZGF0YS5kbWFfb3BzID0gKGNvbnN0IHN0cnVjdCBkbWFfbWFwX29wcyAqKWRtYV9vcHM7CiAJ dmRldi0+ZGV2LmRtYV9tYXNrID0gJnZkZXYtPmRldi5jb2hlcmVudF9kbWFfbWFzazsKIAlkbWFf c2V0X21hc2soJnZkZXYtPmRldiwgRE1BX0JJVF9NQVNLKDY0KSk7CiAJdmRldi0+ZGV2LnJlbGVh c2UgPSB2b3BfcmVsZWFzZV9kZXY7CmRpZmYgLS1naXQgYS9kcml2ZXJzL21pc2MvbWljL2hvc3Qv bWljX2Jvb3QuYyBiL2RyaXZlcnMvbWlzYy9taWMvaG9zdC9taWNfYm9vdC5jCmluZGV4IDk1OTlk NzMyYWZmMy4uYzMyNzk4NWM5NTIzIDEwMDY0NAotLS0gYS9kcml2ZXJzL21pc2MvbWljL2hvc3Qv bWljX2Jvb3QuYworKysgYi9kcml2ZXJzL21pc2MvbWljL2hvc3QvbWljX2Jvb3QuYwpAQCAtMjQ1 LDcgKzI0NSw3IEBAIHN0YXRpYyB2b2lkIF9fbWljX2RtYV91bm1hcF9zZyhzdHJ1Y3QgZGV2aWNl ICpkZXYsCiAJZG1hX3VubWFwX3NnKCZtZGV2LT5wZGV2LT5kZXYsIHNnLCBuZW50cywgZGlyKTsK IH0KIAotc3RhdGljIHN0cnVjdCBkbWFfbWFwX29wcyBfX21pY19kbWFfb3BzID0geworc3RhdGlj IGNvbnN0IHN0cnVjdCBkbWFfbWFwX29wcyBfX21pY19kbWFfb3BzID0gewogCS5hbGxvYyA9IF9f bWljX2RtYV9hbGxvYywKIAkuZnJlZSA9IF9fbWljX2RtYV9mcmVlLAogCS5tYXBfcGFnZSA9IF9f bWljX2RtYV9tYXBfcGFnZSwKQEAgLTM0NCw3ICszNDQsNyBAQCBtaWNfZG1hX3VubWFwX3BhZ2Uo c3RydWN0IGRldmljZSAqZGV2LCBkbWFfYWRkcl90IGRtYV9hZGRyLAogCW1pY191bm1hcF9zaW5n bGUobWRldiwgZG1hX2FkZHIsIHNpemUpOwogfQogCi1zdGF0aWMgc3RydWN0IGRtYV9tYXBfb3Bz IG1pY19kbWFfb3BzID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBkbWFfbWFwX29wcyBtaWNfZG1h X29wcyA9IHsKIAkubWFwX3BhZ2UgPSBtaWNfZG1hX21hcF9wYWdlLAogCS51bm1hcF9wYWdlID0g bWljX2RtYV91bm1hcF9wYWdlLAogfTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvcGFyaXNjL2NjaW8t ZG1hLmMgYi9kcml2ZXJzL3BhcmlzYy9jY2lvLWRtYS5jCmluZGV4IDU1M2VmOGE1ZDU4OC4uYWVi MDczYjVmZTE2IDEwMDY0NAotLS0gYS9kcml2ZXJzL3BhcmlzYy9jY2lvLWRtYS5jCisrKyBiL2Ry aXZlcnMvcGFyaXNjL2NjaW8tZG1hLmMKQEAgLTEwMTEsNyArMTAxMSw3IEBAIGNjaW9fdW5tYXBf c2coc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3Qgc2NhdHRlcmxpc3QgKnNnbGlzdCwgaW50IG5l bnRzLAogCURCR19SVU5fU0coIiVzKCkgRE9ORSAobmVudHMgJWQpXG4iLCBfX2Z1bmNfXywgbmVu dHMpOwogfQogCi1zdGF0aWMgc3RydWN0IGRtYV9tYXBfb3BzIGNjaW9fb3BzID0geworc3RhdGlj IGNvbnN0IHN0cnVjdCBkbWFfbWFwX29wcyBjY2lvX29wcyA9IHsKIAkuZG1hX3N1cHBvcnRlZCA9 CWNjaW9fZG1hX3N1cHBvcnRlZCwKIAkuYWxsb2MgPQkJY2Npb19hbGxvYywKIAkuZnJlZSA9CQkJ Y2Npb19mcmVlLApkaWZmIC0tZ2l0IGEvZHJpdmVycy9wYXJpc2Mvc2JhX2lvbW11LmMgYi9kcml2 ZXJzL3BhcmlzYy9zYmFfaW9tbXUuYwppbmRleCAxNTFiODZiNmQyZTIuLjMzMzg1ZTU3NDQzMyAx MDA2NDQKLS0tIGEvZHJpdmVycy9wYXJpc2Mvc2JhX2lvbW11LmMKKysrIGIvZHJpdmVycy9wYXJp c2Mvc2JhX2lvbW11LmMKQEAgLTEwNjksNyArMTA2OSw3IEBAIHNiYV91bm1hcF9zZyhzdHJ1Y3Qg ZGV2aWNlICpkZXYsIHN0cnVjdCBzY2F0dGVybGlzdCAqc2dsaXN0LCBpbnQgbmVudHMsCiAKIH0K IAotc3RhdGljIHN0cnVjdCBkbWFfbWFwX29wcyBzYmFfb3BzID0geworc3RhdGljIGNvbnN0IHN0 cnVjdCBkbWFfbWFwX29wcyBzYmFfb3BzID0gewogCS5kbWFfc3VwcG9ydGVkID0Jc2JhX2RtYV9z dXBwb3J0ZWQsCiAJLmFsbG9jID0JCXNiYV9hbGxvYywKIAkuZnJlZSA9CQkJc2JhX2ZyZWUsCmRp ZmYgLS1naXQgYS9kcml2ZXJzL3BjaS9ob3N0L3ZtZC5jIGIvZHJpdmVycy9wY2kvaG9zdC92bWQu YwppbmRleCAxOGVmMWE5M2MxMGEuLmUyN2FkMmEzYmQzMyAxMDA2NDQKLS0tIGEvZHJpdmVycy9w Y2kvaG9zdC92bWQuYworKysgYi9kcml2ZXJzL3BjaS9ob3N0L3ZtZC5jCkBAIC0yODIsNyArMjgy LDcgQEAgc3RhdGljIHN0cnVjdCBkZXZpY2UgKnRvX3ZtZF9kZXYoc3RydWN0IGRldmljZSAqZGV2 KQogCXJldHVybiAmdm1kLT5kZXYtPmRldjsKIH0KIAotc3RhdGljIHN0cnVjdCBkbWFfbWFwX29w cyAqdm1kX2RtYV9vcHMoc3RydWN0IGRldmljZSAqZGV2KQorc3RhdGljIGNvbnN0IHN0cnVjdCBk bWFfbWFwX29wcyAqdm1kX2RtYV9vcHMoc3RydWN0IGRldmljZSAqZGV2KQogewogCXJldHVybiBn ZXRfZG1hX29wcyh0b192bWRfZGV2KGRldikpOwogfQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51 eC9kbWEtbWFwcGluZy5oIGIvaW5jbHVkZS9saW51eC9kbWEtbWFwcGluZy5oCmluZGV4IDEwYzVh MTdiMWY1MS4uZjFkYTY4YjgyYzYzIDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L2RtYS1tYXBw aW5nLmgKKysrIGIvaW5jbHVkZS9saW51eC9kbWEtbWFwcGluZy5oCkBAIC0xMjcsNyArMTI3LDcg QEAgc3RydWN0IGRtYV9tYXBfb3BzIHsKIAlpbnQgaXNfcGh5czsKIH07CiAKLWV4dGVybiBzdHJ1 Y3QgZG1hX21hcF9vcHMgZG1hX25vb3Bfb3BzOworZXh0ZXJuIGNvbnN0IHN0cnVjdCBkbWFfbWFw X29wcyBkbWFfbm9vcF9vcHM7CiAKICNkZWZpbmUgRE1BX0JJVF9NQVNLKG4pCSgoKG4pID09IDY0 KSA/IH4wVUxMIDogKCgxVUxMPDwobikpLTEpKQogCkBAIC0xNzAsOCArMTcwLDggQEAgaW50IGRt YV9tbWFwX2Zyb21fY29oZXJlbnQoc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3Qgdm1fYXJlYV9z dHJ1Y3QgKnZtYSwKICAqIGRtYSBkZXBlbmRlbnQgY29kZS4gIENvZGUgdGhhdCBkZXBlbmRzIG9u IHRoZSBkbWEtbWFwcGluZwogICogQVBJIG5lZWRzIHRvIHNldCAnZGVwZW5kcyBvbiBIQVNfRE1B JyBpbiBpdHMgS2NvbmZpZwogICovCi1leHRlcm4gc3RydWN0IGRtYV9tYXBfb3BzIGJhZF9kbWFf b3BzOwotc3RhdGljIGlubGluZSBzdHJ1Y3QgZG1hX21hcF9vcHMgKmdldF9kbWFfb3BzKHN0cnVj dCBkZXZpY2UgKmRldikKK2V4dGVybiBjb25zdCBzdHJ1Y3QgZG1hX21hcF9vcHMgYmFkX2RtYV9v cHM7CitzdGF0aWMgaW5saW5lIGNvbnN0IHN0cnVjdCBkbWFfbWFwX29wcyAqZ2V0X2RtYV9vcHMo c3RydWN0IGRldmljZSAqZGV2KQogewogCXJldHVybiAmYmFkX2RtYV9vcHM7CiB9CkBAIC0xODIs NyArMTgyLDcgQEAgc3RhdGljIGlubGluZSBkbWFfYWRkcl90IGRtYV9tYXBfc2luZ2xlX2F0dHJz KHN0cnVjdCBkZXZpY2UgKmRldiwgdm9pZCAqcHRyLAogCQkJCQkgICAgICBlbnVtIGRtYV9kYXRh X2RpcmVjdGlvbiBkaXIsCiAJCQkJCSAgICAgIHVuc2lnbmVkIGxvbmcgYXR0cnMpCiB7Ci0Jc3Ry dWN0IGRtYV9tYXBfb3BzICpvcHMgPSBnZXRfZG1hX29wcyhkZXYpOworCWNvbnN0IHN0cnVjdCBk bWFfbWFwX29wcyAqb3BzID0gZ2V0X2RtYV9vcHMoZGV2KTsKIAlkbWFfYWRkcl90IGFkZHI7CiAK IAlrbWVtY2hlY2tfbWFya19pbml0aWFsaXplZChwdHIsIHNpemUpOwpAQCAtMjAxLDcgKzIwMSw3 IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBkbWFfdW5tYXBfc2luZ2xlX2F0dHJzKHN0cnVjdCBkZXZp Y2UgKmRldiwgZG1hX2FkZHJfdCBhZGRyLAogCQkJCQkgIGVudW0gZG1hX2RhdGFfZGlyZWN0aW9u IGRpciwKIAkJCQkJICB1bnNpZ25lZCBsb25nIGF0dHJzKQogewotCXN0cnVjdCBkbWFfbWFwX29w cyAqb3BzID0gZ2V0X2RtYV9vcHMoZGV2KTsKKwljb25zdCBzdHJ1Y3QgZG1hX21hcF9vcHMgKm9w cyA9IGdldF9kbWFfb3BzKGRldik7CiAKIAlCVUdfT04oIXZhbGlkX2RtYV9kaXJlY3Rpb24oZGly KSk7CiAJaWYgKG9wcy0+dW5tYXBfcGFnZSkKQEAgLTIxNyw3ICsyMTcsNyBAQCBzdGF0aWMgaW5s aW5lIGludCBkbWFfbWFwX3NnX2F0dHJzKHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IHNjYXR0 ZXJsaXN0ICpzZywKIAkJCQkgICBpbnQgbmVudHMsIGVudW0gZG1hX2RhdGFfZGlyZWN0aW9uIGRp ciwKIAkJCQkgICB1bnNpZ25lZCBsb25nIGF0dHJzKQogewotCXN0cnVjdCBkbWFfbWFwX29wcyAq b3BzID0gZ2V0X2RtYV9vcHMoZGV2KTsKKwljb25zdCBzdHJ1Y3QgZG1hX21hcF9vcHMgKm9wcyA9 IGdldF9kbWFfb3BzKGRldik7CiAJaW50IGksIGVudHM7CiAJc3RydWN0IHNjYXR0ZXJsaXN0ICpz OwogCkBAIC0yMzUsNyArMjM1LDcgQEAgc3RhdGljIGlubGluZSB2b2lkIGRtYV91bm1hcF9zZ19h dHRycyhzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBzY2F0dGVybGlzdCAqc2cKIAkJCQkgICAg ICBpbnQgbmVudHMsIGVudW0gZG1hX2RhdGFfZGlyZWN0aW9uIGRpciwKIAkJCQkgICAgICB1bnNp Z25lZCBsb25nIGF0dHJzKQogewotCXN0cnVjdCBkbWFfbWFwX29wcyAqb3BzID0gZ2V0X2RtYV9v cHMoZGV2KTsKKwljb25zdCBzdHJ1Y3QgZG1hX21hcF9vcHMgKm9wcyA9IGdldF9kbWFfb3BzKGRl dik7CiAKIAlCVUdfT04oIXZhbGlkX2RtYV9kaXJlY3Rpb24oZGlyKSk7CiAJZGVidWdfZG1hX3Vu bWFwX3NnKGRldiwgc2csIG5lbnRzLCBkaXIpOwpAQCAtMjQ5LDcgKzI0OSw3IEBAIHN0YXRpYyBp bmxpbmUgZG1hX2FkZHJfdCBkbWFfbWFwX3BhZ2VfYXR0cnMoc3RydWN0IGRldmljZSAqZGV2LAog CQkJCQkgICAgZW51bSBkbWFfZGF0YV9kaXJlY3Rpb24gZGlyLAogCQkJCQkgICAgdW5zaWduZWQg bG9uZyBhdHRycykKIHsKLQlzdHJ1Y3QgZG1hX21hcF9vcHMgKm9wcyA9IGdldF9kbWFfb3BzKGRl dik7CisJY29uc3Qgc3RydWN0IGRtYV9tYXBfb3BzICpvcHMgPSBnZXRfZG1hX29wcyhkZXYpOwog CWRtYV9hZGRyX3QgYWRkcjsKIAogCWttZW1jaGVja19tYXJrX2luaXRpYWxpemVkKHBhZ2VfYWRk cmVzcyhwYWdlKSArIG9mZnNldCwgc2l6ZSk7CkBAIC0yNjUsNyArMjY1LDcgQEAgc3RhdGljIGlu bGluZSB2b2lkIGRtYV91bm1hcF9wYWdlX2F0dHJzKHN0cnVjdCBkZXZpY2UgKmRldiwKIAkJCQkJ ZW51bSBkbWFfZGF0YV9kaXJlY3Rpb24gZGlyLAogCQkJCQl1bnNpZ25lZCBsb25nIGF0dHJzKQog ewotCXN0cnVjdCBkbWFfbWFwX29wcyAqb3BzID0gZ2V0X2RtYV9vcHMoZGV2KTsKKwljb25zdCBz dHJ1Y3QgZG1hX21hcF9vcHMgKm9wcyA9IGdldF9kbWFfb3BzKGRldik7CiAKIAlCVUdfT04oIXZh bGlkX2RtYV9kaXJlY3Rpb24oZGlyKSk7CiAJaWYgKG9wcy0+dW5tYXBfcGFnZSkKQEAgLTI3OSw3 ICsyNzksNyBAQCBzdGF0aWMgaW5saW5lIGRtYV9hZGRyX3QgZG1hX21hcF9yZXNvdXJjZShzdHJ1 Y3QgZGV2aWNlICpkZXYsCiAJCQkJCSAgZW51bSBkbWFfZGF0YV9kaXJlY3Rpb24gZGlyLAogCQkJ CQkgIHVuc2lnbmVkIGxvbmcgYXR0cnMpCiB7Ci0Jc3RydWN0IGRtYV9tYXBfb3BzICpvcHMgPSBn ZXRfZG1hX29wcyhkZXYpOworCWNvbnN0IHN0cnVjdCBkbWFfbWFwX29wcyAqb3BzID0gZ2V0X2Rt YV9vcHMoZGV2KTsKIAlkbWFfYWRkcl90IGFkZHI7CiAKIAlCVUdfT04oIXZhbGlkX2RtYV9kaXJl Y3Rpb24oZGlyKSk7CkBAIC0zMDAsNyArMzAwLDcgQEAgc3RhdGljIGlubGluZSB2b2lkIGRtYV91 bm1hcF9yZXNvdXJjZShzdHJ1Y3QgZGV2aWNlICpkZXYsIGRtYV9hZGRyX3QgYWRkciwKIAkJCQkg ICAgICBzaXplX3Qgc2l6ZSwgZW51bSBkbWFfZGF0YV9kaXJlY3Rpb24gZGlyLAogCQkJCSAgICAg IHVuc2lnbmVkIGxvbmcgYXR0cnMpCiB7Ci0Jc3RydWN0IGRtYV9tYXBfb3BzICpvcHMgPSBnZXRf ZG1hX29wcyhkZXYpOworCWNvbnN0IHN0cnVjdCBkbWFfbWFwX29wcyAqb3BzID0gZ2V0X2RtYV9v cHMoZGV2KTsKIAogCUJVR19PTighdmFsaWRfZG1hX2RpcmVjdGlvbihkaXIpKTsKIAlpZiAob3Bz LT51bm1hcF9yZXNvdXJjZSkKQEAgLTMxMiw3ICszMTIsNyBAQCBzdGF0aWMgaW5saW5lIHZvaWQg ZG1hX3N5bmNfc2luZ2xlX2Zvcl9jcHUoc3RydWN0IGRldmljZSAqZGV2LCBkbWFfYWRkcl90IGFk ZHIsCiAJCQkJCSAgIHNpemVfdCBzaXplLAogCQkJCQkgICBlbnVtIGRtYV9kYXRhX2RpcmVjdGlv biBkaXIpCiB7Ci0Jc3RydWN0IGRtYV9tYXBfb3BzICpvcHMgPSBnZXRfZG1hX29wcyhkZXYpOwor CWNvbnN0IHN0cnVjdCBkbWFfbWFwX29wcyAqb3BzID0gZ2V0X2RtYV9vcHMoZGV2KTsKIAogCUJV R19PTighdmFsaWRfZG1hX2RpcmVjdGlvbihkaXIpKTsKIAlpZiAob3BzLT5zeW5jX3NpbmdsZV9m b3JfY3B1KQpAQCAtMzI0LDcgKzMyNCw3IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBkbWFfc3luY19z aW5nbGVfZm9yX2RldmljZShzdHJ1Y3QgZGV2aWNlICpkZXYsCiAJCQkJCSAgICAgIGRtYV9hZGRy X3QgYWRkciwgc2l6ZV90IHNpemUsCiAJCQkJCSAgICAgIGVudW0gZG1hX2RhdGFfZGlyZWN0aW9u IGRpcikKIHsKLQlzdHJ1Y3QgZG1hX21hcF9vcHMgKm9wcyA9IGdldF9kbWFfb3BzKGRldik7CisJ Y29uc3Qgc3RydWN0IGRtYV9tYXBfb3BzICpvcHMgPSBnZXRfZG1hX29wcyhkZXYpOwogCiAJQlVH X09OKCF2YWxpZF9kbWFfZGlyZWN0aW9uKGRpcikpOwogCWlmIChvcHMtPnN5bmNfc2luZ2xlX2Zv cl9kZXZpY2UpCkBAIC0zNjQsNyArMzY0LDcgQEAgc3RhdGljIGlubGluZSB2b2lkCiBkbWFfc3lu Y19zZ19mb3JfY3B1KHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IHNjYXR0ZXJsaXN0ICpzZywK IAkJICAgIGludCBuZWxlbXMsIGVudW0gZG1hX2RhdGFfZGlyZWN0aW9uIGRpcikKIHsKLQlzdHJ1 Y3QgZG1hX21hcF9vcHMgKm9wcyA9IGdldF9kbWFfb3BzKGRldik7CisJY29uc3Qgc3RydWN0IGRt YV9tYXBfb3BzICpvcHMgPSBnZXRfZG1hX29wcyhkZXYpOwogCiAJQlVHX09OKCF2YWxpZF9kbWFf ZGlyZWN0aW9uKGRpcikpOwogCWlmIChvcHMtPnN5bmNfc2dfZm9yX2NwdSkKQEAgLTM3Niw3ICsz NzYsNyBAQCBzdGF0aWMgaW5saW5lIHZvaWQKIGRtYV9zeW5jX3NnX2Zvcl9kZXZpY2Uoc3RydWN0 IGRldmljZSAqZGV2LCBzdHJ1Y3Qgc2NhdHRlcmxpc3QgKnNnLAogCQkgICAgICAgaW50IG5lbGVt cywgZW51bSBkbWFfZGF0YV9kaXJlY3Rpb24gZGlyKQogewotCXN0cnVjdCBkbWFfbWFwX29wcyAq b3BzID0gZ2V0X2RtYV9vcHMoZGV2KTsKKwljb25zdCBzdHJ1Y3QgZG1hX21hcF9vcHMgKm9wcyA9 IGdldF9kbWFfb3BzKGRldik7CiAKIAlCVUdfT04oIXZhbGlkX2RtYV9kaXJlY3Rpb24oZGlyKSk7 CiAJaWYgKG9wcy0+c3luY19zZ19mb3JfZGV2aWNlKQpAQCAtNDIxLDcgKzQyMSw3IEBAIHN0YXRp YyBpbmxpbmUgaW50CiBkbWFfbW1hcF9hdHRycyhzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCB2 bV9hcmVhX3N0cnVjdCAqdm1hLCB2b2lkICpjcHVfYWRkciwKIAkgICAgICAgZG1hX2FkZHJfdCBk bWFfYWRkciwgc2l6ZV90IHNpemUsIHVuc2lnbmVkIGxvbmcgYXR0cnMpCiB7Ci0Jc3RydWN0IGRt YV9tYXBfb3BzICpvcHMgPSBnZXRfZG1hX29wcyhkZXYpOworCWNvbnN0IHN0cnVjdCBkbWFfbWFw X29wcyAqb3BzID0gZ2V0X2RtYV9vcHMoZGV2KTsKIAlCVUdfT04oIW9wcyk7CiAJaWYgKG9wcy0+ bW1hcCkKIAkJcmV0dXJuIG9wcy0+bW1hcChkZXYsIHZtYSwgY3B1X2FkZHIsIGRtYV9hZGRyLCBz aXplLCBhdHRycyk7CkBAIC00MzksNyArNDM5LDcgQEAgZG1hX2dldF9zZ3RhYmxlX2F0dHJzKHN0 cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IHNnX3RhYmxlICpzZ3QsIHZvaWQgKmNwdV9hZGRyLAog CQkgICAgICBkbWFfYWRkcl90IGRtYV9hZGRyLCBzaXplX3Qgc2l6ZSwKIAkJICAgICAgdW5zaWdu ZWQgbG9uZyBhdHRycykKIHsKLQlzdHJ1Y3QgZG1hX21hcF9vcHMgKm9wcyA9IGdldF9kbWFfb3Bz KGRldik7CisJY29uc3Qgc3RydWN0IGRtYV9tYXBfb3BzICpvcHMgPSBnZXRfZG1hX29wcyhkZXYp OwogCUJVR19PTighb3BzKTsKIAlpZiAob3BzLT5nZXRfc2d0YWJsZSkKIAkJcmV0dXJuIG9wcy0+ Z2V0X3NndGFibGUoZGV2LCBzZ3QsIGNwdV9hZGRyLCBkbWFfYWRkciwgc2l6ZSwKQEAgLTQ1Nyw3 ICs0NTcsNyBAQCBzdGF0aWMgaW5saW5lIHZvaWQgKmRtYV9hbGxvY19hdHRycyhzdHJ1Y3QgZGV2 aWNlICpkZXYsIHNpemVfdCBzaXplLAogCQkJCSAgICAgICBkbWFfYWRkcl90ICpkbWFfaGFuZGxl LCBnZnBfdCBmbGFnLAogCQkJCSAgICAgICB1bnNpZ25lZCBsb25nIGF0dHJzKQogewotCXN0cnVj dCBkbWFfbWFwX29wcyAqb3BzID0gZ2V0X2RtYV9vcHMoZGV2KTsKKwljb25zdCBzdHJ1Y3QgZG1h X21hcF9vcHMgKm9wcyA9IGdldF9kbWFfb3BzKGRldik7CiAJdm9pZCAqY3B1X2FkZHI7CiAKIAlC VUdfT04oIW9wcyk7CkBAIC00NzksNyArNDc5LDcgQEAgc3RhdGljIGlubGluZSB2b2lkIGRtYV9m cmVlX2F0dHJzKHN0cnVjdCBkZXZpY2UgKmRldiwgc2l6ZV90IHNpemUsCiAJCQkJICAgICB2b2lk ICpjcHVfYWRkciwgZG1hX2FkZHJfdCBkbWFfaGFuZGxlLAogCQkJCSAgICAgdW5zaWduZWQgbG9u ZyBhdHRycykKIHsKLQlzdHJ1Y3QgZG1hX21hcF9vcHMgKm9wcyA9IGdldF9kbWFfb3BzKGRldik7 CisJY29uc3Qgc3RydWN0IGRtYV9tYXBfb3BzICpvcHMgPSBnZXRfZG1hX29wcyhkZXYpOwogCiAJ QlVHX09OKCFvcHMpOwogCVdBUk5fT04oaXJxc19kaXNhYmxlZCgpKTsKQEAgLTUzNyw3ICs1Mzcs NyBAQCBzdGF0aWMgaW5saW5lIGludCBkbWFfbWFwcGluZ19lcnJvcihzdHJ1Y3QgZGV2aWNlICpk ZXYsIGRtYV9hZGRyX3QgZG1hX2FkZHIpCiAjaWZuZGVmIEhBVkVfQVJDSF9ETUFfU1VQUE9SVEVE CiBzdGF0aWMgaW5saW5lIGludCBkbWFfc3VwcG9ydGVkKHN0cnVjdCBkZXZpY2UgKmRldiwgdTY0 IG1hc2spCiB7Ci0Jc3RydWN0IGRtYV9tYXBfb3BzICpvcHMgPSBnZXRfZG1hX29wcyhkZXYpOwor CWNvbnN0IHN0cnVjdCBkbWFfbWFwX29wcyAqb3BzID0gZ2V0X2RtYV9vcHMoZGV2KTsKIAogCWlm ICghb3BzKQogCQlyZXR1cm4gMDsKQEAgLTU1MCw3ICs1NTAsNyBAQCBzdGF0aWMgaW5saW5lIGlu dCBkbWFfc3VwcG9ydGVkKHN0cnVjdCBkZXZpY2UgKmRldiwgdTY0IG1hc2spCiAjaWZuZGVmIEhB VkVfQVJDSF9ETUFfU0VUX01BU0sKIHN0YXRpYyBpbmxpbmUgaW50IGRtYV9zZXRfbWFzayhzdHJ1 Y3QgZGV2aWNlICpkZXYsIHU2NCBtYXNrKQogewotCXN0cnVjdCBkbWFfbWFwX29wcyAqb3BzID0g Z2V0X2RtYV9vcHMoZGV2KTsKKwljb25zdCBzdHJ1Y3QgZG1hX21hcF9vcHMgKm9wcyA9IGdldF9k bWFfb3BzKGRldik7CiAKIAlpZiAob3BzLT5zZXRfZG1hX21hc2spCiAJCXJldHVybiBvcHMtPnNl dF9kbWFfbWFzayhkZXYsIG1hc2spOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9taWNfYnVz LmggYi9pbmNsdWRlL2xpbnV4L21pY19idXMuaAppbmRleCAyN2Q3Yzk1ZmQwZGEuLjUwNGQ1NGM3 MWJkYiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9taWNfYnVzLmgKKysrIGIvaW5jbHVkZS9s aW51eC9taWNfYnVzLmgKQEAgLTkwLDcgKzkwLDcgQEAgc3RydWN0IG1idXNfaHdfb3BzIHsKIH07 CiAKIHN0cnVjdCBtYnVzX2RldmljZSAqCi1tYnVzX3JlZ2lzdGVyX2RldmljZShzdHJ1Y3QgZGV2 aWNlICpwZGV2LCBpbnQgaWQsIHN0cnVjdCBkbWFfbWFwX29wcyAqZG1hX29wcywKK21idXNfcmVn aXN0ZXJfZGV2aWNlKHN0cnVjdCBkZXZpY2UgKnBkZXYsIGludCBpZCwgY29uc3Qgc3RydWN0IGRt YV9tYXBfb3BzICpkbWFfb3BzLAogCQkgICAgIHN0cnVjdCBtYnVzX2h3X29wcyAqaHdfb3BzLCBp bnQgaW5kZXgsCiAJCSAgICAgdm9pZCBfX2lvbWVtICptbWlvX3ZhKTsKIHZvaWQgbWJ1c191bnJl Z2lzdGVyX2RldmljZShzdHJ1Y3QgbWJ1c19kZXZpY2UgKm1iZGV2KTsKZGlmZiAtLWdpdCBhL2lu Y2x1ZGUveGVuL2FybS9oeXBlcnZpc29yLmggYi9pbmNsdWRlL3hlbi9hcm0vaHlwZXJ2aXNvci5o CmluZGV4IDk1MjUxNTEyZTJjNC4uNDRiNTg3YjQ5OTA0IDEwMDY0NAotLS0gYS9pbmNsdWRlL3hl bi9hcm0vaHlwZXJ2aXNvci5oCisrKyBiL2luY2x1ZGUveGVuL2FybS9oeXBlcnZpc29yLmgKQEAg LTE4LDcgKzE4LDcgQEAgc3RhdGljIGlubGluZSBlbnVtIHBhcmF2aXJ0X2xhenlfbW9kZSBwYXJh dmlydF9nZXRfbGF6eV9tb2RlKHZvaWQpCiAJcmV0dXJuIFBBUkFWSVJUX0xBWllfTk9ORTsKIH0K IAotZXh0ZXJuIHN0cnVjdCBkbWFfbWFwX29wcyAqeGVuX2RtYV9vcHM7CitleHRlcm4gY29uc3Qg c3RydWN0IGRtYV9tYXBfb3BzICp4ZW5fZG1hX29wczsKIAogI2lmZGVmIENPTkZJR19YRU4KIHZv aWQgX19pbml0IHhlbl9lYXJseV9pbml0KHZvaWQpOwpkaWZmIC0tZ2l0IGEvbGliL2RtYS1ub29w LmMgYi9saWIvZG1hLW5vb3AuYwppbmRleCAzZDc2NmU3OGZiZTIuLjY1ZTQ5ZGQzNWI3YiAxMDA2 NDQKLS0tIGEvbGliL2RtYS1ub29wLmMKKysrIGIvbGliL2RtYS1ub29wLmMKQEAgLTY0LDcgKzY0 LDcgQEAgc3RhdGljIGludCBkbWFfbm9vcF9zdXBwb3J0ZWQoc3RydWN0IGRldmljZSAqZGV2LCB1 NjQgbWFzaykKIAlyZXR1cm4gMTsKIH0KIAotc3RydWN0IGRtYV9tYXBfb3BzIGRtYV9ub29wX29w cyA9IHsKK2NvbnN0IHN0cnVjdCBkbWFfbWFwX29wcyBkbWFfbm9vcF9vcHMgPSB7CiAJLmFsbG9j CQkJPSBkbWFfbm9vcF9hbGxvYywKIAkuZnJlZQkJCT0gZG1hX25vb3BfZnJlZSwKIAkubWFwX3Bh Z2UJCT0gZG1hX25vb3BfbWFwX3BhZ2UsCi0tIAoyLjExLjAKCgpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1k ZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK