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 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 2907CC6FD20 for ; Fri, 24 Mar 2023 16:00:14 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:Cc: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=QCCuBBnP2tZBjc7Bh/7GEPtgg1h2X2UILXp8hNsniv8=; b=v8A6z1Ds5WUGCw XiXAl38/zoVCr/1+Tn1abQtutAIJIY++rd6zE4Ki7B857oeLMK9KRJj4sxdSsuRemtmqwSl5Zp7cX Gb74fqfyP8mkpE5Icfy5ROy0utUxpSyfjdCAORnExDj1LbMLjRp6HVe2QiQXZkTjhLy0soqpUdvbx YaMk+tEj3irsEK2YhNri4bBV8kGnj46UnN4D+m1RHrEHKZc6vUbTtwcyCzh4mXVhSzTRA6ZYe7g4X rWBc39AV3yZ5cOloqs7VsJEhn92/RRFSVqXuLwaNm9pmDYNz9KRnyNr+BNKpGrMeerqq3qSzWQu5a gxKJ1Bo0VU0SJHXUODLA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1pfjp7-004vwO-0Y; Fri, 24 Mar 2023 15:59:25 +0000 Received: from dfw.source.kernel.org ([139.178.84.217]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1pfjp3-004vv6-1L for linux-arm-kernel@lists.infradead.org; Fri, 24 Mar 2023 15:59:23 +0000 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 8A4D762BBB; Fri, 24 Mar 2023 15:59:20 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id A8C7FC433D2; Fri, 24 Mar 2023 15:59:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1679673560; bh=xGwOQJYL9ATXTak64Tua1D7KgP2UjQI73su8vDafpLk=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=gMHOivHkEdT/D1yzlfAOMcRvKQH9e5BYp8+MRJTSKkLOiFYLAyyDHCSfVOn7VQ6TQ x+2urpKwkGfLTyJJsGNe29Qgp5/FWs/QFeCsOqqv+zcncTuqoG3li8TsDBmXmCU1Vn KdvP3O8KVFQym1+m1syW+yChuCD0nDgmUTty4aboSkcL2oehMUsOmmU0nGj0ElcU9f zSO0Vv+P2NNa1SF18Nu0BIDxBtJV8W5297IbSI69/J/2vz4lC8DDwcQ739WIrDYnXY lu7+Swgjn9b8N1jTnIGfrnHsQxSgeCGJqxHrETX5ZF2DU0TTviPViT000mxsq2XFNy M6WqafZgh9JdQ== Date: Fri, 24 Mar 2023 16:59:14 +0100 From: Lorenzo Pieralisi To: Hongxing Zhu Cc: Bjorn Helgaas , "l.stach@pengutronix.de" , "bhelgaas@google.com" , "linux-pci@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" , "linux-kernel@vger.kernel.org" , "kernel@pengutronix.de" , dl-linux-imx Subject: Re: [PATCH v2] PCI: imx6: Save and restore MSI control of RC in suspend and resume Message-ID: References: <20230317222436.GA1978818@bhelgaas> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230324_085921_533851_355CDFDA X-CRM114-Status: GOOD ( 64.98 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , 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 T24gTW9uLCBNYXIgMjAsIDIwMjMgYXQgMDc6MDI6MzVBTSArMDAwMCwgSG9uZ3hpbmcgWmh1IHdy b3RlOgo+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0KPiA+IEZyb206IEJqb3JuIEhlbGdh YXMgPGhlbGdhYXNAa2VybmVsLm9yZz4KPiA+IFNlbnQ6IDIwMjPlubQz5pyIMTjml6UgNjoyNQo+ ID4gVG86IEhvbmd4aW5nIFpodSA8aG9uZ3hpbmcuemh1QG54cC5jb20+Cj4gPiBDYzogTG9yZW56 byBQaWVyYWxpc2kgPGxwaWVyYWxpc2lAa2VybmVsLm9yZz47IGwuc3RhY2hAcGVuZ3V0cm9uaXgu ZGU7Cj4gPiBiaGVsZ2Fhc0Bnb29nbGUuY29tOyBsaW51eC1wY2lAdmdlci5rZXJuZWwub3JnOwo+ ID4gbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnOyBsaW51eC1rZXJuZWxAdmdl ci5rZXJuZWwub3JnOwo+ID4ga2VybmVsQHBlbmd1dHJvbml4LmRlOyBkbC1saW51eC1pbXggPGxp bnV4LWlteEBueHAuY29tPgo+ID4gU3ViamVjdDogUmU6IFtQQVRDSCB2Ml0gUENJOiBpbXg2OiBT YXZlIGFuZCByZXN0b3JlIE1TSSBjb250cm9sIG9mIFJDIGluIHN1c3BlbmQKPiA+IGFuZCByZXN1 bWUKPiA+IAo+ID4gT24gRnJpLCBNYXIgMTcsIDIwMjMgYXQgMDc6Mzg6MDJBTSArMDAwMCwgSG9u Z3hpbmcgWmh1IHdyb3RlOgo+ID4gPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tCj4gPiA+ ID4gRnJvbTogTG9yZW56byBQaWVyYWxpc2kgPGxwaWVyYWxpc2lAa2VybmVsLm9yZz4KPiA+ID4g PiBTZW50OiAyMDIz5bm0M+aciDE25pelIDE2OjExCj4gPiA+ID4gVG86IEhvbmd4aW5nIFpodSA8 aG9uZ3hpbmcuemh1QG54cC5jb20+Cj4gPiA+ID4gQ2M6IEJqb3JuIEhlbGdhYXMgPGhlbGdhYXNA a2VybmVsLm9yZz47IGwuc3RhY2hAcGVuZ3V0cm9uaXguZGU7Cj4gPiA+ID4gYmhlbGdhYXNAZ29v Z2xlLmNvbTsgbGludXgtcGNpQHZnZXIua2VybmVsLm9yZzsKPiA+ID4gPiBsaW51eC1hcm0ta2Vy bmVsQGxpc3RzLmluZnJhZGVhZC5vcmc7IGxpbnV4LWtlcm5lbEB2Z2VyLmtlcm5lbC5vcmc7Cj4g PiA+ID4ga2VybmVsQHBlbmd1dHJvbml4LmRlOyBkbC1saW51eC1pbXggPGxpbnV4LWlteEBueHAu Y29tPgo+ID4gPiA+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggdjJdIFBDSTogaW14NjogU2F2ZSBhbmQg cmVzdG9yZSBNU0kgY29udHJvbCBvZgo+ID4gPiA+IFJDIGluIHN1c3BlbmQgYW5kIHJlc3VtZQo+ ID4gPiA+Cj4gPiA+ID4gT24gVGh1LCBNYXIgMTYsIDIwMjMgYXQgMDc6Mzc6NDFBTSArMDAwMCwg SG9uZ3hpbmcgWmh1IHdyb3RlOgo+ID4gPiA+Cj4gPiA+ID4gWy4uLl0KPiA+ID4gPgo+ID4gPiA+ ID4gPiA+ID4gPiBJdCdzIG5vdCBhIHNlcGFyYXRlIHJlZ2lzdGVyLgo+ID4gPiA+ID4gPiA+ID4g Pgo+ID4gPiA+ID4gPiA+ID4gPiBUaGUgYml0IEkgbWFuaXB1bGF0ZWQgaXMgdGhlIE1TSSBFbmFi bGUgYml0IG9mIHRoZSBNZXNzYWdlCj4gPiA+ID4gPiA+ID4gPiA+IENvbnRyb2wgUmVnaXN0ZXIg Zm9yIE1TSSAoT2Zmc2V0IDAyaCkgY29udGFpbmVkIGluIHRoZQo+ID4gPiA+ID4gPiA+ID4gPiBN U0ktY2FwYWJpbGl0eSBvZiBSb290IENvbXBsZXguCj4gPiA+ID4gPiA+ID4gPiA+Cj4gPiA+ID4g PiA+ID4gPiA+IEluIGFkZGl0aW9uLCBvbiBpLk1YNiwgdGhlIE1TSSBFbmFibGUgYml0IGNvbnRy b2xzCj4gPiA+ID4gPiA+ID4gPiA+IGRlbGl2ZXJ5IG9mIE1TSSBpbnRlcnJ1cHRzIGZyb20gY29t cG9uZW50cyBiZWxvdyB0aGUgUm9vdCBQb3J0Lgo+ID4gPiA+ID4gPiA+ID4gPgo+ID4gPiA+ID4g PiA+ID4gPiBTbywgc2V0IE1TSSBFbmFibGUgaW4gaW14NnEtcGNpZSB0byBsZXQgdGhlIE1TSSBm cm9tCj4gPiA+ID4gPiA+ID4gPiA+IGRvd25zdHJlYW0gY29tcG9uZW50cyB3b3Jrcy4KPiA+ID4g PiA+ID4gPiA+Cj4gPiA+ID4gPiA+ID4gPiBNeSBjb25mdXNpb24gaXMgYWJvdXQgdGhpcyAiTVNJ IENhcGFiaWxpdHkiIGZvdW5kIGJ5Cj4gPiA+ID4gPiA+ID4gPiAiZHdfcGNpZV9maW5kX2NhcGFi aWxpdHkocGNpLCBQQ0lfQ0FQX0lEX01TSSkiIGluIHlvdXIgcGF0Y2guCj4gPiA+ID4gPiA+ID4g Pgo+ID4gPiA+ID4gPiA+ID4gVGhlIGkuTVg2IG1hbnVhbCBtaWdodCByZWZlciB0byB0aGF0IGFz IGFuICJNU0kgQ2FwYWJpbGl0eSIKPiA+ID4gPiA+ID4gPiA+IGJ1dCBhcyBmYXIgYXMgSSBrbm93 LCB0aGUgUENJZSBiYXNlIHNwZWMgZG9lc24ndCBkb2N1bWVudCBhCj4gPiA+ID4gPiA+ID4gPiBS b290IENvbXBsZXggTVNJCj4gPiA+ID4gPiA+IENhcGFiaWxpdHkuCj4gPiA+ID4gPiA+ID4gPgo+ ID4gPiA+ID4gPiA+ID4gSSBkb24ndCB0aGluayBpdCdzIHRoZSBzYW1lIGFzIHRoZSBvbmUgZG9j dW1lbnRlZCBpbiBQQ0llCj4gPiA+ID4gPiA+ID4gPiByNi4wLCBzZWMgNy43LjIuICBJIHRoaW5r IGl0J3MgZGlmZmVyZW50IGJlY2F1c2U6Cj4gPiA+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiA+ID4g ICAoMSkgSSAqdGhpbmsqICJwY2kiIGhlcmUgcmVmZXJzIHRvIHRoZSBSQywgbm90IHRvIGEgUm9v dCBQb3J0Lgo+ID4gPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gPiA+ICAgKDIpIFRoZSBzZW1hbnRp Y3MgYXJlIGRpZmZlcmVudC4gIFRoZSBNU0ktWCBFbmFibGUgYml0IGluIDcuNy4yIG9ubHkKPiA+ ID4gPiA+ID4gPiA+ICAgZGV0ZXJtaW5lcyB3aGV0aGVyIHRoZSBGdW5jdGlvbiBpdHNlbGYgaXMg cGVybWl0dGVkIHRvIHVzZSBNU0ktWC4KPiA+ID4gPiA+ID4gPiA+ICAgSXQgaGFzIG5vdGhpbmcg dG8gZG8gd2l0aCBkZXZpY2VzICpiZWxvdyogYSBSb290IFBvcnQgY2FuCj4gPiA+ID4gPiA+ID4g PiB1c2UKPiA+ID4gPiBNU0ktWC4KPiA+ID4gPiA+ID4gPiA+ICAgSXQgYWxzbyBoYXMgbm90aGlu ZyB0byBkbyB3aXRoIHdoZXRoZXIgYSBSb290IFBvcnQgY2FuIGZvcndhcmQgTVNJCj4gPiA+ID4g PiA+ID4gPiAgIHRyYW5zYWN0aW9ucyBmcm9tIHRob3NlIGRvd25zdHJlYW0gZGV2aWNlcy4KPiA+ ID4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+ID4gPiBUaGlzIHBhcnQgb2YgbXkgY29uZnVzaW9uIGNv dWxkIGJlIGVhc2lseSByZXNvbHZlZCB2aWEgYSBjb21tZW50Lgo+ID4gPiA+ID4gPiA+ID4KPiA+ ID4gPiA+ID4gPiA+IEkgZG8gaGF2ZSBhIGZvbGxvdy1vbiBxdWVzdGlvbiwgdGhvdWdoOiB0aGUg cGF0Y2ggc2VlbXMgdG8KPiA+ID4gPiA+ID4gPiA+IGVuYWJsZSBNU0ktcmVsYXRlZCBmdW5jdGlv bmFsaXR5IHVzaW5nIGEgcmVnaXN0ZXIgaW4gdGhlCj4gPiA+ID4gPiA+ID4gPiBEZXNpZ25XYXJl IElQLCBub3Qgc29tZXRoaW5nIGluIHRoZSBpLk1YNi1zcGVjaWZpYyBJUC4gIElmCj4gPiA+ID4g PiA+ID4gPiB0aGF0J3MgdHJ1ZSwgd2h5IGRvbid0IG90aGVyIERlc2lnbldhcmUtYmFzZWQgZHJp dmVycyBuZWVkCj4gPiA+ID4gPiA+ID4gPiBzb21ldGhpbmcKPiA+ID4gPiBzaW1pbGFyPwo+ID4g PiA+ID4gPiA+IEhpIEJqb3JuOgo+ID4gPiA+ID4gPiA+IFRoYW5rcyBhIGxvdCBmb3IgeW91IHJl cGx5Lgo+ID4gPiA+ID4gPiA+IFRoaXMgYmVoYXZpb3IgaXMgc3BlY2lmaWMgZm9yIGkuTVggUENJ ZS4KPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gV2hpY2ggYmVoYXZpb3VyID8gSXQgY2FuJ3QgYmUg dGhlIHJvb3QgcG9ydCBNU0kgY2FwYWJpbGl0eSwgdGhhdAo+ID4gPiA+ID4gPiB3b3VsZCBiZSBh IEhXIGJ1ZyAoaWUgZGlzYWJsaW5nIHJvb3QgcG9ydCBNU0lzIHdvdWxkIGltcGx5Cj4gPiA+ID4g PiA+IGRpc2FibGluZyBNU0lzIGZvciBhbGwgZG93bnN0cmVhbSBjb21wb25lbnRzKS4KPiA+ID4g PiA+ID4KPiA+ID4gPiA+Cj4gPiA+ID4gPiBpLk1YIFBDSWUgZGVzaWduZXIgdXNlIHRoaXMgTVNJ X0VOIGJpdCB0byBjb250cm9sIHRoZSBNU0kgdHJpZ2dlcgo+ID4gPiA+ID4gd2hlbiBpbnRlZ3Jh dGUgIERlc2lnbiBXYXJlIFBDSWUgSVAuCj4gPiA+ID4gPiBXaXRob3V0IHRoZSBNU0lfRU4gYml0 IGFzc2VydGlvbiAoMWInMSksIHRoZSBkZXZpY2VzIGJlbG93IHRoaXMgUkMKPiA+ID4gPiA+IGNh bid0IHRyaWdnZXIgIHRoZSBNU0kgc3VjY2Vzc2Z1bGx5Lgo+ID4gPiA+ID4gWWVzLCB5b3UncmUg cmlnaHQuIEl0IHNob3VsZCBub3QgYmUgdGhlIHJvb3QgcG9ydCBNU0kgY2FwYWJpbGl0eS4KPiA+ ID4gPgo+ID4gPiA+IFRoZSBxdWVzdGlvbiBpcywgaXQgaXMgb3IgaXQgaXMgbm90IHRoZSByb290 IHBvcnQgTVNJIGNhcGFiaWxpdHkgPwo+ID4gPiA+Cj4gPiA+ID4gSWYgaXQgaXMsIHRoYXQncyBh IEhXIGJ1Zy4KPiA+ID4gPgo+ID4gPiA+IElmIGl0IGlzIG5vdCB0aGVyZSBpcyBub3RoaW5nIHRv IGRvIGFuZCB0aGlzIHBhdGNoIGNhbiBiZSBtZXJnZWQuCj4gPiA+IEhpIExvcmVuem86Cj4gPiA+ IFRoYW5rcyBmb3IgeW91ciByZXBseS4KPiA+ID4gSSB0aGluayBpdCBpcyBub3QgdGhlIHJvb3Qg cG9ydCBNU0kgY2FwYWJpbGl0eSBhY3R1YWxseS4KPiA+ID4gUmVmZXIgdG8gbXkgdW5kZXJzdGFu ZHMsIGRlc2lnbmVyIGp1c3QgdXNlIHRoZSBtc2lfZW4gYml0IHRvIGNvbnRyb2wKPiA+ID4gdGhl ICBkZWxpdmVyeSBvZiBNU0kgaW50ZXJydXB0cyBmcm9tIGNvbXBvbmVudHMgYmVsb3cgdGhlIFJv b3QgUG9ydC4KPiA+ID4gPgo+ID4gPiA+ID4gPiA+IGkuTVggUENJZSBkZXNpZ25lciB1c2UgdGhp cyBNU0lfRU4gYml0IHRvIGNvbnRyb2wgdGhlIE1TSQo+ID4gPiA+ID4gPiA+IHRyaWdnZXIgd2hl biBpbnRlZ3JhdGUgRGVzaWduIFdhcmUgUENJZSBJUC4KPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4g RmFpciBlbm91Z2ggYnV0IHRoYXQgY2FuJ3QgYmUgdGhlIE1TSSBFbmFibGUgYml0IGluIHRoZSBS b290Cj4gPiA+ID4gPiA+IFBvcnQgTVNJIGNhcGFiaWxpdHkgIk1lc3NhZ2UgQ29udHJvbCIgZmll bGQgSSBhbSBhZnJhaWQuCj4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+IEl0IGlzIHdoYXQgQmpvcm4g bWVudGlvbmVkIHF1aXRlIGNsZWFybHksIGEgcm9vdCBjb21wbGV4Cj4gPiA+ID4gPiA+IGNvbmZp Z3VyYXRpb24gcmVnaXN0ZXIgZHJlc3NlZCBhcyBhbiBNU0kgY2FwYWJpbGl0eSwgdGhlIHJvb3QK PiA+ID4gPiA+ID4gY29tcGxleCBpcyBub3QgYSBQQ0kgZGV2aWNlOyBlaXRoZXIgdGhhdCBvciB0 aGF0J3MgYW4gSFcgYnVnLgo+ID4gPiA+ID4gWWVzLCBpdCBpcy4gSSBhZ3JlZSB3aXRoIHlvdS4g SGFkIHJlcG9ydCB0aGlzIHNpdHVhdGlvbiB0byB0aGUgZGVzaWduIHRlYW0uCj4gPiA+ID4gPiBI b3BlIHRvIGNvcnJlY3QgdGhpcyBidWcgaW4gSFcgZGVzaWduIGlmIGl0J3MgcG9zc2libGUuCj4g PiA+ID4KPiA+ID4gPiBJIGRvbid0IHVuZGVyc3RhbmQgaWYgaXQgaXMgYSBIVyBidWcgb3Igbm90 LCBzZWUgYWJvdmUuIEkgdGhpbmsgaXQKPiA+ID4gPiBpcyBsZWdpdGltYXRlIHRvIGhhdmUgTU1J TyByZWdpc3RlciBzcGFjZSB0aGF0ICpsb29rcyogbGlrZSBhbiBNU0kKPiA+ID4gPiBjYXBhYmls aXR5IGZvciB0aGUgcm9vdCBjb21wbGV4IHRvIGNvbnRyb2wgZGVsaXZlcnkgb2YgTVNJCj4gPiA+ ID4gaW50ZXJydXB0cywgYXMgbG9uZyBhcyBpdCBpcyBub3QgdGhlIGFjdHVhbCByb290IHBvcnQg TVNJCj4gPiA+ID4gY2FwYWJpbGl0eSwgaW4gdGhlIHJvb3QgcG9ydCBQQ0kgY29uZmlnIHNwYWNl IGluIHdoaWNoIGNhc2UgdGhpcyB3b3VsZCBiZSBhIEhXCj4gPiBidWcgZnJvbSB3aGF0IHlvdSBh cmUgcmVwb3J0aW5nLgo+ID4gPiBJIGp1c3QgcHJvdmlkZSB0aGUgZm9sbG93aW5nIHN1Z2dlc3Rp b25zLgo+ID4gPiAtIFJvb3QgY29tcGxleCBzaG91bGRuJ3QgaGF2ZSB0aGUgTVNJIGNhcGFiaWxp dHkgcmVmZXIgdG8gdGhlIFBDSWUgU3BlYwo+ID4gPiAgIDcuNy4xIGNoYXB0ZXIuCj4gPiA+IC0g Um9vdCBwb3J0IE1TSXMgc2hvdWxkIG5vdCBpbXBseSBkaXNhYmxpbmcgTVNJcyBmb3IgYWxsIGRv d25zdHJlYW0KPiA+IGNvbXBvbmVudHMuCj4gPiAKPiA+IEkgdGhpbmsgdGhpcyBpcyBhbGwgYSBs b3Qgb2YgY29uZnVzaW9uLCBtb3N0bHkgb24gbXkgcGFydCwgc29ycnkgYWJvdXQgdGhhdC4KPiA+ IAo+ID4gUm9vdCBDb21wbGV4IGNvbmZpZ3VyYXRpb24gYW5kIGJlaGF2aW9yIGlzIG5vdCBzcGVj aWZpZWQgYnkgdGhlIFBDSWUgc3BlYywgc28KPiA+IHRoYXQncyBjb21wbGV0ZWx5IHVwIHRvIHRo ZSBpLk1YIGRlc2lnbmVyLiAgSXQncyBmaW5lIGZvciB0aGUgUm9vdCBDb21wbGV4IHRvIGhhdmUK PiA+IGFuIE1TSSBDYXBhYmlsaXR5LCBhbmQgaXQncyBmaW5lIGZvciB0aGF0IGNhcGFiaWxpdHkg dG8gZW5hYmxlL2Rpc2FibGUgdGhlIFJDIGZpZWxkaW5nCj4gPiBvZiBNU0kgTWVtV3IgdHJhbnNh Y3Rpb25zIGZyb20gZG93bnN0cmVhbSBkZXZpY2VzIGFuZCB0cmlnZ2VyaW5nIE1TSQo+ID4gaW50 ZXJydXB0cy4KPiA+IAo+ID4gSXQncyBhbHNvIGZpbmUgZm9yIHRoZSBSQyBNU0kgQ2FwYWJpbGl0 eSB0byBiZSBpZGVudGlmaWVkIHdpdGggYSBDYXBhYmlsaXR5IElEIG9mIDB4NSwKPiA+IGFsdGhv dWdoIGl0IGlzIHNsaWdodGx5IGNvbmZ1c2luZyB0byB1c2UgUENJX0NBUF9JRF9NU0kgdG8gZmlu ZCBpdC4gIEl0J3MgYWxzbwo+ID4gc2xpZ2h0bHkgY29uZnVzaW5nIHRvIHVzZSB0aGUgUENJX01T SV9GTEFHUyBvZmZzZXQgaW50byB0aGUgUkMgTVNJIENhcGFiaWxpdHkuCj4gPiAKPiA+IFVzaW5n IHRoZSBQQ0lfQ0FQX0lEX01TSSwgUENJX01TSV9GTEFHUywgYW5kIFBDSV9NU0lfRkxBR1NfRU5B QkxFCj4gPiBtYWNyb3Mgc3VnZ2VzdHMgdG8gdGhlIHJlYWRlciB0aGF0IHRoaXMgUkMgTVNJIGNh cGFiaWxpdHkgaXMgdGhlIHNhbWUgYXMgdGhlIHRoZQo+ID4gTVNJIENhcGFiaWxpdHkgZGVmaW5l ZCBieSBQQ0llIHI2LjAsIHNlYyA3LjcuMS4gIE9idmlvdXNseSBpdCBpcyAqbm90KiB0aGUgc2Ft ZSwKPiA+IGJlY2F1c2Ugd2UncmUgdGFsa2luZyBhYm91dCBhICpSb290IENvbXBsZXgqIGNhcGFi aWxpdHksIHdoaWxlIHRoZSBzZWMgNy43LjEKPiA+IGNhcGFiaWxpdHkgY2FuIG9ubHkgYXBwZWFy IG9uIFBDSWUgZnVuY3Rpb25zIChSb290IFBvcnRzLCBFbmRwb2ludHMsIFN3aXRjaCBQb3J0cywK PiA+IGV0YykuCj4gPiAKPiA+IEkgc3VnZ2VzdCBhIGNvbW1lbnQgdG8gdGhlIGVmZmVjdCB0aGF0 IHRoaXMgaXMgYSBSb290IENvbXBsZXggTVNJIENhcGFiaWxpdHksIG5vdAo+ID4gdGhlIE1TSSBD YXBhYmlsaXR5IGRlZmluZWQgYnkgUENJZSByNi4wLCBzZWMgNy43LjEuCj4gPiAKPiA+IFBvc3Np Ymx5IGV2ZW4gYWRkIG5ldyAjZGVmaW5lcyBpbiBwY2ktaW14Ni5jIHdpdGggZGlmZmVyZW50IG5h bWVzLCBldmVuIHRob3VnaAo+ID4gdGhlIHZhbHVlcyBoYXBwZW4gdG8gYmUgdGhlIHNhbWUgYXMg dGhlIFBDSV9NU0lfKiAjZGVmaW5lcy4gIFRoYXQgd291bGQgYmUgYQo+ID4gY29udmVuaWVudCBw bGFjZSB0byBwdXQgYSBjb21tZW50IGFib3V0IHdoYXQgdGhleSBhcmUuCj4gSGkgQmpvcm46Cj4g VGhhbmtzIGEgbG90IGZvciB5b3VyIGRpc3BlbGxpbmcgZG91YnRzLgo+IEhvdyBhYm91dCB0byBh ZGQgdGhlIGZvbGxvd2luZyBjb21tZW50cyBpbiB0aGUgbmV3IGFkZCBmdW5jdGlvbiB0byBjbGFy aWZ5IGl0Pwo+IAo+IC0tLSBhL2RyaXZlcnMvcGNpL2NvbnRyb2xsZXIvZHdjL3BjaS1pbXg2LmMK PiArKysgYi9kcml2ZXJzL3BjaS9jb250cm9sbGVyL2R3Yy9wY2ktaW14Ni5jCj4gQEAgLTEwMzYs NiArMTAzNiwxOCBAQCBzdGF0aWMgdm9pZCBwY2lfaW14X3NldF9tc2lfZW4oc3RydWN0IGR3X3Bj aWUgKnBjaSkKPiAgICAgICAgIHU4IG9mZnNldDsKPiAgICAgICAgIHUxNiB2YWw7Cj4gCj4gKyAg ICAgICAvKgo+ICsgICAgICAgICogV2hlbiBpLk1YIERNIFBDSWUgY29udHJvbGxlciBpcyBjb25m aWd1cmVkIGFzIFJDIG1vZGUsIGl0IGhhcyBvbmUKPiArICAgICAgICAqIE1TSSBDYXBhYmlsaXR5 IFN0cnVjdHVyZSwgYWx0aG91Z2ggUENJZSByNi4wLCBzZWMgNy43LjEgZG9lc24ndAo+ICsgICAg ICAgICogc3BlY2lmeSB0aGUgTVNJIENhcGFiaWxpdHkgU3RydWN0dXJlcyBmb3IgUm9vdCBDb21w bGV4LgoKVGhhdCdzIGJlY2F1c2UgYSBQQ0kgcm9vdCBjb21wbGV4IGlzIG5vdCBhIFBDSSBkZXZp Y2UgKGFuZCB0aGlzIGlzIG5vdAphbiBNU0kgY2FwYWJpbGl0eSwgd2hpY2ggbGl2ZXMgaW4gUENJ IGNvbmZpZyBzcGFjZSkuCgpJIHdpbGwgcmV3b3JkIGl0IChhbmQgdGhlIGNvbW1pdCBsb2cgd2l0 aCBpdCkgYW5kIG1lcmdlIGl0IGluIHRoZSBjb21pbmcKd2Vla3MgZm9yIHY2LjQKClRoYW5rcywK TG9yZW56bwoKPiArICAgICAgICAqCj4gKyAgICAgICAgKiBUaGUgTVNJX0VOIGJpdCBvZiBNU0kg Y29udHJvbCByZWdpc3RlciBjb250YWluZWQgaW4gdGhpcyBNU0ktQ0FQCj4gKyAgICAgICAgKiBp cyB1c2VkIGNvbnRyb2wgdGhlIE1TSSBkZWxpdmVyeSBvZiBNU0kgaW50ZXJydXB0cyBmcm9tIGNv bXBvbmVudHMKPiArICAgICAgICAqIGJlbG93IHRoZSBSb290IFBvcnQuCj4gKyAgICAgICAgKgo+ ICsgICAgICAgICogRmluZCBpdCBieSBQQ0lfQ0FQX0lEX01TSSBoZXJlLCBhbmQgYXNzZXJ0IHRo ZSBNU0lfRU4gYml0IHRvIGFsbG93Cj4gKyAgICAgICAgKiB0aGUgTVNJIGRlbGl2ZXJ5IGJlbG93 IHRoZSBSb290IFBvcnQsIGlmIHRoZSBQQ0kgTVNJIGlzIGVuYWJsZWQuCj4gKyAgICAgICAgKi8K PiAgICAgICAgIGlmIChwY2lfbXNpX2VuYWJsZWQoKSkgewo+ICAgICAgICAgICAgICAgICBvZmZz ZXQgPSBkd19wY2llX2ZpbmRfY2FwYWJpbGl0eShwY2ksIFBDSV9DQVBfSURfTVNJKTsKPiAgICAg ICAgICAgICAgICAgZHdfcGNpZV9kYmlfcm9fd3JfZW4ocGNpKTsKPiBCZXN0IFJlZ2FyZHMKPiBS aWNoYXJkIFpodQo+ID4gCj4gPiBCam9ybgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJt LWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21h aWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=