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 05CD7C6FD1D for ; Fri, 17 Mar 2023 22:25:45 +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: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:References: List-Owner; bh=ocDVQ31AMcLG2GCkpJ8BtZkHBJFUMXM2vpzsvqONaI4=; b=s3g/a67Mj382mK zO9BdfxD6g5OIgcsyoRBqjhZgDL3S24fW7EQEXfjwV4HgHFyurF8gkwuga9b/flRi5UOej9bZOCKL 2uDLL6bu9AM6URCjEZyAKeArl/zDo/AgAhP2WqUVS7dX/FlI+jDCalSuWfpRw3lWxG7mFh7Ti75WL ByxLOQgnODaL/5gDEYewp1PP1hW+Gb6p5FYzAvgymjTKZhJAApjY74PF6lRDIywzgD243eQQ7kil9 MJPuvAVEEwKbShRdg3xUjQ9g0f89q/8+EgbLdfnZpwxiG289+G2RB1ne57JrfpN888XNAFcQ+N5GI NEbDn2ltrFqE0OKp7Cjw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1pdIVA-003Z9E-05; Fri, 17 Mar 2023 22:24:44 +0000 Received: from dfw.source.kernel.org ([2604:1380:4641:c500::1]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1pdIV7-003Z8U-1N for linux-arm-kernel@lists.infradead.org; Fri, 17 Mar 2023 22:24:43 +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 9598260BBF; Fri, 17 Mar 2023 22:24:38 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id B29A0C433EF; Fri, 17 Mar 2023 22:24:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1679091878; bh=pY8MO6hDYHj7EBk0Gajf7dj+bm+X4jpCn+kEyhifYX4=; h=Date:From:To:Cc:Subject:In-Reply-To:From; b=CY59zY+3bt0ddKBq50DgSurIZHxJg+KjTTA/n0yi6I9/cgLxNPiP9w6YpPN1nPrrX fyZ3sNpZ09/E2Cj0rDucjWt+j/nTrUj7RRGNYsihw3x2IawEaLjzR68CsniyQJEij4 +Nkani2pqZ48yA79RiENsE2LV4BNX/sOSgxJQUaIC8ti3J/VxBDsrx6kvsiHWf/Jpk oL0tcOm/pY0csuvHimSTLvpNI/IoJZV9l5e/6PLmPzBDBIY21H9uVdXYMrR7QDyE7e NSvoBvh6uMTt8PIrIV7tbXshAD5/ZInrebe7BOjT1MLUpqdlMXHT2AeyVVQyXWTzoo KpkgN2gEbP8yg== Date: Fri, 17 Mar 2023 17:24:36 -0500 From: Bjorn Helgaas To: Hongxing Zhu Cc: Lorenzo Pieralisi , "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: <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-20230317_152441_557807_D0A7B558 X-CRM114-Status: GOOD ( 50.08 ) 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 T24gRnJpLCBNYXIgMTcsIDIwMjMgYXQgMDc6Mzg6MDJBTSArMDAwMCwgSG9uZ3hpbmcgWmh1IHdy b3RlOgo+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0KPiA+IEZyb206IExvcmVuem8gUGll cmFsaXNpIDxscGllcmFsaXNpQGtlcm5lbC5vcmc+Cj4gPiBTZW50OiAyMDIz5bm0M+aciDE25pel IDE2OjExCj4gPiBUbzogSG9uZ3hpbmcgWmh1IDxob25neGluZy56aHVAbnhwLmNvbT4KPiA+IENj OiBCam9ybiBIZWxnYWFzIDxoZWxnYWFzQGtlcm5lbC5vcmc+OyBsLnN0YWNoQHBlbmd1dHJvbml4 LmRlOwo+ID4gYmhlbGdhYXNAZ29vZ2xlLmNvbTsgbGludXgtcGNpQHZnZXIua2VybmVsLm9yZzsK PiA+IGxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZzsgbGludXgta2VybmVsQHZn ZXIua2VybmVsLm9yZzsKPiA+IGtlcm5lbEBwZW5ndXRyb25peC5kZTsgZGwtbGludXgtaW14IDxs aW51eC1pbXhAbnhwLmNvbT4KPiA+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggdjJdIFBDSTogaW14Njog U2F2ZSBhbmQgcmVzdG9yZSBNU0kgY29udHJvbCBvZiBSQyBpbgo+ID4gc3VzcGVuZCBhbmQgcmVz dW1lCj4gPiAKPiA+IE9uIFRodSwgTWFyIDE2LCAyMDIzIGF0IDA3OjM3OjQxQU0gKzAwMDAsIEhv bmd4aW5nIFpodSB3cm90ZToKPiA+IAo+ID4gWy4uLl0KPiA+IAo+ID4gPiA+ID4gPiA+IEl0J3Mg bm90IGEgc2VwYXJhdGUgcmVnaXN0ZXIuCj4gPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gPiBUaGUg Yml0IEkgbWFuaXB1bGF0ZWQgaXMgdGhlIE1TSSBFbmFibGUgYml0IG9mIHRoZSBNZXNzYWdlCj4g PiA+ID4gPiA+ID4gQ29udHJvbCBSZWdpc3RlciBmb3IgTVNJIChPZmZzZXQgMDJoKSBjb250YWlu ZWQgaW4gdGhlCj4gPiA+ID4gPiA+ID4gTVNJLWNhcGFiaWxpdHkgb2YgUm9vdCBDb21wbGV4Lgo+ ID4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+ID4gSW4gYWRkaXRpb24sIG9uIGkuTVg2LCB0aGUgTVNJ IEVuYWJsZSBiaXQgY29udHJvbHMgZGVsaXZlcnkgb2YKPiA+ID4gPiA+ID4gPiBNU0kgaW50ZXJy dXB0cyBmcm9tIGNvbXBvbmVudHMgYmVsb3cgdGhlIFJvb3QgUG9ydC4KPiA+ID4gPiA+ID4gPgo+ ID4gPiA+ID4gPiA+IFNvLCBzZXQgTVNJIEVuYWJsZSBpbiBpbXg2cS1wY2llIHRvIGxldCB0aGUg TVNJIGZyb20KPiA+ID4gPiA+ID4gPiBkb3duc3RyZWFtIGNvbXBvbmVudHMgd29ya3MuCj4gPiA+ ID4gPiA+Cj4gPiA+ID4gPiA+IE15IGNvbmZ1c2lvbiBpcyBhYm91dCB0aGlzICJNU0kgQ2FwYWJp bGl0eSIgZm91bmQgYnkKPiA+ID4gPiA+ID4gImR3X3BjaWVfZmluZF9jYXBhYmlsaXR5KHBjaSwg UENJX0NBUF9JRF9NU0kpIiBpbiB5b3VyIHBhdGNoLgo+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiBU aGUgaS5NWDYgbWFudWFsIG1pZ2h0IHJlZmVyIHRvIHRoYXQgYXMgYW4gIk1TSSBDYXBhYmlsaXR5 IiBidXQKPiA+ID4gPiA+ID4gYXMgZmFyIGFzIEkga25vdywgdGhlIFBDSWUgYmFzZSBzcGVjIGRv ZXNuJ3QgZG9jdW1lbnQgYSBSb290Cj4gPiA+ID4gPiA+IENvbXBsZXggTVNJCj4gPiA+ID4gQ2Fw YWJpbGl0eS4KPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gSSBkb24ndCB0aGluayBpdCdzIHRoZSBz YW1lIGFzIHRoZSBvbmUgZG9jdW1lbnRlZCBpbiBQQ0llIHI2LjAsCj4gPiA+ID4gPiA+IHNlYyA3 LjcuMi4gIEkgdGhpbmsgaXQncyBkaWZmZXJlbnQgYmVjYXVzZToKPiA+ID4gPiA+ID4KPiA+ID4g PiA+ID4gICAoMSkgSSAqdGhpbmsqICJwY2kiIGhlcmUgcmVmZXJzIHRvIHRoZSBSQywgbm90IHRv IGEgUm9vdCBQb3J0Lgo+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiAgICgyKSBUaGUgc2VtYW50aWNz IGFyZSBkaWZmZXJlbnQuICBUaGUgTVNJLVggRW5hYmxlIGJpdCBpbiA3LjcuMiBvbmx5Cj4gPiA+ ID4gPiA+ICAgZGV0ZXJtaW5lcyB3aGV0aGVyIHRoZSBGdW5jdGlvbiBpdHNlbGYgaXMgcGVybWl0 dGVkIHRvIHVzZSBNU0ktWC4KPiA+ID4gPiA+ID4gICBJdCBoYXMgbm90aGluZyB0byBkbyB3aXRo IGRldmljZXMgKmJlbG93KiBhIFJvb3QgUG9ydCBjYW4gdXNlCj4gPiBNU0ktWC4KPiA+ID4gPiA+ ID4gICBJdCBhbHNvIGhhcyBub3RoaW5nIHRvIGRvIHdpdGggd2hldGhlciBhIFJvb3QgUG9ydCBj YW4gZm9yd2FyZCBNU0kKPiA+ID4gPiA+ID4gICB0cmFuc2FjdGlvbnMgZnJvbSB0aG9zZSBkb3du c3RyZWFtIGRldmljZXMuCj4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+IFRoaXMgcGFydCBvZiBteSBj b25mdXNpb24gY291bGQgYmUgZWFzaWx5IHJlc29sdmVkIHZpYSBhIGNvbW1lbnQuCj4gPiA+ID4g PiA+Cj4gPiA+ID4gPiA+IEkgZG8gaGF2ZSBhIGZvbGxvdy1vbiBxdWVzdGlvbiwgdGhvdWdoOiB0 aGUgcGF0Y2ggc2VlbXMgdG8KPiA+ID4gPiA+ID4gZW5hYmxlIE1TSS1yZWxhdGVkIGZ1bmN0aW9u YWxpdHkgdXNpbmcgYSByZWdpc3RlciBpbiB0aGUKPiA+ID4gPiA+ID4gRGVzaWduV2FyZSBJUCwg bm90IHNvbWV0aGluZyBpbiB0aGUgaS5NWDYtc3BlY2lmaWMgSVAuICBJZgo+ID4gPiA+ID4gPiB0 aGF0J3MgdHJ1ZSwgd2h5IGRvbid0IG90aGVyIERlc2lnbldhcmUtYmFzZWQgZHJpdmVycyBuZWVk IHNvbWV0aGluZwo+ID4gc2ltaWxhcj8KPiA+ID4gPiA+IEhpIEJqb3JuOgo+ID4gPiA+ID4gVGhh bmtzIGEgbG90IGZvciB5b3UgcmVwbHkuCj4gPiA+ID4gPiBUaGlzIGJlaGF2aW9yIGlzIHNwZWNp ZmljIGZvciBpLk1YIFBDSWUuCj4gPiA+ID4KPiA+ID4gPiBXaGljaCBiZWhhdmlvdXIgPyBJdCBj YW4ndCBiZSB0aGUgcm9vdCBwb3J0IE1TSSBjYXBhYmlsaXR5LCB0aGF0Cj4gPiA+ID4gd291bGQg YmUgYSBIVyBidWcgKGllIGRpc2FibGluZyByb290IHBvcnQgTVNJcyB3b3VsZCBpbXBseSBkaXNh YmxpbmcKPiA+ID4gPiBNU0lzIGZvciBhbGwgZG93bnN0cmVhbSBjb21wb25lbnRzKS4KPiA+ID4g Pgo+ID4gPgo+ID4gPiBpLk1YIFBDSWUgZGVzaWduZXIgdXNlIHRoaXMgTVNJX0VOIGJpdCB0byBj b250cm9sIHRoZSBNU0kgdHJpZ2dlciB3aGVuCj4gPiA+IGludGVncmF0ZSAgRGVzaWduIFdhcmUg UENJZSBJUC4KPiA+ID4gV2l0aG91dCB0aGUgTVNJX0VOIGJpdCBhc3NlcnRpb24gKDFiJzEpLCB0 aGUgZGV2aWNlcyBiZWxvdyB0aGlzIFJDCj4gPiA+IGNhbid0IHRyaWdnZXIgIHRoZSBNU0kgc3Vj Y2Vzc2Z1bGx5Lgo+ID4gPiBZZXMsIHlvdSdyZSByaWdodC4gSXQgc2hvdWxkIG5vdCBiZSB0aGUg cm9vdCBwb3J0IE1TSSBjYXBhYmlsaXR5Lgo+ID4gCj4gPiBUaGUgcXVlc3Rpb24gaXMsIGl0IGlz IG9yIGl0IGlzIG5vdCB0aGUgcm9vdCBwb3J0IE1TSSBjYXBhYmlsaXR5ID8KPiA+IAo+ID4gSWYg aXQgaXMsIHRoYXQncyBhIEhXIGJ1Zy4KPiA+IAo+ID4gSWYgaXQgaXMgbm90IHRoZXJlIGlzIG5v dGhpbmcgdG8gZG8gYW5kIHRoaXMgcGF0Y2ggY2FuIGJlIG1lcmdlZC4KPiBIaSBMb3JlbnpvOgo+ IFRoYW5rcyBmb3IgeW91ciByZXBseS4KPiBJIHRoaW5rIGl0IGlzIG5vdCB0aGUgcm9vdCBwb3J0 IE1TSSBjYXBhYmlsaXR5IGFjdHVhbGx5Lgo+IFJlZmVyIHRvIG15IHVuZGVyc3RhbmRzLCBkZXNp Z25lciBqdXN0IHVzZSB0aGUgbXNpX2VuIGJpdCB0byBjb250cm9sIHRoZQo+ICBkZWxpdmVyeSBv ZiBNU0kgaW50ZXJydXB0cyBmcm9tIGNvbXBvbmVudHMgYmVsb3cgdGhlIFJvb3QgUG9ydC4KPiA+ IAo+ID4gPiA+ID4gaS5NWCBQQ0llIGRlc2lnbmVyIHVzZSB0aGlzIE1TSV9FTiBiaXQgdG8gY29u dHJvbCB0aGUgTVNJIHRyaWdnZXIKPiA+ID4gPiA+IHdoZW4gaW50ZWdyYXRlIERlc2lnbiBXYXJl IFBDSWUgSVAuCj4gPiA+ID4KPiA+ID4gPiBGYWlyIGVub3VnaCBidXQgdGhhdCBjYW4ndCBiZSB0 aGUgTVNJIEVuYWJsZSBiaXQgaW4gdGhlIFJvb3QgUG9ydAo+ID4gPiA+IE1TSSBjYXBhYmlsaXR5 ICJNZXNzYWdlIENvbnRyb2wiIGZpZWxkIEkgYW0gYWZyYWlkLgo+ID4gPiA+Cj4gPiA+ID4gSXQg aXMgd2hhdCBCam9ybiBtZW50aW9uZWQgcXVpdGUgY2xlYXJseSwgYSByb290IGNvbXBsZXgKPiA+ ID4gPiBjb25maWd1cmF0aW9uIHJlZ2lzdGVyIGRyZXNzZWQgYXMgYW4gTVNJIGNhcGFiaWxpdHks IHRoZSByb290Cj4gPiA+ID4gY29tcGxleCBpcyBub3QgYSBQQ0kgZGV2aWNlOyBlaXRoZXIgdGhh dCBvciB0aGF0J3MgYW4gSFcgYnVnLgo+ID4gPiBZZXMsIGl0IGlzLiBJIGFncmVlIHdpdGggeW91 LiBIYWQgcmVwb3J0IHRoaXMgc2l0dWF0aW9uIHRvIHRoZSBkZXNpZ24gdGVhbS4KPiA+ID4gSG9w ZSB0byBjb3JyZWN0IHRoaXMgYnVnIGluIEhXIGRlc2lnbiBpZiBpdCdzIHBvc3NpYmxlLgo+ID4g Cj4gPiBJIGRvbid0IHVuZGVyc3RhbmQgaWYgaXQgaXMgYSBIVyBidWcgb3Igbm90LCBzZWUgYWJv dmUuIEkgdGhpbmsgaXQgaXMgbGVnaXRpbWF0ZSB0bwo+ID4gaGF2ZSBNTUlPIHJlZ2lzdGVyIHNw YWNlIHRoYXQgKmxvb2tzKiBsaWtlIGFuIE1TSSBjYXBhYmlsaXR5IGZvciB0aGUgcm9vdAo+ID4g Y29tcGxleCB0byBjb250cm9sIGRlbGl2ZXJ5IG9mIE1TSSBpbnRlcnJ1cHRzLCBhcyBsb25nIGFz IGl0IGlzIG5vdCB0aGUgYWN0dWFsCj4gPiByb290IHBvcnQgTVNJIGNhcGFiaWxpdHksIGluIHRo ZSByb290IHBvcnQgUENJIGNvbmZpZyBzcGFjZSBpbiB3aGljaCBjYXNlIHRoaXMKPiA+IHdvdWxk IGJlIGEgSFcgYnVnIGZyb20gd2hhdCB5b3UgYXJlIHJlcG9ydGluZy4KPiBJIGp1c3QgcHJvdmlk ZSB0aGUgZm9sbG93aW5nIHN1Z2dlc3Rpb25zLgo+IC0gUm9vdCBjb21wbGV4IHNob3VsZG4ndCBo YXZlIHRoZSBNU0kgY2FwYWJpbGl0eSByZWZlciB0byB0aGUgUENJZSBTcGVjCj4gICA3LjcuMSBj aGFwdGVyLgo+IC0gUm9vdCBwb3J0IE1TSXMgc2hvdWxkIG5vdCBpbXBseSBkaXNhYmxpbmcgTVNJ cyBmb3IgYWxsIGRvd25zdHJlYW0gY29tcG9uZW50cy4KCkkgdGhpbmsgdGhpcyBpcyBhbGwgYSBs b3Qgb2YgY29uZnVzaW9uLCBtb3N0bHkgb24gbXkgcGFydCwgc29ycnkgYWJvdXQKdGhhdC4KClJv b3QgQ29tcGxleCBjb25maWd1cmF0aW9uIGFuZCBiZWhhdmlvciBpcyBub3Qgc3BlY2lmaWVkIGJ5 IHRoZSBQQ0llCnNwZWMsIHNvIHRoYXQncyBjb21wbGV0ZWx5IHVwIHRvIHRoZSBpLk1YIGRlc2ln bmVyLiAgSXQncyBmaW5lIGZvciB0aGUKUm9vdCBDb21wbGV4IHRvIGhhdmUgYW4gTVNJIENhcGFi aWxpdHksIGFuZCBpdCdzIGZpbmUgZm9yIHRoYXQKY2FwYWJpbGl0eSB0byBlbmFibGUvZGlzYWJs ZSB0aGUgUkMgZmllbGRpbmcgb2YgTVNJIE1lbVdyIHRyYW5zYWN0aW9ucwpmcm9tIGRvd25zdHJl YW0gZGV2aWNlcyBhbmQgdHJpZ2dlcmluZyBNU0kgaW50ZXJydXB0cy4KCkl0J3MgYWxzbyBmaW5l IGZvciB0aGUgUkMgTVNJIENhcGFiaWxpdHkgdG8gYmUgaWRlbnRpZmllZCB3aXRoIGEKQ2FwYWJp bGl0eSBJRCBvZiAweDUsIGFsdGhvdWdoIGl0IGlzIHNsaWdodGx5IGNvbmZ1c2luZyB0byB1c2UK UENJX0NBUF9JRF9NU0kgdG8gZmluZCBpdC4gIEl0J3MgYWxzbyBzbGlnaHRseSBjb25mdXNpbmcg dG8gdXNlIHRoZQpQQ0lfTVNJX0ZMQUdTIG9mZnNldCBpbnRvIHRoZSBSQyBNU0kgQ2FwYWJpbGl0 eS4KClVzaW5nIHRoZSBQQ0lfQ0FQX0lEX01TSSwgUENJX01TSV9GTEFHUywgYW5kIFBDSV9NU0lf RkxBR1NfRU5BQkxFCm1hY3JvcyBzdWdnZXN0cyB0byB0aGUgcmVhZGVyIHRoYXQgdGhpcyBSQyBN U0kgY2FwYWJpbGl0eSBpcyB0aGUgc2FtZQphcyB0aGUgdGhlIE1TSSBDYXBhYmlsaXR5IGRlZmlu ZWQgYnkgUENJZSByNi4wLCBzZWMgNy43LjEuICBPYnZpb3VzbHkKaXQgaXMgKm5vdCogdGhlIHNh bWUsIGJlY2F1c2Ugd2UncmUgdGFsa2luZyBhYm91dCBhICpSb290IENvbXBsZXgqCmNhcGFiaWxp dHksIHdoaWxlIHRoZSBzZWMgNy43LjEgY2FwYWJpbGl0eSBjYW4gb25seSBhcHBlYXIgb24gUENJ ZQpmdW5jdGlvbnMgKFJvb3QgUG9ydHMsIEVuZHBvaW50cywgU3dpdGNoIFBvcnRzLCBldGMpLgoK SSBzdWdnZXN0IGEgY29tbWVudCB0byB0aGUgZWZmZWN0IHRoYXQgdGhpcyBpcyBhIFJvb3QgQ29t cGxleCBNU0kKQ2FwYWJpbGl0eSwgbm90IHRoZSBNU0kgQ2FwYWJpbGl0eSBkZWZpbmVkIGJ5IFBD SWUgcjYuMCwgc2VjIDcuNy4xLgoKUG9zc2libHkgZXZlbiBhZGQgbmV3ICNkZWZpbmVzIGluIHBj aS1pbXg2LmMgd2l0aCBkaWZmZXJlbnQgbmFtZXMsCmV2ZW4gdGhvdWdoIHRoZSB2YWx1ZXMgaGFw cGVuIHRvIGJlIHRoZSBzYW1lIGFzIHRoZSBQQ0lfTVNJXyoKI2RlZmluZXMuICBUaGF0IHdvdWxk IGJlIGEgY29udmVuaWVudCBwbGFjZSB0byBwdXQgYSBjb21tZW50IGFib3V0CndoYXQgdGhleSBh cmUuCgpCam9ybgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5p bmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8v bGludXgtYXJtLWtlcm5lbAo=