From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.7 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_SANE_1 autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 78B10C64E7B for ; Mon, 30 Nov 2020 11:10:35 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id E04012076E for ; Mon, 30 Nov 2020 11:10:34 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="lO9P+XNQ" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org E04012076E Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=arm.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References:Message-ID: Subject:To:From:Date:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=7ZIN0+R7mr1LbDdpqJYC471AcouCLUyGyNrKUx8QPcg=; b=lO9P+XNQPfe/5RcqYPXFfvKC+ gR5/Q8U1glR6ILwMPBr2icrs4Q0/qUmbfLwJtctk5VBK1KBCXoTSC+SeOF/fV2AUyCYOI2vKIfMyX zd9eYCQnLS5qmxkewcdrXqUbBIeepvD1OvhXICkYlaICcQPLcQ+yE4kv+BXTBXPOHrFXUuk2t8Rt+ A10gg/r28XEHUSegv3At3U8FmseegX9anGOncYQr5WLWwCud2H1l13dsOpSBM3ilMCbDKPyd2zvr9 1+zJR4sM95duAa3JFtrEfapEm0Tgqv2LMkP7Y23vIRL7QW0pqWIAqmbW6P4JJm6wvXUjbSNqecZ65 AHZmhRRxg==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1kjh3O-00014j-To; Mon, 30 Nov 2020 11:09:10 +0000 Received: from foss.arm.com ([217.140.110.172]) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1kjh3L-000149-Lj; Mon, 30 Nov 2020 11:09:09 +0000 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 4AB4E30E; Mon, 30 Nov 2020 03:09:04 -0800 (PST) Received: from e121166-lin.cambridge.arm.com (e121166-lin.cambridge.arm.com [10.1.196.255]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 037733F66B; Mon, 30 Nov 2020 03:09:00 -0800 (PST) Date: Mon, 30 Nov 2020 11:08:58 +0000 From: Lorenzo Pieralisi To: Krzysztof =?utf-8?Q?Wilczy=C5=84ski?= Subject: Re: [PATCH v6 1/5] PCI: Unify ECAM constants in native PCI Express drivers Message-ID: <20201130110858.GB16758@e121166-lin.cambridge.arm.com> References: <20201129230743.3006978-1-kw@linux.com> <20201129230743.3006978-2-kw@linux.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20201129230743.3006978-2-kw@linux.com> User-Agent: Mutt/1.9.4 (2018-02-28) X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20201130_060907_839546_59B18686 X-CRM114-Status: GOOD ( 32.62 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Heiko Stuebner , Benjamin Herrenschmidt , Shawn Lin , Paul Mackerras , Thomas Petazzoni , Jonathan Chocron , Toan Le , Will Deacon , Rob Herring , Florian Fainelli , Michael Ellerman , Michal Simek , linux-rockchip@lists.infradead.org, bcm-kernel-feedback-list@broadcom.com, Jonathan Derrick , linux-pci@vger.kernel.org, Ray Jui , linux-rpi-kernel@lists.infradead.org, Jonathan Cameron , Bjorn Helgaas , linux-arm-kernel@lists.infradead.org, Scott Branden , Zhou Wang , Robert Richter , linuxppc-dev@lists.ozlabs.org, Nicolas Saenz Julienne Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gU3VuLCBOb3YgMjksIDIwMjAgYXQgMTE6MDc6MzlQTSArMDAwMCwgS3J6eXN6dG9mIFdpbGN6 ecWEc2tpIHdyb3RlOgo+IEFkZCBFQ0FNLXJlbGF0ZWQgY29uc3RhbnRzIHRvIHByb3ZpZGUgYSBz ZXQgb2Ygc3RhbmRhcmQgY29uc3RhbnRzCj4gZGVmaW5pbmcgbWVtb3J5IGFkZHJlc3Mgc2hpZnQg dmFsdWVzIHRvIHRoZSBieXRlLWxldmVsIGFkZHJlc3MgdGhhdCBjYW4KPiBiZSB1c2VkIHRvIGFj Y2VzcyB0aGUgUENJIEV4cHJlc3MgQ29uZmlndXJhdGlvbiBTcGFjZSwgYW5kIHRoZW4gbW92ZQo+ IG5hdGl2ZSBQQ0kgRXhwcmVzcyBjb250cm9sbGVyIGRyaXZlcnMgdG8gdXNlIHRoZSBuZXdseSBp bnRyb2R1Y2VkCj4gZGVmaW5pdGlvbnMgcmV0aXJpbmcgZHJpdmVyLXNwZWNpZmljIG9uZXMuCj4g Cj4gUmVmYWN0b3IgcGNpX2VjYW1fbWFwX2J1cygpIGZ1bmN0aW9uIHRvIHVzZSBuZXdseSBhZGRl ZCBjb25zdGFudHMgc28KPiB0aGF0IGxpbWl0cyB0byB0aGUgYnVzLCBkZXZpY2UgZnVuY3Rpb24g YW5kIG9mZnNldCAobm93IGxpbWl0ZWQgdG8gNEsgYXMKPiBwZXIgdGhlIHNwZWNpZmljYXRpb24p IGFyZSBpbiBwbGFjZSB0byBwcmV2ZW50IHRoZSBkZWZlY3RpdmUgb3IKPiBtYWxpY2lvdXMgY2Fs bGVyIGZyb20gc3VwcGx5aW5nIGluY29ycmVjdCBjb25maWd1cmF0aW9uIG9mZnNldCBhbmQgdGh1 cwo+IHRhcmdldGluZyB0aGUgd3JvbmcgZGV2aWNlIHdoZW4gYWNjZXNzaW5nIGV4dGVuZGVkIGNv bmZpZ3VyYXRpb24gc3BhY2UuCj4gVGhpcyByZWZhY3RvciBhbHNvIGFsbG93cyBmb3IgdGhlICIu YnVzX3NoaXQiIGluaXRpYWxpc2VycyB0byBiZSBkcm9wcGVkCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF5eXl4KCk5pY2UgdHlwbywgSSdkIGZpeCBpdCB3aGlsZSBh cHBseWluZyBpdCB0aG91Z2ggaWYgeW91IGRvbid0IG1pbmQgOy0pLApubyBuZWVkIHRvIHJlc2Vu ZCBpdC4KCkpva2VzIGFzaWRlLCBuaWNlIHBpZWNlIG9mIHdvcmssIHRoYW5rcyBmb3IgdGhhdC4K Cj4gd2hlbiB0aGUgdXNlciBpcyBub3QgdXNpbmcgYSBjdXN0b20gdmFsdWUgYXMgYSBkZWZhdWx0 IHZhbHVlIHdpbGwgYmUKPiB1c2VkIGFzIHBlciB0aGUgUENJIEV4cHJlc3MgU3BlY2lmaWNhdGlv bi4KPiAKPiBTdWdnZXN0ZWQtYnk6IEJqb3JuIEhlbGdhYXMgPGJoZWxnYWFzQGdvb2dsZS5jb20+ Cj4gU2lnbmVkLW9mZi1ieTogS3J6eXN6dG9mIFdpbGN6ecWEc2tpIDxrd0BsaW51eC5jb20+CgpJ IHRoaW5rIEJqb3JuJ3MgcmV2aWV3ZWQtYnkgc3RpbGwgc3RhbmRzIHNvIEkgd2lsbCBhcHBseSBp dC4KClRoYW5rcyAhCkxvcmVuem8KCj4gLS0tCj4gIGRyaXZlcnMvcGNpL2NvbnRyb2xsZXIvZHdj L3BjaWUtYWwuYyAgICAgICAgfCAxMiArKy0tLS0tLS0KPiAgZHJpdmVycy9wY2kvY29udHJvbGxl ci9kd2MvcGNpZS1oaXNpLmMgICAgICB8ICAyIC0tCj4gIGRyaXZlcnMvcGNpL2NvbnRyb2xsZXIv cGNpLWFhcmR2YXJrLmMgICAgICAgfCAxMyArKystLS0tLS0tCj4gIGRyaXZlcnMvcGNpL2NvbnRy b2xsZXIvcGNpLWhvc3QtZ2VuZXJpYy5jICAgfCAgMSAtCj4gIGRyaXZlcnMvcGNpL2NvbnRyb2xs ZXIvcGNpLXRodW5kZXItZWNhbS5jICAgfCAgMSAtCj4gIGRyaXZlcnMvcGNpL2NvbnRyb2xsZXIv cGNpZS1icmNtc3RiLmMgICAgICAgfCAxNiArKy0tLS0tLS0tLS0KPiAgZHJpdmVycy9wY2kvY29u dHJvbGxlci9wY2llLXJvY2tjaGlwLWhvc3QuYyB8IDI3ICsrKysrKysrKystLS0tLS0tLS0tLQo+ ICBkcml2ZXJzL3BjaS9jb250cm9sbGVyL3BjaWUtcm9ja2NoaXAuaCAgICAgIHwgIDggKy0tLS0t Cj4gIGRyaXZlcnMvcGNpL2NvbnRyb2xsZXIvcGNpZS10YW5nby5jICAgICAgICAgfCAgMSAtCj4g IGRyaXZlcnMvcGNpL2NvbnRyb2xsZXIvcGNpZS14aWxpbngtbndsLmMgICAgfCAgOSArKy0tLS0t Cj4gIGRyaXZlcnMvcGNpL2NvbnRyb2xsZXIvcGNpZS14aWxpbnguYyAgICAgICAgfCAxMSArKy0t LS0tLS0KPiAgZHJpdmVycy9wY2kvY29udHJvbGxlci92bWQuYyAgICAgICAgICAgICAgICB8IDEx ICsrKystLS0tLQo+ICBkcml2ZXJzL3BjaS9lY2FtLmMgICAgICAgICAgICAgICAgICAgICAgICAg IHwgMjMgKysrKysrKysrKysrLS0tLS0tCj4gIGluY2x1ZGUvbGludXgvcGNpLWVjYW0uaCAgICAg ICAgICAgICAgICAgICAgfCAyNyArKysrKysrKysrKysrKysrKysrKysKPiAgMTQgZmlsZXMgY2hh bmdlZCwgNzMgaW5zZXJ0aW9ucygrKSwgODkgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvcGNpL2NvbnRyb2xsZXIvZHdjL3BjaWUtYWwuYyBiL2RyaXZlcnMvcGNpL2NvbnRy b2xsZXIvZHdjL3BjaWUtYWwuYwo+IGluZGV4IGY5NzNmYmNhOTBjZi4uYWY5ZTUxYWIxYWY4IDEw MDY0NAo+IC0tLSBhL2RyaXZlcnMvcGNpL2NvbnRyb2xsZXIvZHdjL3BjaWUtYWwuYwo+ICsrKyBi L2RyaXZlcnMvcGNpL2NvbnRyb2xsZXIvZHdjL3BjaWUtYWwuYwo+IEBAIC03Niw3ICs3Niw2IEBA IHN0YXRpYyBpbnQgYWxfcGNpZV9pbml0KHN0cnVjdCBwY2lfY29uZmlnX3dpbmRvdyAqY2ZnKQo+ ICB9Cj4gIAo+ICBjb25zdCBzdHJ1Y3QgcGNpX2VjYW1fb3BzIGFsX3BjaWVfb3BzID0gewo+IC0J LmJ1c19zaGlmdCAgICA9IDIwLAo+ICAJLmluaXQgICAgICAgICA9ICBhbF9wY2llX2luaXQsCj4g IAkucGNpX29wcyAgICAgID0gewo+ICAJCS5tYXBfYnVzICAgID0gYWxfcGNpZV9tYXBfYnVzLAo+ IEBAIC0xMzgsOCArMTM3LDYgQEAgc3RydWN0IGFsX3BjaWUgewo+ICAJc3RydWN0IGFsX3BjaWVf dGFyZ2V0X2J1c19jZmcgdGFyZ2V0X2J1c19jZmc7Cj4gIH07Cj4gIAo+IC0jZGVmaW5lIFBDSUVf RUNBTV9ERVZGTih4KQkJKCgoeCkgJiAweGZmKSA8PCAxMikKPiAtCj4gICNkZWZpbmUgdG9fYWxf cGNpZSh4KQkJZGV2X2dldF9kcnZkYXRhKCh4KS0+ZGV2KQo+ICAKPiAgc3RhdGljIGlubGluZSB1 MzIgYWxfcGNpZV9jb250cm9sbGVyX3JlYWRsKHN0cnVjdCBhbF9wY2llICpwY2llLCB1MzIgb2Zm c2V0KQo+IEBAIC0yMjYsMTEgKzIyMyw2IEBAIHN0YXRpYyB2b2lkIF9faW9tZW0gKmFsX3BjaWVf Y29uZl9hZGRyX21hcF9idXMoc3RydWN0IHBjaV9idXMgKmJ1cywKPiAgCXN0cnVjdCBhbF9wY2ll X3RhcmdldF9idXNfY2ZnICp0YXJnZXRfYnVzX2NmZyA9ICZwY2llLT50YXJnZXRfYnVzX2NmZzsK PiAgCXVuc2lnbmVkIGludCBidXNucl9lY2FtID0gYnVzbnIgJiB0YXJnZXRfYnVzX2NmZy0+ZWNh bV9tYXNrOwo+ICAJdW5zaWduZWQgaW50IGJ1c25yX3JlZyA9IGJ1c25yICYgdGFyZ2V0X2J1c19j ZmctPnJlZ19tYXNrOwo+IC0Jdm9pZCBfX2lvbWVtICpwY2lfYmFzZV9hZGRyOwo+IC0KPiAtCXBj aV9iYXNlX2FkZHIgPSAodm9pZCBfX2lvbWVtICopKCh1aW50cHRyX3QpcHAtPnZhX2NmZzBfYmFz ZSArCj4gLQkJCQkJIChidXNucl9lY2FtIDw8IDIwKSArCj4gLQkJCQkJIFBDSUVfRUNBTV9ERVZG TihkZXZmbikpOwo+ICAKPiAgCWlmIChidXNucl9yZWcgIT0gdGFyZ2V0X2J1c19jZmctPnJlZ192 YWwpIHsKPiAgCQlkZXZfZGJnKHBjaWUtPnBjaS0+ZGV2LCAiQ2hhbmdpbmcgdGFyZ2V0IGJ1cyBi dXNudW0gdmFsIGZyb20gMHgleCB0byAweCV4XG4iLAo+IEBAIC0yNDEsNyArMjMzLDcgQEAgc3Rh dGljIHZvaWQgX19pb21lbSAqYWxfcGNpZV9jb25mX2FkZHJfbWFwX2J1cyhzdHJ1Y3QgcGNpX2J1 cyAqYnVzLAo+ICAJCQkJICAgICAgIHRhcmdldF9idXNfY2ZnLT5yZWdfbWFzayk7Cj4gIAl9Cj4g IAo+IC0JcmV0dXJuIHBjaV9iYXNlX2FkZHIgKyB3aGVyZTsKPiArCXJldHVybiBwcC0+dmFfY2Zn MF9iYXNlICsgUENJRV9FQ0FNX09GRlNFVChidXNucl9lY2FtLCBkZXZmbiwgd2hlcmUpOwo+ICB9 Cj4gIAo+ICBzdGF0aWMgc3RydWN0IHBjaV9vcHMgYWxfY2hpbGRfcGNpX29wcyA9IHsKPiBAQCAt MjY0LDcgKzI1Niw3IEBAIHN0YXRpYyB2b2lkIGFsX3BjaWVfY29uZmlnX3ByZXBhcmUoc3RydWN0 IGFsX3BjaWUgKnBjaWUpCj4gIAo+ICAJdGFyZ2V0X2J1c19jZmcgPSAmcGNpZS0+dGFyZ2V0X2J1 c19jZmc7Cj4gIAo+IC0JZWNhbV9idXNfbWFzayA9IChwY2llLT5lY2FtX3NpemUgPj4gMjApIC0g MTsKPiArCWVjYW1fYnVzX21hc2sgPSAocGNpZS0+ZWNhbV9zaXplID4+IFBDSUVfRUNBTV9CVVNf U0hJRlQpIC0gMTsKPiAgCWlmIChlY2FtX2J1c19tYXNrID4gMjU1KSB7Cj4gIAkJZGV2X3dhcm4o cGNpZS0+ZGV2LCAiRUNBTSB3aW5kb3cgc2l6ZSBpcyBsYXJnZXIgdGhhbiAyNTZNQi4gQ3V0dGlu ZyBvZmYgYXQgMjU2XG4iKTsKPiAgCQllY2FtX2J1c19tYXNrID0gMjU1Owo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL3BjaS9jb250cm9sbGVyL2R3Yy9wY2llLWhpc2kuYyBiL2RyaXZlcnMvcGNpL2Nv bnRyb2xsZXIvZHdjL3BjaWUtaGlzaS5jCj4gaW5kZXggNWNhODY3OTZkNDNhLi44ZmM1OTYwZmFm MjggMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9wY2kvY29udHJvbGxlci9kd2MvcGNpZS1oaXNpLmMK PiArKysgYi9kcml2ZXJzL3BjaS9jb250cm9sbGVyL2R3Yy9wY2llLWhpc2kuYwo+IEBAIC0xMDAs NyArMTAwLDYgQEAgc3RhdGljIGludCBoaXNpX3BjaWVfaW5pdChzdHJ1Y3QgcGNpX2NvbmZpZ193 aW5kb3cgKmNmZykKPiAgfQo+ICAKPiAgY29uc3Qgc3RydWN0IHBjaV9lY2FtX29wcyBoaXNpX3Bj aWVfb3BzID0gewo+IC0JLmJ1c19zaGlmdCAgICA9IDIwLAo+ICAJLmluaXQgICAgICAgICA9ICBo aXNpX3BjaWVfaW5pdCwKPiAgCS5wY2lfb3BzICAgICAgPSB7Cj4gIAkJLm1hcF9idXMgICAgPSBo aXNpX3BjaWVfbWFwX2J1cywKPiBAQCAtMTM1LDcgKzEzNCw2IEBAIHN0YXRpYyBpbnQgaGlzaV9w Y2llX3BsYXRmb3JtX2luaXQoc3RydWN0IHBjaV9jb25maWdfd2luZG93ICpjZmcpCj4gIH0KPiAg Cj4gIHN0YXRpYyBjb25zdCBzdHJ1Y3QgcGNpX2VjYW1fb3BzIGhpc2lfcGNpZV9wbGF0Zm9ybV9v cHMgPSB7Cj4gLQkuYnVzX3NoaWZ0ICAgID0gMjAsCj4gIAkuaW5pdCAgICAgICAgID0gIGhpc2lf cGNpZV9wbGF0Zm9ybV9pbml0LAo+ICAJLnBjaV9vcHMgICAgICA9IHsKPiAgCQkubWFwX2J1cyAg ICA9IGhpc2lfcGNpZV9tYXBfYnVzLAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3BjaS9jb250cm9s bGVyL3BjaS1hYXJkdmFyay5jIGIvZHJpdmVycy9wY2kvY29udHJvbGxlci9wY2ktYWFyZHZhcmsu Ywo+IGluZGV4IDBiZTQ4NWEyNTMyNy4uMTA0M2U1NGM3M2JkIDEwMDY0NAo+IC0tLSBhL2RyaXZl cnMvcGNpL2NvbnRyb2xsZXIvcGNpLWFhcmR2YXJrLmMKPiArKysgYi9kcml2ZXJzL3BjaS9jb250 cm9sbGVyL3BjaS1hYXJkdmFyay5jCj4gQEAgLTE2LDYgKzE2LDcgQEAKPiAgI2luY2x1ZGUgPGxp bnV4L2tlcm5lbC5oPgo+ICAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+Cj4gICNpbmNsdWRlIDxs aW51eC9wY2kuaD4KPiArI2luY2x1ZGUgPGxpbnV4L3BjaS1lY2FtLmg+Cj4gICNpbmNsdWRlIDxs aW51eC9pbml0Lmg+Cj4gICNpbmNsdWRlIDxsaW51eC9waHkvcGh5Lmg+Cj4gICNpbmNsdWRlIDxs aW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KPiBAQCAtMTY0LDE0ICsxNjUsNiBAQAo+ICAjZGVmaW5l IFBDSUVfQ09ORklHX1dSX1RZUEUwCQkJMHhhCj4gICNkZWZpbmUgUENJRV9DT05GSUdfV1JfVFlQ RTEJCQkweGIKPiAgCj4gLSNkZWZpbmUgUENJRV9DT05GX0JVUyhidXMpCQkJKCgoYnVzKSAmIDB4 ZmYpIDw8IDIwKQo+IC0jZGVmaW5lIFBDSUVfQ09ORl9ERVYoZGV2KQkJCSgoKGRldikgJiAweDFm KSA8PCAxNSkKPiAtI2RlZmluZSBQQ0lFX0NPTkZfRlVOQyhmdW4pCQkJKCgoZnVuKSAmIDB4NykJ PDwgMTIpCj4gLSNkZWZpbmUgUENJRV9DT05GX1JFRyhyZWcpCQkJKChyZWcpICYgMHhmZmMpCj4g LSNkZWZpbmUgUENJRV9DT05GX0FERFIoYnVzLCBkZXZmbiwgd2hlcmUpCVwKPiAtCShQQ0lFX0NP TkZfQlVTKGJ1cykgfCBQQ0lFX0NPTkZfREVWKFBDSV9TTE9UKGRldmZuKSkJfCBcCj4gLQkgUENJ RV9DT05GX0ZVTkMoUENJX0ZVTkMoZGV2Zm4pKSB8IFBDSUVfQ09ORl9SRUcod2hlcmUpKQo+IC0K PiAgI2RlZmluZSBQSU9fUkVUUllfQ05UCQkJNTAwCj4gICNkZWZpbmUgUElPX1JFVFJZX0RFTEFZ CQkJMiAvKiAyIHVzKi8KPiAgCj4gQEAgLTY4Nyw3ICs2ODAsNyBAQCBzdGF0aWMgaW50IGFkdmtf cGNpZV9yZF9jb25mKHN0cnVjdCBwY2lfYnVzICpidXMsIHUzMiBkZXZmbiwKPiAgCWFkdmtfd3Jp dGVsKHBjaWUsIHJlZywgUElPX0NUUkwpOwo+ICAKPiAgCS8qIFByb2dyYW0gdGhlIGFkZHJlc3Mg cmVnaXN0ZXJzICovCj4gLQlyZWcgPSBQQ0lFX0NPTkZfQUREUihidXMtPm51bWJlciwgZGV2Zm4s IHdoZXJlKTsKPiArCXJlZyA9IEFMSUdOX0RPV04oUENJRV9FQ0FNX09GRlNFVChidXMtPm51bWJl ciwgZGV2Zm4sIHdoZXJlKSwgNCk7Cj4gIAlhZHZrX3dyaXRlbChwY2llLCByZWcsIFBJT19BRERS X0xTKTsKPiAgCWFkdmtfd3JpdGVsKHBjaWUsIDAsIFBJT19BRERSX01TKTsKPiAgCj4gQEAgLTc0 OCw3ICs3NDEsNyBAQCBzdGF0aWMgaW50IGFkdmtfcGNpZV93cl9jb25mKHN0cnVjdCBwY2lfYnVz ICpidXMsIHUzMiBkZXZmbiwKPiAgCWFkdmtfd3JpdGVsKHBjaWUsIHJlZywgUElPX0NUUkwpOwo+ ICAKPiAgCS8qIFByb2dyYW0gdGhlIGFkZHJlc3MgcmVnaXN0ZXJzICovCj4gLQlyZWcgPSBQQ0lF X0NPTkZfQUREUihidXMtPm51bWJlciwgZGV2Zm4sIHdoZXJlKTsKPiArCXJlZyA9IEFMSUdOX0RP V04oUENJRV9FQ0FNX09GRlNFVChidXMtPm51bWJlciwgZGV2Zm4sIHdoZXJlKSwgNCk7Cj4gIAlh ZHZrX3dyaXRlbChwY2llLCByZWcsIFBJT19BRERSX0xTKTsKPiAgCWFkdmtfd3JpdGVsKHBjaWUs IDAsIFBJT19BRERSX01TKTsKPiAgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvcGNpL2NvbnRyb2xs ZXIvcGNpLWhvc3QtZ2VuZXJpYy5jIGIvZHJpdmVycy9wY2kvY29udHJvbGxlci9wY2ktaG9zdC1n ZW5lcmljLmMKPiBpbmRleCBiNTE5NzdhYmZkZjEuLjYzODY1YWViNjM2YiAxMDA2NDQKPiAtLS0g YS9kcml2ZXJzL3BjaS9jb250cm9sbGVyL3BjaS1ob3N0LWdlbmVyaWMuYwo+ICsrKyBiL2RyaXZl cnMvcGNpL2NvbnRyb2xsZXIvcGNpLWhvc3QtZ2VuZXJpYy5jCj4gQEAgLTQ5LDcgKzQ5LDYgQEAg c3RhdGljIHZvaWQgX19pb21lbSAqcGNpX2R3X2VjYW1fbWFwX2J1cyhzdHJ1Y3QgcGNpX2J1cyAq YnVzLAo+ICB9Cj4gIAo+ICBzdGF0aWMgY29uc3Qgc3RydWN0IHBjaV9lY2FtX29wcyBwY2lfZHdf ZWNhbV9idXNfb3BzID0gewo+IC0JLmJ1c19zaGlmdAk9IDIwLAo+ICAJLnBjaV9vcHMJPSB7Cj4g IAkJLm1hcF9idXMJPSBwY2lfZHdfZWNhbV9tYXBfYnVzLAo+ICAJCS5yZWFkCQk9IHBjaV9nZW5l cmljX2NvbmZpZ19yZWFkLAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3BjaS9jb250cm9sbGVyL3Bj aS10aHVuZGVyLWVjYW0uYyBiL2RyaXZlcnMvcGNpL2NvbnRyb2xsZXIvcGNpLXRodW5kZXItZWNh bS5jCj4gaW5kZXggN2U4ODM1ZmVlNWY3Li5mOTY0ZmQyNmY3ZTAgMTAwNjQ0Cj4gLS0tIGEvZHJp dmVycy9wY2kvY29udHJvbGxlci9wY2ktdGh1bmRlci1lY2FtLmMKPiArKysgYi9kcml2ZXJzL3Bj aS9jb250cm9sbGVyL3BjaS10aHVuZGVyLWVjYW0uYwo+IEBAIC0zNDYsNyArMzQ2LDYgQEAgc3Rh dGljIGludCB0aHVuZGVyX2VjYW1fY29uZmlnX3dyaXRlKHN0cnVjdCBwY2lfYnVzICpidXMsIHVu c2lnbmVkIGludCBkZXZmbiwKPiAgfQo+ICAKPiAgY29uc3Qgc3RydWN0IHBjaV9lY2FtX29wcyBw Y2lfdGh1bmRlcl9lY2FtX29wcyA9IHsKPiAtCS5idXNfc2hpZnQJPSAyMCwKPiAgCS5wY2lfb3Bz CT0gewo+ICAJCS5tYXBfYnVzICAgICAgICA9IHBjaV9lY2FtX21hcF9idXMsCj4gIAkJLnJlYWQg ICAgICAgICAgID0gdGh1bmRlcl9lY2FtX2NvbmZpZ19yZWFkLAo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL3BjaS9jb250cm9sbGVyL3BjaWUtYnJjbXN0Yi5jIGIvZHJpdmVycy9wY2kvY29udHJvbGxl ci9wY2llLWJyY21zdGIuYwo+IGluZGV4IGJlYTg2ODk5YmQ1ZC4uN2ZjODBmZDZmMTNmIDEwMDY0 NAo+IC0tLSBhL2RyaXZlcnMvcGNpL2NvbnRyb2xsZXIvcGNpZS1icmNtc3RiLmMKPiArKysgYi9k cml2ZXJzL3BjaS9jb250cm9sbGVyL3BjaWUtYnJjbXN0Yi5jCj4gQEAgLTIyLDYgKzIyLDcgQEAK PiAgI2luY2x1ZGUgPGxpbnV4L29mX3BjaS5oPgo+ICAjaW5jbHVkZSA8bGludXgvb2ZfcGxhdGZv cm0uaD4KPiAgI2luY2x1ZGUgPGxpbnV4L3BjaS5oPgo+ICsjaW5jbHVkZSA8bGludXgvcGNpLWVj YW0uaD4KPiAgI2luY2x1ZGUgPGxpbnV4L3ByaW50ay5oPgo+ICAjaW5jbHVkZSA8bGludXgvcmVz ZXQuaD4KPiAgI2luY2x1ZGUgPGxpbnV4L3NpemVzLmg+Cj4gQEAgLTEyNywxMSArMTI4LDcgQEAK PiAgI2RlZmluZSAgTVNJX0lOVF9NQVNLX0NMUgkJMHgxNAo+ICAKPiAgI2RlZmluZSBQQ0lFX0VY VF9DRkdfREFUQQkJCQkweDgwMDAKPiAtCj4gICNkZWZpbmUgUENJRV9FWFRfQ0ZHX0lOREVYCQkJ CTB4OTAwMAo+IC0jZGVmaW5lICBQQ0lFX0VYVF9CVVNOVU1fU0hJRlQJCQkJMjAKPiAtI2RlZmlu ZSAgUENJRV9FWFRfU0xPVF9TSElGVAkJCQkxNQo+IC0jZGVmaW5lICBQQ0lFX0VYVF9GVU5DX1NI SUZUCQkJCTEyCj4gIAo+ICAjZGVmaW5lICBQQ0lFX1JHUjFfU1dfSU5JVF8xX1BFUlNUX01BU0sJ CQkweDEKPiAgI2RlZmluZSAgUENJRV9SR1IxX1NXX0lOSVRfMV9QRVJTVF9TSElGVAkJMHgwCj4g QEAgLTY5NSwxNSArNjkyLDYgQEAgc3RhdGljIGJvb2wgYnJjbV9wY2llX2xpbmtfdXAoc3RydWN0 IGJyY21fcGNpZSAqcGNpZSkKPiAgCXJldHVybiBkbGEgJiYgcGx1Owo+ICB9Cj4gIAo+IC0vKiBD b25maWd1cmF0aW9uIHNwYWNlIHJlYWQvd3JpdGUgc3VwcG9ydCAqLwo+IC1zdGF0aWMgaW5saW5l IGludCBicmNtX3BjaWVfY2ZnX2luZGV4KGludCBidXNuciwgaW50IGRldmZuLCBpbnQgcmVnKQo+ IC17Cj4gLQlyZXR1cm4gKChQQ0lfU0xPVChkZXZmbikgJiAweDFmKSA8PCBQQ0lFX0VYVF9TTE9U X1NISUZUKQo+IC0JCXwgKChQQ0lfRlVOQyhkZXZmbikgJiAweDA3KSA8PCBQQ0lFX0VYVF9GVU5D X1NISUZUKQo+IC0JCXwgKGJ1c25yIDw8IFBDSUVfRVhUX0JVU05VTV9TSElGVCkKPiAtCQl8IChy ZWcgJiB+Myk7Cj4gLX0KPiAtCj4gIHN0YXRpYyB2b2lkIF9faW9tZW0gKmJyY21fcGNpZV9tYXBf Y29uZihzdHJ1Y3QgcGNpX2J1cyAqYnVzLCB1bnNpZ25lZCBpbnQgZGV2Zm4sCj4gIAkJCQkJaW50 IHdoZXJlKQo+ICB7Cj4gQEAgLTcxNiw3ICs3MDQsNyBAQCBzdGF0aWMgdm9pZCBfX2lvbWVtICpi cmNtX3BjaWVfbWFwX2NvbmYoc3RydWN0IHBjaV9idXMgKmJ1cywgdW5zaWduZWQgaW50IGRldmZu LAo+ICAJCXJldHVybiBQQ0lfU0xPVChkZXZmbikgPyBOVUxMIDogYmFzZSArIHdoZXJlOwo+ICAK PiAgCS8qIEZvciBkZXZpY2VzLCB3cml0ZSB0byB0aGUgY29uZmlnIHNwYWNlIGluZGV4IHJlZ2lz dGVyICovCj4gLQlpZHggPSBicmNtX3BjaWVfY2ZnX2luZGV4KGJ1cy0+bnVtYmVyLCBkZXZmbiwg MCk7Cj4gKwlpZHggPSBQQ0lFX0VDQU1fT0ZGU0VUKGJ1cy0+bnVtYmVyLCBkZXZmbiwgMCk7Cj4g IAl3cml0ZWwoaWR4LCBwY2llLT5iYXNlICsgUENJRV9FWFRfQ0ZHX0lOREVYKTsKPiAgCXJldHVy biBiYXNlICsgUENJRV9FWFRfQ0ZHX0RBVEEgKyB3aGVyZTsKPiAgfQo+IGRpZmYgLS1naXQgYS9k cml2ZXJzL3BjaS9jb250cm9sbGVyL3BjaWUtcm9ja2NoaXAtaG9zdC5jIGIvZHJpdmVycy9wY2kv Y29udHJvbGxlci9wY2llLXJvY2tjaGlwLWhvc3QuYwo+IGluZGV4IDk3MDUwNTk1MjNhNi4uZjFk MDhhMWIxNTkxIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvcGNpL2NvbnRyb2xsZXIvcGNpZS1yb2Nr Y2hpcC1ob3N0LmMKPiArKysgYi9kcml2ZXJzL3BjaS9jb250cm9sbGVyL3BjaWUtcm9ja2NoaXAt aG9zdC5jCj4gQEAgLTE1NywxMiArMTU3LDExIEBAIHN0YXRpYyBpbnQgcm9ja2NoaXBfcGNpZV9y ZF9vdGhlcl9jb25mKHN0cnVjdCByb2NrY2hpcF9wY2llICpyb2NrY2hpcCwKPiAgCQkJCSAgICAg ICBzdHJ1Y3QgcGNpX2J1cyAqYnVzLCB1MzIgZGV2Zm4sCj4gIAkJCQkgICAgICAgaW50IHdoZXJl LCBpbnQgc2l6ZSwgdTMyICp2YWwpCj4gIHsKPiAtCXUzMiBidXNkZXY7Cj4gKwl2b2lkIF9faW9t ZW0gKmFkZHI7Cj4gIAo+IC0JYnVzZGV2ID0gUENJRV9FQ0FNX0FERFIoYnVzLT5udW1iZXIsIFBD SV9TTE9UKGRldmZuKSwKPiAtCQkJCVBDSV9GVU5DKGRldmZuKSwgd2hlcmUpOwo+ICsJYWRkciA9 IHJvY2tjaGlwLT5yZWdfYmFzZSArIFBDSUVfRUNBTV9PRkZTRVQoYnVzLT5udW1iZXIsIGRldmZu LCB3aGVyZSk7Cj4gIAo+IC0JaWYgKCFJU19BTElHTkVEKGJ1c2Rldiwgc2l6ZSkpIHsKPiArCWlm ICghSVNfQUxJR05FRCgodWludHB0cl90KWFkZHIsIHNpemUpKSB7Cj4gIAkJKnZhbCA9IDA7Cj4g IAkJcmV0dXJuIFBDSUJJT1NfQkFEX1JFR0lTVEVSX05VTUJFUjsKPiAgCX0KPiBAQCAtMTc1LDEx ICsxNzQsMTEgQEAgc3RhdGljIGludCByb2NrY2hpcF9wY2llX3JkX290aGVyX2NvbmYoc3RydWN0 IHJvY2tjaGlwX3BjaWUgKnJvY2tjaGlwLAo+ICAJCQkJCQlBWElfV1JBUFBFUl9UWVBFMV9DRkcp Owo+ICAKPiAgCWlmIChzaXplID09IDQpIHsKPiAtCQkqdmFsID0gcmVhZGwocm9ja2NoaXAtPnJl Z19iYXNlICsgYnVzZGV2KTsKPiArCQkqdmFsID0gcmVhZGwoYWRkcik7Cj4gIAl9IGVsc2UgaWYg KHNpemUgPT0gMikgewo+IC0JCSp2YWwgPSByZWFkdyhyb2NrY2hpcC0+cmVnX2Jhc2UgKyBidXNk ZXYpOwo+ICsJCSp2YWwgPSByZWFkdyhhZGRyKTsKPiAgCX0gZWxzZSBpZiAoc2l6ZSA9PSAxKSB7 Cj4gLQkJKnZhbCA9IHJlYWRiKHJvY2tjaGlwLT5yZWdfYmFzZSArIGJ1c2Rldik7Cj4gKwkJKnZh bCA9IHJlYWRiKGFkZHIpOwo+ICAJfSBlbHNlIHsKPiAgCQkqdmFsID0gMDsKPiAgCQlyZXR1cm4g UENJQklPU19CQURfUkVHSVNURVJfTlVNQkVSOwo+IEBAIC0xOTEsMTEgKzE5MCwxMSBAQCBzdGF0 aWMgaW50IHJvY2tjaGlwX3BjaWVfd3Jfb3RoZXJfY29uZihzdHJ1Y3Qgcm9ja2NoaXBfcGNpZSAq cm9ja2NoaXAsCj4gIAkJCQkgICAgICAgc3RydWN0IHBjaV9idXMgKmJ1cywgdTMyIGRldmZuLAo+ ICAJCQkJICAgICAgIGludCB3aGVyZSwgaW50IHNpemUsIHUzMiB2YWwpCj4gIHsKPiAtCXUzMiBi dXNkZXY7Cj4gKwl2b2lkIF9faW9tZW0gKmFkZHI7Cj4gIAo+IC0JYnVzZGV2ID0gUENJRV9FQ0FN X0FERFIoYnVzLT5udW1iZXIsIFBDSV9TTE9UKGRldmZuKSwKPiAtCQkJCVBDSV9GVU5DKGRldmZu KSwgd2hlcmUpOwo+IC0JaWYgKCFJU19BTElHTkVEKGJ1c2Rldiwgc2l6ZSkpCj4gKwlhZGRyID0g cm9ja2NoaXAtPnJlZ19iYXNlICsgUENJRV9FQ0FNX09GRlNFVChidXMtPm51bWJlciwgZGV2Zm4s IHdoZXJlKTsKPiArCj4gKwlpZiAoIUlTX0FMSUdORUQoKHVpbnRwdHJfdClhZGRyLCBzaXplKSkK PiAgCQlyZXR1cm4gUENJQklPU19CQURfUkVHSVNURVJfTlVNQkVSOwo+ICAKPiAgCWlmIChwY2lf aXNfcm9vdF9idXMoYnVzLT5wYXJlbnQpKQo+IEBAIC0yMDYsMTEgKzIwNSwxMSBAQCBzdGF0aWMg aW50IHJvY2tjaGlwX3BjaWVfd3Jfb3RoZXJfY29uZihzdHJ1Y3Qgcm9ja2NoaXBfcGNpZSAqcm9j a2NoaXAsCj4gIAkJCQkJCUFYSV9XUkFQUEVSX1RZUEUxX0NGRyk7Cj4gIAo+ICAJaWYgKHNpemUg PT0gNCkKPiAtCQl3cml0ZWwodmFsLCByb2NrY2hpcC0+cmVnX2Jhc2UgKyBidXNkZXYpOwo+ICsJ CXdyaXRlbCh2YWwsIGFkZHIpOwo+ICAJZWxzZSBpZiAoc2l6ZSA9PSAyKQo+IC0JCXdyaXRldyh2 YWwsIHJvY2tjaGlwLT5yZWdfYmFzZSArIGJ1c2Rldik7Cj4gKwkJd3JpdGV3KHZhbCwgYWRkcik7 Cj4gIAllbHNlIGlmIChzaXplID09IDEpCj4gLQkJd3JpdGViKHZhbCwgcm9ja2NoaXAtPnJlZ19i YXNlICsgYnVzZGV2KTsKPiArCQl3cml0ZWIodmFsLCBhZGRyKTsKPiAgCWVsc2UKPiAgCQlyZXR1 cm4gUENJQklPU19CQURfUkVHSVNURVJfTlVNQkVSOwo+ICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9wY2kvY29udHJvbGxlci9wY2llLXJvY2tjaGlwLmggYi9kcml2ZXJzL3BjaS9jb250cm9sbGVy L3BjaWUtcm9ja2NoaXAuaAo+IGluZGV4IGM3ZDAxNzhmYzhjMi4uMTY1MGE1MDg3NDUwIDEwMDY0 NAo+IC0tLSBhL2RyaXZlcnMvcGNpL2NvbnRyb2xsZXIvcGNpZS1yb2NrY2hpcC5oCj4gKysrIGIv ZHJpdmVycy9wY2kvY29udHJvbGxlci9wY2llLXJvY2tjaGlwLmgKPiBAQCAtMTMsNiArMTMsNyBA QAo+ICAKPiAgI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgo+ICAjaW5jbHVkZSA8bGludXgvcGNp Lmg+Cj4gKyNpbmNsdWRlIDxsaW51eC9wY2ktZWNhbS5oPgo+ICAKPiAgLyoKPiAgICogVGhlIHVw cGVyIDE2IGJpdHMgb2YgUENJRV9DTElFTlRfQ09ORklHIGFyZSBhIHdyaXRlIG1hc2sgZm9yIHRo ZSBsb3dlciAxNgo+IEBAIC0xNzgsMTMgKzE3OSw2IEBACj4gICNkZWZpbmUgTUlOX0FYSV9BRERS X0JJVFNfUEFTU0VECQk4Cj4gICNkZWZpbmUgUENJRV9SQ19TRU5EX1BNRV9PRkYJCQkweDExOTYw Cj4gICNkZWZpbmUgUk9DS0NISVBfVkVORE9SX0lECQkJMHgxZDg3Cj4gLSNkZWZpbmUgUENJRV9F Q0FNX0JVUyh4KQkJCSgoKHgpICYgMHhmZikgPDwgMjApCj4gLSNkZWZpbmUgUENJRV9FQ0FNX0RF Vih4KQkJCSgoKHgpICYgMHgxZikgPDwgMTUpCj4gLSNkZWZpbmUgUENJRV9FQ0FNX0ZVTkMoeCkJ CQkoKCh4KSAmIDB4NykgPDwgMTIpCj4gLSNkZWZpbmUgUENJRV9FQ0FNX1JFRyh4KQkJCSgoKHgp ICYgMHhmZmYpIDw8IDApCj4gLSNkZWZpbmUgUENJRV9FQ0FNX0FERFIoYnVzLCBkZXYsIGZ1bmMs IHJlZykgXAo+IC0JICAoUENJRV9FQ0FNX0JVUyhidXMpIHwgUENJRV9FQ0FNX0RFVihkZXYpIHwg XAo+IC0JICAgUENJRV9FQ0FNX0ZVTkMoZnVuYykgfCBQQ0lFX0VDQU1fUkVHKHJlZykpCj4gICNk ZWZpbmUgUENJRV9MSU5LX0lTX0wyKHgpIFwKPiAgCSgoKHgpICYgUENJRV9DTElFTlRfREVCVUdf TFRTU01fTUFTSykgPT0gUENJRV9DTElFTlRfREVCVUdfTFRTU01fTDIpCj4gICNkZWZpbmUgUENJ RV9MSU5LX1VQKHgpIFwKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9wY2kvY29udHJvbGxlci9wY2ll LXRhbmdvLmMgYi9kcml2ZXJzL3BjaS9jb250cm9sbGVyL3BjaWUtdGFuZ28uYwo+IGluZGV4IGQw OTNhOGNlNGJiMS4uNjJhMDYxZjFkNjJlIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvcGNpL2NvbnRy b2xsZXIvcGNpZS10YW5nby5jCj4gKysrIGIvZHJpdmVycy9wY2kvY29udHJvbGxlci9wY2llLXRh bmdvLmMKPiBAQCAtMjA4LDcgKzIwOCw2IEBAIHN0YXRpYyBpbnQgc21wODc1OV9jb25maWdfd3Jp dGUoc3RydWN0IHBjaV9idXMgKmJ1cywgdW5zaWduZWQgaW50IGRldmZuLAo+ICB9Cj4gIAo+ICBz dGF0aWMgY29uc3Qgc3RydWN0IHBjaV9lY2FtX29wcyBzbXA4NzU5X2VjYW1fb3BzID0gewo+IC0J LmJ1c19zaGlmdAk9IDIwLAo+ICAJLnBjaV9vcHMJPSB7Cj4gIAkJLm1hcF9idXMJPSBwY2lfZWNh bV9tYXBfYnVzLAo+ICAJCS5yZWFkCQk9IHNtcDg3NTlfY29uZmlnX3JlYWQsCj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvcGNpL2NvbnRyb2xsZXIvcGNpZS14aWxpbngtbndsLmMgYi9kcml2ZXJzL3Bj aS9jb250cm9sbGVyL3BjaWUteGlsaW54LW53bC5jCj4gaW5kZXggZjNjZjdkNjE5MjRmLi43ZjI5 YzJmZGNkNTEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9wY2kvY29udHJvbGxlci9wY2llLXhpbGlu eC1ud2wuYwo+ICsrKyBiL2RyaXZlcnMvcGNpL2NvbnRyb2xsZXIvcGNpZS14aWxpbngtbndsLmMK PiBAQCAtMTgsNiArMTgsNyBAQAo+ICAjaW5jbHVkZSA8bGludXgvb2ZfcGxhdGZvcm0uaD4KPiAg I2luY2x1ZGUgPGxpbnV4L29mX2lycS5oPgo+ICAjaW5jbHVkZSA8bGludXgvcGNpLmg+Cj4gKyNp bmNsdWRlIDxsaW51eC9wY2ktZWNhbS5oPgo+ICAjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2 aWNlLmg+Cj4gICNpbmNsdWRlIDxsaW51eC9pcnFjaGlwL2NoYWluZWRfaXJxLmg+Cj4gIAo+IEBA IC0xMjQsOCArMTI1LDYgQEAKPiAgI2RlZmluZSBFX0VDQU1fQ1JfRU5BQkxFCQlCSVQoMCkKPiAg I2RlZmluZSBFX0VDQU1fU0laRV9MT0MJCQlHRU5NQVNLKDIwLCAxNikKPiAgI2RlZmluZSBFX0VD QU1fU0laRV9TSElGVAkJMTYKPiAtI2RlZmluZSBFQ0FNX0JVU19MT0NfU0hJRlQJCTIwCj4gLSNk ZWZpbmUgRUNBTV9ERVZfTE9DX1NISUZUCQkxMgo+ICAjZGVmaW5lIE5XTF9FQ0FNX1ZBTFVFX0RF RkFVTFQJCTEyCj4gIAo+ICAjZGVmaW5lIENGR19ETUFfUkVHX0JBUgkJCUdFTk1BU0soMiwgMCkK PiBAQCAtMjQwLDE1ICsyMzksMTEgQEAgc3RhdGljIHZvaWQgX19pb21lbSAqbndsX3BjaWVfbWFw X2J1cyhzdHJ1Y3QgcGNpX2J1cyAqYnVzLCB1bnNpZ25lZCBpbnQgZGV2Zm4sCj4gIAkJCQkgICAg ICBpbnQgd2hlcmUpCj4gIHsKPiAgCXN0cnVjdCBud2xfcGNpZSAqcGNpZSA9IGJ1cy0+c3lzZGF0 YTsKPiAtCWludCByZWxidXM7Cj4gIAo+ICAJaWYgKCFud2xfcGNpZV92YWxpZF9kZXZpY2UoYnVz LCBkZXZmbikpCj4gIAkJcmV0dXJuIE5VTEw7Cj4gIAo+IC0JcmVsYnVzID0gKGJ1cy0+bnVtYmVy IDw8IEVDQU1fQlVTX0xPQ19TSElGVCkgfAo+IC0JCQkoZGV2Zm4gPDwgRUNBTV9ERVZfTE9DX1NI SUZUKTsKPiAtCj4gLQlyZXR1cm4gcGNpZS0+ZWNhbV9iYXNlICsgcmVsYnVzICsgd2hlcmU7Cj4g KwlyZXR1cm4gcGNpZS0+ZWNhbV9iYXNlICsgUENJRV9FQ0FNX09GRlNFVChidXMtPm51bWJlciwg ZGV2Zm4sIHdoZXJlKTsKPiAgfQo+ICAKPiAgLyogUENJZSBvcGVyYXRpb25zICovCj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvcGNpL2NvbnRyb2xsZXIvcGNpZS14aWxpbnguYyBiL2RyaXZlcnMvcGNp L2NvbnRyb2xsZXIvcGNpZS14aWxpbnguYwo+IGluZGV4IDg1MjNiZTYxYmJhNS4uZmE1YmFlYjgy NjUzIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvcGNpL2NvbnRyb2xsZXIvcGNpZS14aWxpbnguYwo+ ICsrKyBiL2RyaXZlcnMvcGNpL2NvbnRyb2xsZXIvcGNpZS14aWxpbnguYwo+IEBAIC0yMSw2ICsy MSw3IEBACj4gICNpbmNsdWRlIDxsaW51eC9vZl9wbGF0Zm9ybS5oPgo+ICAjaW5jbHVkZSA8bGlu dXgvb2ZfaXJxLmg+Cj4gICNpbmNsdWRlIDxsaW51eC9wY2kuaD4KPiArI2luY2x1ZGUgPGxpbnV4 L3BjaS1lY2FtLmg+Cj4gICNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KPiAgCj4g ICNpbmNsdWRlICIuLi9wY2kuaCIKPiBAQCAtODYsMTAgKzg3LDYgQEAKPiAgLyogUGh5IFN0YXR1 cy9Db250cm9sIFJlZ2lzdGVyIGRlZmluaXRpb25zICovCj4gICNkZWZpbmUgWElMSU5YX1BDSUVf UkVHX1BTQ1JfTE5LVVAJQklUKDExKQo+ICAKPiAtLyogRUNBTSBkZWZpbml0aW9ucyAqLwo+IC0j ZGVmaW5lIEVDQU1fQlVTX05VTV9TSElGVAkJMjAKPiAtI2RlZmluZSBFQ0FNX0RFVl9OVU1fU0hJ RlQJCTEyCj4gLQo+ICAvKiBOdW1iZXIgb2YgTVNJIElSUXMgKi8KPiAgI2RlZmluZSBYSUxJTlhf TlVNX01TSV9JUlFTCQkxMjgKPiAgCj4gQEAgLTE4MywxNSArMTgwLDExIEBAIHN0YXRpYyB2b2lk IF9faW9tZW0gKnhpbGlueF9wY2llX21hcF9idXMoc3RydWN0IHBjaV9idXMgKmJ1cywKPiAgCQkJ CQkgdW5zaWduZWQgaW50IGRldmZuLCBpbnQgd2hlcmUpCj4gIHsKPiAgCXN0cnVjdCB4aWxpbnhf cGNpZV9wb3J0ICpwb3J0ID0gYnVzLT5zeXNkYXRhOwo+IC0JaW50IHJlbGJ1czsKPiAgCj4gIAlp ZiAoIXhpbGlueF9wY2llX3ZhbGlkX2RldmljZShidXMsIGRldmZuKSkKPiAgCQlyZXR1cm4gTlVM TDsKPiAgCj4gLQlyZWxidXMgPSAoYnVzLT5udW1iZXIgPDwgRUNBTV9CVVNfTlVNX1NISUZUKSB8 Cj4gLQkJIChkZXZmbiA8PCBFQ0FNX0RFVl9OVU1fU0hJRlQpOwo+IC0KPiAtCXJldHVybiBwb3J0 LT5yZWdfYmFzZSArIHJlbGJ1cyArIHdoZXJlOwo+ICsJcmV0dXJuIHBvcnQtPnJlZ19iYXNlICsg UENJRV9FQ0FNX09GRlNFVChidXMtPm51bWJlciwgZGV2Zm4sIHdoZXJlKTsKPiAgfQo+ICAKPiAg LyogUENJZSBvcGVyYXRpb25zICovCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvcGNpL2NvbnRyb2xs ZXIvdm1kLmMgYi9kcml2ZXJzL3BjaS9jb250cm9sbGVyL3ZtZC5jCj4gaW5kZXggZjM3NWMyMWNl ZWIxLi4xMzYxYTc5YmQxZTcgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9wY2kvY29udHJvbGxlci92 bWQuYwo+ICsrKyBiL2RyaXZlcnMvcGNpL2NvbnRyb2xsZXIvdm1kLmMKPiBAQCAtMTEsNiArMTEs NyBAQAo+ICAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+Cj4gICNpbmNsdWRlIDxsaW51eC9tc2ku aD4KPiAgI2luY2x1ZGUgPGxpbnV4L3BjaS5oPgo+ICsjaW5jbHVkZSA8bGludXgvcGNpLWVjYW0u aD4KPiAgI2luY2x1ZGUgPGxpbnV4L3NyY3UuaD4KPiAgI2luY2x1ZGUgPGxpbnV4L3JjdWxpc3Qu aD4KPiAgI2luY2x1ZGUgPGxpbnV4L3JjdXBkYXRlLmg+Cj4gQEAgLTMyOCwxNSArMzI5LDEzIEBA IHN0YXRpYyB2b2lkIHZtZF9yZW1vdmVfaXJxX2RvbWFpbihzdHJ1Y3Qgdm1kX2RldiAqdm1kKQo+ ICBzdGF0aWMgY2hhciBfX2lvbWVtICp2bWRfY2ZnX2FkZHIoc3RydWN0IHZtZF9kZXYgKnZtZCwg c3RydWN0IHBjaV9idXMgKmJ1cywKPiAgCQkJCSAgdW5zaWduZWQgaW50IGRldmZuLCBpbnQgcmVn LCBpbnQgbGVuKQo+ICB7Cj4gLQljaGFyIF9faW9tZW0gKmFkZHIgPSB2bWQtPmNmZ2JhciArCj4g LQkJCSAgICAgKChidXMtPm51bWJlciAtIHZtZC0+YnVzbl9zdGFydCkgPDwgMjApICsKPiAtCQkJ ICAgICAoZGV2Zm4gPDwgMTIpICsgcmVnOwo+ICsJdW5zaWduZWQgaW50IGJ1c25yX2VjYW0gPSBi dXMtPm51bWJlciAtIHZtZC0+YnVzbl9zdGFydDsKPiArCXUzMiBvZmZzZXQgPSBQQ0lFX0VDQU1f T0ZGU0VUKGJ1c25yX2VjYW0sIGRldmZuLCByZWcpOwo+ICAKPiAtCWlmICgoYWRkciAtIHZtZC0+ Y2ZnYmFyKSArIGxlbiA+PQo+IC0JICAgIHJlc291cmNlX3NpemUoJnZtZC0+ZGV2LT5yZXNvdXJj ZVtWTURfQ0ZHQkFSXSkpCj4gKwlpZiAob2Zmc2V0ICsgbGVuID49IHJlc291cmNlX3NpemUoJnZt ZC0+ZGV2LT5yZXNvdXJjZVtWTURfQ0ZHQkFSXSkpCj4gIAkJcmV0dXJuIE5VTEw7Cj4gIAo+IC0J cmV0dXJuIGFkZHI7Cj4gKwlyZXR1cm4gdm1kLT5jZmdiYXIgKyBvZmZzZXQ7Cj4gIH0KPiAgCj4g IC8qCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvcGNpL2VjYW0uYyBiL2RyaXZlcnMvcGNpL2VjYW0u Ywo+IGluZGV4IGI1NGQzMmEzMTY2OS4uNTlmOTFkNDM0ODU5IDEwMDY0NAo+IC0tLSBhL2RyaXZl cnMvcGNpL2VjYW0uYwo+ICsrKyBiL2RyaXZlcnMvcGNpL2VjYW0uYwo+IEBAIC0xMzEsMjUgKzEz MSwzNiBAQCB2b2lkIF9faW9tZW0gKnBjaV9lY2FtX21hcF9idXMoc3RydWN0IHBjaV9idXMgKmJ1 cywgdW5zaWduZWQgaW50IGRldmZuLAo+ICAJCQkgICAgICAgaW50IHdoZXJlKQo+ICB7Cj4gIAlz dHJ1Y3QgcGNpX2NvbmZpZ193aW5kb3cgKmNmZyA9IGJ1cy0+c3lzZGF0YTsKPiArCXVuc2lnbmVk IGludCBidXNfc2hpZnQgPSBjZmctPm9wcy0+YnVzX3NoaWZ0Owo+ICAJdW5zaWduZWQgaW50IGRl dmZuX3NoaWZ0ID0gY2ZnLT5vcHMtPmJ1c19zaGlmdCAtIDg7Cj4gIAl1bnNpZ25lZCBpbnQgYnVz biA9IGJ1cy0+bnVtYmVyOwo+ICAJdm9pZCBfX2lvbWVtICpiYXNlOwo+ICsJdTMyIGJ1c19vZmZz ZXQsIGRldmZuX29mZnNldDsKPiAgCj4gIAlpZiAoYnVzbiA8IGNmZy0+YnVzci5zdGFydCB8fCBi dXNuID4gY2ZnLT5idXNyLmVuZCkKPiAgCQlyZXR1cm4gTlVMTDsKPiAgCj4gIAlidXNuIC09IGNm Zy0+YnVzci5zdGFydDsKPiAtCWlmIChwZXJfYnVzX21hcHBpbmcpCj4gKwlpZiAocGVyX2J1c19t YXBwaW5nKSB7Cj4gIAkJYmFzZSA9IGNmZy0+d2lucFtidXNuXTsKPiAtCWVsc2UKPiAtCQliYXNl ID0gY2ZnLT53aW4gKyAoYnVzbiA8PCBjZmctPm9wcy0+YnVzX3NoaWZ0KTsKPiAtCXJldHVybiBi YXNlICsgKGRldmZuIDw8IGRldmZuX3NoaWZ0KSArIHdoZXJlOwo+ICsJCWJ1c24gPSAwOwo+ICsJ fSBlbHNlCj4gKwkJYmFzZSA9IGNmZy0+d2luOwo+ICsKPiArCWlmIChjZmctPm9wcy0+YnVzX3No aWZ0KSB7Cj4gKwkJYnVzX29mZnNldCA9IChidXNuICYgUENJRV9FQ0FNX0JVU19NQVNLKSA8PCBi dXNfc2hpZnQ7Cj4gKwkJZGV2Zm5fb2Zmc2V0ID0gKGRldmZuICYgUENJRV9FQ0FNX0RFVkZOX01B U0spIDw8IGRldmZuX3NoaWZ0Owo+ICsJCXdoZXJlICY9IFBDSUVfRUNBTV9SRUdfTUFTSzsKPiAr Cj4gKwkJcmV0dXJuIGJhc2UgKyAoYnVzX29mZnNldCB8IGRldmZuX29mZnNldCB8IHdoZXJlKTsK PiArCX0KPiArCj4gKwlyZXR1cm4gYmFzZSArIFBDSUVfRUNBTV9PRkZTRVQoYnVzbiwgZGV2Zm4s IHdoZXJlKTsKPiAgfQo+ICBFWFBPUlRfU1lNQk9MX0dQTChwY2lfZWNhbV9tYXBfYnVzKTsKPiAg Cj4gIC8qIEVDQU0gb3BzICovCj4gIGNvbnN0IHN0cnVjdCBwY2lfZWNhbV9vcHMgcGNpX2dlbmVy aWNfZWNhbV9vcHMgPSB7Cj4gLQkuYnVzX3NoaWZ0CT0gMjAsCj4gIAkucGNpX29wcwk9IHsKPiAg CQkubWFwX2J1cwk9IHBjaV9lY2FtX21hcF9idXMsCj4gIAkJLnJlYWQJCT0gcGNpX2dlbmVyaWNf Y29uZmlnX3JlYWQsCj4gQEAgLTE2MSw3ICsxNzIsNiBAQCBFWFBPUlRfU1lNQk9MX0dQTChwY2lf Z2VuZXJpY19lY2FtX29wcyk7Cj4gICNpZiBkZWZpbmVkKENPTkZJR19BQ1BJKSAmJiBkZWZpbmVk KENPTkZJR19QQ0lfUVVJUktTKQo+ICAvKiBFQ0FNIG9wcyBmb3IgMzItYml0IGFjY2VzcyBvbmx5 IChub24tY29tcGxpYW50KSAqLwo+ICBjb25zdCBzdHJ1Y3QgcGNpX2VjYW1fb3BzIHBjaV8zMmJf b3BzID0gewo+IC0JLmJ1c19zaGlmdAk9IDIwLAo+ICAJLnBjaV9vcHMJPSB7Cj4gIAkJLm1hcF9i dXMJPSBwY2lfZWNhbV9tYXBfYnVzLAo+ICAJCS5yZWFkCQk9IHBjaV9nZW5lcmljX2NvbmZpZ19y ZWFkMzIsCj4gQEAgLTE3MSw3ICsxODEsNiBAQCBjb25zdCBzdHJ1Y3QgcGNpX2VjYW1fb3BzIHBj aV8zMmJfb3BzID0gewo+ICAKPiAgLyogRUNBTSBvcHMgZm9yIDMyLWJpdCByZWFkIG9ubHkgKG5v bi1jb21wbGlhbnQpICovCj4gIGNvbnN0IHN0cnVjdCBwY2lfZWNhbV9vcHMgcGNpXzMyYl9yZWFk X29wcyA9IHsKPiAtCS5idXNfc2hpZnQJPSAyMCwKPiAgCS5wY2lfb3BzCT0gewo+ICAJCS5tYXBf YnVzCT0gcGNpX2VjYW1fbWFwX2J1cywKPiAgCQkucmVhZAkJPSBwY2lfZ2VuZXJpY19jb25maWdf cmVhZDMyLAo+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L3BjaS1lY2FtLmggYi9pbmNsdWRl L2xpbnV4L3BjaS1lY2FtLmgKPiBpbmRleCAwMzNjZTc0ZjAyZTguLjY1ZDNkODMwMTVjMyAxMDA2 NDQKPiAtLS0gYS9pbmNsdWRlL2xpbnV4L3BjaS1lY2FtLmgKPiArKysgYi9pbmNsdWRlL2xpbnV4 L3BjaS1lY2FtLmgKPiBAQCAtOSw2ICs5LDMzIEBACj4gICNpbmNsdWRlIDxsaW51eC9rZXJuZWwu aD4KPiAgI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgo+ICAKPiArLyoKPiArICog TWVtb3J5IGFkZHJlc3Mgc2hpZnQgdmFsdWVzIGZvciB0aGUgYnl0ZS1sZXZlbCBhZGRyZXNzIHRo YXQKPiArICogY2FuIGJlIHVzZWQgd2hlbiBhY2Nlc3NpbmcgdGhlIFBDSSBFeHByZXNzIENvbmZp Z3VyYXRpb24gU3BhY2UuCj4gKyAqLwo+ICsKPiArLyoKPiArICogRW5oYW5jZWQgQ29uZmlndXJh dGlvbiBBY2Nlc3MgTWVjaGFuaXNtIChFQ0FNKQo+ICsgKgo+ICsgKiBTZWUgUENJIEV4cHJlc3Mg QmFzZSBTcGVjaWZpY2F0aW9uLCBSZXZpc2lvbiA1LjAsIFZlcnNpb24gMS4wLAo+ICsgKiBTZWN0 aW9uIDcuMi4yLCBUYWJsZSA3LTEsIHAuIDY3Ny4KPiArICovCj4gKyNkZWZpbmUgUENJRV9FQ0FN X0JVU19TSElGVAkyMCAvKiBCdXMgbnVtYmVyICovCj4gKyNkZWZpbmUgUENJRV9FQ0FNX0RFVkZO X1NISUZUCTEyIC8qIERldmljZSBhbmQgRnVuY3Rpb24gbnVtYmVyICovCj4gKwo+ICsjZGVmaW5l IFBDSUVfRUNBTV9CVVNfTUFTSwkweGZmCj4gKyNkZWZpbmUgUENJRV9FQ0FNX0RFVkZOX01BU0sJ MHhmZgo+ICsjZGVmaW5lIFBDSUVfRUNBTV9SRUdfTUFTSwkweGZmZiAvKiBMaW1pdCBvZmZzZXQg dG8gYSBtYXhpbXVtIG9mIDRLICovCj4gKwo+ICsjZGVmaW5lIFBDSUVfRUNBTV9CVVMoeCkJKCgo eCkgJiBQQ0lFX0VDQU1fQlVTX01BU0spIDw8IFBDSUVfRUNBTV9CVVNfU0hJRlQpCj4gKyNkZWZp bmUgUENJRV9FQ0FNX0RFVkZOKHgpCSgoKHgpICYgUENJRV9FQ0FNX0RFVkZOX01BU0spIDw8IFBD SUVfRUNBTV9ERVZGTl9TSElGVCkKPiArI2RlZmluZSBQQ0lFX0VDQU1fUkVHKHgpCSgoeCkgJiBQ Q0lFX0VDQU1fUkVHX01BU0spCj4gKwo+ICsjZGVmaW5lIFBDSUVfRUNBTV9PRkZTRVQoYnVzLCBk ZXZmbiwgd2hlcmUpIFwKPiArCShQQ0lFX0VDQU1fQlVTKGJ1cykgfCBcCj4gKwkgUENJRV9FQ0FN X0RFVkZOKGRldmZuKSB8IFwKPiArCSBQQ0lFX0VDQU1fUkVHKHdoZXJlKSkKPiArCj4gIC8qCj4g ICAqIHN0cnVjdCB0byBob2xkIHBjaSBvcHMgYW5kIGJ1cyBzaGlmdCBvZiB0aGUgY29uZmlnIHdp bmRvdwo+ICAgKiBmb3IgYSBQQ0kgY29udHJvbGxlci4KPiAtLSAKPiAyLjI5LjIKPiAKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJu ZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRw Oi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK