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 9653FC64EC4 for ; Fri, 10 Mar 2023 16:15:09 +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=PVD2tFiw6n6atciYe4WOtwanclx9PWKnieQrkDg6HR4=; b=kmF89uosRZBl+3 YU4CbtsCgggDV8HD3byu5lDAR6GTspHBsTBbKF28tQYF2tKWy0Uwexk+xckuIoYqz1n75LMSMe8Ys RZj+rJOidzSNwppJByg2THAmXRo3hpQlw5TwAc7Rg8OLr50wXY9oDdWiSZBrMvjL7ajzRbA9zJZn0 /ik5Jn6SClc+rOmA0Jghn5a2GV3qiY0OPJ8MdjAx0IkjV9cOu9s7Dx4216WmMEeF/zRGk2AN5OynE hyHuXmbfdOYLMJGbEiSOD6YVEr0NnS3z1Wit9L0st/HUGuElo7CAjifW94CgiLqGGm1Qvvs3biObO HRcMVggoSZ0uyQ/05KKQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1pafNf-00FFcC-My; Fri, 10 Mar 2023 16:14:07 +0000 Received: from dfw.source.kernel.org ([139.178.84.217]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1pafNb-00FFah-FN for linux-arm-kernel@lists.infradead.org; Fri, 10 Mar 2023 16:14:05 +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 C02AD61B68; Fri, 10 Mar 2023 16:14:01 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 365B5C433D2; Fri, 10 Mar 2023 16:13:59 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1678464841; bh=SdJT48pgc55q+97r4QIUR5Ti78tRUtjjYX4LSxKMjw8=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=j34HYphsqG7xv3mGnAdN/TcMjnD/3nh6wolAOf+Xp+8jhuP2lqzIU0hXn6bd/w0l6 +CEprugPD1ouuUNV6XGn+5vWv3MkuVdrnhp2hqa9WKO3u8UqXWo8g9Qr80og/3PFGA qbnva7T1Qvk0jr3FE8mhYUCYj0LCk7QdOt8Tt9xowWBadeXnGnKwEjzHIfxruTr/ky b7DJ8cna3IqDMT/rfdz6iraDqFvgK1R2UWA8UDYbwWJz2iDPr48TwteIAD2MHJdq4q TAslpG3DVzCW+cUr7kilKN6BHQva1zLTSCcPNWqOfzomICgXxaOxvlS/6vs9Nsiq5r QgH/gU9mHdQ2Q== Date: Fri, 10 Mar 2023 17:13:56 +0100 From: Lorenzo Pieralisi To: Hongxing Zhu Cc: "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: <1670479534-22154-1-git-send-email-hongxing.zhu@nxp.com> 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-20230310_081403_616179_21F46FD1 X-CRM114-Status: GOOD ( 44.99 ) 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 T24gTW9uLCBKYW4gMDksIDIwMjMgYXQgMDI6MDg6MDZBTSArMDAwMCwgSG9uZ3hpbmcgWmh1IHdy b3RlOgo+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0KPiA+IEZyb206IExvcmVuem8gUGll cmFsaXNpIDxscGllcmFsaXNpQGtlcm5lbC5vcmc+Cj4gPiBTZW50OiAyMDIy5bm0MTLmnIgzMOaX pSAyMzowNgo+ID4gVG86IEhvbmd4aW5nIFpodSA8aG9uZ3hpbmcuemh1QG54cC5jb20+OyBsLnN0 YWNoQHBlbmd1dHJvbml4LmRlOwo+ID4gYmhlbGdhYXNAZ29vZ2xlLmNvbQo+ID4gQ2M6IGxpbnV4 LXBjaUB2Z2VyLmtlcm5lbC5vcmc7IGxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9y ZzsKPiA+IGxpbnV4LWtlcm5lbEB2Z2VyLmtlcm5lbC5vcmc7IGtlcm5lbEBwZW5ndXRyb25peC5k ZTsgZGwtbGludXgtaW14Cj4gPiA8bGludXgtaW14QG54cC5jb20+Cj4gPiBTdWJqZWN0OiBSZTog W1BBVENIIHYyXSBQQ0k6IGlteDY6IFNhdmUgYW5kIHJlc3RvcmUgTVNJIGNvbnRyb2wgb2YgUkMg aW4KPiA+IHN1c3BlbmQgYW5kIHJlc3VtZQo+ID4gCj4gPiBPbiBUaHUsIERlYyAwOCwgMjAyMiBh dCAwMjowNTozNFBNICswODAwLCBSaWNoYXJkIFpodSB3cm90ZToKPiA+ID4gVGhlIE1TSSBFbmFi bGUgYml0IGNvbnRyb2xzIGRlbGl2ZXJ5IG9mIE1TSSBpbnRlcnJ1cHRzIGZyb20gY29tcG9uZW50 cwo+ID4gPiBiZWxvdyB0aGUgUm9vdCBQb3J0LiBUaGlzIGJpdCBtaWdodCBsb3N0IGR1cmluZyB0 aGUgc3VzcGVuZCwgc2hvdWxkIGJlCj4gPiA+IHJlLXN0b3JlZCBkdXJpbmcgcmVzdW1lLgo+ID4g Pgo+ID4gPiBTYXZlIHRoZSBNU0kgY29udHJvbCBkdXJpbmcgc3VzcGVuZCwgYW5kIHJlc3RvcmUg aXQgaW4gcmVzdW1lLgo+ID4gCj4gPiBJIGJlbGlldmUgdGhhdCB3aGF0IEx1Y2FzIGFuZCBCam9y biBhc2tlZCBvbiB2MSBpcyBzdGlsbCBub3QgYW5zd2VyZWQuCj4gPiAKPiA+IFRoZSByb290IHBv cnQgaXMgYSBQQ0kgZGV2aWNlLCB3aHkgZG8gd2UgbmVlZCB0byBzYXZlIGFuZCByZXN0b3JlIHRo ZSBNU0kgY2FwCj4gPiBvbiB0b3Agb2Ygd2hhdCBQQ0kgY29yZSBhbHJlYWR5IGRvZXMgPyBUaGUg UlAgc2hvdWxkIGJlIGVudW1lcmF0ZWQgYXMgYSBQQ0kKPiA+IGRldmljZSBhbmQgdGhlcmVmb3Jl IEkgZXhwZWN0IHRoZSBNU0kgY2FwIHRvIGJlIHNhdmVkL3Jlc3RvcmVkIGluIHRoZQo+ID4gc3Vz cGVuZC9yZXN1bWUgZXhlY3V0aW9uLgo+ID4gCj4gPiBJIGRvbid0IHRoaW5rIHRoZXJlIGlzIGFu eXRoaW5nIGlNWDYgc3BlY2lmaWMgaW4gdGhpcy4KPiBIaSBMb3JlbnpvOgo+IFRoYW5rcyBmb3Ig eW91ciBjb21tZW50cy4KPiBTb3JyeSB0byByZXBseSBsYXRlLCBzaW5jZSBJIGdvdCBhIGhpZ2gg ZmV2ZXIgaW4gdGhlIHBhc3QgZGF5cy4KPiAKPiBCYXNlZCBvbiBpLk1YNlFQIFNBQlJFU0QgYm9h cmQgYW5kIFhIQ0kgUENJZTJVU0IzLjAgZGV2aWNlLCB0aGUgTVNJIGNhcAo+ICBzYXZlL3Jlc3Rv cmUgb2YgUENJIGNvcmUgaXMgbm90IGV4ZWN1dGVkKGRldi0+bXNpX2VuYWJsZWQgaXMgemVybykK PiAgZHVyaW5nIG15IHN1c3BlbmQvcmVzdW1lIHRlc3RzLgoKSSBzdGlsbCBkbyBub3QgdW5kZXJz dGFuZC4gVGhlIHJlZ2lzdGVyIHlvdSBhcmUgc2F2aW5nL3Jlc3RvcmluZyBpbiB0aGUKUkMgaXMg bm90IHRoZSByb290IHBvcnQgTWVzc2FnZSBjb250cm9sIGZpZWxkIGluIHRoZSByb290IHBvcnQg TVNJIApjYXBhYmlsaXR5LCBpdCBpcyBhIHNlcGFyYXRlIHJlZ2lzdGVyIHRoYXQgY29udHJvbHMg dGhlIHJvb3QgY29tcGxleApNU0kgZm9yd2FyZGluZywgaXMgdGhhdCBjb3JyZWN0ID8KClRoZSBy b290IHBvcnQgTVNJIGNhcGFiaWxpdHkgZG9lcyBub3QgY29udHJvbCB0aGUgcm9vdCBjb21wbGV4 CmZvcndhcmRpbmcgb2YgTVNJcyBUTFBzLgoKU28gdGhlIGJpdHMgeW91IGFyZSBzYXZpbmcgYW5k IHJlc3RvcmluZyBJSVVDIHNob3VsZCBiZSBNTUlPIHNwYWNlIGluCnRoZSByb290IGNvbXBsZXgs IGRyZXNzZWQgYXMgYW4gTVNJIGNhcGFiaWxpdHksIHRoYXQgaGFzIG5vdGhpbmcgdG8KZG8gd2l0 aCB0aGUgcm9vdCBwb3J0IE1TSSBjYXBhYmlsaXR5LgoKSXMgdGhhdCBjb3JyZWN0ID8KClRoYW5r cywKTG9yZW56bwo+IAo+IEl0IHNlZW1zIHRoYXQgc29tZSBkZXZpY2UgbWlnaHQgc2h1dGRvd24g bXNpIHdoZW4gZG8gdGhlIHN1c3BlbmQgb3BlcmF0aW9ucy4KPiA+IAo+ID4gV291bGQgeW91IG1p bmQgaW52ZXN0aWdhdGluZyBpdCBwbGVhc2UgPwo+IFN1cmUsIEkgZGlkIGZ1cnRoZXIgaW52ZXN0 aWdhdGlvbiBvbiBpLk1YNlFQIHBsYXRmb3JtLgo+IFRoZSBNU0lfRU4gYml0IG9mIFJDIE1TSSBj YXBhYmlsaXR5IHdvdWxkIGJlIGNsZWFyZWQgdG8gemVybywgd2hlbgo+ICBQQ0lFX1JFU0VUKEJJ VDI5IG9mIElPTVVYQ19HUFIxKSBpcyB0b2dnbGVkIChhc3NlcnRpb24gMWInMSwKPiAgdGhlbiBk ZS1hc3NlcnRpb24gMWInMCkuCj4gCj4gVmVyaWZpY2F0aW9uIHN0ZXBzOgo+IE1TSV9FTiBvZiBS QyBpcyBzZXQgdG8gMWInMSB3aGVuIHN5c3RlbSBpcyBib290IHVwLgo+ICAuL21lbXRvb2wgMWZm YzA1MCAxCj4gMHgwMUZGQzA1MDogIDAxMDE3MDA1Cj4gCj4gVG9nZ2xlIFBDSWUgcmVzZXQgb2Yg aS5NWDZRUC4KPiByb290QGlteDZxcGRsc29sb3g6fiMgLi9tZW10b29sIDIwZTAwMDQ9Njg2OTEw MDUKPiBXcml0aW5nIDMyLWJpdCB2YWx1ZSAweDY4NjkxMDA1IHRvIGFkZHJlc3MgMHgwMjBFMDAw NAo+IHJvb3RAaW14NnFwZGxzb2xveDp+IyAuL21lbXRvb2wgMjBlMDAwND00ODY5MTAwNQo+IFdy aXRpbmcgMzItYml0IHZhbHVlIDB4NDg2OTEwMDUgdG8gYWRkcmVzcyAweDAyMEUwMDA0Cj4gCj4g VGhlIE1TSV9FTiBiaXQgb2YgUkMgaGFkIGJlZW4gY2xlYXJlZCB0byAxYicwLgo+IC4vbWVtdG9v bCAxZmZjMDUwIDEKPiAweDAxRkZDMDUwOiAgMDE4MDcwMDUKPiAKPiBUaGlzIGlzIHdoeSBJIHVz ZWQgdG8gcmVwbHkgdG8gQmpvcm4gdGhlIE1TSV9FTiBvZiBSQyBpcyBjbGVhcmVkIHdoZW4KPiAg UkVTRVRzIGFyZSB0b2dnbGVkIGR1cmluZyB0aGUgaW14Nl9wY2llX2hvc3RfaW5pdCgpIGluCj4g IGlteDZfcGNpZV9yZXN1bWVfbm9pcnEoKSBjYWxsYmFjay4KPiAKPiBCZXN0IFJlZ2FyZHMKPiBS aWNoYXJkIFpodQo+ID4gCj4gPiBMb3JlbnpvCj4gPiAKPiA+ID4gU2lnbmVkLW9mZi1ieTogUmlj aGFyZCBaaHUgPGhvbmd4aW5nLnpodUBueHAuY29tPgo+ID4gPiAtLS0KPiA+ID4gQ2hhbmdlcyB2 MS0tPnYyOgo+ID4gPiBOZXcgY3JlYXRlIG9uZSBzYXZlL3Jlc3RvcmUgZnVuY3Rpb24sIHVzZWQg c2F2ZSB0aGUgc2V0dGluZyBpbiBzdXNwZW5kCj4gPiA+IGFuZCByZXN0b3JlIHRoZSBjb25maWd1 cmF0aW9uIGluIHJlc3VtZS4KPiA+ID4gdjEKPiA+ID4gaHR0cHM6Ly9ldXIwMS5zYWZlbGlua3Mu cHJvdGVjdGlvbi5vdXRsb29rLmNvbS8/dXJsPWh0dHBzJTNBJTJGJTJGcGF0Ywo+ID4gPgo+ID4g aHdvcmsua2VybmVsLm9yZyUyRnByb2plY3QlMkZsaW51eC1wY2klMkZwYXRjaCUyRjE2NjcyODk1 OTUtMTI0NDAtMS1nCj4gPiBpCj4gPiA+Cj4gPiB0LXNlbmQtZW1haWwtaG9uZ3hpbmcuemh1JTQw bnhwLmNvbSUyRiZkYXRhPTA1JTdDMDElN0Nob25neGluZy56aHUKPiA+ICU0MG4KPiA+ID4KPiA+ IHhwLmNvbSU3QzNhZWIxZDEyOGY4NTRkYWQxYTU2MDhkYWVhNzc3MDZkJTdDNjg2ZWExZDNiYzJi NGM2ZmE5Mgo+ID4gY2Q5OWM1Ywo+ID4gPgo+ID4gMzAxNjM1JTdDMCU3QzAlN0M2MzgwODAwOTU5 NTQ4ODEzNzQlN0NVbmtub3duJTdDVFdGcGJHWnNiMwo+ID4gZDhleUpXSWpvaU1DCj4gPiA+Cj4g PiA0d0xqQXdNREFpTENKUUlqb2lWMmx1TXpJaUxDSkJUaUk2SWsxaGFXd2lMQ0pYVkNJNk1uMCUz RCU3QzMwMDAlCj4gPiA3QyU3QyUKPiA+ID4KPiA+IDdDJnNkYXRhPVY4eVZ2dnBUS0dvUjFVeVFQ NUhEMklkbFNqSmR6bkJlRDEyYmRJNjdkRUklM0QmcmVzZXJ2ZWQ9Cj4gPiAwCj4gPiA+Cj4gPiA+ IC0tLQo+ID4gPiAgZHJpdmVycy9wY2kvY29udHJvbGxlci9kd2MvcGNpLWlteDYuYyB8IDIzICsr KysrKysrKysrKysrKysrKysrKysrCj4gPiA+ICAxIGZpbGUgY2hhbmdlZCwgMjMgaW5zZXJ0aW9u cygrKQo+ID4gPgo+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9wY2kvY29udHJvbGxlci9kd2Mv cGNpLWlteDYuYwo+ID4gPiBiL2RyaXZlcnMvcGNpL2NvbnRyb2xsZXIvZHdjL3BjaS1pbXg2LmMK PiA+ID4gaW5kZXggMWRkZTVjNTc5ZWRjLi5hYTMwOTY4OTBjM2IgMTAwNjQ0Cj4gPiA+IC0tLSBh L2RyaXZlcnMvcGNpL2NvbnRyb2xsZXIvZHdjL3BjaS1pbXg2LmMKPiA+ID4gKysrIGIvZHJpdmVy cy9wY2kvY29udHJvbGxlci9kd2MvcGNpLWlteDYuYwo+ID4gPiBAQCAtNzYsNiArNzYsNyBAQCBz dHJ1Y3QgaW14Nl9wY2llIHsKPiA+ID4gIAlzdHJ1Y3QgY2xrCQkqcGNpZTsKPiA+ID4gIAlzdHJ1 Y3QgY2xrCQkqcGNpZV9hdXg7Cj4gPiA+ICAJc3RydWN0IHJlZ21hcAkJKmlvbXV4Y19ncHI7Cj4g PiA+ICsJdTE2CQkJbXNpX2N0cmw7Cj4gPiA+ICAJdTMyCQkJY29udHJvbGxlcl9pZDsKPiA+ID4g IAlzdHJ1Y3QgcmVzZXRfY29udHJvbAkqcGNpZXBoeV9yZXNldDsKPiA+ID4gIAlzdHJ1Y3QgcmVz ZXRfY29udHJvbAkqYXBwc19yZXNldDsKPiA+ID4gQEAgLTEwNDIsNiArMTA0MywyNiBAQCBzdGF0 aWMgdm9pZCBpbXg2X3BjaWVfcG1fdHVybm9mZihzdHJ1Y3QKPiA+IGlteDZfcGNpZSAqaW14Nl9w Y2llKQo+ID4gPiAgCXVzbGVlcF9yYW5nZSgxMDAwLCAxMDAwMCk7Cj4gPiA+ICB9Cj4gPiA+Cj4g PiA+ICtzdGF0aWMgdm9pZCBpbXg2X3BjaWVfbXNpX3NhdmVfcmVzdG9yZShzdHJ1Y3QgaW14Nl9w Y2llICppbXg2X3BjaWUsCj4gPiA+ICtib29sIHNhdmUpIHsKPiA+ID4gKwl1OCBvZmZzZXQ7Cj4g PiA+ICsJdTE2IHZhbDsKPiA+ID4gKwlzdHJ1Y3QgZHdfcGNpZSAqcGNpID0gaW14Nl9wY2llLT5w Y2k7Cj4gPiA+ICsKPiA+ID4gKwlpZiAocGNpX21zaV9lbmFibGVkKCkpIHsKPiA+ID4gKwkJb2Zm c2V0ID0gZHdfcGNpZV9maW5kX2NhcGFiaWxpdHkocGNpLCBQQ0lfQ0FQX0lEX01TSSk7Cj4gPiA+ ICsJCWlmIChzYXZlKSB7Cj4gPiA+ICsJCQl2YWwgPSBkd19wY2llX3JlYWR3X2RiaShwY2ksIG9m ZnNldCArIFBDSV9NU0lfRkxBR1MpOwo+ID4gPiArCQkJaW14Nl9wY2llLT5tc2lfY3RybCA9IHZh bDsKPiA+ID4gKwkJfSBlbHNlIHsKPiA+ID4gKwkJCWR3X3BjaWVfZGJpX3JvX3dyX2VuKHBjaSk7 Cj4gPiA+ICsJCQl2YWwgPSBpbXg2X3BjaWUtPm1zaV9jdHJsOwo+ID4gPiArCQkJZHdfcGNpZV93 cml0ZXdfZGJpKHBjaSwgb2Zmc2V0ICsgUENJX01TSV9GTEFHUywgdmFsKTsKPiA+ID4gKwkJCWR3 X3BjaWVfZGJpX3JvX3dyX2RpcyhwY2kpOwo+ID4gPiArCQl9Cj4gPiA+ICsJfQo+ID4gPiArfQo+ ID4gPiArCj4gPiA+ICBzdGF0aWMgaW50IGlteDZfcGNpZV9zdXNwZW5kX25vaXJxKHN0cnVjdCBk ZXZpY2UgKmRldikgIHsKPiA+ID4gIAlzdHJ1Y3QgaW14Nl9wY2llICppbXg2X3BjaWUgPSBkZXZf Z2V0X2RydmRhdGEoZGV2KTsgQEAgLTEwNTAsNgo+ID4gPiArMTA3MSw3IEBAIHN0YXRpYyBpbnQg aW14Nl9wY2llX3N1c3BlbmRfbm9pcnEoc3RydWN0IGRldmljZSAqZGV2KQo+ID4gPiAgCWlmICgh KGlteDZfcGNpZS0+ZHJ2ZGF0YS0+ZmxhZ3MgJgo+ID4gSU1YNl9QQ0lFX0ZMQUdfU1VQUE9SVFNf U1VTUEVORCkpCj4gPiA+ICAJCXJldHVybiAwOwo+ID4gPgo+ID4gPiArCWlteDZfcGNpZV9tc2lf c2F2ZV9yZXN0b3JlKGlteDZfcGNpZSwgdHJ1ZSk7Cj4gPiA+ICAJaW14Nl9wY2llX3BtX3R1cm5v ZmYoaW14Nl9wY2llKTsKPiA+ID4gIAlpbXg2X3BjaWVfc3RvcF9saW5rKGlteDZfcGNpZS0+cGNp KTsKPiA+ID4gIAlpbXg2X3BjaWVfaG9zdF9leGl0KHBwKTsKPiA+ID4gQEAgLTEwNjksNiArMTA5 MSw3IEBAIHN0YXRpYyBpbnQgaW14Nl9wY2llX3Jlc3VtZV9ub2lycShzdHJ1Y3QgZGV2aWNlCj4g PiAqZGV2KQo+ID4gPiAgCXJldCA9IGlteDZfcGNpZV9ob3N0X2luaXQocHApOwo+ID4gPiAgCWlm IChyZXQpCj4gPiA+ICAJCXJldHVybiByZXQ7Cj4gPiA+ICsJaW14Nl9wY2llX21zaV9zYXZlX3Jl c3RvcmUoaW14Nl9wY2llLCBmYWxzZSk7Cj4gPiA+ICAJZHdfcGNpZV9zZXR1cF9yYyhwcCk7Cj4g PiA+Cj4gPiA+ICAJaWYgKGlteDZfcGNpZS0+bGlua19pc191cCkKPiA+ID4gLS0KPiA+ID4gMi4y NS4xCj4gPiA+Cj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KPiBsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdAo+IGxpbnV4LWFybS1rZXJuZWxAbGlz dHMuaW5mcmFkZWFkLm9yZwo+IGh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlz dGluZm8vbGludXgtYXJtLWtlcm5lbAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtl cm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxt YW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=