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 45F5AECD6FE for ; Thu, 12 Feb 2026 01:10:41 +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:MIME-Version:References:In-Reply-To: Message-ID:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=Ih8mUZBUsqL7kSLl7tLbMxxwi/sh6Zyjj1Mfc4awrJI=; b=B3ucreW0fn4IaZ g4BGZXlcFCVIJSpOLyYnI5fc1cYcS6LzFlk2Mg7YyVqbi4zQU507gUv3pQdJFkIbGh7yU/csBIJVY OkwlrpeNAD+/JK2GmH35IyWSeBopRMEcrxQ+/jduV3St0mnnM/QEYtnVFX2pSEDu5zjlieZCMM90a ZtzflQW97f5Kl3In9K1GIhRSuTr51r7G9BZiK5/eteCDVAYr2t5THdpIDc+rNLaOtPShv7DQLUXHu KCTZTP28wpiApJHniSluylmBk3IYIli9xgIY5ypE7hHZ+2eMjJUk77JvMisXDy8pOzxY1BxeV8huI t8fVtP7Z9/pmDvHzs3jg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1vqLE3-00000001Fat-0AGu; Thu, 12 Feb 2026 01:10:35 +0000 Received: from tor.source.kernel.org ([2600:3c04:e001:324:0:1991:8:25]) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1vqLE1-00000001FaQ-0WeZ for linux-riscv@lists.infradead.org; Thu, 12 Feb 2026 01:10:33 +0000 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by tor.source.kernel.org (Postfix) with ESMTP id F392A60053; Thu, 12 Feb 2026 01:10:31 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 015E0C16AAE; Thu, 12 Feb 2026 01:10:29 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1770858631; bh=7fS8DbbI9q6WGNP9aei1xHrTmn5Ib3i+d78ooTbcE3U=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ST01HzW7L6hpwQnAWJjtiVrQTeAtv3+se0/XztnWY+TiRnM7RGnVXan226hU78eV2 rv8H3v67ga9ZKZerHVNjGibJt/ZduA3QaRrrZydZlykt50g84/1f9srfq/yckLZNt5 5ft2OopN3Mm0R8KkX3DZ20F7R7aWHxRB/Bd5hg0virqPXpyQKeBOE3Jk7OBkxtL4IN go1Lw9NzSwFSQV11EypoqQalb9PCVz0c8uMCkdnPfkkwaL+eq3Cc+QL5YzOdY5qRSu YHa/qfKm0GucjN1X0c08MLG7pWtUvdXFi12Y8KbiWRF0LH7v/cR2R2shdZuGJeALVH e25v3+xKNGySg== From: Sasha Levin To: patches@lists.linux.dev, stable@vger.kernel.org Cc: Nick Hu , Thomas Gleixner , Yong-Xuan Wang , Cyan Yang , Anup Patel , Nutty Liu , Sasha Levin , tglx@kernel.org, pjw@kernel.org, palmer@dabbelt.com, aou@eecs.berkeley.edu, linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH AUTOSEL 6.19-6.18] irqchip/riscv-imsic: Add a CPU pm notifier to restore the IMSIC on exit Date: Wed, 11 Feb 2026 20:09:44 -0500 Message-ID: <20260212010955.3480391-21-sashal@kernel.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20260212010955.3480391-1-sashal@kernel.org> References: <20260212010955.3480391-1-sashal@kernel.org> MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore X-stable-base: Linux 6.19 X-BeenThere: linux-riscv@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-riscv" Errors-To: linux-riscv-bounces+linux-riscv=archiver.kernel.org@lists.infradead.org RnJvbTogTmljayBIdSA8bmljay5odUBzaWZpdmUuY29tPgoKWyBVcHN0cmVhbSBjb21taXQgZjQ4 YjRiZDA5MTViZjYxYWMxMmI4YzY1Yzc5MzllYmQwM2JjOGFiZiBdCgpUaGUgSU1TSUMgbWlnaHQg YmUgcmVzZXQgd2hlbiB0aGUgc3lzdGVtIGVudGVycyBhIGxvdyBwb3dlciBzdGF0ZSwgYnV0IG9u CmV4aXQgbm90aGluZyByZXN0b3JlcyB0aGUgcmVnaXN0ZXJzLCB3aGljaCBwcmV2ZW50cyBpbnRl cnJ1cHQgZGVsaXZlcnkuCgpTb2x2ZSB0aGlzIGJ5IHJlZ2lzdGVyaW5nIGEgQ1BVIHBvd2VyIG1h bmFnZW1lbnQgbm90aWZpZXIsIHdoaWNoIHJlc3RvcmVzCnRoZSBJTVNJQyBvbiBleGl0LgoKU2ln bmVkLW9mZi1ieTogTmljayBIdSA8bmljay5odUBzaWZpdmUuY29tPgpTaWduZWQtb2ZmLWJ5OiBU aG9tYXMgR2xlaXhuZXIgPHRnbHhAbGludXRyb25peC5kZT4KUmV2aWV3ZWQtYnk6IFlvbmctWHVh biBXYW5nIDx5b25neHVhbi53YW5nQHNpZml2ZS5jb20+ClJldmlld2VkLWJ5OiBDeWFuIFlhbmcg PGN5YW4ueWFuZ0BzaWZpdmUuY29tPgpSZXZpZXdlZC1ieTogQW51cCBQYXRlbCA8YW51cEBicmFp bmZhdWx0Lm9yZz4KUmV2aWV3ZWQtYnk6IE51dHR5IExpdSA8bGl1amluZ3FpQGxhbnhpbmNvbXB1 dGluZy5jb20+Ckxpbms6IGh0dHBzOi8vcGF0Y2gubXNnaWQubGluay8yMDI1MTIwMi1wcmVzZXJ2 ZS1hcGxpYy1pbXNpYy12My0xLTE4NDRmYmYxZmU5MkBzaWZpdmUuY29tClNpZ25lZC1vZmYtYnk6 IFNhc2hhIExldmluIDxzYXNoYWxAa2VybmVsLm9yZz4KLS0tCgpMTE0gR2VuZXJhdGVkIGV4cGxh bmF0aW9ucywgbWF5IGJlIGNvbXBsZXRlbHkgYm9ndXM6CgpOb3cgSSBoYXZlIGEgY29tcHJlaGVu c2l2ZSB1bmRlcnN0YW5kaW5nLiBMZXQgbWUgc3VtbWFyaXplIHRoZSBhbmFseXNpcy4KCi0tLQoK IyMgRGV0YWlsZWQgQW5hbHlzaXMKCiMjIyAxLiBDb21taXQgTWVzc2FnZSBBbmFseXNpcwoKVGhl IGNvbW1pdCBtZXNzYWdlIGlzIGNsZWFyIGFuZCBkaXJlY3RseSBkZXNjcmliZXMgYSAqKmJ1ZyBm aXgqKjogIlRoZQpJTVNJQyBtaWdodCBiZSByZXNldCB3aGVuIHRoZSBzeXN0ZW0gZW50ZXJzIGEg bG93IHBvd2VyIHN0YXRlLCBidXQgb24KZXhpdCBub3RoaW5nIHJlc3RvcmVzIHRoZSByZWdpc3Rl cnMsIHdoaWNoIHByZXZlbnRzIGludGVycnVwdCBkZWxpdmVyeS4iClRoaXMgaXMgdW5hbWJpZ3Vv dXMg4oCUIHdpdGhvdXQgdGhlIGZpeCwgKippbnRlcnJ1cHQgZGVsaXZlcnkgaXMgYnJva2VuKioK YWZ0ZXIgcmV0dXJuaW5nIGZyb20gYSBsb3cgcG93ZXIgc3RhdGUuCgpUaGUgcGF0Y2ggaXMgZnJv bSBOaWNrIEh1IGF0IFNpRml2ZSAoYSBtYWpvciBSSVNDLVYgc2lsaWNvbiB2ZW5kb3IpLApzaWdu ZWQtb2ZmIGJ5IFRob21hcyBHbGVpeG5lciAodGhlIG92ZXJhbGwgaXJxY2hpcCBtYWludGFpbmVy KSwgYW5kCnJldmlld2VkIGJ5OgotIEFudXAgUGF0ZWwgKG9yaWdpbmFsIElNU0lDIGRyaXZlciBh dXRob3IvbWFpbnRhaW5lciBhdCBWZW50YW5hIE1pY3JvKQotIFlvbmctWHVhbiBXYW5nLCBDeWFu IFlhbmcgKFNpRml2ZSByZXZpZXdlcnMpCi0gTnV0dHkgTGl1IChMYW54aW4gQ29tcHV0aW5nKQoK VGhpcyBsZXZlbCBvZiByZXZpZXcgYnkgZG9tYWluIGV4cGVydHMgZGVtb25zdHJhdGVzIHRoZSBm aXggaXMgd2VsbC0KdmV0dGVkLgoKIyMjIDIuIENvZGUgQ2hhbmdlIEFuYWx5c2lzCgpUaGUgY2hh bmdlIGlzIG1pbmltYWwgKDMxIGxpbmVzIGFkZGVkLCA4IHJlbW92ZWQsIHNpbmdsZSBmaWxlKSBh bmQKY29uc2lzdHMgb2YgdGhyZWUgbG9naWNhbCBwYXJ0czoKCioqYSkgUmVmYWN0b3Jpbmcg4oCU IGV4dHJhY3RpbmcgYGltc2ljX2h3X3N0YXRlc19pbml0KClgOioqCgpUaGUgZXhpc3RpbmcgY29k ZSBmcm9tIGBpbXNpY19zdGFydGluZ19jcHUoKWAgdGhhdCBoYW5kbGVzIGhhcmR3YXJlCnJlZ2lz dGVyIGluaXRpYWxpemF0aW9uIGlzIG1vdmVkIGludG8gYSBuZXcgaGVscGVyOgoKYGBgMTI2OjE0 Nzpkcml2ZXJzL2lycWNoaXAvaXJxLXJpc2N2LWltc2ljLWVhcmx5LmMKc3RhdGljIGludCBpbXNp Y19zdGFydGluZ19jcHUodW5zaWduZWQgaW50IGNwdSkKewogICAgICAgIC8qIE1hcmsgcGVyLUNQ VSBJTVNJQyBzdGF0ZSBhcyBvbmxpbmUgKi8KICAgICAgICBpbXNpY19zdGF0ZV9vbmxpbmUoKTsK CiAgICAgICAgLyogRW5hYmxlIHBlci1DUFUgcGFyZW50IGludGVycnVwdCAqLwogICAgICAgIGVu YWJsZV9wZXJjcHVfaXJxKGltc2ljX3BhcmVudF9pcnEsCmlycV9nZXRfdHJpZ2dlcl90eXBlKGlt c2ljX3BhcmVudF9pcnEpKTsKCiAgICAgICAgLyogU2V0dXAgSVBJcyAqLwogICAgICAgIGltc2lj X2lwaV9zdGFydGluZ19jcHUoKTsKCiAgICAgICAgLyoKICAtIEludGVycnVwdHMgaWRlbnRpdGll cyBtaWdodCBoYXZlIGJlZW4gZW5hYmxlZC9kaXNhYmxlZCB3aGlsZQogIC0gdGhpcyBDUFUgd2Fz IG5vdCBydW5uaW5nIHNvIHN5bmMtdXAgbG9jYWwgZW5hYmxlL2Rpc2FibGUgc3RhdGUuCiAgICAg ICAgICovCiAgICAgICAgaW1zaWNfbG9jYWxfc3luY19hbGwodHJ1ZSk7CgogICAgICAgIC8qIEVu YWJsZSBsb2NhbCBpbnRlcnJ1cHQgZGVsaXZlcnkgKi8KICAgICAgICBpbXNpY19sb2NhbF9kZWxp dmVyeSh0cnVlKTsKCiAgICAgICAgcmV0dXJuIDA7Cn0KYGBgCgpUaGUgdGhyZWUgb3BlcmF0aW9u cyAoYGltc2ljX2lwaV9zdGFydGluZ19jcHUoKWAsCmBpbXNpY19sb2NhbF9zeW5jX2FsbCh0cnVl KWAsIGBpbXNpY19sb2NhbF9kZWxpdmVyeSh0cnVlKWApIGFyZQpleHRyYWN0ZWQgaW50byBgaW1z aWNfaHdfc3RhdGVzX2luaXQoKWAsIHdoaWNoIGlzIHRoZW4gY2FsbGVkIGZyb20gYm90aApgaW1z aWNfc3RhcnRpbmdfY3B1KClgIGFuZCB0aGUgbmV3IFBNIG5vdGlmaWVyLgoKKipiKSBBZGRpbmcg dGhlIENQVSBQTSBub3RpZmllcjoqKgoKQSBuZXcgYGltc2ljX3BtX25vdGlmaWVyYCBmdW5jdGlv biBoYW5kbGVzIGBDUFVfUE1fRVhJVGAgYnkgY2FsbGluZwpgaW1zaWNfaHdfc3RhdGVzX2luaXQo KWAuIFRoaXMgaXMgdGhlICoqZXhhY3Qgc2FtZSBwYXR0ZXJuKiogdXNlZCBieQpHSUN2MyAoYGly cS1naWMtdjMuYzoxNDgyYCkgYW5kIEdJQyAoYGlycS1naWMuY2ApLCB3aGljaCBoYXZlIGJlZW4K c3RhYmxlIGZvciB5ZWFycy4KCioqYykgUmVnaXN0ZXJpbmcgdGhlIG5vdGlmaWVyOioqCgpUaGUg YGltc2ljX2Vhcmx5X3Byb2JlKClgIHJldHVybiBpcyBjaGFuZ2VkIGZyb20gYHJldHVybiAwYCB0 byBgcmV0dXJuCmNwdV9wbV9yZWdpc3Rlcl9ub3RpZmllcigmaW1zaWNfcG1fbm90aWZpZXJfYmxv Y2spYC4KCiMjIyAzLiBCdWcgTWVjaGFuaXNtIGFuZCBTZXZlcml0eQoKKipUaGUgYnVnKio6IE9u IFJJU0MtViBzeXN0ZW1zIHdpdGggU0JJLWJhc2VkIGNwdWlkbGUgKHRoZSBzdGFuZGFyZCBDUFUK aWRsZSBtZWNoYW5pc20pLCB3aGVuIGEgQ1BVIGVudGVycyBhIGRlZXAgaWRsZSBzdGF0ZSwgdGhl IFNCSSBmaXJtd2FyZQptYXkgcG93ZXIgZG93biB0aGUgSU1TSUMuIFRoZSBgY3B1aWRsZS1yaXNj di1zYmkuY2AgZHJpdmVyIGNhbGxzCmBjcHVfcG1fZW50ZXIoKWAgYmVmb3JlIGFuZCBgY3B1X3Bt X2V4aXQoKWAgYWZ0ZXIgdGhlIGlkbGUgdHJhbnNpdGlvbi4KYGNwdV9wbV9leGl0KClgIGZpcmVz IGBDUFVfUE1fRVhJVGAgbm90aWZpY2F0aW9ucyB0byBhbGwgcmVnaXN0ZXJlZApoYW5kbGVycy4g V2l0aG91dCB0aGlzIHBhdGNoLCBubyBoYW5kbGVyIGV4aXN0cyBmb3IgSU1TSUMsIHNvOgoKMS4g YGltc2ljX2xvY2FsX2RlbGl2ZXJ5YCDigJQgdGhlIEVJREVMSVZFUlkvRUlUSFJFU0hPTEQgQ1NS cyBtYXkgYmUKICAgcmVzZXQsIGRpc2FibGluZyBhbGwgaW50ZXJydXB0IGRlbGl2ZXJ5CjIuIGBp bXNpY19sb2NhbF9zeW5jX2FsbGAg4oCUIGluZGl2aWR1YWwgaW50ZXJydXB0IGVuYWJsZSBiaXRz IG1heSBiZQogICByZXNldCwgbGVhdmluZyBhbGwgaW50ZXJydXB0IHNvdXJjZXMgZGlzYWJsZWQK My4gYGltc2ljX2lwaV9zdGFydGluZ19jcHVgIOKAlCB0aGUgSVBJIGVuYWJsZSBiaXQgbWF5IGJl IHJlc2V0LCBicmVha2luZwogICBpbnRlci1wcm9jZXNzb3IgaW50ZXJydXB0cwoKKipJbXBhY3Qq KjogVGhlIENQVSBlZmZlY3RpdmVseSBiZWNvbWVzIGRlYWYgdG8gYWxsIGludGVycnVwdHMg4oCU IElQSXMsCmRldmljZSBpbnRlcnJ1cHRzLCB0aW1lciBpbnRlcnJ1cHRzIHJvdXRlZCB0aHJvdWdo IElNU0lDIOKAlCBhZnRlcgpyZXR1cm5pbmcgZnJvbSBhIGRlZXAgaWRsZSBzdGF0ZS4gVGhpcyBj YW4gY2F1c2U6Ci0gU3lzdGVtIGhhbmdzIChubyB0aW1lciBpbnRlcnJ1cHRzKQotIElQSSBmYWls dXJlcyAoc2NoZWR1bGVyIGhhbmdzLCBSQ1Ugc3RhbGxzKQotIERldmljZSBpbnRlcnJ1cHQgbG9z cyAoSS9PIGZhaWx1cmVzLCBuZXR3b3JrIHRpbWVvdXRzKQoKVGhpcyBidWcgYWZmZWN0cyBhbnkg UklTQy1WIHN5c3RlbSB1c2luZyBJTVNJQyB3aXRoIGNwdWlkbGUgZGVlcCBzdGF0ZXMK4oCUIHdo aWNoIGluY2x1ZGVzIFNpRml2ZSBib2FyZHMgYW5kIG90aGVyIHByb2R1Y3Rpb24gUklTQy1WIGhh cmR3YXJlLgoKIyMjIDQuIERlcGVuZGVuY3kgQ2hlY2sKClRoZSBwYXRjaCBpcyAqKnNlbGYtY29u dGFpbmVkKiouIEl0IGRlcGVuZHMgb25seSBvbjoKLSBgaW1zaWNfaXBpX3N0YXJ0aW5nX2NwdSgp YCDigJQgZXhpc3RzIGluIGFsbCBzdGFibGUgdHJlZXMgd2l0aCBJTVNJQwogICg2LjEyLnkrKQot IGBpbXNpY19sb2NhbF9zeW5jX2FsbCgpYCDigJQgZXhpc3RzIGluIGFsbCBzdGFibGUgdHJlZXMg d2l0aCBJTVNJQwogICg2LjEyLnkrKQotIGBpbXNpY19sb2NhbF9kZWxpdmVyeSgpYCDigJQgZXhp c3RzIGluIGFsbCBzdGFibGUgdHJlZXMgd2l0aCBJTVNJQwogICg2LjEyLnkrKQotIGBjcHVfcG1f cmVnaXN0ZXJfbm90aWZpZXIoKWAg4oCUIGV4aXN0cyBpbiBhbGwga2VybmVsIHZlcnNpb25zIChj b3JlCiAga2VybmVsIFBNIEFQSSkKLSBgY3B1aWRsZS1yaXNjdi1zYmkuY2Ag4oCUIGV4aXN0cyBp biBhbGwgc3RhYmxlIHRyZWVzIHdpdGggSU1TSUMsIGFuZAogIGNhbGxzIGBjcHVfcG1fZW50ZXIo KWAvYGNwdV9wbV9leGl0KClgCgpUaGUgY29tcGFuaW9uIEFQTElDIHBhdGNoICg5NWE4ZGRkZTM2 NjAxKSB0b3VjaGVzIGEgZGlmZmVyZW50IGRyaXZlcgplbnRpcmVseSBhbmQgaXMgbm90IGEgZGVw ZW5kZW5jeS4KCiMjIyA1LiBCYWNrcG9ydCBBcHBsaWNhYmlsaXR5CgotICoqSU1TSUMgZHJpdmVy IGV4aXN0cyoqOiA2LjEyLnkgdGhyb3VnaCA2LjE5LnkgKGFkZGVkIGluIHY2LjEwKQotICoqQ2xl YW4gYmFja3BvcnQqKjogVGhlIGBpbXNpY19zdGFydGluZ19jcHVgIGZ1bmN0aW9uIGlzIGJ5dGUt CiAgaWRlbnRpY2FsIGJldHdlZW4gdGhlIG1haW5saW5lIHByZS1pbWFnZSBhbmQgNi4xMi55LiBP bmx5IG1pbm9yCiAgY29udGV4dCBjb25mbGljdCBpbiB0aGUgYCNpbmNsdWRlYCBzZWN0aW9uICg2 LjEyLnkgbGFja3MKICBgPGxpbnV4L2V4cG9ydC5oPmAgdGhhdCBtYWlubGluZSBoYXMpLCB0cml2 aWFsbHkgcmVzb2x2ZWQuCi0gKipCdWcgdHJpZ2dlcmFibGUqKjogVGhlIGNwdWlkbGUtcmlzY3Yt c2JpIGRyaXZlciBpbiA2LjEyLnkgYWxyZWFkeQogIGNhbGxzIGBjcHVfcG1fZW50ZXIoKWAvYGNw dV9wbV9leGl0KClgLCBtZWFuaW5nIHRoZSBJTVNJQyByZWdpc3RlcnMKICBnZXQgcmVzZXQgd2l0 aCBubyByZXN0b3JhdGlvbi4KCiMjIyA2LiBSaXNrIEFzc2Vzc21lbnQKCioqVmVyeSBsb3cgcmlz ayoqOgotIFRoZSByZWZhY3RvcmVkIGNvZGUgKGBpbXNpY19od19zdGF0ZXNfaW5pdGApIHBlcmZv cm1zIGV4YWN0bHkgdGhlIHNhbWUKICBvcGVyYXRpb25zIGFzIGJlZm9yZSDigJQganVzdCBmcm9t IGFuIGFkZGl0aW9uYWwgY2FsbCBzaXRlCi0gVGhlIEdJQ3YzIGRyaXZlciBoYXMgdXNlZCB0aGlz IGV4YWN0IHBhdHRlcm4gKENQVSBQTSBub3RpZmllcgogIHJlc3RvcmluZyBpbnRlcnJ1cHQgY29u dHJvbGxlciBzdGF0ZSkgZm9yIG92ZXIgYSBkZWNhZGUKLSBObyBiZWhhdmlvciBjaGFuZ2VzIHRv IHRoZSBleGlzdGluZyBDUFUgaG90cGx1ZyBwYXRoCi0gV2VsbC1yZXZpZXdlZCBieSBhbGwga2V5 IHN0YWtlaG9sZGVycwoKIyMjIDcuIENvbmNsdXNpb24KClRoaXMgaXMgYSBjbGVhci1jdXQgYnVn IGZpeCBmb3IgYSBjcml0aWNhbCBpc3N1ZTogKipjb21wbGV0ZSBsb3NzIG9mCmludGVycnVwdCBk ZWxpdmVyeSoqIGFmdGVyIFJJU0MtViBDUFVzIHJldHVybiBmcm9tIGRlZXAgaWRsZSBzdGF0ZXMu IFRoZQpmaXggaXM6Ci0gU21hbGwgYW5kIHN1cmdpY2FsICgzMSBsaW5lcyBhZGRlZCB0byBhIHNp bmdsZSBmaWxlKQotIEJhc2VkIG9uIGEgd2VsbC1lc3RhYmxpc2hlZCBwYXR0ZXJuIChpZGVudGlj YWwgdG8gR0lDdjMvR0lDIENQVSBQTQogIGhhbmRsaW5nKQotIFRob3JvdWdobHkgcmV2aWV3ZWQg YnkgZG9tYWluIGV4cGVydHMKLSBTZWxmLWNvbnRhaW5lZCB3aXRoIG5vIGRlcGVuZGVuY2llcyBv biBvdGhlciBwYXRjaGVzCi0gQ2xlYW5seSBiYWNrcG9ydGFibGUgdG8gYWxsIHN0YWJsZSB0cmVl cyBjb250YWluaW5nIElNU0lDICg2LjEyLnkrKQoKKipZRVMqKgoKIGRyaXZlcnMvaXJxY2hpcC9p cnEtcmlzY3YtaW1zaWMtZWFybHkuYyB8IDM5ICsrKysrKysrKysrKysrKysrKysrLS0tLS0KIDEg ZmlsZSBjaGFuZ2VkLCAzMSBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL2RyaXZlcnMvaXJxY2hpcC9pcnEtcmlzY3YtaW1zaWMtZWFybHkuYyBiL2RyaXZlcnMvaXJx Y2hpcC9pcnEtcmlzY3YtaW1zaWMtZWFybHkuYwppbmRleCA2YmFjNjdjYzBiNmQ5Li5iYTkwM2Zh Njg5YmQ1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2lycWNoaXAvaXJxLXJpc2N2LWltc2ljLWVhcmx5 LmMKKysrIGIvZHJpdmVycy9pcnFjaGlwL2lycS1yaXNjdi1pbXNpYy1lYXJseS5jCkBAIC03LDYg KzcsNyBAQAogI2RlZmluZSBwcl9mbXQoZm10KSAicmlzY3YtaW1zaWM6ICIgZm10CiAjaW5jbHVk ZSA8bGludXgvYWNwaS5oPgogI2luY2x1ZGUgPGxpbnV4L2NwdS5oPgorI2luY2x1ZGUgPGxpbnV4 L2NwdV9wbS5oPgogI2luY2x1ZGUgPGxpbnV4L2V4cG9ydC5oPgogI2luY2x1ZGUgPGxpbnV4L2lu dGVycnVwdC5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KQEAgLTEyMywxNCArMTI0LDggQEAg c3RhdGljIHZvaWQgaW1zaWNfaGFuZGxlX2lycShzdHJ1Y3QgaXJxX2Rlc2MgKmRlc2MpCiAJY2hh aW5lZF9pcnFfZXhpdChjaGlwLCBkZXNjKTsKIH0KIAotc3RhdGljIGludCBpbXNpY19zdGFydGlu Z19jcHUodW5zaWduZWQgaW50IGNwdSkKK3N0YXRpYyB2b2lkIGltc2ljX2h3X3N0YXRlc19pbml0 KHZvaWQpCiB7Ci0JLyogTWFyayBwZXItQ1BVIElNU0lDIHN0YXRlIGFzIG9ubGluZSAqLwotCWlt c2ljX3N0YXRlX29ubGluZSgpOwotCi0JLyogRW5hYmxlIHBlci1DUFUgcGFyZW50IGludGVycnVw dCAqLwotCWVuYWJsZV9wZXJjcHVfaXJxKGltc2ljX3BhcmVudF9pcnEsIGlycV9nZXRfdHJpZ2dl cl90eXBlKGltc2ljX3BhcmVudF9pcnEpKTsKLQogCS8qIFNldHVwIElQSXMgKi8KIAlpbXNpY19p cGlfc3RhcnRpbmdfY3B1KCk7CiAKQEAgLTE0Miw2ICsxMzcsMTggQEAgc3RhdGljIGludCBpbXNp Y19zdGFydGluZ19jcHUodW5zaWduZWQgaW50IGNwdSkKIAogCS8qIEVuYWJsZSBsb2NhbCBpbnRl cnJ1cHQgZGVsaXZlcnkgKi8KIAlpbXNpY19sb2NhbF9kZWxpdmVyeSh0cnVlKTsKK30KKworc3Rh dGljIGludCBpbXNpY19zdGFydGluZ19jcHUodW5zaWduZWQgaW50IGNwdSkKK3sKKwkvKiBNYXJr IHBlci1DUFUgSU1TSUMgc3RhdGUgYXMgb25saW5lICovCisJaW1zaWNfc3RhdGVfb25saW5lKCk7 CisKKwkvKiBFbmFibGUgcGVyLUNQVSBwYXJlbnQgaW50ZXJydXB0ICovCisJZW5hYmxlX3BlcmNw dV9pcnEoaW1zaWNfcGFyZW50X2lycSwgaXJxX2dldF90cmlnZ2VyX3R5cGUoaW1zaWNfcGFyZW50 X2lycSkpOworCisJLyogSW5pdGlhbGl6ZSB0aGUgSU1TSUMgcmVnaXN0ZXJzIHRvIGVuYWJsZSB0 aGUgaW50ZXJydXB0IGRlbGl2ZXJ5ICovCisJaW1zaWNfaHdfc3RhdGVzX2luaXQoKTsKIAogCXJl dHVybiAwOwogfQpAQCAtMTU3LDYgKzE2NCwyMiBAQCBzdGF0aWMgaW50IGltc2ljX2R5aW5nX2Nw dSh1bnNpZ25lZCBpbnQgY3B1KQogCXJldHVybiAwOwogfQogCitzdGF0aWMgaW50IGltc2ljX3Bt X25vdGlmaWVyKHN0cnVjdCBub3RpZmllcl9ibG9jayAqc2VsZiwgdW5zaWduZWQgbG9uZyBjbWQs IHZvaWQgKnYpCit7CisJc3dpdGNoIChjbWQpIHsKKwljYXNlIENQVV9QTV9FWElUOgorCQkvKiBJ bml0aWFsaXplIHRoZSBJTVNJQyByZWdpc3RlcnMgdG8gZW5hYmxlIHRoZSBpbnRlcnJ1cHQgZGVs aXZlcnkgKi8KKwkJaW1zaWNfaHdfc3RhdGVzX2luaXQoKTsKKwkJYnJlYWs7CisJfQorCisJcmV0 dXJuIE5PVElGWV9PSzsKK30KKworc3RhdGljIHN0cnVjdCBub3RpZmllcl9ibG9jayBpbXNpY19w bV9ub3RpZmllcl9ibG9jayA9IHsKKwkubm90aWZpZXJfY2FsbCA9IGltc2ljX3BtX25vdGlmaWVy LAorfTsKKwogc3RhdGljIGludCBfX2luaXQgaW1zaWNfZWFybHlfcHJvYmUoc3RydWN0IGZ3bm9k ZV9oYW5kbGUgKmZ3bm9kZSkKIHsKIAlzdHJ1Y3QgaXJxX2RvbWFpbiAqZG9tYWluOwpAQCAtMTk0 LDcgKzIxNyw3IEBAIHN0YXRpYyBpbnQgX19pbml0IGltc2ljX2Vhcmx5X3Byb2JlKHN0cnVjdCBm d25vZGVfaGFuZGxlICpmd25vZGUpCiAJY3B1aHBfc2V0dXBfc3RhdGUoQ1BVSFBfQVBfSVJRX1JJ U0NWX0lNU0lDX1NUQVJUSU5HLCAiaXJxY2hpcC9yaXNjdi9pbXNpYzpzdGFydGluZyIsCiAJCQkg IGltc2ljX3N0YXJ0aW5nX2NwdSwgaW1zaWNfZHlpbmdfY3B1KTsKIAotCXJldHVybiAwOworCXJl dHVybiBjcHVfcG1fcmVnaXN0ZXJfbm90aWZpZXIoJmltc2ljX3BtX25vdGlmaWVyX2Jsb2NrKTsK IH0KIAogc3RhdGljIGludCBfX2luaXQgaW1zaWNfZWFybHlfZHRfaW5pdChzdHJ1Y3QgZGV2aWNl X25vZGUgKm5vZGUsIHN0cnVjdCBkZXZpY2Vfbm9kZSAqcGFyZW50KQotLSAKMi41MS4wCgoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtcmlzY3Yg bWFpbGluZyBsaXN0CmxpbnV4LXJpc2N2QGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3Rz LmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1yaXNjdgo=