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=-10.0 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, 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 521C3C433DF for ; Tue, 18 Aug 2020 20:50:29 +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 0892F2063A for ; Tue, 18 Aug 2020 20:50:29 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="iFNg0k8n"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=kernel.org header.i=@kernel.org header.b="yRTSIIGd" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 0892F2063A Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org 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:MIME-Version:References:In-Reply-To:Subject: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=KiHZusQR8I1jQqdTqHOmo8KXLSH/emMaxbqOWFaI8fM=; b=iFNg0k8n6ruR8w4maWhi7T4HL JR7RM2K2ciRoBfTmqkJhTV/YBNV898ZCAg9Ju0mAVWo6QY8XFd1Njf67xi58IAI0pvy+fTSjxxtDo L8EcAhx9k29wWbk5wb/CrgXxnrUpoq93ca0GjmujVZzZp5fOv4dLSXRkhMbD9J3xOnx60RMhAB1NK nIKQS6J625SxZSoUVclZg4vMSR3qQ5Mt0bD8z/GiPxIbc7DNhxEfVtesf7lrUa64BhpNcodSnvF2s Pk/5/UJqpLHNxQ8z546J+YaskrL6N5Dze3LOo7kjxoZEdqu9jku8fK5EyPhyis7S/KLQnxbF6/6Jl 1Qm85IkWg==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1k88XI-00056d-DD; Tue, 18 Aug 2020 20:48:48 +0000 Received: from mail.kernel.org ([198.145.29.99]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1k88XF-00056B-PD; Tue, 18 Aug 2020 20:48:46 +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 92B622075E; Tue, 18 Aug 2020 20:48:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1597783724; bh=F0Rt/Sa6XOeH6QhMbwY6pm7rAx3cgygvM77yHUKtrks=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=yRTSIIGdTow+nFhoXqJCsUEExWajDUNMhWGh2rmQ4q7LdZANgOyfmLkFO/kdOmstr CCrmpiJC6efPMUDQplhMF45LUIYao13m9C0JFtuNi7wMgwagZ3EyU1ePFP/qXFJ7bu zzRwqSkIsRO5kVEX7J5oIYtm2Sbkvhtt8aUP1TNk= Received: from 78.163-31-62.static.virginmediabusiness.co.uk ([62.31.163.78] helo=wait-a-minute.misterjones.org) by disco-boy.misterjones.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1k88XC-0041Rw-Vt; Tue, 18 Aug 2020 21:48:43 +0100 Date: Tue, 18 Aug 2020 21:48:41 +0100 Message-ID: <87lfibn0ie.wl-maz@kernel.org> From: Marc Zyngier To: Cristian Ciocaltea Subject: Re: [PATCH v4 2/3] irqchip: Add Actions Semi Owl SIRQ controller In-Reply-To: <20200818174241.GA2020288@BV030612LT> References: <8e43fe6c6246bfd5347dc21b6f5c3f50@kernel.org> <20200818174241.GA2020288@BV030612LT> User-Agent: Wanderlust/2.15.9 (Almost Unreal) SEMI-EPG/1.14.7 (Harue) FLIM/1.14.9 (=?UTF-8?B?R29qxY0=?=) APEL/10.8 EasyPG/1.0.0 Emacs/26.3 (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: 62.31.163.78 X-SA-Exim-Rcpt-To: cristian.ciocaltea@gmail.com, tglx@linutronix.de, jason@lakedaemon.net, robh+dt@kernel.org, afaerber@suse.de, manivannan.sadhasivam@linaro.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-actions@lists.infradead.org, sravanhome@gmail.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-20200818_164846_012954_037D4E5E X-CRM114-Status: GOOD ( 52.51 ) 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: devicetree@vger.kernel.org, Jason Cooper , linux-actions@lists.infradead.org, linux-kernel@vger.kernel.org, Rob Herring , Manivannan Sadhasivam , Thomas Gleixner , Andreas =?UTF-8?B?RsOkcmJlcg==?= , linux-arm-kernel@lists.infradead.org, Saravanan Sekar 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 T24gVHVlLCAxOCBBdWcgMjAyMCAxODo0Mjo0MSArMDEwMCwKQ3Jpc3RpYW4gQ2lvY2FsdGVhIDxj cmlzdGlhbi5jaW9jYWx0ZWFAZ21haWwuY29tPiB3cm90ZToKPiAKPiBIaSBNYXJjLAo+IAo+IFRo YW5rcyBmb3IgeW91ciBxdWljayBhbmQgZGV0YWlsZWQgcmV2aWV3IQo+IAo+IE9uIE1vbiwgQXVn IDE3LCAyMDIwIGF0IDAyOjUyOjA2UE0gKzAxMDAsIE1hcmMgWnluZ2llciB3cm90ZToKPiA+IE9u IDIwMjAtMDgtMTYgMTI6MzMsIENyaXN0aWFuIENpb2NhbHRlYSB3cm90ZToKPiA+ID4gVGhpcyBj b250cm9sbGVyIGFwcGVhcnMgb24gQWN0aW9ucyBTZW1pIE93bCBmYW1pbHkgU29DJ3MgUzUwMCwg UzcwMCBhbmQKPiA+ID4gUzkwMCBhbmQgcHJvdmlkZXMgc3VwcG9ydCBmb3IgMyBleHRlcm5hbCBp bnRlcnJ1cHQgY29udHJvbGxlcnMgdGhyb3VnaAo+ID4gCj4gPiBJcyB0aGF0IHJlYWxseSAzIGlu dGVycnVwdCBjb250cm9sbGVycz8gT3IgbWVyZWx5IDMgaW50ZXJydXB0IGxpbmVzPwo+IAo+IFRo aXMgaXMgbW9zdGx5IGEgbGVmdG92ZXIgc3RhdGVtZW50IGZyb20gdGhlIHByZXZpb3VzIHBhdGNo IHJldmlzaW9uLgo+IEkgd2lsbCBjaGFuZ2UgaXQgdG8gc29tZXRoaW5nIGxpa2U6Cj4gCj4gIlRo aXMgaW50ZXJydXB0IGNvbnRyb2xsZXIgaXMgZm91bmQgaW4gdGhlIEFjdGlvbnMgU2VtaSBPd2wg U29DcyAoUzUwMCwKPiBTNzAwIGFuZCBTOTAwKSBhbmQgcHJvdmlkZXMgc3VwcG9ydCBmb3IgaGFu ZGxpbmcgdXAgdG8gMyBleHRlcm5hbAo+IGludGVycnVwdCBsaW5lcy4iCgpMb29rcyBnb29kLgoK PiAKPiA+ID4gZGVkaWNhdGVkIFNJUlEgcGlucy4KPiA+ID4gCj4gPiA+IEVhY2ggbGluZSBjYW4g YmUgaW5kZXBlbmRlbnRseSBjb25maWd1cmVkIGFzIGludGVycnVwdCBhbmQgdHJpZ2dlcnMKPiA+ ID4gb24gZWl0aGVyIG9mIHRoZSBlZGdlcyAocmFpc2luZyBvciBmYWxsaW5nKSBvciBlaXRoZXIg b2YgdGhlIGxldmVscwo+ID4gPiAoaGlnaCBvciBsb3cpLiBFYWNoIGxpbmUgY2FuIGFsc28gYmUg bWFza2VkIGluZGVwZW5kZW50bHkuCj4gPiA+IAo+ID4gPiBUaGlzIGlzIGJhc2VkIG9uIHRoZSBw YXRjaCBzZXJpZXMgc3VibWl0dGVkIGJ5IFBhcnRoaWJhbiBOYWxsYXRoYW1iaToKPiA+ID4gaHR0 cHM6Ly9sb3JlLmtlcm5lbC5vcmcvbGttbC8yMDE4MTEyNjEwMDM1Ni4yODQwNTc4LTEtcG5AZGVu eC5kZS8KPiA+ID4gCj4gPiA+IFNpZ25lZC1vZmYtYnk6IFBhcnRoaWJhbiBOYWxsYXRoYW1iaSA8 cG5AZGVueC5kZT4KPiA+ID4gU2lnbmVkLW9mZi1ieTogU2FyYXZhbmFuIFNla2FyIDxzcmF2YW5o b21lQGdtYWlsLmNvbT4KPiA+ID4gW2NyaXN0aTogb3B0aW1pemVkIERULCB2YXJpb3VzIGZpeGVz L2NsZWFudXBzL2ltcHJvdmVtZW50c10KPiA+ID4gU2lnbmVkLW9mZi1ieTogQ3Jpc3RpYW4gQ2lv Y2FsdGVhIDxjcmlzdGlhbi5jaW9jYWx0ZWFAZ21haWwuY29tPgo+ID4gPiAtLS0KPiA+ID4gIGRy aXZlcnMvaXJxY2hpcC9NYWtlZmlsZSAgICAgICB8ICAgMSArCj4gPiA+ICBkcml2ZXJzL2lycWNo aXAvaXJxLW93bC1zaXJxLmMgfCAzMTggKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr Cj4gPiA+ICAyIGZpbGVzIGNoYW5nZWQsIDMxOSBpbnNlcnRpb25zKCspCj4gPiA+ICBjcmVhdGUg bW9kZSAxMDA2NDQgZHJpdmVycy9pcnFjaGlwL2lycS1vd2wtc2lycS5jCj4gPiA+IAo+ID4gPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9pcnFjaGlwL01ha2VmaWxlIGIvZHJpdmVycy9pcnFjaGlwL01h a2VmaWxlCj4gPiA+IGluZGV4IDEzM2Y5YzQ1NzQ0YS4uYjhlYjViOGI3NjZkIDEwMDY0NAo+ID4g PiAtLS0gYS9kcml2ZXJzL2lycWNoaXAvTWFrZWZpbGUKPiA+ID4gKysrIGIvZHJpdmVycy9pcnFj aGlwL01ha2VmaWxlCj4gPiA+IEBAIC03LDYgKzcsNyBAQCBvYmotJChDT05GSUdfQVRINzkpCQkJ Kz0gaXJxLWF0aDc5LWNwdS5vCj4gPiA+ICBvYmotJChDT05GSUdfQVRINzkpCQkJKz0gaXJxLWF0 aDc5LW1pc2Mubwo+ID4gPiAgb2JqLSQoQ09ORklHX0FSQ0hfQkNNMjgzNSkJCSs9IGlycS1iY20y ODM1Lm8KPiA+ID4gIG9iai0kKENPTkZJR19BUkNIX0JDTTI4MzUpCQkrPSBpcnEtYmNtMjgzNi5v Cj4gPiA+ICtvYmotJChDT05GSUdfQVJDSF9BQ1RJT05TKQkJKz0gaXJxLW93bC1zaXJxLm8KPiA+ ID4gIG9iai0kKENPTkZJR19EQVZJTkNJX0FJTlRDKQkJKz0gaXJxLWRhdmluY2ktYWludGMubwo+ ID4gPiAgb2JqLSQoQ09ORklHX0RBVklOQ0lfQ1BfSU5UQykJCSs9IGlycS1kYXZpbmNpLWNwLWlu dGMubwo+ID4gPiAgb2JqLSQoQ09ORklHX0VYWU5PU19JUlFfQ09NQklORVIpCSs9IGV4eW5vcy1j b21iaW5lci5vCj4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2lycWNoaXAvaXJxLW93bC1zaXJx LmMKPiA+ID4gYi9kcml2ZXJzL2lycWNoaXAvaXJxLW93bC1zaXJxLmMKPiA+ID4gbmV3IGZpbGUg bW9kZSAxMDA2NDQKPiA+ID4gaW5kZXggMDAwMDAwMDAwMDAwLi4yOWI3ZmZjNDBhYzcKPiA+ID4g LS0tIC9kZXYvbnVsbAo+ID4gPiArKysgYi9kcml2ZXJzL2lycWNoaXAvaXJxLW93bC1zaXJxLmMK PiA+ID4gQEAgLTAsMCArMSwzMTggQEAKPiA+ID4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVy OiBHUEwtMi4wKwo+ID4gPiArLyoKPiA+ID4gKyAqIEFjdGlvbnMgU2VtaSBPd2wgU29DcyBTSVJR IGludGVycnVwdCBjb250cm9sbGVyIGRyaXZlcgo+ID4gPiArICoKPiA+ID4gKyAqIENvcHlyaWdo dCAoQykgMjAxNCBBY3Rpb25zIFNlbWkgSW5jLgo+ID4gPiArICogRGF2aWQgTGl1IDxsaXV3ZWlA YWN0aW9ucy1zZW1pLmNvbT4KPiA+ID4gKyAqCj4gPiA+ICsgKiBBdXRob3I6IFBhcnRoaWJhbiBO YWxsYXRoYW1iaSA8cG5AZGVueC5kZT4KPiA+ID4gKyAqIEF1dGhvcjogU2FyYXZhbmFuIFNla2Fy IDxzcmF2YW5ob21lQGdtYWlsLmNvbT4KPiA+ID4gKyAqIEF1dGhvcjogQ3Jpc3RpYW4gQ2lvY2Fs dGVhIDxjcmlzdGlhbi5jaW9jYWx0ZWFAZ21haWwuY29tPgo+ID4gPiArICovCj4gPiA+ICsKPiA+ ID4gKyNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KPiA+ID4gKyNpbmNsdWRlIDxsaW51eC9p cnFjaGlwLmg+Cj4gPiA+ICsjaW5jbHVkZSA8bGludXgvb2ZfYWRkcmVzcy5oPgo+ID4gPiArI2lu Y2x1ZGUgPGxpbnV4L29mX2lycS5oPgo+ID4gPiArCj4gPiA+ICsjZGVmaW5lIE5VTV9TSVJRCQkJ Mwo+ID4gPiArCj4gPiA+ICsjZGVmaW5lIElOVENfRVhUQ1RMX1BFTkRJTkcJCUJJVCgwKQo+ID4g PiArI2RlZmluZSBJTlRDX0VYVENUTF9DTEtfU0VMCQlCSVQoNCkKPiA+ID4gKyNkZWZpbmUgSU5U Q19FWFRDVExfRU4JCQlCSVQoNSkKPiA+ID4gKyNkZWZpbmUgSU5UQ19FWFRDVExfVFlQRV9NQVNL CQlHRU5NQVNLKDcsIDYpCj4gPiA+ICsjZGVmaW5lIElOVENfRVhUQ1RMX1RZUEVfSElHSAkJMAo+ ID4gPiArI2RlZmluZSBJTlRDX0VYVENUTF9UWVBFX0xPVwkJQklUKDYpCj4gPiA+ICsjZGVmaW5l IElOVENfRVhUQ1RMX1RZUEVfUklTSU5HCQlCSVQoNykKPiA+ID4gKyNkZWZpbmUgSU5UQ19FWFRD VExfVFlQRV9GQUxMSU5HCShCSVQoNikgfCBCSVQoNykpCj4gPiA+ICsKPiA+ID4gKy8qIFM5MDAg U0lSUTEgJiBTSVJRMiBjb250cm9sIHJlZ2lzdGVyIG9mZnNldHMsIHJlbGF0aXZlIHRvIFNJUlEw ICovCj4gPiA+ICsjZGVmaW5lIElOVENfRVhUQ1RMMQkJCTB4MDMyOAo+ID4gPiArI2RlZmluZSBJ TlRDX0VYVENUTDIJCQkweDAzMmMKPiA+ID4gKwo+ID4gPiArc3RydWN0IG93bF9zaXJxX3BhcmFt cyB7Cj4gPiA+ICsJLyogSU5UQ19FWFRDVEwgcmVnIHNoYXJlZCBmb3IgYWxsIHRocmVlIFNJUlEg bGluZXMgKi8KPiA+ID4gKwlib29sIHJlZ19zaGFyZWQ7Cj4gPiA+ICsJLyogSU5UQ19FWFRDVEwg cmVnIG9mZnNldHMgcmVsYXRpdmUgdG8gY29udHJvbGxlciBiYXNlIGFkZHJlc3MgKi8KPiA+ID4g Kwl1MTYgcmVnX29mZnNldFtOVU1fU0lSUV07Cj4gPiA+ICt9Owo+ID4gPiArCj4gPiA+ICtzdHJ1 Y3Qgb3dsX3NpcnFfY2hpcF9kYXRhIHsKPiA+ID4gKwljb25zdCBzdHJ1Y3Qgb3dsX3NpcnFfcGFy YW1zICpwYXJhbXM7Cj4gPiA+ICsJdm9pZCBfX2lvbWVtICpiYXNlOwo+ID4gPiArCXJhd19zcGlu bG9ja190IGxvY2s7Cj4gPiA+ICsJdTMyIGV4dF9pcnFzW05VTV9TSVJRXTsKPiA+ID4gKwl1OCB0 cmlnZ2VyOwo+ID4gCj4gPiBOaXQ6IFBsZWFzZSBhbGlnbiBkYXRhIHN0cnVjdHVyZSBtZW1iZXJz IHZlcnRpY2FsbHk6Cj4gPiAKPiA+IHN0cnVjdCBvd2xfc2lycV9jaGlwX2RhdGEgewo+ID4gCWNv bnN0IHN0cnVjdCBvd2xfc2lycV9wYXJhbXMgKnBhcmFtczsKPiA+IAl2b2lkIF9faW9tZW0gICAg ICAgICAgICAgICAgICpiYXNlOwo+ID4gCXJhd19zcGlubG9ja190ICAgICAgICAgICAgICAgbG9j azsKPiA+IAl1MzIgICAgICAgICAgICAgICAgICAgICAgICAgIGV4dF9pcnFzW05VTV9TSVJRXTsK PiA+IAl1OCAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyaWdnZXI7Cj4gPiB9Owo+IAo+IERv bmUuCj4gCj4gPiA+ICt9Owo+ID4gPiArCj4gPiA+ICsvKiBTNTAwIGFuZCBTNzAwIFNvQ3MgKi8K PiA+ID4gK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgb3dsX3NpcnFfcGFyYW1zIG93bF9zaXJxX3M1MDBf cGFyYW1zID0gewo+ID4gPiArCS5yZWdfc2hhcmVkID0gdHJ1ZSwKPiA+ID4gKwkucmVnX29mZnNl dCA9IHsgMCwgMCwgMCB9LAo+ID4gPiArfTsKPiA+ID4gKwo+ID4gPiArLyogUzkwMCBTb0MgKi8K PiA+ID4gK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgb3dsX3NpcnFfcGFyYW1zIG93bF9zaXJxX3M5MDBf cGFyYW1zID0gewo+ID4gPiArCS5yZWdfc2hhcmVkID0gZmFsc2UsCj4gPiA+ICsJLnJlZ19vZmZz ZXQgPSB7IDAsIElOVENfRVhUQ1RMMSwgSU5UQ19FWFRDVEwyIH0sCj4gPiAKPiA+IDAgKmlzKiBh biBvZmZzZXQsIHJpZ2h0PyBXaHkgZG9lc24ndCBpdCBoYXZlIGEgbmFtZSB0b28/Cj4gCj4gUmln aHQsIEkgdXBkYXRlZCB0aGUgZGVmaW5lcyBzZWN0aW9uOgo+IAo+IC8qIFM5MDAgU0lSUSBjb250 cm9sIHJlZ2lzdGVyIG9mZnNldHMsIHJlbGF0aXZlIHRvIGNvbnRyb2xsZXIgYmFzZSBhZGRyZXNz ICovCj4gI2RlZmluZSBJTlRDX0VYVENUTDAJCQkweDAwMDAKPiAjZGVmaW5lIElOVENfRVhUQ1RM MQkJCTB4MDMyOAo+IFsuLi5dCj4gCj4gVGhlIGNvbnRyb2xsZXIgYmFzZSBhZGRyZXNzIHBvaW50 cyB0byBTSVJRMCBjb250cm9sIHJlZ2lzdGVyLCBzbyB0aGlzCj4gb2Zmc2V0IGlzIGFsd2F5cyAw LCBidXQgSSB0b3RhbGx5IGFncmVlIHdlIHNob3VsZCBoYXZlIGEgbmFtZSBmb3IgaXQuCj4gCj4g PiA+ICt9Owo+ID4gPiArCj4gPiA+ICtzdGF0aWMgdTMyIG93bF9zaXJxX3JlYWRfZXh0Y3RsKHN0 cnVjdCBvd2xfc2lycV9jaGlwX2RhdGEgKmRhdGEsIHUzMgo+ID4gPiBpbmRleCkKPiA+ID4gK3sK PiA+ID4gKwl1MzIgdmFsOwo+ID4gPiArCj4gPiA+ICsJdmFsID0gcmVhZGxfcmVsYXhlZChkYXRh LT5iYXNlICsgZGF0YS0+cGFyYW1zLT5yZWdfb2Zmc2V0W2luZGV4XSk7Cj4gPiA+ICsJaWYgKGRh dGEtPnBhcmFtcy0+cmVnX3NoYXJlZCkKPiA+ID4gKwkJdmFsID0gKHZhbCA+PiAoMiAtIGluZGV4 KSAqIDgpICYgMHhmZjsKPiA+IAo+ID4gICAgICAgICBiYXNlID0gKDIgLSBpbmRleCkgKiA4Owo+ ID4gICAgICAgICB2YWwgPSBGSUVMRF9HRVQoR0VOTUFTSyhiYXNlICsgNywgYmFzZSksIHZhbCk7 Cj4gCj4gVW5mb3J0dW5hdGVseSB0aGUgY29udGV4dCBkb2Vzbid0IGFsbG93IHVzaW5nIEZJRUxE X0dFVDoKPiAKPiAuL2luY2x1ZGUvbGludXgvY29tcGlsZXIuaDozOTI6Mzg6IGVycm9yOiBjYWxs IHRvIOKAmF9fY29tcGlsZXRpbWVfYXNzZXJ0XzE1OeKAmSAKPiAgZGVjbGFyZWQgd2l0aCBhdHRy aWJ1dGUgZXJyb3I6IEZJRUxEX0dFVDogbWFzayBpcyBub3QgY29uc3RhbnQKCkJhaC4gVHVybmlu ZyB0aGUgd2hvbGUgdGhpbmcgaW50byBjb21waWxlLXRpbWUgdmFsdWVzIHdvdWxkIGFjdHVhbGx5 CmJlIG1vcmUgcmVhZGFibGUsIHNvIGhvdyBhYm91dCB0aGlzOgoKZGlmZiAtLWdpdCBhL2RyaXZl cnMvaXJxY2hpcC9pcnEtb3dsLXNpcnEuYyBiL2RyaXZlcnMvaXJxY2hpcC9pcnEtb3dsLXNpcnEu YwppbmRleCAyOWI3ZmZjNDBhYzcuLmI3NzFhY2JkYTdkNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9p cnFjaGlwL2lycS1vd2wtc2lycS5jCisrKyBiL2RyaXZlcnMvaXJxY2hpcC9pcnEtb3dsLXNpcnEu YwpAQCAtNTcsMTMgKzU3LDM5IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgb3dsX3NpcnFfcGFyYW1z IG93bF9zaXJxX3M5MDBfcGFyYW1zID0gewogCS5yZWdfb2Zmc2V0ID0geyAwLCBJTlRDX0VYVENU TDEsIElOVENfRVhUQ1RMMiB9LAogfTsKIAorc3RhdGljIHUzMiBvd2xfZmllbGRfZ2V0KHUzMiB2 YWwsIGludCBpbmRleCkKK3sKKwlzd2l0Y2goaW5kZXgpIHsKKwljYXNlIDA6CisJCXJldHVybiBG SUVMRF9HRVQoR0VOTUFTSygyMywgMTYpLCB2YWwpOworCWNhc2UgMToKKwkJcmV0dXJuIEZJRUxE X0dFVChHRU5NQVNLKDE1LCA4KSwgdmFsKTsKKwljYXNlIDI6CisJZGVmYXVsdDoKKwkJcmV0dXJu IEZJRUxEX0dFVChHRU5NQVNLKDcsIDApLCB2YWwpOworCX0KK30KKworc3RhdGljIHUzMiBvd2xf ZmllbGRfcHJlcCh1MzIgdmFsLCBpbnQgaW5kZXgpCit7CisJc3dpdGNoKGluZGV4KSB7CisJY2Fz ZSAwOgorCQlyZXR1cm4gRklFTERfUFJFUChHRU5NQVNLKDIzLCAxNiksIHZhbCk7CisJY2FzZSAx OgorCQlyZXR1cm4gRklFTERfUFJFUChHRU5NQVNLKDE1LCA4KSwgdmFsKTsKKwljYXNlIDI6CisJ ZGVmYXVsdDoKKwkJcmV0dXJuIEZJRUxEX1BSRVAoR0VOTUFTSyg3LCAwKSwgdmFsKTsKKwl9Cit9 CisKIHN0YXRpYyB1MzIgb3dsX3NpcnFfcmVhZF9leHRjdGwoc3RydWN0IG93bF9zaXJxX2NoaXBf ZGF0YSAqZGF0YSwgdTMyIGluZGV4KQogewogCXUzMiB2YWw7CiAKIAl2YWwgPSByZWFkbF9yZWxh eGVkKGRhdGEtPmJhc2UgKyBkYXRhLT5wYXJhbXMtPnJlZ19vZmZzZXRbaW5kZXhdKTsKIAlpZiAo ZGF0YS0+cGFyYW1zLT5yZWdfc2hhcmVkKQotCQl2YWwgPSAodmFsID4+ICgyIC0gaW5kZXgpICog OCkgJiAweGZmOworCQl2YWwgPSBvd2xfZmllbGRfZ2V0KHZhbCwgaW5kZXgpOwogCiAJcmV0dXJu IHZhbDsKIH0KQEAgLTc1LDkgKzEwMSw4IEBAIHN0YXRpYyB2b2lkIG93bF9zaXJxX3dyaXRlX2V4 dGN0bChzdHJ1Y3Qgb3dsX3NpcnFfY2hpcF9kYXRhICpkYXRhLAogCiAJaWYgKGRhdGEtPnBhcmFt cy0+cmVnX3NoYXJlZCkgewogCQl2YWwgPSByZWFkbF9yZWxheGVkKGRhdGEtPmJhc2UgKyBkYXRh LT5wYXJhbXMtPnJlZ19vZmZzZXRbaW5kZXhdKTsKLQkJdmFsICY9IH4oMHhmZiA8PCAoMiAtIGlu ZGV4KSAqIDgpOwotCQlleHRjdGwgJj0gMHhmZjsKLQkJZXh0Y3RsID0gKGV4dGN0bCA8PCAoMiAt IGluZGV4KSAqIDgpIHwgdmFsOworCQl2YWwgJj0gfm93bF9maWVsZF9wcmVwKDB4ZmYsIGluZGV4 KTsKKwkJZXh0Y3RsID0gb3dsX2ZpZWxkX3ByZXAoZXh0Y3RsLCBpbmRleCkgfCB2YWw7CiAJfQog CiAJd3JpdGVsX3JlbGF4ZWQoZXh0Y3RsLCBkYXRhLT5iYXNlICsgZGF0YS0+cGFyYW1zLT5yZWdf b2Zmc2V0W2luZGV4XSk7CgpZZXMsIHRoaXMgaXMgYSBiaXQgbW9yZSBjb2RlLCBidXQgaXQgKmlz KiByZWFkYWJsZS4gQm9udXMgcG9pbnRzIGlmCnlvdSBhZGQgcHJvcGVyIGRlZmluZXMgZm9yIHRo ZSBtYXNrcy4KCj4gCj4gPiA+ICsKPiA+ID4gKwlyZXR1cm4gdmFsOwo+ID4gPiArfQo+ID4gPiAr Cj4gPiA+ICtzdGF0aWMgdm9pZCBvd2xfc2lycV93cml0ZV9leHRjdGwoc3RydWN0IG93bF9zaXJx X2NoaXBfZGF0YSAqZGF0YSwKPiA+ID4gKwkJCQkgIHUzMiBleHRjdGwsIHUzMiBpbmRleCkKPiA+ ID4gK3sKPiA+ID4gKwl1MzIgdmFsOwo+ID4gPiArCj4gPiA+ICsJaWYgKGRhdGEtPnBhcmFtcy0+ cmVnX3NoYXJlZCkgewo+ID4gPiArCQl2YWwgPSByZWFkbF9yZWxheGVkKGRhdGEtPmJhc2UgKyBk YXRhLT5wYXJhbXMtPnJlZ19vZmZzZXRbaW5kZXhdKTsKPiA+ID4gKwkJdmFsICY9IH4oMHhmZiA8 PCAoMiAtIGluZGV4KSAqIDgpOwo+ID4gPiArCQlleHRjdGwgJj0gMHhmZjsKPiA+ID4gKwkJZXh0 Y3RsID0gKGV4dGN0bCA8PCAoMiAtIGluZGV4KSAqIDgpIHwgdmFsOwo+ID4gCj4gPiBQbGVhc2Ug bWFrZSB1c2Ugb2YgRklFTERfUFJFUCwgRklFTERfR0VUIGFuZCBHRU5NQVNLLgo+IAo+IEknbSBu b3Qgc3VyZSBob3cgdG8gZGVhbCB3aXRoIHRoZSBtYXNrIGNvbnN0bmVzcyByZXN0cmljdGlvbiwg ZXhjZXB0Cj4gdXNpbmcgc3RhdGljIGRlZmluZXMgYW5kIGlmL2Vsc2Ugc3RhdGVtZW50cywgd2hp Y2ggaXMgbm90IHF1aXRlCj4gZWxlZ2FudC4KClNlZSBhYm92ZS4KCj4gCj4gPiA+ICsJfQo+ID4g PiArCj4gPiA+ICsJd3JpdGVsX3JlbGF4ZWQoZXh0Y3RsLCBkYXRhLT5iYXNlICsgZGF0YS0+cGFy YW1zLT5yZWdfb2Zmc2V0W2luZGV4XSk7Cj4gPiA+ICt9Cj4gPiA+ICsKPiA+ID4gK3N0YXRpYyB2 b2lkIG93bF9zaXJxX2NsZWFyX3NldF9leHRjdGwoc3RydWN0IG93bF9zaXJxX2NoaXBfZGF0YSAq ZCwKPiA+ID4gKwkJCQkgICAgICB1MzIgY2xlYXIsIHUzMiBzZXQsIHUzMiBpbmRleCkKPiA+ID4g K3sKPiA+ID4gKwl1bnNpZ25lZCBsb25nIGZsYWdzOwo+ID4gPiArCXUzMiB2YWw7Cj4gPiA+ICsK PiA+ID4gKwlyYXdfc3Bpbl9sb2NrX2lycXNhdmUoJmQtPmxvY2ssIGZsYWdzKTsKPiA+ID4gKwl2 YWwgPSBvd2xfc2lycV9yZWFkX2V4dGN0bChkLCBpbmRleCk7Cj4gPiA+ICsJdmFsICY9IH5jbGVh cjsKPiA+ID4gKwl2YWwgfD0gc2V0Owo+ID4gPiArCW93bF9zaXJxX3dyaXRlX2V4dGN0bChkLCB2 YWwsIGluZGV4KTsKPiA+ID4gKwlyYXdfc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZC0+bG9jaywg ZmxhZ3MpOwo+ID4gPiArfQo+ID4gPiArCj4gPiA+ICtzdGF0aWMgdm9pZCBvd2xfc2lycV9lb2ko c3RydWN0IGlycV9kYXRhICpkYXRhKQo+ID4gPiArewo+ID4gPiArCXN0cnVjdCBvd2xfc2lycV9j aGlwX2RhdGEgKmNoaXBfZGF0YSA9Cj4gPiA+IGlycV9kYXRhX2dldF9pcnFfY2hpcF9kYXRhKGRh dGEpOwo+ID4gPiArCj4gPiA+ICsJLyoKPiA+ID4gKwkgKiBTb2Z0d2FyZSBtdXN0IGNsZWFyIGV4 dGVybmFsIGludGVycnVwdCBwZW5kaW5nLCB3aGVuIGludGVycnVwdCB0eXBlCj4gPiA+ICsJICog aXMgZWRnZSB0cmlnZ2VyZWQsIHNvIHdlIG5lZWQgcGVyIFNJUlEgYmFzZWQgY2xlYXJpbmcuCj4g PiA+ICsJICovCj4gPiA+ICsJaWYgKGNoaXBfZGF0YS0+dHJpZ2dlciAmICgxIDw8IGRhdGEtPmh3 aXJxKSkKPiA+IAo+ID4gQklUKGQtPmh3aXJxKQo+ID4gCj4gPiBCdXQgaXQgYWxzbyBiZWdzIHRo ZSBxdWVzdGlvbjogd2UgYWxyZWFkeSBoYXZlIGFsbCB0aGUgdHJpZ2dlciBpbmZvcm1hdGlvbgo+ ID4gaW4gdGhlIGlycWRlc2MuIFdoeSBkbyB5b3UgbmVlZCBzb21lIGFkZGl0aW9uYWwgYm9va2tl ZXBpbmc/Cj4gCj4gVGhhdCdzIGFub3RoZXIgbGVmdG92ZXIgZnJvbSB0aGUgb3JpZ2luYWwgd29y ay4gVGhhbmtzIGZvciBwb2ludGluZwo+IHRoaXMgb3V0LCBJIG1pc3NlZCBpdC4gSSBkcm9wcGVk IHRoZSByZWR1bmRhbnQgaGFuZGxpbmcgb2YgdGhlIElSUQo+IHRyaWdnZXIgaW5mb3JtYXRpb24g YW5kIGp1c3QgcmVwbGFjZWQgdGhpcyB3aXRoOgo+IAo+ICAgaWYgKCFpcnFkX2lzX2xldmVsX3R5 cGUoZGF0YSkpCgpZdXAuCgo+IAo+ID4gPiArCQlvd2xfc2lycV9jbGVhcl9zZXRfZXh0Y3RsKGNo aXBfZGF0YSwgMCwgSU5UQ19FWFRDVExfUEVORElORywKPiA+ID4gKwkJCQkJICBkYXRhLT5od2ly cSk7Cj4gPiA+ICsKPiA+ID4gKwlpcnFfY2hpcF9lb2lfcGFyZW50KGRhdGEpOwo+ID4gPiArfQo+ ID4gPiArCj4gPiA+ICtzdGF0aWMgdm9pZCBvd2xfc2lycV9tYXNrKHN0cnVjdCBpcnFfZGF0YSAq ZGF0YSkKPiA+ID4gK3sKPiA+ID4gKwlzdHJ1Y3Qgb3dsX3NpcnFfY2hpcF9kYXRhICpjaGlwX2Rh dGEgPQo+ID4gPiBpcnFfZGF0YV9nZXRfaXJxX2NoaXBfZGF0YShkYXRhKTsKPiA+ID4gKwo+ID4g PiArCW93bF9zaXJxX2NsZWFyX3NldF9leHRjdGwoY2hpcF9kYXRhLCBJTlRDX0VYVENUTF9FTiwg MCwgZGF0YS0+aHdpcnEpOwo+ID4gPiArCWlycV9jaGlwX21hc2tfcGFyZW50KGRhdGEpOwo+ID4g PiArfQo+ID4gPiArCj4gPiA+ICtzdGF0aWMgdm9pZCBvd2xfc2lycV91bm1hc2soc3RydWN0IGly cV9kYXRhICpkYXRhKQo+ID4gPiArewo+ID4gPiArCXN0cnVjdCBvd2xfc2lycV9jaGlwX2RhdGEg KmNoaXBfZGF0YSA9Cj4gPiA+IGlycV9kYXRhX2dldF9pcnFfY2hpcF9kYXRhKGRhdGEpOwo+ID4g PiArCj4gPiA+ICsJb3dsX3NpcnFfY2xlYXJfc2V0X2V4dGN0bChjaGlwX2RhdGEsIDAsIElOVENf RVhUQ1RMX0VOLCBkYXRhLT5od2lycSk7Cj4gPiA+ICsJaXJxX2NoaXBfdW5tYXNrX3BhcmVudChk YXRhKTsKPiA+ID4gK30KPiA+ID4gKwo+ID4gPiArLyoKPiA+ID4gKyAqIEdJQyBkb2VzIG5vdCBo YW5kbGUgZmFsbGluZyBlZGdlIG9yIGFjdGl2ZSBsb3csIGhlbmNlIFNJUlEgc2hhbGwgYmUKPiA+ ID4gKyAqIHByb2dyYW1tZWQgdG8gY29udmVydCBmYWxsaW5nIGVkZ2UgdG8gcmlzaW5nIGVkZ2Ug c2lnbmFsIGFuZCBhY3RpdmUKPiA+ID4gKyAqIGxvdyB0byBhY3RpdmUgaGlnaCBzaWduYWwuCj4g PiA+ICsgKi8KPiA+ID4gK3N0YXRpYyBpbnQgb3dsX3NpcnFfc2V0X3R5cGUoc3RydWN0IGlycV9k YXRhICpkYXRhLCB1bnNpZ25lZCBpbnQgdHlwZSkKPiA+ID4gK3sKPiA+ID4gKwlzdHJ1Y3Qgb3ds X3NpcnFfY2hpcF9kYXRhICpjaGlwX2RhdGEgPQo+ID4gPiBpcnFfZGF0YV9nZXRfaXJxX2NoaXBf ZGF0YShkYXRhKTsKPiA+ID4gKwl1MzIgc2lycV90eXBlOwo+ID4gPiArCj4gPiA+ICsJc3dpdGNo ICh0eXBlKSB7Cj4gPiA+ICsJY2FzZSBJUlFfVFlQRV9MRVZFTF9MT1c6Cj4gPiA+ICsJCXNpcnFf dHlwZSA9IElOVENfRVhUQ1RMX1RZUEVfTE9XOwo+ID4gPiArCQljaGlwX2RhdGEtPnRyaWdnZXIg Jj0gfigxIDw8IGRhdGEtPmh3aXJxKTsKPiA+ID4gKwkJdHlwZSA9IElSUV9UWVBFX0xFVkVMX0hJ R0g7Cj4gPiA+ICsJCWJyZWFrOwo+ID4gPiArCWNhc2UgSVJRX1RZUEVfTEVWRUxfSElHSDoKPiA+ ID4gKwkJc2lycV90eXBlID0gSU5UQ19FWFRDVExfVFlQRV9ISUdIOwo+ID4gPiArCQljaGlwX2Rh dGEtPnRyaWdnZXIgJj0gfigxIDw8IGRhdGEtPmh3aXJxKTsKPiA+ID4gKwkJYnJlYWs7Cj4gPiA+ ICsJY2FzZSBJUlFfVFlQRV9FREdFX0ZBTExJTkc6Cj4gPiA+ICsJCXNpcnFfdHlwZSA9IElOVENf RVhUQ1RMX1RZUEVfRkFMTElORzsKPiA+ID4gKwkJY2hpcF9kYXRhLT50cmlnZ2VyIHw9IDEgPDwg ZGF0YS0+aHdpcnE7Cj4gPiA+ICsJCXR5cGUgPSBJUlFfVFlQRV9FREdFX1JJU0lORzsKPiA+ID4g KwkJYnJlYWs7Cj4gPiA+ICsJY2FzZSBJUlFfVFlQRV9FREdFX1JJU0lORzoKPiA+ID4gKwkJc2ly cV90eXBlID0gSU5UQ19FWFRDVExfVFlQRV9SSVNJTkc7Cj4gPiA+ICsJCWNoaXBfZGF0YS0+dHJp Z2dlciB8PSAxIDw8IGRhdGEtPmh3aXJxOwo+ID4gPiArCQlicmVhazsKPiA+ID4gKwlkZWZhdWx0 Ogo+ID4gPiArCQlXQVJOX09OKDEpOwo+ID4gCj4gPiBObyBuZWVkIGZvciB0aGlzIFdBUk5fT04o KSwgdGhlIGNvcmUga2VybmVsIGlzIGxvdWQgZW5vdWdoLgo+IAo+IERvbmUuCj4gCj4gPiA+ICsJ CXJldHVybiAtRUlOVkFMOwo+ID4gPiArCX0KPiA+ID4gKwo+ID4gPiArCW93bF9zaXJxX2NsZWFy X3NldF9leHRjdGwoY2hpcF9kYXRhLCBJTlRDX0VYVENUTF9UWVBFX01BU0ssIHNpcnFfdHlwZSwK PiA+ID4gKwkJCQkgIGRhdGEtPmh3aXJxKTsKPiA+ID4gKwo+ID4gPiArCXJldHVybiBpcnFfY2hp cF9zZXRfdHlwZV9wYXJlbnQoZGF0YSwgdHlwZSk7Cj4gPiA+ICt9Cj4gPiA+ICsKPiA+ID4gK3N0 YXRpYyBzdHJ1Y3QgaXJxX2NoaXAgb3dsX3NpcnFfY2hpcCA9IHsKPiA+ID4gKwkubmFtZQkJPSAi b3dsLXNpcnEiLAo+ID4gPiArCS5pcnFfbWFzawk9IG93bF9zaXJxX21hc2ssCj4gPiA+ICsJLmly cV91bm1hc2sJPSBvd2xfc2lycV91bm1hc2ssCj4gPiA+ICsJLmlycV9lb2kJPSBvd2xfc2lycV9l b2ksCj4gPiA+ICsJLmlycV9zZXRfdHlwZQk9IG93bF9zaXJxX3NldF90eXBlLAo+ID4gPiArCS5p cnFfcmV0cmlnZ2VyCT0gaXJxX2NoaXBfcmV0cmlnZ2VyX2hpZXJhcmNoeSwKPiA+IAo+ID4gSG93 IGFib3V0IGlycV9zZXRfYWZmaW5pdHk/IE9yIGRvZXMgaXQgb25seSBleGlzdCBvbiBVUCBzeXN0 ZW1zPwo+IAo+IEkgaGF2ZSBqdXN0IGFkZGVkOgo+IAo+ICNpZmRlZiBDT05GSUdfU01QCj4gCS5p cnFfc2V0X2FmZmluaXR5ID0gaXJxX2NoaXBfc2V0X2FmZmluaXR5X3BhcmVudCwKPiAjZW5kaWYK Ckxvb2tzIE9LLgoKQ2hlZXJzLAoKCU0uCgotLSAKV2l0aG91dCBkZXZpYXRpb24gZnJvbSB0aGUg bm9ybSwgcHJvZ3Jlc3MgaXMgbm90IHBvc3NpYmxlLgoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGlu dXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQu b3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=