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 77152C433FE for ; Thu, 3 Nov 2022 17:21:22 +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=+vW/xjROSMHUgoTEpKe0PZFjAXQkkut/qsdWcn2GUoM=; b=01E1vZBPUQzC2i NEmNgNEgv+YwDIvggTO0Vl2PPFVDJXWL9W8BX7ZIRAAtrRrUM9JDtWBL+iLXpkOWMy3ILjW6T/5gR HJg7KWPgg8aFXj3nlyLx+1yYU5VMx8YP/ivOSkiNqSzkeAN62UmKnAw+mjS+TXUGD22SeWHZNukeJ MKVsnuqi/UGUqzemygNKnCVFuI8uRRtbvkodyE67F9IFnrOKPq8cTpetnteRs/IzoeDSuerLjnKei 4h41x9qWiJqnGRBUftye9LB8yeKaDbpttE3PVN27bVUsy9i+FohGwTjuWPsC1lu/BKFpMC8LDh4Wi kuiWOcH1jD5KTtIrZPXw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1oqdsU-0011KA-MX; Thu, 03 Nov 2022 17:19:42 +0000 Received: from foss.arm.com ([217.140.110.172]) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1oqdeu-000vXq-OD for linux-arm-kernel@lists.infradead.org; Thu, 03 Nov 2022 17:05:45 +0000 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 7F323139F; Thu, 3 Nov 2022 10:05:45 -0700 (PDT) Received: from lakrids.cambridge.arm.com (usa-sjc-imap-foss1.foss.arm.com [10.121.207.14]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 87DCC3F5A1; Thu, 3 Nov 2022 10:05:37 -0700 (PDT) From: Mark Rutland To: linux-kernel@vger.kernel.org Cc: catalin.marinas@arm.com, linux-arm-kernel@lists.infradead.org, mark.rutland@arm.com, mhiramat@kernel.org, revest@chromium.org, rostedt@goodmis.org, will@kernel.org Subject: [PATCH v2 4/4] ftrace: arm64: move from REGS to ARGS Date: Thu, 3 Nov 2022 17:05:20 +0000 Message-Id: <20221103170520.931305-5-mark.rutland@arm.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20221103170520.931305-1-mark.rutland@arm.com> References: <20221103170520.931305-1-mark.rutland@arm.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20221103_100540_969259_96351F96 X-CRM114-Status: GOOD ( 33.91 ) 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 VGhpcyBjb21taXQgcmVwbGFjZXMgYXJtNjQncyBzdXBwb3J0IGZvciBGVFJBQ0VfV0lUSF9SRUdT IHdpdGggc3VwcG9ydApmb3IgRlRSQUNFX1dJVEhfQVJHUy4gVGhpcyByZW1vdmVzIHNvbWUgb3Zl cmhlYWQgYW5kIGNvbXBsZXhpdHksIGFuZApyZW1vdmVzIHNvbWUgbGF0ZW50IGlzc3VlcyB3aXRo IGluY29uc2lzdGVudCBwcmVzZW50YXRpb24gb2Ygc3RydWN0CnB0X3JlZ3MgKHdoaWNoIGNhbiBv bmx5IGJlIHJlbGlhYmx5IHNhdmVkL3Jlc3RvcmVkIGF0IGV4Y2VwdGlvbgpib3VuZGFyaWVzKS4K CkZUUkFDRV9XSVRIX1JFR1MgaGFzIGJlZW4gc3VwcG9ydGVkIG9uIGFybTY0IHNpbmNlIGNvbW1p dDoKCiAgM2IyM2U0OTkxZmI2NmY2ZCAoImFybTY0OiBpbXBsZW1lbnQgZnRyYWNlIHdpdGggcmVn cyIpCgpBcyBub3RlZCBpbiB0aGUgY29tbWl0IG1lc3NhZ2UsIHRoZSBtYWpvciByZWFzb25zIGZv ciBpbXBsZW1lbnRpbmcKRlRSQUNFX1dJVEhfUkVHUyB3ZXJlOgoKKDEpIFRvIG1ha2UgaXQgcG9z c2libGUgdG8gdXNlIHRoZSBmdHJhY2UgZ3JhcGggdHJhY2VyIHdpdGggcG9pbnRlcgogICAgYXV0 aGVudGljYXRpb24sIHdoZXJlIGl0J3MgbmVjZXNzYXJ5IHRvIHNuYXBzaG90L21hbmlwdWxhdGUg dGhlIExSCiAgICBiZWZvcmUgaXQgaXMgc2lnbmVkIGJ5IHRoZSBpbnN0cnVtZW50ZWQgZnVuY3Rp b24uCgooMikgVG8gbWFrZSBpdCBwb3NzaWJsZSB0byBpbXBsZW1lbnQgTElWRVBBVENIIGluIGZ1 dHVyZSwgd2hlcmUgd2UgbmVlZAogICAgdG8gaG9vayBmdW5jdGlvbiBlbnRyeSBiZWZvcmUgYW4g aW5zdHJ1bWVudGVkIGZ1bmN0aW9uIG1hbmlwdWxhdGVzCiAgICB0aGUgc3RhY2sgb3IgYXJndW1l bnQgcmVnaXN0ZXJzLiBQcmFjdGljYWxseSBzcGVha2luZywgd2UgbmVlZCB0bwogICAgcHJlc2Vy dmUgdGhlIGFyZ3VtZW50L3JldHVybiByZWdpc3RlcnMsIFBDLCBMUiwgYW5kIFNQLgoKTmVpdGhl ciBvZiB0aGVzZSBuZWVkIGEgc3RydWN0IHB0X3JlZ3MsIGFuZCBvbmx5IHJlcXVpcmUgdGhlIHNl dCBvZgpyZWdpc3RlcnMgd2hpY2ggYXJlIGxpdmUgYXQgZnVuY3Rpb24gY2FsbC9yZXR1cm4gYm91 bmRhcmllcy4gT3VyIGNhbGxpbmcKY29udmVudGlvbiBpcyBkZWZpbmVkIGJ5ICJQcm9jZWR1cmUg Q2FsbCBTdGFuZGFyZCBmb3IgdGhlIEFybcKuIDY0LWJpdApBcmNoaXRlY3R1cmUgKEFBcmNoNjQp IiAoQUtBICJBQVBDUzY0IiksIHdoaWNoIGNhbiBjdXJyZW50bHkgYmUgZm91bmQKYXQ6CgogIGh0 dHBzOi8vZ2l0aHViLmNvbS9BUk0tc29mdHdhcmUvYWJpLWFhL2Jsb2IvbWFpbi9hYXBjczY0L2Fh cGNzNjQucnN0CgpQZXIgQUFQQ1M2NCwgYWxsIGZ1bmN0aW9uIGNhbGwgYXJndW1lbnQgYW5kIHJl dHVybiB2YWx1ZXMgYXJlIGhlbGQgaW4KdGhlIGZvbGxvd2luZyBHUFJzOgoKKiBYMCAtIFg3IDog cGFyYW1ldGVyIC8gcmVzdWx0IHJlZ2lzdGVycwoqIFg4ICAgICAgOiBpbmRpcmVjdCByZXN1bHQg bG9jYXRpb24gcmVnaXN0ZXIKKiBTUCAgICAgIDogc3RhY2sgcG9pbnRlciAoQUtBIFNQKQoKQWRk aXRpb25hbGx5LCBhZCBmdW5jdGlvbiBjYWxsIGJvdW5kYXJpZXMsIHRoZSBmb2xsb3dpbmcgR1BS cyBob2xkCmNvbnRleHQvcmV0dXJuIGluZm9ybWF0aW9uOgoKKiBYMjkgOiBmcmFtZSBwb2ludGVy IChBS0EgRlApCiogWDMwIDogbGluayByZWdpc3RlciAoQUtBIExSKQoKLi4uIGFuZCBmb3IgZnRy YWNlIHdlIG5lZWQgdG8gY2FwdHVyZSB0aGUgaW5zdHJ1bWVudGVkIGFkZHJlc3M6CgogKiBQQyAg OiBwcm9ncmFtIGNvdW50ZXIKCk5vIG90aGVyIEdQUnMgYXJlIHJlbGV2YW50LCBhcyBub25lIG9m IHRoZSBvdGhlciBhcmd1bWVudHMgaG9sZApwYXJhbWV0ZXJzIG9yIHJldHVybiB2YWx1ZXM6Cgoq IFg5ICAtIFgxNyA6IHRlbXBvcmFyaWVzLCBtYXkgYmUgY2xvYmJlcmVkCiogWDE4ICAgICAgIDog c2hhZG93IGNhbGwgc3RhY2sgcG9pbnRlciAob3IgdGVtb3JhcnkpCiogWDE5IC0gWDI4IDogY2Fs bGVlIHNhdmVkCgpUaGlzIHBhdGNoIGltcGxlbWVudHMgRlRSQUNFX1dJVEhfQVJHUyBmb3IgYXJt NjQsIG9ubHkgc2F2aW5nL3Jlc3RvcmluZwp0aGUgbWluaW1hbCBzZXQgb2YgcmVnaXN0ZXJzIG5l Y2Vzc2FyeS4gVGhpcyBpcyBhbHdheXMgc3VmZmljaWVudCB0bwptYW5pcHVsYXRlIGNvbnRyb2wg ZmxvdyAoZS5nLiBmb3IgbGl2ZS1wYXRjaGluZykgb3IgdG8gbWFuaXB1bGF0ZQpmdW5jdGlvbiBh cmd1bWVudHMgYW5kIHJldHVybiB2YWx1ZXMuCgpUaGlzIHJlZHVjZXMgdGhlIG5lY2Vzc2FyeSBz dGFjayB1c2FnZSBmcm9tIDMzNiBieXRlcyBmb3IgcHRfcmVncyBkb3duCnRvIDExMiBieXRlcyBm b3IgZnRyYWNlX3JlZ3MgKyAzMiBieXRlcyBmb3IgdHdvIGZyYW1lIHJlY29yZHMsIGZyZWVpbmcK dXAgMTg4IGJ5dGVzLiBUaGlzIGNvdWxkIGJlIHJlZHVjZWQgZnVydGhlciB3aXRoIGNoYW5nZXMg dG8gdGhlCnVud2luZGVyLgoKQXMgdGhlcmUgaXMgbm8gbG9uZ2VyIGEgbmVlZCB0byBzYXZlIGRp ZmZlcmVudCBzZXRzIG9mIHJlZ2lzdGVycyBmb3IKZGlmZmVyZW50IGZlYXR1cmVzLCB3ZSBubyBs b25nZXIgbmVlZCBkaXN0aW5jdCBgZnRyYWNlX2NhbGxlcmAgYW5kCmBmdHJhY2VfcmVnc19jYWxs ZXJgIHRyYW1wb2xpbmVzLiBUaGlzIGFsbG93cyB0aGUgdHJhbXBvbGluZSBhc3NlbWJseSB0bwpi ZSBzaW1wbGVyLCBhbmQgc2ltcGxpZmllcyBjb2RlIHdoaWNoIHByZXZpb3VzbHkgaGFkIHRvIGhh bmRsZSB0aGUgdHdvCnRyYW1wb2xpbmVzLgoKSSd2ZSB0ZXN0ZWQgdGhpcyB3aXRoIHRoZSBmdHJh Y2Ugc2VsZnRlc3RzLCB3aGVyZSB0aGVyZSBhcmUgbm8KdW5leHBlY3RlZCBmYWlsdXJlcy4KCkNv LWRldmVsb3BlZC1ieTogRmxvcmVudCBSZXZlc3QgPHJldmVzdEBjaHJvbWl1bS5vcmc+ClNpZ25l ZC1vZmYtYnk6IE1hcmsgUnV0bGFuZCA8bWFyay5ydXRsYW5kQGFybS5jb20+ClNpZ25lZC1vZmYt Ynk6IEZsb3JlbnQgUmV2ZXN0IDxyZXZlc3RAY2hyb21pdW0ub3JnPgpDYzogQ2F0YWxpbiBNYXJp bmFzIDxjYXRhbGluLm1hcmluYXNAYXJtLmNvbT4KQ2M6IE1hc2FtaSBIaXJhbWF0c3UgPG1oaXJh bWF0QGtlcm5lbC5vcmc+CkNjOiBTdGV2ZW4gUm9zdGVkdCA8cm9zdGVkdEBnb29kbWlzLm9yZz4K Q2M6IFdpbGwgRGVhY29uIDx3aWxsQGtlcm5lbC5vcmc+Ci0tLQogYXJjaC9hcm02NC9LY29uZmln ICAgICAgICAgICAgICAgfCAgMTggKystLS0KIGFyY2gvYXJtNjQvTWFrZWZpbGUgICAgICAgICAg ICAgIHwgICAyICstCiBhcmNoL2FybTY0L2luY2x1ZGUvYXNtL2Z0cmFjZS5oICB8ICA3MiArKysr KysrKysrKysrKysrKy0tCiBhcmNoL2FybTY0L2tlcm5lbC9hc20tb2Zmc2V0cy5jICB8ICAxMyAr KysrCiBhcmNoL2FybTY0L2tlcm5lbC9lbnRyeS1mdHJhY2UuUyB8IDExNyArKysrKysrKysrKyst LS0tLS0tLS0tLS0tLS0tLS0tCiBhcmNoL2FybTY0L2tlcm5lbC9mdHJhY2UuYyAgICAgICB8ICA4 MiArKysrKysrKysrKysrLS0tLS0tLS0tCiBhcmNoL2FybTY0L2tlcm5lbC9tb2R1bGUuYyAgICAg ICB8ICAgMyAtCiA3IGZpbGVzIGNoYW5nZWQsIDE4NCBpbnNlcnRpb25zKCspLCAxMjMgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvYXJjaC9hcm02NC9LY29uZmlnIGIvYXJjaC9hcm02NC9LY29u ZmlnCmluZGV4IDUwNWM4YTFjY2JlMGMuLmI2YjMzMDViYTcwMTMgMTAwNjQ0Ci0tLSBhL2FyY2gv YXJtNjQvS2NvbmZpZworKysgYi9hcmNoL2FybTY0L0tjb25maWcKQEAgLTE4MSw4ICsxODEsMTAg QEAgY29uZmlnIEFSTTY0CiAJc2VsZWN0IEhBVkVfREVCVUdfS01FTUxFQUsKIAlzZWxlY3QgSEFW RV9ETUFfQ09OVElHVU9VUwogCXNlbGVjdCBIQVZFX0RZTkFNSUNfRlRSQUNFCisJc2VsZWN0IEhB VkVfRFlOQU1JQ19GVFJBQ0VfV0lUSF9BUkdTIFwKKwkJaWYgJChjYy1vcHRpb24sLWZwYXRjaGFi bGUtZnVuY3Rpb24tZW50cnk9MikKIAlzZWxlY3QgRlRSQUNFX01DT1VOVF9VU0VfUEFUQ0hBQkxF X0ZVTkNUSU9OX0VOVFJZIFwKLQkJaWYgRFlOQU1JQ19GVFJBQ0VfV0lUSF9SRUdTCisJCWlmIERZ TkFNSUNfRlRSQUNFX1dJVEhfQVJHUwogCXNlbGVjdCBIQVZFX0VGRklDSUVOVF9VTkFMSUdORURf QUNDRVNTCiAJc2VsZWN0IEhBVkVfRkFTVF9HVVAKIAlzZWxlY3QgSEFWRV9GVFJBQ0VfTUNPVU5U X1JFQ09SRApAQCAtMjMzLDE2ICsyMzUsMTYgQEAgY29uZmlnIEFSTTY0CiAJaGVscAogCSAgQVJN IDY0LWJpdCAoQUFyY2g2NCkgTGludXggc3VwcG9ydC4KIAotY29uZmlnIENMQU5HX1NVUFBPUlRT X0RZTkFNSUNfRlRSQUNFX1dJVEhfUkVHUworY29uZmlnIENMQU5HX1NVUFBPUlRTX0RZTkFNSUNf RlRSQUNFX1dJVEhfQVJHUwogCWRlZl9ib29sIENDX0lTX0NMQU5HCiAJIyBodHRwczovL2dpdGh1 Yi5jb20vQ2xhbmdCdWlsdExpbnV4L2xpbnV4L2lzc3Vlcy8xNTA3CiAJZGVwZW5kcyBvbiBBU19J U19HTlUgfHwgKEFTX0lTX0xMVk0gJiYgKExEX0lTX0xMRCB8fCBMRF9WRVJTSU9OID49IDIzNjAw KSkKLQlzZWxlY3QgSEFWRV9EWU5BTUlDX0ZUUkFDRV9XSVRIX1JFR1MKKwlzZWxlY3QgSEFWRV9E WU5BTUlDX0ZUUkFDRV9XSVRIX0FSR1MKIAotY29uZmlnIEdDQ19TVVBQT1JUU19EWU5BTUlDX0ZU UkFDRV9XSVRIX1JFR1MKK2NvbmZpZyBHQ0NfU1VQUE9SVFNfRFlOQU1JQ19GVFJBQ0VfV0lUSF9B UkdTCiAJZGVmX2Jvb2wgQ0NfSVNfR0NDCiAJZGVwZW5kcyBvbiAkKGNjLW9wdGlvbiwtZnBhdGNo YWJsZS1mdW5jdGlvbi1lbnRyeT0yKQotCXNlbGVjdCBIQVZFX0RZTkFNSUNfRlRSQUNFX1dJVEhf UkVHUworCXNlbGVjdCBIQVZFX0RZTkFNSUNfRlRSQUNFX1dJVEhfQVJHUwogCiBjb25maWcgNjRC SVQKIAlkZWZfYm9vbCB5CkBAIC0xODE2LDcgKzE4MTgsNyBAQCBjb25maWcgQVJNNjRfUFRSX0FV VEhfS0VSTkVMCiAJIyB3aGljaCBpcyBvbmx5IHVuZGVyc3Rvb2QgYnkgYmludXRpbHMgc3RhcnRp bmcgd2l0aCB2ZXJzaW9uIDIuMzMuMS4KIAlkZXBlbmRzIG9uIExEX0lTX0xMRCB8fCBMRF9WRVJT SU9OID49IDIzMzAxIHx8IChDQ19JU19HQ0MgJiYgR0NDX1ZFUlNJT04gPCA5MDEwMCkKIAlkZXBl bmRzIG9uICFDQ19JU19DTEFORyB8fCBBU19IQVNfQ0ZJX05FR0FURV9SQV9TVEFURQotCWRlcGVu ZHMgb24gKCFGVU5DVElPTl9HUkFQSF9UUkFDRVIgfHwgRFlOQU1JQ19GVFJBQ0VfV0lUSF9SRUdT KQorCWRlcGVuZHMgb24gKCFGVU5DVElPTl9HUkFQSF9UUkFDRVIgfHwgRFlOQU1JQ19GVFJBQ0Vf V0lUSF9BUkdTKQogCWhlbHAKIAkgIElmIHRoZSBjb21waWxlciBzdXBwb3J0cyB0aGUgLW1icmFu Y2gtcHJvdGVjdGlvbiBvcgogCSAgLW1zaWduLXJldHVybi1hZGRyZXNzIGZsYWcgKGUuZy4gR0ND IDcgb3IgbGF0ZXIpLCB0aGVuIHRoaXMgb3B0aW9uCkBAIC0xODI2LDcgKzE4MjgsNyBAQCBjb25m aWcgQVJNNjRfUFRSX0FVVEhfS0VSTkVMCiAJICBkaXNhYmxlZCB3aXRoIG1pbmltYWwgbG9zcyBv ZiBwcm90ZWN0aW9uLgogCiAJICBUaGlzIGZlYXR1cmUgd29ya3Mgd2l0aCBGVU5DVElPTl9HUkFQ SF9UUkFDRVIgb3B0aW9uIG9ubHkgaWYKLQkgIERZTkFNSUNfRlRSQUNFX1dJVEhfUkVHUyBpcyBl bmFibGVkLgorCSAgRFlOQU1JQ19GVFJBQ0VfV0lUSF9BUkdTIGlzIGVuYWJsZWQuCiAKIGNvbmZp ZyBDQ19IQVNfQlJBTkNIX1BST1RfUEFDX1JFVAogCSMgR0NDIDkgb3IgbGF0ZXIsIGNsYW5nIDgg b3IgbGF0ZXIKQEAgLTE5MjQsNyArMTkyNiw3IEBAIGNvbmZpZyBBUk02NF9CVElfS0VSTkVMCiAJ ZGVwZW5kcyBvbiAhQ0NfSVNfR0NDCiAJIyBodHRwczovL2dpdGh1Yi5jb20vbGx2bS9sbHZtLXBy b2plY3QvY29tbWl0L2E4OGM3MjJlNjg3ZTY3ODBkY2Q2YTU4NzE4MzUwZGM3NmZjYzRjYzkKIAlk ZXBlbmRzIG9uICFDQ19JU19DTEFORyB8fCBDTEFOR19WRVJTSU9OID49IDEyMDAwMAotCWRlcGVu ZHMgb24gKCFGVU5DVElPTl9HUkFQSF9UUkFDRVIgfHwgRFlOQU1JQ19GVFJBQ0VfV0lUSF9SRUdT KQorCWRlcGVuZHMgb24gKCFGVU5DVElPTl9HUkFQSF9UUkFDRVIgfHwgRFlOQU1JQ19GVFJBQ0Vf V0lUSF9BUkdTKQogCWhlbHAKIAkgIEJ1aWxkIHRoZSBrZXJuZWwgd2l0aCBCcmFuY2ggVGFyZ2V0 IElkZW50aWZpY2F0aW9uIGFubm90YXRpb25zCiAJICBhbmQgZW5hYmxlIGVuZm9yY2VtZW50IG9m IHRoaXMgZm9yIGtlcm5lbCBjb2RlLiBXaGVuIHRoaXMgb3B0aW9uCmRpZmYgLS1naXQgYS9hcmNo L2FybTY0L01ha2VmaWxlIGIvYXJjaC9hcm02NC9NYWtlZmlsZQppbmRleCA1ZTU2ZDI2YTIyMzk4 Li5iMTIwMmZhODRiYWJhIDEwMDY0NAotLS0gYS9hcmNoL2FybTY0L01ha2VmaWxlCisrKyBiL2Fy Y2gvYXJtNjQvTWFrZWZpbGUKQEAgLTEyOCw3ICsxMjgsNyBAQCBlbmRpZgogCiBDSEVDS0ZMQUdT CSs9IC1EX19hYXJjaDY0X18KIAotaWZlcSAoJChDT05GSUdfRFlOQU1JQ19GVFJBQ0VfV0lUSF9S RUdTKSx5KQoraWZlcSAoJChDT05GSUdfRFlOQU1JQ19GVFJBQ0VfV0lUSF9BUkdTKSx5KQogICBL QlVJTERfQ1BQRkxBR1MgKz0gLURDQ19VU0lOR19QQVRDSEFCTEVfRlVOQ1RJT05fRU5UUlkKICAg Q0NfRkxBR1NfRlRSQUNFIDo9IC1mcGF0Y2hhYmxlLWZ1bmN0aW9uLWVudHJ5PTIKIGVuZGlmCmRp ZmYgLS1naXQgYS9hcmNoL2FybTY0L2luY2x1ZGUvYXNtL2Z0cmFjZS5oIGIvYXJjaC9hcm02NC9p bmNsdWRlL2FzbS9mdHJhY2UuaAppbmRleCAzMjlkYmJkNGQ1MGI2Li41NjY0NzI5ODAwYWUxIDEw MDY0NAotLS0gYS9hcmNoL2FybTY0L2luY2x1ZGUvYXNtL2Z0cmFjZS5oCisrKyBiL2FyY2gvYXJt NjQvaW5jbHVkZS9hc20vZnRyYWNlLmgKQEAgLTIzLDcgKzIzLDcgQEAKICAqLwogI2RlZmluZSBI QVZFX0ZVTkNUSU9OX0dSQVBIX1JFVF9BRERSX1BUUgogCi0jaWZkZWYgQ09ORklHX0RZTkFNSUNf RlRSQUNFX1dJVEhfUkVHUworI2lmZGVmIENPTkZJR19EWU5BTUlDX0ZUUkFDRV9XSVRIX0FSR1MK ICNkZWZpbmUgQVJDSF9TVVBQT1JUU19GVFJBQ0VfT1BTIDEKICNlbHNlCiAjZGVmaW5lIE1DT1VO VF9BRERSCQkoKHVuc2lnbmVkIGxvbmcpX21jb3VudCkKQEAgLTMzLDggKzMzLDcgQEAKICNkZWZp bmUgTUNPVU5UX0lOU05fU0laRQlBQVJDSDY0X0lOU05fU0laRQogCiAjZGVmaW5lIEZUUkFDRV9Q TFRfSURYCQkwCi0jZGVmaW5lIEZUUkFDRV9SRUdTX1BMVF9JRFgJMQotI2RlZmluZSBOUl9GVFJB Q0VfUExUUwkJMgorI2RlZmluZSBOUl9GVFJBQ0VfUExUUwkJMQogCiAvKgogICogQ3VycmVudGx5 LCBnY2MgdGVuZHMgdG8gc2F2ZSB0aGUgbGluayByZWdpc3RlciBhZnRlciB0aGUgbG9jYWwgdmFy aWFibGVzCkBAIC02OSw3ICs2OCw3IEBAIHN0YXRpYyBpbmxpbmUgdW5zaWduZWQgbG9uZyBmdHJh Y2VfY2FsbF9hZGp1c3QodW5zaWduZWQgbG9uZyBhZGRyKQogCSAqIEFkanVzdCBhZGRyIHRvIHBv aW50IGF0IHRoZSBCTCBpbiB0aGUgY2FsbHNpdGUuCiAJICogU2VlIGZ0cmFjZV9pbml0X25vcCgp IGZvciB0aGUgY2FsbHNpdGUgc2VxdWVuY2UuCiAJICovCi0JaWYgKElTX0VOQUJMRUQoQ09ORklH X0RZTkFNSUNfRlRSQUNFX1dJVEhfUkVHUykpCisJaWYgKElTX0VOQUJMRUQoQ09ORklHX0RZTkFN SUNfRlRSQUNFX1dJVEhfQVJHUykpCiAJCXJldHVybiBhZGRyICsgQUFSQ0g2NF9JTlNOX1NJWkU7 CiAJLyoKIAkgKiBhZGRyIGlzIHRoZSBhZGRyZXNzIG9mIHRoZSBtY291bnQgY2FsbCBpbnN0cnVj dGlvbi4KQEAgLTc4LDEwICs3Nyw3MSBAQCBzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGxvbmcgZnRy YWNlX2NhbGxfYWRqdXN0KHVuc2lnbmVkIGxvbmcgYWRkcikKIAlyZXR1cm4gYWRkcjsKIH0KIAot I2lmZGVmIENPTkZJR19EWU5BTUlDX0ZUUkFDRV9XSVRIX1JFR1MKKyNpZmRlZiBDT05GSUdfRFlO QU1JQ19GVFJBQ0VfV0lUSF9BUkdTCiBzdHJ1Y3QgZHluX2Z0cmFjZTsKIHN0cnVjdCBmdHJhY2Vf b3BzOwotc3RydWN0IGZ0cmFjZV9yZWdzOworCisjZGVmaW5lIGFyY2hfZnRyYWNlX2dldF9yZWdz KHJlZ3MpIE5VTEwKKworc3RydWN0IGZ0cmFjZV9yZWdzIHsKKwkvKiB4MCAtIHg4ICovCisJdW5z aWduZWQgbG9uZyByZWdzWzldOworCXVuc2lnbmVkIGxvbmcgX191bnVzZWQ7CisKKwl1bnNpZ25l ZCBsb25nIGZwOworCXVuc2lnbmVkIGxvbmcgbHI7CisKKwl1bnNpZ25lZCBsb25nIHNwOworCXVu c2lnbmVkIGxvbmcgcGM7Cit9OworCitzdGF0aWMgX19hbHdheXNfaW5saW5lIHVuc2lnbmVkIGxv bmcKK2Z0cmFjZV9yZWdzX2dldF9pbnN0cnVjdGlvbl9wb2ludGVyKGNvbnN0IHN0cnVjdCBmdHJh Y2VfcmVncyAqZnJlZ3MpCit7CisJcmV0dXJuIGZyZWdzLT5wYzsKK30KKworc3RhdGljIF9fYWx3 YXlzX2lubGluZSB2b2lkCitmdHJhY2VfcmVnc19zZXRfaW5zdHJ1Y3Rpb25fcG9pbnRlcihzdHJ1 Y3QgZnRyYWNlX3JlZ3MgKmZyZWdzLAorCQkJCSAgICB1bnNpZ25lZCBsb25nIHBjKQoreworCWZy ZWdzLT5wYyA9IHBjOworfQorCitzdGF0aWMgX19hbHdheXNfaW5saW5lIHVuc2lnbmVkIGxvbmcK K2Z0cmFjZV9yZWdzX2dldF9zdGFja19wb2ludGVyKGNvbnN0IHN0cnVjdCBmdHJhY2VfcmVncyAq ZnJlZ3MpCit7CisJcmV0dXJuIGZyZWdzLT5zcDsKK30KKworc3RhdGljIF9fYWx3YXlzX2lubGlu ZSB1bnNpZ25lZCBsb25nCitmdHJhY2VfcmVnc19nZXRfYXJndW1lbnQoc3RydWN0IGZ0cmFjZV9y ZWdzICpmcmVncywgdW5zaWduZWQgaW50IG4pCit7CisJaWYgKG4gPCA4KQorCQlyZXR1cm4gZnJl Z3MtPnJlZ3Nbbl07CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBfX2Fsd2F5c19pbmxpbmUgdW5z aWduZWQgbG9uZworZnRyYWNlX3JlZ3NfZ2V0X3JldHVybl92YWx1ZShjb25zdCBzdHJ1Y3QgZnRy YWNlX3JlZ3MgKmZyZWdzKQoreworCXJldHVybiBmcmVncy0+cmVnc1swXTsKK30KKworc3RhdGlj IF9fYWx3YXlzX2lubGluZSB2b2lkCitmdHJhY2VfcmVnc19zZXRfcmV0dXJuX3ZhbHVlKHN0cnVj dCBmdHJhY2VfcmVncyAqZnJlZ3MsCisJCQkgICAgIHVuc2lnbmVkIGxvbmcgcmV0KQoreworCWZy ZWdzLT5yZWdzWzBdID0gcmV0OworfQorCitzdGF0aWMgX19hbHdheXNfaW5saW5lIHZvaWQKK2Z0 cmFjZV9vdmVycmlkZV9mdW5jdGlvbl93aXRoX3JldHVybihzdHJ1Y3QgZnRyYWNlX3JlZ3MgKmZy ZWdzKQoreworCWZyZWdzLT5wYyA9IGZyZWdzLT5scjsKK30KKworaW50IGZ0cmFjZV9yZWdzX3F1 ZXJ5X3JlZ2lzdGVyX29mZnNldChjb25zdCBjaGFyICpuYW1lKTsKIAogaW50IGZ0cmFjZV9pbml0 X25vcChzdHJ1Y3QgbW9kdWxlICptb2QsIHN0cnVjdCBkeW5fZnRyYWNlICpyZWMpOwogI2RlZmlu ZSBmdHJhY2VfaW5pdF9ub3AgZnRyYWNlX2luaXRfbm9wCmRpZmYgLS1naXQgYS9hcmNoL2FybTY0 L2tlcm5lbC9hc20tb2Zmc2V0cy5jIGIvYXJjaC9hcm02NC9rZXJuZWwvYXNtLW9mZnNldHMuYwpp bmRleCAxMTk3ZTc2Nzk4ODJlLi4yMjM0NjI0NTM2ZDk1IDEwMDY0NAotLS0gYS9hcmNoL2FybTY0 L2tlcm5lbC9hc20tb2Zmc2V0cy5jCisrKyBiL2FyY2gvYXJtNjQva2VybmVsL2FzbS1vZmZzZXRz LmMKQEAgLTgyLDYgKzgyLDE5IEBAIGludCBtYWluKHZvaWQpCiAgIERFRklORShTX1NUQUNLRlJB TUUsCQlvZmZzZXRvZihzdHJ1Y3QgcHRfcmVncywgc3RhY2tmcmFtZSkpOwogICBERUZJTkUoUFRf UkVHU19TSVpFLAkJc2l6ZW9mKHN0cnVjdCBwdF9yZWdzKSk7CiAgIEJMQU5LKCk7CisjaWZkZWYg Q09ORklHX0RZTkFNSUNfRlRSQUNFX1dJVEhfQVJHUworICBERUZJTkUoRlJFR1NfWDAsCQlvZmZz ZXRvZihzdHJ1Y3QgZnRyYWNlX3JlZ3MsIHJlZ3NbMF0pKTsKKyAgREVGSU5FKEZSRUdTX1gyLAkJ b2Zmc2V0b2Yoc3RydWN0IGZ0cmFjZV9yZWdzLCByZWdzWzJdKSk7CisgIERFRklORShGUkVHU19Y NCwJCW9mZnNldG9mKHN0cnVjdCBmdHJhY2VfcmVncywgcmVnc1s0XSkpOworICBERUZJTkUoRlJF R1NfWDYsCQlvZmZzZXRvZihzdHJ1Y3QgZnRyYWNlX3JlZ3MsIHJlZ3NbNl0pKTsKKyAgREVGSU5F KEZSRUdTX1g4LAkJb2Zmc2V0b2Yoc3RydWN0IGZ0cmFjZV9yZWdzLCByZWdzWzhdKSk7CisgIERF RklORShGUkVHU19GUCwJCW9mZnNldG9mKHN0cnVjdCBmdHJhY2VfcmVncywgZnApKTsKKyAgREVG SU5FKEZSRUdTX0xSLAkJb2Zmc2V0b2Yoc3RydWN0IGZ0cmFjZV9yZWdzLCBscikpOworICBERUZJ TkUoRlJFR1NfU1AsCQlvZmZzZXRvZihzdHJ1Y3QgZnRyYWNlX3JlZ3MsIHNwKSk7CisgIERFRklO RShGUkVHU19QQywJCW9mZnNldG9mKHN0cnVjdCBmdHJhY2VfcmVncywgcGMpKTsKKyAgREVGSU5F KEZSRUdTX1NJWkUsCQlzaXplb2Yoc3RydWN0IGZ0cmFjZV9yZWdzKSk7CisgIEJMQU5LKCk7Cisj ZW5kaWYKICNpZmRlZiBDT05GSUdfQ09NUEFUCiAgIERFRklORShDT01QQVRfU0lHRlJBTUVfUkVH U19PRkZTRVQsCQlvZmZzZXRvZihzdHJ1Y3QgY29tcGF0X3NpZ2ZyYW1lLCB1Yy51Y19tY29udGV4 dC5hcm1fcjApKTsKICAgREVGSU5FKENPTVBBVF9SVF9TSUdGUkFNRV9SRUdTX09GRlNFVCwJb2Zm c2V0b2Yoc3RydWN0IGNvbXBhdF9ydF9zaWdmcmFtZSwgc2lnLnVjLnVjX21jb250ZXh0LmFybV9y MCkpOwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm02NC9rZXJuZWwvZW50cnktZnRyYWNlLlMgYi9hcmNo L2FybTY0L2tlcm5lbC9lbnRyeS1mdHJhY2UuUwppbmRleCA3OTUzNDRhYjRlYzQ1Li40ZDMwNTA1 NDlhYTZlIDEwMDY0NAotLS0gYS9hcmNoL2FybTY0L2tlcm5lbC9lbnRyeS1mdHJhY2UuUworKysg Yi9hcmNoL2FybTY0L2tlcm5lbC9lbnRyeS1mdHJhY2UuUwpAQCAtMTMsODMgKzEzLDU4IEBACiAj aW5jbHVkZSA8YXNtL2Z0cmFjZS5oPgogI2luY2x1ZGUgPGFzbS9pbnNuLmg+CiAKLSNpZmRlZiBD T05GSUdfRFlOQU1JQ19GVFJBQ0VfV0lUSF9SRUdTCisjaWZkZWYgQ09ORklHX0RZTkFNSUNfRlRS QUNFX1dJVEhfQVJHUwogLyoKICAqIER1ZSB0byAtZnBhdGNoYWJsZS1mdW5jdGlvbi1lbnRyeT0y LCB0aGUgY29tcGlsZXIgaGFzIHBsYWNlZCB0d28gTk9QcyBiZWZvcmUKICAqIHRoZSByZWd1bGFy IGZ1bmN0aW9uIHByb2xvZ3VlLiBGb3IgYW4gZW5hYmxlZCBjYWxsc2l0ZSwgZnRyYWNlX2luaXRf bm9wKCkgYW5kCiAgKiBmdHJhY2VfbWFrZV9jYWxsKCkgaGF2ZSBwYXRjaGVkIHRob3NlIE5PUHMg dG86CiAgKgogICogCU1PVglYOSwgTFIKLSAqIAlCTAk8ZW50cnk+Ci0gKgotICogLi4uIHdoZXJl IDxlbnRyeT4gaXMgZWl0aGVyIGZ0cmFjZV9jYWxsZXIgb3IgZnRyYWNlX3JlZ3NfY2FsbGVyLgor ICogCUJMCWZ0cmFjZV9jYWxsZXIKICAqCiAgKiBFYWNoIGluc3RydW1lbnRlZCBmdW5jdGlvbiBm b2xsb3dzIHRoZSBBQVBDUywgc28gaGVyZSB4MC14OCBhbmQgeDE4LXgzMCBhcmUKICAqIGxpdmUg KHgxOCBob2xkcyB0aGUgU2hhZG93IENhbGwgU3RhY2sgcG9pbnRlciksIGFuZCB4OS14MTcgYXJl IHNhZmUgdG8KICAqIGNsb2JiZXIuCiAgKgotICogV2Ugc2F2ZSB0aGUgY2FsbHNpdGUncyBjb250 ZXh0IGludG8gYSBwdF9yZWdzIGJlZm9yZSBpbnZva2luZyBhbnkgZnRyYWNlCi0gKiBjYWxsYmFj a3MuIFNvIHRoYXQgd2UgY2FuIGdldCBhIHNlbnNpYmxlIGJhY2t0cmFjZSwgd2UgY3JlYXRlIGEg c3RhY2sgcmVjb3JkCi0gKiBmb3IgdGhlIGNhbGxzaXRlIGFuZCB0aGUgZnRyYWNlIGVudHJ5IGFz c2VtYmx5LiBUaGlzIGlzIG5vdCBzdWZmaWNpZW50IGZvcgotICogcmVsaWFibGUgc3RhY2t0cmFj ZTogdW50aWwgd2UgY3JlYXRlIHRoZSBjYWxsc2l0ZSBzdGFjayByZWNvcmQsIGl0cyBjYWxsZXIK LSAqIGlzIG1pc3NpbmcgZnJvbSB0aGUgTFIgYW5kIGV4aXN0aW5nIGNoYWluIG9mIGZyYW1lIHJl Y29yZHMuCisgKiBXZSBzYXZlIHRoZSBjYWxsc2l0ZSdzIGNvbnRleHQgaW50byBhIHN0cnVjdCBm dHJhY2VfcmVncyBiZWZvcmUgaW52b2tpbmcgYW55CisgKiBmdHJhY2UgY2FsbGJhY2tzLiBTbyB0 aGF0IHdlIGNhbiBnZXQgYSBzZW5zaWJsZSBiYWNrdHJhY2UsIHdlIGNyZWF0ZSBmcmFtZQorICog cmVjb3JkcyBmb3IgdGhlIGNhbGxzaXRlIGFuZCB0aGUgZnRyYWNlIGVudHJ5IGFzc2VtYmx5LiBU aGlzIGlzIG5vdAorICogc3VmZmljaWVudCBmb3IgcmVsaWFibGUgc3RhY2t0cmFjZTogdW50aWwg d2UgY3JlYXRlIHRoZSBjYWxsc2l0ZSBzdGFjaworICogcmVjb3JkLCBpdHMgY2FsbGVyIGlzIG1p c3NpbmcgZnJvbSB0aGUgTFIgYW5kIGV4aXN0aW5nIGNoYWluIG9mIGZyYW1lCisgKiByZWNvcmRz LgogICovCi0JLm1hY3JvICBmdHJhY2VfcmVnc19lbnRyeSwgYWxscmVncz0wCi0JLyogTWFrZSBy b29tIGZvciBwdF9yZWdzLCBwbHVzIGEgY2FsbGVlIGZyYW1lICovCi0Jc3ViCXNwLCBzcCwgIyhQ VF9SRUdTX1NJWkUgKyAxNikKLQotCS8qIFNhdmUgZnVuY3Rpb24gYXJndW1lbnRzIChhbmQgeDkg Zm9yIHNpbXBsaWNpdHkpICovCi0Jc3RwCXgwLCB4MSwgW3NwLCAjU19YMF0KLQlzdHAJeDIsIHgz LCBbc3AsICNTX1gyXQotCXN0cAl4NCwgeDUsIFtzcCwgI1NfWDRdCi0Jc3RwCXg2LCB4NywgW3Nw LCAjU19YNl0KLQlzdHAJeDgsIHg5LCBbc3AsICNTX1g4XQotCi0JLyogT3B0aW9uYWxseSBzYXZl IHRoZSBjYWxsZWUtc2F2ZWQgcmVnaXN0ZXJzLCBhbHdheXMgc2F2ZSB0aGUgRlAgKi8KLQkuaWYg XGFsbHJlZ3MgPT0gMQotCXN0cAl4MTAsIHgxMSwgW3NwLCAjU19YMTBdCi0Jc3RwCXgxMiwgeDEz LCBbc3AsICNTX1gxMl0KLQlzdHAJeDE0LCB4MTUsIFtzcCwgI1NfWDE0XQotCXN0cAl4MTYsIHgx NywgW3NwLCAjU19YMTZdCi0Jc3RwCXgxOCwgeDE5LCBbc3AsICNTX1gxOF0KLQlzdHAJeDIwLCB4 MjEsIFtzcCwgI1NfWDIwXQotCXN0cAl4MjIsIHgyMywgW3NwLCAjU19YMjJdCi0Jc3RwCXgyNCwg eDI1LCBbc3AsICNTX1gyNF0KLQlzdHAJeDI2LCB4MjcsIFtzcCwgI1NfWDI2XQotCXN0cAl4Mjgs IHgyOSwgW3NwLCAjU19YMjhdCi0JLmVsc2UKLQlzdHIJeDI5LCBbc3AsICNTX0ZQXQotCS5lbmRp ZgotCi0JLyogU2F2ZSB0aGUgY2FsbHNpdGUncyBTUCBhbmQgTFIgKi8KLQlhZGQJeDEwLCBzcCwg IyhQVF9SRUdTX1NJWkUgKyAxNikKLQlzdHAJeDksIHgxMCwgW3NwLCAjU19MUl0KK1NZTV9DT0RF X1NUQVJUKGZ0cmFjZV9jYWxsZXIpCisJYnRpCWMKIAotCS8qIFNhdmUgdGhlIFBDIGFmdGVyIHRo ZSBmdHJhY2UgY2FsbHNpdGUgKi8KLQlzdHIJeDMwLCBbc3AsICNTX1BDXQorCS8qIFNhdmUgb3Jp Z2luYWwgU1AgKi8KKwltb3YJeDEwLCBzcAogCi0JLyogQ3JlYXRlIGEgZnJhbWUgcmVjb3JkIGZv ciB0aGUgY2FsbHNpdGUgYWJvdmUgcHRfcmVncyAqLwotCXN0cAl4MjksIHg5LCBbc3AsICNQVF9S RUdTX1NJWkVdCi0JYWRkCXgyOSwgc3AsICNQVF9SRUdTX1NJWkUKKwkvKiBNYWtlIHJvb20gZm9y IGZ0cmFjZSByZWdzLCBwbHVzIHR3byBmcmFtZSByZWNvcmRzICovCisJc3ViCXNwLCBzcCwgIyhG UkVHU19TSVpFICsgMzIpCiAKLQkvKiBDcmVhdGUgb3VyIGZyYW1lIHJlY29yZCB3aXRoaW4gcHRf cmVncy4gKi8KLQlzdHAJeDI5LCB4MzAsIFtzcCwgI1NfU1RBQ0tGUkFNRV0KLQlhZGQJeDI5LCBz cCwgI1NfU1RBQ0tGUkFNRQotCS5lbmRtCisJLyogU2F2ZSBmdW5jdGlvbiBhcmd1bWVudHMgKi8K KwlzdHAJeDAsIHgxLCBbc3AsICNGUkVHU19YMF0KKwlzdHAJeDIsIHgzLCBbc3AsICNGUkVHU19Y Ml0KKwlzdHAJeDQsIHg1LCBbc3AsICNGUkVHU19YNF0KKwlzdHAJeDYsIHg3LCBbc3AsICNGUkVH U19YNl0KKwlzdHIJeDgsICAgICBbc3AsICNGUkVHU19YOF0KIAotU1lNX0NPREVfU1RBUlQoZnRy YWNlX3JlZ3NfY2FsbGVyKQotCWJ0aQljCi0JZnRyYWNlX3JlZ3NfZW50cnkJMQotCWIJZnRyYWNl X2NvbW1vbgotU1lNX0NPREVfRU5EKGZ0cmFjZV9yZWdzX2NhbGxlcikKKwkvKiBTYXZlIHRoZSBj YWxsc2l0ZSdzIEZQLCBMUiwgU1AgKi8KKwlzdHIJeDI5LCBbc3AsICNGUkVHU19GUF0KKwlzdHIJ eDksICBbc3AsICNGUkVHU19MUl0KKwlzdHIJeDEwLCBbc3AsICNGUkVHU19TUF0KIAotU1lNX0NP REVfU1RBUlQoZnRyYWNlX2NhbGxlcikKLQlidGkJYwotCWZ0cmFjZV9yZWdzX2VudHJ5CTAKLQli CWZ0cmFjZV9jb21tb24KLVNZTV9DT0RFX0VORChmdHJhY2VfY2FsbGVyKQorCS8qIFNhdmUgdGhl IFBDIGFmdGVyIHRoZSBmdHJhY2UgY2FsbHNpdGUgKi8KKwlzdHIJeDMwLCBbc3AsICNGUkVHU19Q Q10KKworCS8qIENyZWF0ZSBhIGZyYW1lIHJlY29yZCBmb3IgdGhlIGNhbGxzaXRlIGFib3ZlIHRo ZSBmdHJhY2UgcmVncyAqLworCXN0cAl4MjksIHg5LCBbc3AsICNGUkVHU19TSVpFICsgMTZdCisJ YWRkCXgyOSwgc3AsICNGUkVHU19TSVpFICsgMTYKKworCS8qIENyZWF0ZSBvdXIgZnJhbWUgcmVj b3JkIGFib3ZlIHRoZSBmdHJhY2UgcmVncyAqLworCXN0cAl4MjksIHgzMCwgW3NwLCAjRlJFR1Nf U0laRV0KKwlhZGQJeDI5LCBzcCwgI0ZSRUdTX1NJWkUKIAotU1lNX0NPREVfU1RBUlQoZnRyYWNl X2NvbW1vbikKIAlzdWIJeDAsIHgzMCwgI0FBUkNINjRfSU5TTl9TSVpFCS8vIGlwIChjYWxsc2l0 ZSdzIEJMIGluc24pCiAJbW92CXgxLCB4OQkJCQkvLyBwYXJlbnRfaXAgKGNhbGxzaXRlJ3MgTFIp CiAJbGRyX2wJeDIsIGZ1bmN0aW9uX3RyYWNlX29wCQkvLyBvcApAQCAtMTA0LDI0ICs3OSwyNCBA QCBTWU1fSU5ORVJfTEFCRUwoZnRyYWNlX2NhbGwsIFNZTV9MX0dMT0JBTCkKICAqIHRvIHJlc3Rv cmUgeDAteDgsIHgyOSwgYW5kIHgzMC4KICAqLwogCS8qIFJlc3RvcmUgZnVuY3Rpb24gYXJndW1l bnRzICovCi0JbGRwCXgwLCB4MSwgW3NwXQotCWxkcAl4MiwgeDMsIFtzcCwgI1NfWDJdCi0JbGRw CXg0LCB4NSwgW3NwLCAjU19YNF0KLQlsZHAJeDYsIHg3LCBbc3AsICNTX1g2XQotCWxkcgl4OCwg W3NwLCAjU19YOF0KKwlsZHAJeDAsIHgxLCBbc3AsICNGUkVHU19YMF0KKwlsZHAJeDIsIHgzLCBb c3AsICNGUkVHU19YMl0KKwlsZHAJeDQsIHg1LCBbc3AsICNGUkVHU19YNF0KKwlsZHAJeDYsIHg3 LCBbc3AsICNGUkVHU19YNl0KKwlsZHIJeDgsICAgICBbc3AsICNGUkVHU19YOF0KIAogCS8qIFJl c3RvcmUgdGhlIGNhbGxzaXRlJ3MgRlAsIExSLCBQQyAqLwotCWxkcgl4MjksIFtzcCwgI1NfRlBd Ci0JbGRyCXgzMCwgW3NwLCAjU19MUl0KLQlsZHIJeDksIFtzcCwgI1NfUENdCisJbGRyCXgyOSwg W3NwLCAjRlJFR1NfRlBdCisJbGRyCXgzMCwgW3NwLCAjRlJFR1NfTFJdCisJbGRyCXg5LCAgW3Nw LCAjRlJFR1NfUENdCiAKIAkvKiBSZXN0b3JlIHRoZSBjYWxsc2l0ZSdzIFNQICovCi0JYWRkCXNw LCBzcCwgI1BUX1JFR1NfU0laRSArIDE2CisJYWRkCXNwLCBzcCwgI0ZSRUdTX1NJWkUgKyAzMgog CiAJcmV0CXg5Ci1TWU1fQ09ERV9FTkQoZnRyYWNlX2NvbW1vbikKK1NZTV9DT0RFX0VORChmdHJh Y2VfY2FsbGVyKQogCi0jZWxzZSAvKiBDT05GSUdfRFlOQU1JQ19GVFJBQ0VfV0lUSF9SRUdTICov CisjZWxzZSAvKiBDT05GSUdfRFlOQU1JQ19GVFJBQ0VfV0lUSF9BUkdTICovCiAKIC8qCiAgKiBH Y2Mgd2l0aCAtcGcgd2lsbCBwdXQgdGhlIGZvbGxvd2luZyBjb2RlIGluIHRoZSBiZWdpbm5pbmcg b2YgZWFjaCBmdW5jdGlvbjoKQEAgLTI5Myw3ICsyNjgsNyBAQCBTWU1fRlVOQ19TVEFSVChmdHJh Y2VfZ3JhcGhfY2FsbGVyKQogCW1jb3VudF9leGl0CiBTWU1fRlVOQ19FTkQoZnRyYWNlX2dyYXBo X2NhbGxlcikKICNlbmRpZiAvKiBDT05GSUdfRlVOQ1RJT05fR1JBUEhfVFJBQ0VSICovCi0jZW5k aWYgLyogQ09ORklHX0RZTkFNSUNfRlRSQUNFX1dJVEhfUkVHUyAqLworI2VuZGlmIC8qIENPTkZJ R19EWU5BTUlDX0ZUUkFDRV9XSVRIX0FSR1MgKi8KIAogU1lNX1RZUEVEX0ZVTkNfU1RBUlQoZnRy YWNlX3N0dWIpCiAJcmV0CmRpZmYgLS1naXQgYS9hcmNoL2FybTY0L2tlcm5lbC9mdHJhY2UuYyBi L2FyY2gvYXJtNjQva2VybmVsL2Z0cmFjZS5jCmluZGV4IDg3NDUxNzVmNGE3NTQuLjVjZjk5MGQw NTJiYTggMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtNjQva2VybmVsL2Z0cmFjZS5jCisrKyBiL2FyY2gv YXJtNjQva2VybmVsL2Z0cmFjZS5jCkBAIC0xNyw2ICsxNyw0OSBAQAogI2luY2x1ZGUgPGFzbS9p bnNuLmg+CiAjaW5jbHVkZSA8YXNtL3BhdGNoaW5nLmg+CiAKKyNpZmRlZiBDT05GSUdfRFlOQU1J Q19GVFJBQ0VfV0lUSF9BUkdTCitzdHJ1Y3QgZnJlZ3Nfb2Zmc2V0IHsKKwljb25zdCBjaGFyICpu YW1lOworCWludCBvZmZzZXQ7Cit9OworCisjZGVmaW5lIEZSRUdTX09GRlNFVChuLCBmaWVsZCkJ CQkJXAorewkJCQkJCQlcCisJLm5hbWUgPSBuLAkJCQkJXAorCS5vZmZzZXQgPSBvZmZzZXRvZihz dHJ1Y3QgZnRyYWNlX3JlZ3MsIGZpZWxkKSwJXAorfQorCitzdGF0aWMgY29uc3Qgc3RydWN0IGZy ZWdzX29mZnNldCBmcmVnc19vZmZzZXRzW10gPSB7CisJRlJFR1NfT0ZGU0VUKCJ4MCIsIHJlZ3Nb MF0pLAorCUZSRUdTX09GRlNFVCgieDEiLCByZWdzWzFdKSwKKwlGUkVHU19PRkZTRVQoIngyIiwg cmVnc1syXSksCisJRlJFR1NfT0ZGU0VUKCJ4MyIsIHJlZ3NbM10pLAorCUZSRUdTX09GRlNFVCgi eDQiLCByZWdzWzRdKSwKKwlGUkVHU19PRkZTRVQoIng1IiwgcmVnc1s1XSksCisJRlJFR1NfT0ZG U0VUKCJ4NiIsIHJlZ3NbNl0pLAorCUZSRUdTX09GRlNFVCgieDciLCByZWdzWzddKSwKKwlGUkVH U19PRkZTRVQoIng4IiwgcmVnc1s4XSksCisKKwlGUkVHU19PRkZTRVQoIngyOSIsIGZwKSwKKwlG UkVHU19PRkZTRVQoIngzMCIsIGxyKSwKKwlGUkVHU19PRkZTRVQoImxyIiwgbHIpLAorCisJRlJF R1NfT0ZGU0VUKCJzcCIsIHNwKSwKKwlGUkVHU19PRkZTRVQoInBjIiwgcGMpLAorfTsKKworaW50 IGZ0cmFjZV9yZWdzX3F1ZXJ5X3JlZ2lzdGVyX29mZnNldChjb25zdCBjaGFyICpuYW1lKQorewor CWZvciAoaW50IGkgPSAwOyBpIDwgQVJSQVlfU0laRShmcmVnc19vZmZzZXRzKTsgaSsrKSB7CisJ CWNvbnN0IHN0cnVjdCBmcmVnc19vZmZzZXQgKnJvZmYgPSAmZnJlZ3Nfb2Zmc2V0c1tpXTsKKwkJ aWYgKCFzdHJjbXAocm9mZi0+bmFtZSwgbmFtZSkpCisJCQlyZXR1cm4gcm9mZi0+b2Zmc2V0Owor CX0KKworCXJldHVybiAtRUlOVkFMOworfQorI2VuZGlmCisKICNpZmRlZiBDT05GSUdfRFlOQU1J Q19GVFJBQ0UKIC8qCiAgKiBSZXBsYWNlIGEgc2luZ2xlIGluc3RydWN0aW9uLCB3aGljaCBtYXkg YmUgYSBicmFuY2ggb3IgTk9QLgpAQCAtNzAsOSArMTEzLDYgQEAgc3RhdGljIHN0cnVjdCBwbHRf ZW50cnkgKmdldF9mdHJhY2VfcGx0KHN0cnVjdCBtb2R1bGUgKm1vZCwgdW5zaWduZWQgbG9uZyBh ZGRyKQogCiAJaWYgKGFkZHIgPT0gRlRSQUNFX0FERFIpCiAJCXJldHVybiAmcGx0W0ZUUkFDRV9Q TFRfSURYXTsKLQlpZiAoYWRkciA9PSBGVFJBQ0VfUkVHU19BRERSICYmCi0JICAgIElTX0VOQUJM RUQoQ09ORklHX0RZTkFNSUNfRlRSQUNFX1dJVEhfUkVHUykpCi0JCXJldHVybiAmcGx0W0ZUUkFD RV9SRUdTX1BMVF9JRFhdOwogI2VuZGlmCiAJcmV0dXJuIE5VTEw7CiB9CkBAIC0xNTQsMjUgKzE5 NCw3IEBAIGludCBmdHJhY2VfbWFrZV9jYWxsKHN0cnVjdCBkeW5fZnRyYWNlICpyZWMsIHVuc2ln bmVkIGxvbmcgYWRkcikKIAlyZXR1cm4gZnRyYWNlX21vZGlmeV9jb2RlKHBjLCBvbGQsIG5ldywg dHJ1ZSk7CiB9CiAKLSNpZmRlZiBDT05GSUdfRFlOQU1JQ19GVFJBQ0VfV0lUSF9SRUdTCi1pbnQg ZnRyYWNlX21vZGlmeV9jYWxsKHN0cnVjdCBkeW5fZnRyYWNlICpyZWMsIHVuc2lnbmVkIGxvbmcg b2xkX2FkZHIsCi0JCQl1bnNpZ25lZCBsb25nIGFkZHIpCi17Ci0JdW5zaWduZWQgbG9uZyBwYyA9 IHJlYy0+aXA7Ci0JdTMyIG9sZCwgbmV3OwotCi0JaWYgKCFmdHJhY2VfZmluZF9jYWxsYWJsZV9h ZGRyKHJlYywgTlVMTCwgJm9sZF9hZGRyKSkKLQkJcmV0dXJuIC1FSU5WQUw7Ci0JaWYgKCFmdHJh Y2VfZmluZF9jYWxsYWJsZV9hZGRyKHJlYywgTlVMTCwgJmFkZHIpKQotCQlyZXR1cm4gLUVJTlZB TDsKLQotCW9sZCA9IGFhcmNoNjRfaW5zbl9nZW5fYnJhbmNoX2ltbShwYywgb2xkX2FkZHIsCi0J CQkJCSAgQUFSQ0g2NF9JTlNOX0JSQU5DSF9MSU5LKTsKLQluZXcgPSBhYXJjaDY0X2luc25fZ2Vu X2JyYW5jaF9pbW0ocGMsIGFkZHIsIEFBUkNINjRfSU5TTl9CUkFOQ0hfTElOSyk7Ci0KLQlyZXR1 cm4gZnRyYWNlX21vZGlmeV9jb2RlKHBjLCBvbGQsIG5ldywgdHJ1ZSk7Ci19Ci0KKyNpZmRlZiBD T05GSUdfRFlOQU1JQ19GVFJBQ0VfV0lUSF9BUkdTCiAvKgogICogVGhlIGNvbXBpbGVyIGhhcyBp bnNlcnRlZCB0d28gTk9QcyBiZWZvcmUgdGhlIHJlZ3VsYXIgZnVuY3Rpb24gcHJvbG9ndWUuCiAg KiBBbGwgaW5zdHJ1bWVudGVkIGZ1bmN0aW9ucyBmb2xsb3cgdGhlIEFBUENTLCBzbyB4MC14OCBh bmQgeDE5LXgzMCBhcmUgbGl2ZSwKQEAgLTIyOCw3ICsyNTAsNyBAQCBpbnQgZnRyYWNlX21ha2Vf bm9wKHN0cnVjdCBtb2R1bGUgKm1vZCwgc3RydWN0IGR5bl9mdHJhY2UgKnJlYywKIAkgKgogCSAq IE5vdGU6ICdtb2QnIGlzIG9ubHkgc2V0IGF0IG1vZHVsZSBsb2FkIHRpbWUuCiAJICovCi0JaWYg KCFJU19FTkFCTEVEKENPTkZJR19EWU5BTUlDX0ZUUkFDRV9XSVRIX1JFR1MpICYmCisJaWYgKCFJ U19FTkFCTEVEKENPTkZJR19EWU5BTUlDX0ZUUkFDRV9XSVRIX0FSR1MpICYmCiAJICAgIElTX0VO QUJMRUQoQ09ORklHX0FSTTY0X01PRFVMRV9QTFRTKSAmJiBtb2QpIHsKIAkJcmV0dXJuIGFhcmNo NjRfaW5zbl9wYXRjaF90ZXh0X25vc3luYygodm9pZCAqKXBjLCBuZXcpOwogCX0KQEAgLTI3OSwx OSArMzAxLDExIEBAIHZvaWQgcHJlcGFyZV9mdHJhY2VfcmV0dXJuKHVuc2lnbmVkIGxvbmcgc2Vs Zl9hZGRyLCB1bnNpZ25lZCBsb25nICpwYXJlbnQsCiAKICNpZmRlZiBDT05GSUdfRFlOQU1JQ19G VFJBQ0UKIAotI2lmZGVmIENPTkZJR19EWU5BTUlDX0ZUUkFDRV9XSVRIX1JFR1MKKyNpZmRlZiBD T05GSUdfRFlOQU1JQ19GVFJBQ0VfV0lUSF9BUkdTCiB2b2lkIGZ0cmFjZV9ncmFwaF9mdW5jKHVu c2lnbmVkIGxvbmcgaXAsIHVuc2lnbmVkIGxvbmcgcGFyZW50X2lwLAogCQkgICAgICAgc3RydWN0 IGZ0cmFjZV9vcHMgKm9wLCBzdHJ1Y3QgZnRyYWNlX3JlZ3MgKmZyZWdzKQogewotCS8qCi0JICog V2hlbiBEWU5BTUlDX0ZUUkFDRV9XSVRIX1JFR1MgaXMgc2VsZWN0ZWQsIGBmcmVnc2AgY2FuIG5l dmVyIGJlIE5VTEwKLQkgKiBhbmQgYXJjaF9mdHJhY2VfZ2V0X3JlZ3MoZnJlZ3MpIHdpbGwgYWx3 YXlzIGdpdmUgYSBub24tTlVMTCBwdF9yZWdzCi0JICogaW4gd2hpY2ggd2UgY2FuIHNhZmVseSBt b2RpZnkgdGhlIExSLgotCSAqLwotCXN0cnVjdCBwdF9yZWdzICpyZWdzID0gYXJjaF9mdHJhY2Vf Z2V0X3JlZ3MoZnJlZ3MpOwotCXVuc2lnbmVkIGxvbmcgKnBhcmVudCA9ICh1bnNpZ25lZCBsb25n ICopJnByb2NlZHVyZV9saW5rX3BvaW50ZXIocmVncyk7Ci0KLQlwcmVwYXJlX2Z0cmFjZV9yZXR1 cm4oaXAsIHBhcmVudCwgZnJhbWVfcG9pbnRlcihyZWdzKSk7CisJcHJlcGFyZV9mdHJhY2VfcmV0 dXJuKGlwLCAmZnJlZ3MtPmxyLCBmcmVncy0+ZnApOwogfQogI2Vsc2UKIC8qCkBAIC0zMjMsNiAr MzM3LDYgQEAgaW50IGZ0cmFjZV9kaXNhYmxlX2Z0cmFjZV9ncmFwaF9jYWxsZXIodm9pZCkKIHsK IAlyZXR1cm4gZnRyYWNlX21vZGlmeV9ncmFwaF9jYWxsZXIoZmFsc2UpOwogfQotI2VuZGlmIC8q IENPTkZJR19EWU5BTUlDX0ZUUkFDRV9XSVRIX1JFR1MgKi8KKyNlbmRpZiAvKiBDT05GSUdfRFlO QU1JQ19GVFJBQ0VfV0lUSF9BUkdTICovCiAjZW5kaWYgLyogQ09ORklHX0RZTkFNSUNfRlRSQUNF ICovCiAjZW5kaWYgLyogQ09ORklHX0ZVTkNUSU9OX0dSQVBIX1RSQUNFUiAqLwpkaWZmIC0tZ2l0 IGEvYXJjaC9hcm02NC9rZXJuZWwvbW9kdWxlLmMgYi9hcmNoL2FybTY0L2tlcm5lbC9tb2R1bGUu YwppbmRleCA3NmI0MWU0Y2E5ZmEzLi5hY2QwZDg4M2U5Y2EyIDEwMDY0NAotLS0gYS9hcmNoL2Fy bTY0L2tlcm5lbC9tb2R1bGUuYworKysgYi9hcmNoL2FybTY0L2tlcm5lbC9tb2R1bGUuYwpAQCAt NDk3LDkgKzQ5Nyw2IEBAIHN0YXRpYyBpbnQgbW9kdWxlX2luaXRfZnRyYWNlX3BsdChjb25zdCBF bGZfRWhkciAqaGRyLAogCiAJX19pbml0X3BsdCgmcGx0c1tGVFJBQ0VfUExUX0lEWF0sIEZUUkFD RV9BRERSKTsKIAotCWlmIChJU19FTkFCTEVEKENPTkZJR19EWU5BTUlDX0ZUUkFDRV9XSVRIX1JF R1MpKQotCQlfX2luaXRfcGx0KCZwbHRzW0ZUUkFDRV9SRUdTX1BMVF9JRFhdLCBGVFJBQ0VfUkVH U19BRERSKTsKLQogCW1vZC0+YXJjaC5mdHJhY2VfdHJhbXBvbGluZXMgPSBwbHRzOwogI2VuZGlm CiAJcmV0dXJuIDA7Ci0tIAoyLjMwLjIKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0t a2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFp bG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==