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=-14.7 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,INCLUDES_CR_TRAILER,INCLUDES_PATCH,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=ham 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 ACA0CC4338F for ; Mon, 9 Aug 2021 09:41:56 +0000 (UTC) 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 mail.kernel.org (Postfix) with ESMTPS id 69F5060F35 for ; Mon, 9 Aug 2021 09:41:56 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 69F5060F35 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=lists.infradead.org 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:MIME-Version:References:In-Reply-To: Subject:Cc:To:From:Message-ID:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=l8TK6fkli3XWftxThSMohG/n5Bl8gHsappvAQVO3lk4=; b=ms6ZGfyo6bOmg1 pt31udaNmP8jo6V6Qz3zUAkI6zMiECxURPnl4C3AAdANcsoSBaBe3WkX3de2c1UmJkQjnBUuVP28d FwjihcoIcRiLMLqYp+dKnop9YkcOmoSpGHf0xj2eu/STINAKJ8zIaKa7EfArSxlVzfqgsbegXDeRz m1KouRVV1aDmjTN8olscYsDAAa1soI4ACuO3kMMjnaUmxCgnY3zZJHQoHda24+MKUyHWpjisQ++R/ DGzn4O1VxndZH7DpOqxuQTZhLoiO1WeNPT4b7qmICx/7OSUGEwF/ZtvI1hY8a1+ml2M5W88Nzgi0C 36+hzfDej+rX/ej/WDew==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1mD1kV-0002tJ-PC; Mon, 09 Aug 2021 09:39:11 +0000 Received: from mail.kernel.org ([198.145.29.99]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1mD1kR-0002sK-9n for linux-arm-kernel@lists.infradead.org; Mon, 09 Aug 2021 09:39:09 +0000 Received: from disco-boy.misterjones.org (disco-boy.misterjones.org [51.254.78.96]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 994FE60F35; Mon, 9 Aug 2021 09:39:06 +0000 (UTC) Received: from sofa.misterjones.org ([185.219.108.64] helo=why.misterjones.org) by disco-boy.misterjones.org with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1mD1kO-003mj9-6f; Mon, 09 Aug 2021 10:39:04 +0100 Date: Mon, 09 Aug 2021 10:39:03 +0100 Message-ID: <87o8a7arew.wl-maz@kernel.org> From: Marc Zyngier To: Kishon Vijay Abraham I Cc: Bjorn Helgaas , Rob Herring , Lorenzo Pieralisi , Tom Joseph , , , , , , Lokesh Vutla Subject: Re: [PATCH v2 2/3] PCI: j721e: Add PCI legacy interrupt support for J721E In-Reply-To: References: <20210804132912.30685-1-kishon@ti.com> <20210804132912.30685-3-kishon@ti.com> <87h7g5w8d8.wl-maz@kernel.org> User-Agent: Wanderlust/2.15.9 (Almost Unreal) SEMI-EPG/1.14.7 (Harue) FLIM-LB/1.14.9 (=?UTF-8?B?R29qxY0=?=) APEL-LB/10.8 EasyPG/1.0.0 Emacs/27.1 (x86_64-pc-linux-gnu) MULE/6.0 (HANACHIRUSATO) MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") X-SA-Exim-Connect-IP: 185.219.108.64 X-SA-Exim-Rcpt-To: kishon@ti.com, bhelgaas@google.com, robh+dt@kernel.org, lorenzo.pieralisi@arm.com, tjoseph@cadence.com, linux-omap@vger.kernel.org, linux-pci@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, lokeshvutla@ti.com X-SA-Exim-Mail-From: maz@kernel.org X-SA-Exim-Scanned: No (on disco-boy.misterjones.org); SAEximRunCond expanded to false X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210809_023907_436441_FABFAD5F X-CRM114-Status: GOOD ( 47.77 ) 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 T24gTW9uLCAwOSBBdWcgMjAyMSAwNTo1MDoxMCArMDEwMCwKS2lzaG9uIFZpamF5IEFicmFoYW0g SSA8a2lzaG9uQHRpLmNvbT4gd3JvdGU6Cj4gCj4gSGkgTWFyYywKPiAKPiBPbiAwNC8wOC8yMSA4 OjQzIHBtLCBNYXJjIFp5bmdpZXIgd3JvdGU6Cj4gPiBPbiBXZWQsIDA0IEF1ZyAyMDIxIDE0OjI5 OjExICswMTAwLAo+ID4gS2lzaG9uIFZpamF5IEFicmFoYW0gSSA8a2lzaG9uQHRpLmNvbT4gd3Jv dGU6Cj4gPj4KPiA+PiBBZGQgUENJIGxlZ2FjeSBpbnRlcnJ1cHQgc3VwcG9ydCBmb3IgSjcyMUUu IEo3MjFFIGhhcyBhIHNpbmdsZSBIVwo+ID4+IGludGVycnVwdCBsaW5lIGZvciBhbGwgdGhlIGZv dXIgbGVnYWN5IGludGVycnVwdHMgSU5UQS9JTlRCL0lOVEMvSU5URC4KPiA+PiBUaGUgSFcgaW50 ZXJydXB0IGxpbmUgY29ubmVjdGVkIHRvIEdJQyBpcyBhIHB1bHNlIGludGVycnVwdCB3aGVyZWFz Cj4gPj4gdGhlIGxlZ2FjeSBpbnRlcnJ1cHRzIGJ5IGRlZmluaXRpb24gaXMgbGV2ZWwgaW50ZXJy dXB0LiBJbiBvcmRlciB0bwo+ID4+IHByb3ZpZGUgbGV2ZWwgaW50ZXJydXB0IGZ1bmN0aW9uYWxp dHkgdG8gZWRnZSBpbnRlcnJ1cHQgbGluZSwgUENJZQo+ID4+IGluIEo3MjFFIGhhcyBwcm92aWRl ZCBJUlFfRU9JIHJlZ2lzdGVyLgo+ID4+Cj4gPj4gSG93ZXZlciBkdWUgdG8gRXJyYXRhIElEICNp MjA5NCAoWzFdKSwgRU9JIGZlYXR1cmUgaXMgbm90IGVuYWJsZWQgaW4gSFcKPiA+PiBhbmQgb25s eSBhIHNpbmdsZSBwdWxzZSBpbnRlcnJ1cHQgd2lsbCBiZSBnZW5lcmF0ZWQgZm9yIGV2ZXJ5Cj4g Pj4gQVNTRVJUX0lOVHgvREVBU1NFUlRfSU5UeC4KPiA+IAo+ID4gU28gbXkgZWFybGllciByZW1h cmsgc3RhbmRzLiBJZiB5b3UgZ2V0IGEgc2luZ2xlIGVkZ2UsIGhvdyBkbyB5b3UKPiA+IGhhbmRs ZSBhIGxldmVsIHRoYXQgaXMgc3RpbGwgaGlnaCBhZnRlciBoYXZpbmcgaGFuZGxlZCB0aGUgaW50 ZXJydXB0Cj4gPiBvbiBoYXJkd2FyZSB0aGF0IGhhcyB0aGlzIGJ1Zz8KPiAKPiBSaWdodCwgdGhp cyBoYXJkd2FyZSAoSjcyMUUpIGhhcyBhIGJ1ZyBidXQgd2FzIGZpeGVkIGluIEo3MjAwIChQYXRj aCAzLzMKPiBoYW5kbGVzIHRoYXQpLgoKQnV0IGhvdyBkbyB5b3UgbWFrZSBpdCB3b3JrIHdpdGgg SjcyMUU/IElzIGl0IGV2ZW4gd29ydGggc3VwcG9ydGluZyBpZgooYXMgSSBleHBlY3QpIGl0IGlz IHVucmVsaWFibGU/Cgo+ID4gCj4gPj4KPiA+PiBbMV0gLT4gSjcyMUUgRFJBODI5L1REQTRWTSBQ cm9jZXNzb3JzIFNpbGljb24gUmV2aXNpb24gMS4xLzEuMCBTUFJaNDU1QSDigJMKPiA+PiAgICAg ICAgREVDRU1CRVIgMjAyMCDigJMgUkVWSVNFRCBBVUdVU1QgMjAyMQo+ID4+ICAgICAgICAoaHR0 cHM6Ly93d3cudGkuY29tL2xpdC9lci9zcHJ6NDU1YS9zcHJ6NDU1YS5wZGYpCj4gPj4KPiA+PiBT aWduZWQtb2ZmLWJ5OiBLaXNob24gVmlqYXkgQWJyYWhhbSBJIDxraXNob25AdGkuY29tPgo+ID4+ IC0tLQo+ID4+ICBkcml2ZXJzL3BjaS9jb250cm9sbGVyL2NhZGVuY2UvcGNpLWo3MjFlLmMgfCA4 NSArKysrKysrKysrKysrKysrKysrKysrCj4gPj4gIDEgZmlsZSBjaGFuZ2VkLCA4NSBpbnNlcnRp b25zKCspCj4gPj4KPiA+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9wY2kvY29udHJvbGxlci9jYWRl bmNlL3BjaS1qNzIxZS5jIGIvZHJpdmVycy9wY2kvY29udHJvbGxlci9jYWRlbmNlL3BjaS1qNzIx ZS5jCj4gPj4gaW5kZXggMmVjMDM3YzQzYmQ1Li5jMmU3YTc4ZGMzMWYgMTAwNjQ0Cj4gPj4gLS0t IGEvZHJpdmVycy9wY2kvY29udHJvbGxlci9jYWRlbmNlL3BjaS1qNzIxZS5jCj4gPj4gKysrIGIv ZHJpdmVycy9wY2kvY29udHJvbGxlci9jYWRlbmNlL3BjaS1qNzIxZS5jCj4gPj4gQEAgLTI5LDYg KzI5LDEzIEBACj4gPj4gICNkZWZpbmUgTElOS19ET1dOCQlCSVQoMSkKPiA+PiAgI2RlZmluZSBK NzIwMF9MSU5LX0RPV04JCUJJVCgxMCkKPiA+PiAgCj4gPj4gKyNkZWZpbmUgRU9JX1JFRwkJCTB4 MTAKPiA+PiArCj4gPj4gKyNkZWZpbmUgRU5BQkxFX1JFR19TWVNfMAkweDEwMAo+ID4+ICsjZGVm aW5lIFNUQVRVU19SRUdfU1lTXzAJMHg1MDAKPiA+PiArI2RlZmluZSBTVEFUVVNfQ0xSX1JFR19T WVNfMAkweDcwMAo+ID4+ICsjZGVmaW5lIElOVHhfRU4obnVtKQkJKDEgPDwgKG51bSkpCj4gPj4g Kwo+ID4+ICAjZGVmaW5lIEo3MjFFX1BDSUVfVVNFUl9DTURfU1RBVFVTCTB4NAo+ID4+ICAjZGVm aW5lIExJTktfVFJBSU5JTkdfRU5BQkxFCQlCSVQoMCkKPiA+PiAgCj4gPj4gQEAgLTU5LDYgKzY2 LDcgQEAgc3RydWN0IGo3MjFlX3BjaWUgewo+ID4+ICAJdm9pZCBfX2lvbWVtCQkqdXNlcl9jZmdf YmFzZTsKPiA+PiAgCXZvaWQgX19pb21lbQkJKmludGRfY2ZnX2Jhc2U7Cj4gPj4gIAl1MzIJCQls aW5rZG93bl9pcnFfcmVnZmllbGQ7Cj4gPj4gKwlzdHJ1Y3QgaXJxX2RvbWFpbgkqbGVnYWN5X2ly cV9kb21haW47Cj4gPj4gIH07Cj4gPj4gIAo+ID4+ICBlbnVtIGo3MjFlX3BjaWVfbW9kZSB7Cj4g Pj4gQEAgLTEyMSw2ICsxMjksNzkgQEAgc3RhdGljIHZvaWQgajcyMWVfcGNpZV9jb25maWdfbGlu a19pcnEoc3RydWN0IGo3MjFlX3BjaWUgKnBjaWUpCj4gPj4gIAlqNzIxZV9wY2llX2ludGRfd3Jp dGVsKHBjaWUsIEVOQUJMRV9SRUdfU1lTXzIsIHJlZyk7Cj4gPj4gIH0KPiA+PiAgCj4gPj4gK3N0 YXRpYyB2b2lkIGo3MjFlX3BjaWVfdjFfbGVnYWN5X2lycV9oYW5kbGVyKHN0cnVjdCBpcnFfZGVz YyAqZGVzYykKPiA+PiArewo+ID4+ICsJc3RydWN0IGo3MjFlX3BjaWUgKnBjaWUgPSBpcnFfZGVz Y19nZXRfaGFuZGxlcl9kYXRhKGRlc2MpOwo+ID4+ICsJc3RydWN0IGlycV9jaGlwICpjaGlwID0g aXJxX2Rlc2NfZ2V0X2NoaXAoZGVzYyk7Cj4gPj4gKwlpbnQgaSwgdmlycTsKPiA+PiArCXUzMiBy ZWc7Cj4gPj4gKwo+ID4+ICsJY2hhaW5lZF9pcnFfZW50ZXIoY2hpcCwgZGVzYyk7Cj4gPj4gKwo+ ID4+ICsJZm9yIChpID0gMDsgaSA8IFBDSV9OVU1fSU5UWDsgaSsrKSB7Cj4gPj4gKwkJcmVnID0g ajcyMWVfcGNpZV9pbnRkX3JlYWRsKHBjaWUsIFNUQVRVU19SRUdfU1lTXzApOwo+ID4+ICsJCWlm ICghKHJlZyAmIElOVHhfRU4oaSkpKQo+ID4+ICsJCQljb250aW51ZTsKPiA+IAo+ID4gV2h5IGRv IHlvdSBuZWVkIHRvIHBlcmZvcm0gbXVsdGlwbGUgcmVhZHM/IFN1cmVseSByZWcgY29udGFpbnMg YWxsIHRoZQo+ID4gYml0cyB5b3UgbmVlZCwgZG9lc24ndCBpdD8KPiAKPiBSaWdodCwgd2lsbCBm aXggaXQgdXAuCj4gPiAKPiA+PiArCj4gPj4gKwkJdmlycSA9IGlycV9maW5kX21hcHBpbmcocGNp ZS0+bGVnYWN5X2lycV9kb21haW4sIDMgLSBpKTsKPiA+PiArCQlnZW5lcmljX2hhbmRsZV9pcnEo dmlycSk7Cj4gPiAKPiA+IFBsZWFzZSBjb21iaW5lIGJvdGggbGluZXMgaW50byBhIHNpbmdsZSBn ZW5lcmljX2hhbmRsZV9kb21haW5faXJxKCkKPiA+IGNhbGwuCj4gCj4gT2theS4KPiA+IAo+ID4+ ICsJCWo3MjFlX3BjaWVfaW50ZF93cml0ZWwocGNpZSwgU1RBVFVTX0NMUl9SRUdfU1lTXzAsIElO VHhfRU4oaSkpOwo+ID4gCj4gPiBXaGF0IGlzIHRoZSBwdXJwb3NlIG9mIHRoaXMgd3JpdGU/IEl0 IGZlZWxzIGxpa2UgdGhpcyBzaG91bGQgYmUgYQo+ID4gaXJxX2VvaSBjYWxsYmFjay4KPiAKPiBJ dCdzIGFuIElSUSBBQ0ssIHNpbmNlIGluIHRoaXMgcGxhdGZvcm0gdGhlIGxldmVsIHRvIGVkZ2Ug aXMgbm90Cj4gaW1wbGVtZW50ZWQgcHJvcGVybHkgaW4gSFcuCgpBbiBBY2sgZm9yIGFuIGVkZ2Ug aW50ZXJydXB0IHdvdWxkIG5lZWQgdG8gaGFwcGVuIGJlZm9yZSB5b3UgaGFuZGxlCnRoZSBpbnRl cnJ1cHQsIG9yIHlvdSdkIHdyb25nbHkgYWNrbm93bGVkZ2UgZWRnZXMgdGhhdCBmaXJlIGJldHdl ZW4KdGhlIGhhbmRsaW5nIG9mIHRoZSBpbnRlcnJ1cHQgYW5kIHRoZSBBY2ssIGFuZCB0aGF0IHdv dWxkIG5ldmVyIGJlCmhhbmRsZWQuCgpJZiBpdCByZWFsbHkgaXMgYW4gQWNrLCBpdCBuZWVkcyB0 byBiZSBtb3ZlZCAqYmVmb3JlKiB0aGUgaGFuZGxpbmcsCnByZWZlcmFibHkgaW4gYW4gaXJxX2Fj ayBjYWxsYmFjay4gT3RoZXJ3aXNlLCBpdCBpcyBhbiBFT0ksIGFuZCBpdApiZWxvbmdzIHRvIGly cV9lb2kuCgo+ID4gCj4gPj4gKwl9Cj4gPj4gKwo+ID4+ICsJY2hhaW5lZF9pcnFfZXhpdChjaGlw LCBkZXNjKTsKPiA+PiArfQo+ID4+ICsKPiA+PiArc3RhdGljIGludCBqNzIxZV9wY2llX2ludHhf bWFwKHN0cnVjdCBpcnFfZG9tYWluICpkb21haW4sIHVuc2lnbmVkIGludCBpcnEsIGlycV9od19u dW1iZXJfdCBod2lycSkKPiA+PiArewo+ID4+ICsJaXJxX3NldF9jaGlwX2FuZF9oYW5kbGVyKGly cSwgJmR1bW15X2lycV9jaGlwLCBoYW5kbGVfc2ltcGxlX2lycSk7Cj4gPiAKPiA+IEFuIElOVHgg aW50ZXJydXB0IGlzIGEgbGV2ZWwgaW50ZXJydXB0LiBQbGVhc2UgdXNlIHRoZSBjb3JyZXNwb25k aW5nIGZsb3cuCj4gCj4gT2theS4KPiA+IAo+ID4+ICsJaXJxX3NldF9jaGlwX2RhdGEoaXJxLCBk b21haW4tPmhvc3RfZGF0YSk7Cj4gPj4gKwo+ID4+ICsJcmV0dXJuIDA7Cj4gPj4gK30KPiA+PiAr Cj4gPj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3QgaXJxX2RvbWFpbl9vcHMgajcyMWVfcGNpZV9pbnR4 X2RvbWFpbl9vcHMgPSB7Cj4gPj4gKwkubWFwID0gajcyMWVfcGNpZV9pbnR4X21hcCwKPiA+PiAr fTsKPiA+PiArCj4gPj4gK3N0YXRpYyBpbnQgajcyMWVfcGNpZV9jb25maWdfbGVnYWN5X2lycShz dHJ1Y3QgajcyMWVfcGNpZSAqcGNpZSkKPiA+PiArewo+ID4+ICsJc3RydWN0IGlycV9kb21haW4g KmxlZ2FjeV9pcnFfZG9tYWluOwo+ID4+ICsJc3RydWN0IGRldmljZSAqZGV2ID0gcGNpZS0+ZGV2 Owo+ID4+ICsJc3RydWN0IGRldmljZV9ub2RlICpub2RlID0gZGV2LT5vZl9ub2RlOwo+ID4+ICsJ c3RydWN0IGRldmljZV9ub2RlICppbnRjX25vZGU7Cj4gPj4gKwlpbnQgaXJxLCBpOwo+ID4+ICsJ dTMyIHJlZzsKPiA+PiArCj4gPj4gKwlpbnRjX25vZGUgPSBvZl9nZXRfY2hpbGRfYnlfbmFtZShu b2RlLCAiaW50ZXJydXB0LWNvbnRyb2xsZXIiKTsKPiA+PiArCWlmICghaW50Y19ub2RlKSB7Cj4g Pj4gKwkJZGV2X2RiZyhkZXYsICJpbnRlcnJ1cHQtY29udHJvbGxlciBub2RlIGlzIGFic2VudC4g TGVnYWN5IElOVFIgbm90IHN1cHBvcnRlZFxuIik7Cj4gPj4gKwkJcmV0dXJuIDA7Cj4gPj4gKwl9 Cj4gPj4gKwo+ID4+ICsJaXJxID0gaXJxX29mX3BhcnNlX2FuZF9tYXAoaW50Y19ub2RlLCAwKTsK PiA+PiArCWlmICghaXJxKSB7Cj4gPj4gKwkJZGV2X2VycihkZXYsICJGYWlsZWQgdG8gcGFyc2Ug YW5kIG1hcCBsZWdhY3kgaXJxXG4iKTsKPiA+PiArCQlyZXR1cm4gLUVJTlZBTDsKPiA+PiArCX0K PiA+PiArCWlycV9zZXRfY2hhaW5lZF9oYW5kbGVyX2FuZF9kYXRhKGlycSwgajcyMWVfcGNpZV92 MV9sZWdhY3lfaXJxX2hhbmRsZXIsIHBjaWUpOwo+ID4+ICsKPiA+PiArCWxlZ2FjeV9pcnFfZG9t YWluID0gaXJxX2RvbWFpbl9hZGRfbGluZWFyKGludGNfbm9kZSwgUENJX05VTV9JTlRYLAo+ID4+ ICsJCQkJCQkgICZqNzIxZV9wY2llX2ludHhfZG9tYWluX29wcywgcGNpZSk7Cj4gPj4gKwlpZiAo IWxlZ2FjeV9pcnFfZG9tYWluKSB7Cj4gPj4gKwkJZGV2X2VycihkZXYsICJGYWlsZWQgdG8gYWRk IGlycSBkb21haW4gZm9yIGxlZ2FjeSBpcnFzXG4iKTsKPiA+PiArCQlyZXR1cm4gLUVJTlZBTDsK PiA+PiArCX0KPiA+PiArCXBjaWUtPmxlZ2FjeV9pcnFfZG9tYWluID0gbGVnYWN5X2lycV9kb21h aW47Cj4gPj4gKwo+ID4+ICsJZm9yIChpID0gMDsgaSA8IFBDSV9OVU1fSU5UWDsgaSsrKSB7Cj4g Pj4gKwkJcmVnID0gajcyMWVfcGNpZV9pbnRkX3JlYWRsKHBjaWUsIEVOQUJMRV9SRUdfU1lTXzAp Owo+ID4+ICsJCXJlZyB8PSBJTlR4X0VOKGkpOwo+ID4+ICsJCWo3MjFlX3BjaWVfaW50ZF93cml0 ZWwocGNpZSwgRU5BQkxFX1JFR19TWVNfMCwgcmVnKTsKPiA+PiArCX0KPiA+IAo+ID4gVGhpcyBz aG91bGQgYmUgbW92ZWQgdG8gdGhlIGlycV91bm1hc2soKSBjYWxsYmFjay4KPiAKPiBTaG91bGQg d2UgYWxzbyBoYXZlIGEgY29ycmVzcG9uZGluZyBpcnFfbWFzaygpPyBUaGVuIHdvdWxkIHJlcXVp cmUgdXMKPiBpbXBsZW1lbnQgcmVmZXJlbmNlIGNvdW50aW5nIHNpbmNlIGxlZ2FjeSBpbnRlcnJ1 cHRzIGFyZSBzaGFyZWQuCgpUaGUgY29yZSBjb2RlIHNob3VsZCBhbHJlYWR5IGRlYWwgd2l0aCB0 aGlzLCBJIGV4cGVjdC4gSXQgaXNuJ3QgbGlrZQpzaGFyZWQgaW50ZXJydXB0cyBhcmUgc29tZXRo aW5nIG5ldy4gQW5kIHllcywgeW91IHNob3VsZCBoYXZlIGJvdGgKbWFzayBhbmQgdW5tYXNrLgoK VGhhbmtzLAoKCU0uCgotLSAKV2l0aG91dCBkZXZpYXRpb24gZnJvbSB0aGUgbm9ybSwgcHJvZ3Jl c3MgaXMgbm90IHBvc3NpYmxlLgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5l bEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4v bGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=