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 lists.gnu.org (lists.gnu.org [209.51.188.17]) (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 AF29BE8FDC3 for ; Wed, 4 Oct 2023 00:49:32 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qnq43-0004Vq-Qh; Tue, 03 Oct 2023 20:48:35 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qnq41-0004Uu-PG for qemu-devel@nongnu.org; Tue, 03 Oct 2023 20:48:33 -0400 Received: from mx0a-0031df01.pphosted.com ([205.220.168.131]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qnq3y-0004rL-Hw for qemu-devel@nongnu.org; Tue, 03 Oct 2023 20:48:33 -0400 Received: from pps.filterd (m0279864.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 3940bviS027267; Wed, 4 Oct 2023 00:48:21 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quicinc.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-transfer-encoding : content-type; s=qcppdkim1; bh=OVGBsHY9yR/p/nO73+ODDJGeb3jyEXUePllWIM1Scdk=; b=HU4JZRmCQ098BgK04rDhel1sROXjmKtvS9T8PGHSGJA4uQUhN8KnORjUhdC2Y/6BuOoy j/EY5miCyHa4RZwzB5vvxyCibNrFk3fShf+j3Abm+FONQW45UZ3oUrI4vXJb2TpcjtOP EkMBO2010RNMjVFUZOd1m1VuTkyv12K02czUULbW4KHEHHq+Yv4ezL4Vrv8mWMF6sa8+ ZGbx844IrCy9KBD5MjSxx+zJvE6A3RxqEbA4YyI32+k2hO4pb09LmXqNyocBXbftaIag agdL0lkePSLhTSbfvFPO4VRlhihQWYitoMXTZ5DZi18U+JFzdbNL6rwmLvBbQRX6Mnx+ Qg== Received: from nalasppmta03.qualcomm.com (Global_NAT1.qualcomm.com [129.46.96.20]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 3tgbjktjbj-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 04 Oct 2023 00:48:20 +0000 Received: from nalasex01a.na.qualcomm.com (nalasex01a.na.qualcomm.com [10.47.209.196]) by NALASPPMTA03.qualcomm.com (8.17.1.5/8.17.1.5) with ESMTPS id 3940mKLJ010077 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 4 Oct 2023 00:48:20 GMT Received: from hu-bcain-lv.qualcomm.com (10.49.16.6) by nalasex01a.na.qualcomm.com (10.47.209.196) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.36; Tue, 3 Oct 2023 17:48:19 -0700 From: Brian Cain To: CC: , , , , , , , , , Subject: [PULL 1/2] target/hexagon: move GETPC() calls to top level helpers Date: Tue, 3 Oct 2023 17:48:05 -0700 Message-ID: <20231004004806.1461248-2-bcain@quicinc.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20231004004806.1461248-1-bcain@quicinc.com> References: <20231004004806.1461248-1-bcain@quicinc.com> MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Type: text/plain X-Originating-IP: [10.49.16.6] X-ClientProxiedBy: nalasex01b.na.qualcomm.com (10.47.209.197) To nalasex01a.na.qualcomm.com (10.47.209.196) X-QCInternal: smtphost X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=5800 signatures=585085 X-Proofpoint-GUID: BAzoJW3n9YLHoGVHoBybTy0Sg9HnI7kC X-Proofpoint-ORIG-GUID: BAzoJW3n9YLHoGVHoBybTy0Sg9HnI7kC X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.267,Aquarius:18.0.980,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2023-10-03_19,2023-10-02_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxscore=0 malwarescore=0 adultscore=0 suspectscore=0 spamscore=0 impostorscore=0 priorityscore=1501 phishscore=0 lowpriorityscore=0 clxscore=1015 mlxlogscore=999 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2309180000 definitions=main-2310040004 Received-SPF: pass client-ip=205.220.168.131; envelope-from=bcain@quicinc.com; helo=mx0a-0031df01.pphosted.com X-Spam_score_int: -10 X-Spam_score: -1.1 X-Spam_bar: - X-Spam_report: (-1.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, MIME_BASE64_TEXT=1.741, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org RnJvbTogTWF0aGV1cyBUYXZhcmVzIEJlcm5hcmRpbm8gPHF1aWNfbWF0aGJlcm5AcXVpY2luYy5j b20+CgpBcyBkb2NzL2RldmVsL2xvYWRzLXN0b3Jlcy5yc3Qgc3RhdGVzOgoKICBgYEdFVFBDKClg YCBzaG91bGQgYmUgdXNlZCB3aXRoIGdyZWF0IGNhcmU6IGNhbGxpbmcKICBpdCBpbiBvdGhlciBm dW5jdGlvbnMgdGhhdCBhcmUgKm5vdCogdGhlIHRvcCBsZXZlbAogIGBgSEVMUEVSKGZvbylgYCB3 aWxsIGNhdXNlIHVuZXhwZWN0ZWQgYmVoYXZpb3IuIEluc3RlYWQsIHRoZQogIHZhbHVlIG9mIGBg R0VUUEMoKWBgIHNob3VsZCBiZSByZWFkIGZyb20gdGhlIGhlbHBlciBhbmQgcGFzc2VkCiAgaWYg bmVlZGVkIHRvIHRoZSBmdW5jdGlvbnMgdGhhdCB0aGUgaGVscGVyIGNhbGxzLgoKTGV0J3MgZml4 IHRoZSBHRVRQQygpIHVzYWdlIGluIEhleGFnb24sIG1ha2luZyBzdXJlIGl0J3MgYWx3YXlzIGNh bGxlZApmcm9tIHRvcCBsZXZlbCBoZWxwZXJzIGFuZCBwYXNzZWQgZG93biB0byB0aGUgcGxhY2Vz IHdoZXJlIGl0J3MKbmVlZGVkLiBUaGVyZSBhcmUgYSBmZXcgc25pcHBldHMgd2hlcmUgdGhhdCBp cyBub3QgY3VycmVudGx5IHRoZSBjYXNlOgoKLSBwcm9iZV9zdG9yZSgpLCB3aGljaCBpcyBvbmx5 IGNhbGxlZCBmcm9tIHR3byBoZWxwZXJzLCBzbyBpdCdzIGVhc3kgdG8KICBtb3ZlIEdFVFBDKCkg dXAuCgotIG1lbV9sb2FkKigpIGZ1bmN0aW9ucywgd2hpY2ggYXJlIGFsc28gY2FsbGVkIGRpcmVj dGx5IGZyb20gaGVscGVycywKICBidXQgdGhyb3VnaCB0aGUgTUVNX0xPQUQqKCkgc2V0IG9mIG1h Y3Jvcy4gTm90ZSB0aGF0IHRoaXMgYXJlIG9ubHkKICB1c2VkIHdoZW4gY29tcGlsaW5nIHdpdGgg LS1kaXNhYmxlLWhleGFnb24taWRlZi1wYXJzZXIuCgogIEluIHRoaXMgY2FzZSwgd2UgYWxzbyB0 YWtlIHRoaXMgb3Bwb3J0dW5pdHkgdG8gc2ltcGxpZnkgdGhlIGNvZGUsCiAgdW5pZnlpbmcgdGhl IG1lbV9sb2FkKigpIGZ1bmN0aW9ucy4KCi0gSEVMUEVSKHByb2JlX2h2eF9zdG9yZXMpLCB3aGVu IGNhbGxlZCBmcm9tIGFub3RoZXIgaGVscGVyLCBlbmRzIHVwCiAgdXNpbmcgaXRzIG93biBHRVRQ QygpIGV4cGFuc2lvbiBpbnN0ZWFkIG9mIHRoZSB0b3AgbGV2ZWwgY2FsbGVyLgoKU2lnbmVkLW9m Zi1ieTogTWF0aGV1cyBUYXZhcmVzIEJlcm5hcmRpbm8gPHF1aWNfbWF0aGJlcm5AcXVpY2luYy5j b20+ClJldmlld2VkLWJ5OiBUYXlsb3IgU2ltcHNvbiA8bHRheWxvcnNpbXBzb25AZ21haWwuY29t PgpNZXNzYWdlLUlkOiA8MmM3NGMzNjk2OTQ2ZWRiYTdjYzViMjk0MmNmMjk2YTVhZjUzMjA1Mi4x Njg5MDcwNDEyLmdpdC5xdWljX21hdGhiZXJuQHF1aWNpbmMuY29tPi1uZQpSZXZpZXdlZC1ieTog QnJpYW4gQ2FpbiA8YmNhaW5AcXVpY2luYy5jb20+ClNpZ25lZC1vZmYtYnk6IEJyaWFuIENhaW4g PGJjYWluQHF1aWNpbmMuY29tPgotLS0KIHRhcmdldC9oZXhhZ29uL21hY3Jvcy5oICAgIHwgMTkg KysrKystLS0tLQogdGFyZ2V0L2hleGFnb24vb3BfaGVscGVyLmMgfCA3NSArKysrKysrKysrKysr KystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogdGFyZ2V0L2hleGFnb24vb3BfaGVscGVyLmggfCAg OSAtLS0tLQogMyBmaWxlcyBjaGFuZ2VkLCAzOCBpbnNlcnRpb25zKCspLCA2NSBkZWxldGlvbnMo LSkKCmRpZmYgLS1naXQgYS90YXJnZXQvaGV4YWdvbi9tYWNyb3MuaCBiL3RhcmdldC9oZXhhZ29u L21hY3Jvcy5oCmluZGV4IDU0NTFiMDYxZWUuLmRhZmEwZGY2ZWQgMTAwNjQ0Ci0tLSBhL3Rhcmdl dC9oZXhhZ29uL21hY3Jvcy5oCisrKyBiL3RhcmdldC9oZXhhZ29uL21hY3Jvcy5oCkBAIC0xNzMs MTUgKzE3Myw2IEBACiAjZGVmaW5lIE1FTV9TVE9SRTgoVkEsIERBVEEsIFNMT1QpIFwKICAgICBN RU1fU1RPUkU4X0ZVTkMoREFUQSkoY3B1X2VudiwgVkEsIERBVEEsIFNMT1QpCiAjZWxzZQotI2Rl ZmluZSBNRU1fTE9BRDFzKFZBKSAoKGludDhfdCltZW1fbG9hZDEoZW52LCBwa3RfaGFzX3N0b3Jl X3MxLCBzbG90LCBWQSkpCi0jZGVmaW5lIE1FTV9MT0FEMXUoVkEpICgodWludDhfdCltZW1fbG9h ZDEoZW52LCBwa3RfaGFzX3N0b3JlX3MxLCBzbG90LCBWQSkpCi0jZGVmaW5lIE1FTV9MT0FEMnMo VkEpICgoaW50MTZfdCltZW1fbG9hZDIoZW52LCBwa3RfaGFzX3N0b3JlX3MxLCBzbG90LCBWQSkp Ci0jZGVmaW5lIE1FTV9MT0FEMnUoVkEpICgodWludDE2X3QpbWVtX2xvYWQyKGVudiwgcGt0X2hh c19zdG9yZV9zMSwgc2xvdCwgVkEpKQotI2RlZmluZSBNRU1fTE9BRDRzKFZBKSAoKGludDMyX3Qp bWVtX2xvYWQ0KGVudiwgcGt0X2hhc19zdG9yZV9zMSwgc2xvdCwgVkEpKQotI2RlZmluZSBNRU1f TE9BRDR1KFZBKSAoKHVpbnQzMl90KW1lbV9sb2FkNChlbnYsIHBrdF9oYXNfc3RvcmVfczEsIHNs b3QsIFZBKSkKLSNkZWZpbmUgTUVNX0xPQUQ4cyhWQSkgKChpbnQ2NF90KW1lbV9sb2FkOChlbnYs IHBrdF9oYXNfc3RvcmVfczEsIHNsb3QsIFZBKSkKLSNkZWZpbmUgTUVNX0xPQUQ4dShWQSkgKCh1 aW50NjRfdCltZW1fbG9hZDgoZW52LCBwa3RfaGFzX3N0b3JlX3MxLCBzbG90LCBWQSkpCi0KICNk ZWZpbmUgTUVNX1NUT1JFMShWQSwgREFUQSwgU0xPVCkgbG9nX3N0b3JlMzIoZW52LCBWQSwgREFU QSwgMSwgU0xPVCkKICNkZWZpbmUgTUVNX1NUT1JFMihWQSwgREFUQSwgU0xPVCkgbG9nX3N0b3Jl MzIoZW52LCBWQSwgREFUQSwgMiwgU0xPVCkKICNkZWZpbmUgTUVNX1NUT1JFNChWQSwgREFUQSwg U0xPVCkgbG9nX3N0b3JlMzIoZW52LCBWQSwgREFUQSwgNCwgU0xPVCkKQEAgLTUzMCw4ICs1MjEs MTYgQEAgc3RhdGljIGlubGluZSBUQ0d2IGdlbl9yZWFkX2lyZWcoVENHdiByZXN1bHQsIFRDR3Yg dmFsLCBpbnQgc2hpZnQpCiAjaWZkZWYgUUVNVV9HRU5FUkFURQogI2RlZmluZSBmTE9BRChOVU0s IFNJWkUsIFNJR04sIEVBLCBEU1QpIE1FTV9MT0FEIyNTSVpFIyNTSUdOKERTVCwgRUEpCiAjZWxz ZQorI2RlZmluZSBNRU1fTE9BRDEgY3B1X2xkdWJfZGF0YV9yYQorI2RlZmluZSBNRU1fTE9BRDIg Y3B1X2xkdXdfZGF0YV9yYQorI2RlZmluZSBNRU1fTE9BRDQgY3B1X2xkbF9kYXRhX3JhCisjZGVm aW5lIE1FTV9MT0FEOCBjcHVfbGRxX2RhdGFfcmEKKwogI2RlZmluZSBmTE9BRChOVU0sIFNJWkUs IFNJR04sIEVBLCBEU1QpIFwKLSAgICBEU1QgPSAoc2l6ZSMjU0laRSMjU0lHTiMjX3QpTUVNX0xP QUQjI1NJWkUjI1NJR04oRUEpCisgICAgZG8geyBcCisgICAgICAgIGNoZWNrX25vc2h1ZihlbnYs IHBrdF9oYXNfc3RvcmVfczEsIHNsb3QsIEVBLCBTSVpFLCBHRVRQQygpKTsgXAorICAgICAgICBE U1QgPSAoc2l6ZSMjU0laRSMjU0lHTiMjX3QpTUVNX0xPQUQjI1NJWkUoZW52LCBFQSwgR0VUUEMo KSk7IFwKKyAgICB9IHdoaWxlICgwKQogI2VuZGlmCiAKICNkZWZpbmUgZk1FTU9QKE5VTSwgU0la RSwgU0lHTiwgRUEsIEZOVFlQRSwgVkFMVUUpCmRpZmYgLS1naXQgYS90YXJnZXQvaGV4YWdvbi9v cF9oZWxwZXIuYyBiL3RhcmdldC9oZXhhZ29uL29wX2hlbHBlci5jCmluZGV4IDEyOTY3YWMyMWUu LjhjYTM5NzZhNjUgMTAwNjQ0Ci0tLSBhL3RhcmdldC9oZXhhZ29uL29wX2hlbHBlci5jCisrKyBi L3RhcmdldC9oZXhhZ29uL29wX2hlbHBlci5jCkBAIC05NSw5ICs5NSw4IEBAIHZvaWQgSEVMUEVS KGRlYnVnX2NoZWNrX3N0b3JlX3dpZHRoKShDUFVIZXhhZ29uU3RhdGUgKmVudiwgaW50IHNsb3Qs IGludCBjaGVjaykKICAgICB9CiB9CiAKLXZvaWQgSEVMUEVSKGNvbW1pdF9zdG9yZSkoQ1BVSGV4 YWdvblN0YXRlICplbnYsIGludCBzbG90X251bSkKK3N0YXRpYyB2b2lkIGNvbW1pdF9zdG9yZShD UFVIZXhhZ29uU3RhdGUgKmVudiwgaW50IHNsb3RfbnVtLCB1aW50cHRyX3QgcmEpCiB7Ci0gICAg dWludHB0cl90IHJhID0gR0VUUEMoKTsKICAgICB1aW50OF90IHdpZHRoID0gZW52LT5tZW1fbG9n X3N0b3Jlc1tzbG90X251bV0ud2lkdGg7CiAgICAgdGFyZ2V0X3Vsb25nIHZhID0gZW52LT5tZW1f bG9nX3N0b3Jlc1tzbG90X251bV0udmE7CiAKQEAgLTExOSw2ICsxMTgsMTIgQEAgdm9pZCBIRUxQ RVIoY29tbWl0X3N0b3JlKShDUFVIZXhhZ29uU3RhdGUgKmVudiwgaW50IHNsb3RfbnVtKQogICAg IH0KIH0KIAordm9pZCBIRUxQRVIoY29tbWl0X3N0b3JlKShDUFVIZXhhZ29uU3RhdGUgKmVudiwg aW50IHNsb3RfbnVtKQoreworICAgIHVpbnRwdHJfdCByYSA9IEdFVFBDKCk7CisgICAgY29tbWl0 X3N0b3JlKGVudiwgc2xvdF9udW0sIHJhKTsKK30KKwogdm9pZCBIRUxQRVIoZ2F0aGVyX3N0b3Jl KShDUFVIZXhhZ29uU3RhdGUgKmVudiwgdWludDMyX3QgYWRkciwgaW50IHNsb3QpCiB7CiAgICAg bWVtX2dhdGhlcl9zdG9yZShlbnYsIGFkZHIsIHNsb3QpOwpAQCAtNDY3LDEzICs0NzIsMTIgQEAg aW50MzJfdCBIRUxQRVIoY2FiYWNkZWNiaW5fcHJlZCkoaW50NjRfdCBSc3NWLCBpbnQ2NF90IFJ0 dFYpCiB9CiAKIHN0YXRpYyB2b2lkIHByb2JlX3N0b3JlKENQVUhleGFnb25TdGF0ZSAqZW52LCBp bnQgc2xvdCwgaW50IG1tdV9pZHgsCi0gICAgICAgICAgICAgICAgICAgICAgICBib29sIGlzX3By ZWRpY2F0ZWQpCisgICAgICAgICAgICAgICAgICAgICAgICBib29sIGlzX3ByZWRpY2F0ZWQsIHVp bnRwdHJfdCByZXRhZGRyKQogewogICAgIGlmICghaXNfcHJlZGljYXRlZCB8fCAhKGVudi0+c2xv dF9jYW5jZWxsZWQgJiAoMSA8PCBzbG90KSkpIHsKICAgICAgICAgc2l6ZTF1X3Qgd2lkdGggPSBl bnYtPm1lbV9sb2dfc3RvcmVzW3Nsb3RdLndpZHRoOwogICAgICAgICB0YXJnZXRfdWxvbmcgdmEg PSBlbnYtPm1lbV9sb2dfc3RvcmVzW3Nsb3RdLnZhOwotICAgICAgICB1aW50cHRyX3QgcmEgPSBH RVRQQygpOwotICAgICAgICBwcm9iZV93cml0ZShlbnYsIHZhLCB3aWR0aCwgbW11X2lkeCwgcmEp OworICAgICAgICBwcm9iZV93cml0ZShlbnYsIHZhLCB3aWR0aCwgbW11X2lkeCwgcmV0YWRkcik7 CiAgICAgfQogfQogCkBAIC00OTQsMTIgKzQ5OCwxMyBAQCB2b2lkIEhFTFBFUihwcm9iZV9wa3Rf c2NhbGFyX3N0b3JlX3MwKShDUFVIZXhhZ29uU3RhdGUgKmVudiwgaW50IGFyZ3MpCiAgICAgaW50 IG1tdV9pZHggPSBGSUVMRF9FWDMyKGFyZ3MsIFBST0JFX1BLVF9TQ0FMQVJfU1RPUkVfUzAsIE1N VV9JRFgpOwogICAgIGJvb2wgaXNfcHJlZGljYXRlZCA9CiAgICAgICAgIEZJRUxEX0VYMzIoYXJn cywgUFJPQkVfUEtUX1NDQUxBUl9TVE9SRV9TMCwgSVNfUFJFRElDQVRFRCk7Ci0gICAgcHJvYmVf c3RvcmUoZW52LCAwLCBtbXVfaWR4LCBpc19wcmVkaWNhdGVkKTsKKyAgICB1aW50cHRyX3QgcmEg PSBHRVRQQygpOworICAgIHByb2JlX3N0b3JlKGVudiwgMCwgbW11X2lkeCwgaXNfcHJlZGljYXRl ZCwgcmEpOwogfQogCi12b2lkIEhFTFBFUihwcm9iZV9odnhfc3RvcmVzKShDUFVIZXhhZ29uU3Rh dGUgKmVudiwgaW50IG1tdV9pZHgpCitzdGF0aWMgdm9pZCBwcm9iZV9odnhfc3RvcmVzKENQVUhl eGFnb25TdGF0ZSAqZW52LCBpbnQgbW11X2lkeCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHVpbnRwdHJfdCByZXRhZGRyKQogewotICAgIHVpbnRwdHJfdCByZXRhZGRyID0g R0VUUEMoKTsKICAgICBpbnQgaTsKIAogICAgIC8qIE5vcm1hbCAocG9zc2libHkgbWFza2VkKSB2 ZWN0b3Igc3RvcmUgKi8KQEAgLTUzOCw2ICs1NDMsMTIgQEAgdm9pZCBIRUxQRVIocHJvYmVfaHZ4 X3N0b3JlcykoQ1BVSGV4YWdvblN0YXRlICplbnYsIGludCBtbXVfaWR4KQogICAgIH0KIH0KIAor dm9pZCBIRUxQRVIocHJvYmVfaHZ4X3N0b3JlcykoQ1BVSGV4YWdvblN0YXRlICplbnYsIGludCBt bXVfaWR4KQoreworICAgIHVpbnRwdHJfdCByZXRhZGRyID0gR0VUUEMoKTsKKyAgICBwcm9iZV9o dnhfc3RvcmVzKGVudiwgbW11X2lkeCwgcmV0YWRkcik7Cit9CisKIHZvaWQgSEVMUEVSKHByb2Jl X3BrdF9zY2FsYXJfaHZ4X3N0b3JlcykoQ1BVSGV4YWdvblN0YXRlICplbnYsIGludCBtYXNrKQog ewogICAgIGJvb2wgaGFzX3N0MCA9IEZJRUxEX0VYMzIobWFzaywgUFJPQkVfUEtUX1NDQUxBUl9I VlhfU1RPUkVTLCBIQVNfU1QwKTsKQEAgLTU0NywxOCArNTU4LDIwIEBAIHZvaWQgSEVMUEVSKHBy b2JlX3BrdF9zY2FsYXJfaHZ4X3N0b3JlcykoQ1BVSGV4YWdvblN0YXRlICplbnYsIGludCBtYXNr KQogICAgIGJvb2wgczBfaXNfcHJlZCA9IEZJRUxEX0VYMzIobWFzaywgUFJPQkVfUEtUX1NDQUxB Ul9IVlhfU1RPUkVTLCBTMF9JU19QUkVEKTsKICAgICBib29sIHMxX2lzX3ByZWQgPSBGSUVMRF9F WDMyKG1hc2ssIFBST0JFX1BLVF9TQ0FMQVJfSFZYX1NUT1JFUywgUzFfSVNfUFJFRCk7CiAgICAg aW50IG1tdV9pZHggPSBGSUVMRF9FWDMyKG1hc2ssIFBST0JFX1BLVF9TQ0FMQVJfSFZYX1NUT1JF UywgTU1VX0lEWCk7CisgICAgdWludHB0cl90IHJhID0gR0VUUEMoKTsKIAogICAgIGlmIChoYXNf c3QwKSB7Ci0gICAgICAgIHByb2JlX3N0b3JlKGVudiwgMCwgbW11X2lkeCwgczBfaXNfcHJlZCk7 CisgICAgICAgIHByb2JlX3N0b3JlKGVudiwgMCwgbW11X2lkeCwgczBfaXNfcHJlZCwgcmEpOwog ICAgIH0KICAgICBpZiAoaGFzX3N0MSkgewotICAgICAgICBwcm9iZV9zdG9yZShlbnYsIDEsIG1t dV9pZHgsIHMxX2lzX3ByZWQpOworICAgICAgICBwcm9iZV9zdG9yZShlbnYsIDEsIG1tdV9pZHgs IHMxX2lzX3ByZWQsIHJhKTsKICAgICB9CiAgICAgaWYgKGhhc19odnhfc3RvcmVzKSB7Ci0gICAg ICAgIEhFTFBFUihwcm9iZV9odnhfc3RvcmVzKShlbnYsIG1tdV9pZHgpOworICAgICAgICBwcm9i ZV9odnhfc3RvcmVzKGVudiwgbW11X2lkeCwgcmEpOwogICAgIH0KIH0KIAorI2lmbmRlZiBDT05G SUdfSEVYQUdPTl9JREVGX1BBUlNFUgogLyoKICAqIG1lbV9ub3NodWYKICAqIFNlY3Rpb24gNS41 IG9mIHRoZSBIZXhhZ29uIFY2NyBQcm9ncmFtbWVyJ3MgUmVmZXJlbmNlIE1hbnVhbApAQCAtNTY3 LDQ2ICs1ODAsMTYgQEAgdm9pZCBIRUxQRVIocHJvYmVfcGt0X3NjYWxhcl9odnhfc3RvcmVzKShD UFVIZXhhZ29uU3RhdGUgKmVudiwgaW50IG1hc2spCiAgKiB3YXNuJ3QgY2FuY2VsbGVkKSwgd2Ug aGF2ZSB0byBkbyB0aGUgc3RvcmUgZmlyc3QuCiAgKi8KIHN0YXRpYyB2b2lkIGNoZWNrX25vc2h1 ZihDUFVIZXhhZ29uU3RhdGUgKmVudiwgYm9vbCBwa3RfaGFzX3N0b3JlX3MxLAotICAgICAgICAg ICAgICAgICAgICAgICAgIHVpbnQzMl90IHNsb3QsIHRhcmdldF91bG9uZyB2YWRkciwgaW50IHNp emUpCisgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2xvdCwgdGFyZ2V0X3Vsb25n IHZhZGRyLCBpbnQgc2l6ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICB1aW50cHRyX3QgcmEp CiB7CiAgICAgaWYgKHNsb3QgPT0gMCAmJiBwa3RfaGFzX3N0b3JlX3MxICYmCiAgICAgICAgICgo ZW52LT5zbG90X2NhbmNlbGxlZCAmICgxIDw8IDEpKSA9PSAwKSkgewotICAgICAgICBIRUxQRVIo cHJvYmVfbm9zaHVmX2xvYWQpKGVudiwgdmFkZHIsIHNpemUsIE1NVV9VU0VSX0lEWCk7Ci0gICAg ICAgIEhFTFBFUihjb21taXRfc3RvcmUpKGVudiwgMSk7CisgICAgICAgIHByb2JlX3JlYWQoZW52 LCB2YWRkciwgc2l6ZSwgTU1VX1VTRVJfSURYLCByYSk7CisgICAgICAgIGNvbW1pdF9zdG9yZShl bnYsIDEsIHJhKTsKICAgICB9CiB9Ci0KLXVpbnQ4X3QgbWVtX2xvYWQxKENQVUhleGFnb25TdGF0 ZSAqZW52LCBib29sIHBrdF9oYXNfc3RvcmVfczEsCi0gICAgICAgICAgICAgICAgICB1aW50MzJf dCBzbG90LCB0YXJnZXRfdWxvbmcgdmFkZHIpCi17Ci0gICAgdWludHB0cl90IHJhID0gR0VUUEMo KTsKLSAgICBjaGVja19ub3NodWYoZW52LCBwa3RfaGFzX3N0b3JlX3MxLCBzbG90LCB2YWRkciwg MSk7Ci0gICAgcmV0dXJuIGNwdV9sZHViX2RhdGFfcmEoZW52LCB2YWRkciwgcmEpOwotfQotCi11 aW50MTZfdCBtZW1fbG9hZDIoQ1BVSGV4YWdvblN0YXRlICplbnYsIGJvb2wgcGt0X2hhc19zdG9y ZV9zMSwKLSAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzbG90LCB0YXJnZXRfdWxvbmcgdmFk ZHIpCi17Ci0gICAgdWludHB0cl90IHJhID0gR0VUUEMoKTsKLSAgICBjaGVja19ub3NodWYoZW52 LCBwa3RfaGFzX3N0b3JlX3MxLCBzbG90LCB2YWRkciwgMik7Ci0gICAgcmV0dXJuIGNwdV9sZHV3 X2RhdGFfcmEoZW52LCB2YWRkciwgcmEpOwotfQotCi11aW50MzJfdCBtZW1fbG9hZDQoQ1BVSGV4 YWdvblN0YXRlICplbnYsIGJvb2wgcGt0X2hhc19zdG9yZV9zMSwKLSAgICAgICAgICAgICAgICAg ICB1aW50MzJfdCBzbG90LCB0YXJnZXRfdWxvbmcgdmFkZHIpCi17Ci0gICAgdWludHB0cl90IHJh ID0gR0VUUEMoKTsKLSAgICBjaGVja19ub3NodWYoZW52LCBwa3RfaGFzX3N0b3JlX3MxLCBzbG90 LCB2YWRkciwgNCk7Ci0gICAgcmV0dXJuIGNwdV9sZGxfZGF0YV9yYShlbnYsIHZhZGRyLCByYSk7 Ci19Ci0KLXVpbnQ2NF90IG1lbV9sb2FkOChDUFVIZXhhZ29uU3RhdGUgKmVudiwgYm9vbCBwa3Rf aGFzX3N0b3JlX3MxLAotICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNsb3QsIHRhcmdldF91 bG9uZyB2YWRkcikKLXsKLSAgICB1aW50cHRyX3QgcmEgPSBHRVRQQygpOwotICAgIGNoZWNrX25v c2h1ZihlbnYsIHBrdF9oYXNfc3RvcmVfczEsIHNsb3QsIHZhZGRyLCA4KTsKLSAgICByZXR1cm4g Y3B1X2xkcV9kYXRhX3JhKGVudiwgdmFkZHIsIHJhKTsKLX0KKyNlbmRpZgogCiAvKiBGbG9hdGlu ZyBwb2ludCAqLwogZmxvYXQ2NCBIRUxQRVIoY29udl9zZjJkZikoQ1BVSGV4YWdvblN0YXRlICpl bnYsIGZsb2F0MzIgUnNWKQpkaWZmIC0tZ2l0IGEvdGFyZ2V0L2hleGFnb24vb3BfaGVscGVyLmgg Yi90YXJnZXQvaGV4YWdvbi9vcF9oZWxwZXIuaAppbmRleCA4ZjM3NjRkMTVlLi42NjExOWNmM2Q0 IDEwMDY0NAotLS0gYS90YXJnZXQvaGV4YWdvbi9vcF9oZWxwZXIuaAorKysgYi90YXJnZXQvaGV4 YWdvbi9vcF9oZWxwZXIuaApAQCAtMTksMTUgKzE5LDYgQEAKICNkZWZpbmUgSEVYQUdPTl9PUF9I RUxQRVJfSAogCiAvKiBNaXNjIGZ1bmN0aW9ucyAqLwotdWludDhfdCBtZW1fbG9hZDEoQ1BVSGV4 YWdvblN0YXRlICplbnYsIGJvb2wgcGt0X2hhc19zdG9yZV9zMSwKLSAgICAgICAgICAgICAgICAg IHVpbnQzMl90IHNsb3QsIHRhcmdldF91bG9uZyB2YWRkcik7Ci11aW50MTZfdCBtZW1fbG9hZDIo Q1BVSGV4YWdvblN0YXRlICplbnYsIGJvb2wgcGt0X2hhc19zdG9yZV9zMSwKLSAgICAgICAgICAg ICAgICAgICB1aW50MzJfdCBzbG90LCB0YXJnZXRfdWxvbmcgdmFkZHIpOwotdWludDMyX3QgbWVt X2xvYWQ0KENQVUhleGFnb25TdGF0ZSAqZW52LCBib29sIHBrdF9oYXNfc3RvcmVfczEsCi0gICAg ICAgICAgICAgICAgICAgdWludDMyX3Qgc2xvdCwgdGFyZ2V0X3Vsb25nIHZhZGRyKTsKLXVpbnQ2 NF90IG1lbV9sb2FkOChDUFVIZXhhZ29uU3RhdGUgKmVudiwgYm9vbCBwa3RfaGFzX3N0b3JlX3Mx LAotICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNsb3QsIHRhcmdldF91bG9uZyB2YWRkcik7 Ci0KIHZvaWQgbG9nX3N0b3JlNjQoQ1BVSGV4YWdvblN0YXRlICplbnYsIHRhcmdldF91bG9uZyBh ZGRyLAogICAgICAgICAgICAgICAgICBpbnQ2NF90IHZhbCwgaW50IHdpZHRoLCBpbnQgc2xvdCk7 CiB2b2lkIGxvZ19zdG9yZTMyKENQVUhleGFnb25TdGF0ZSAqZW52LCB0YXJnZXRfdWxvbmcgYWRk ciwKLS0gCjIuMjUuMQoK