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 D4461C77B7C for ; Wed, 26 Apr 2023 00:46:27 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1prTFf-00089i-RK; Tue, 25 Apr 2023 20:43:20 -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 1prTFe-00089L-HD for qemu-devel@nongnu.org; Tue, 25 Apr 2023 20:43:18 -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 1prTFA-0006Ph-Ln for qemu-devel@nongnu.org; Tue, 25 Apr 2023 20:43:17 -0400 Received: from pps.filterd (m0279866.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 33PNlUCg002280; Wed, 26 Apr 2023 00:42:37 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-type : content-transfer-encoding; s=qcppdkim1; bh=4QbeP18odkhpu/VkqyAwN/FHYSAkqftxMbRla6IQJk4=; b=Iz1+3Q05lU6vStf0tIYnwSglZUyw29Q90jFlFVxOAJlVEwIqSWk+/JO8K2YajgFzX+Bj Y9jERgIR8fabqUVOUTmQ+DkkopGnacIRZy0HfYx/vUSDv7xzySt6njxyywfHBxWDGgEW r5a4t5a2RguJdiEcHBNAuzHErs3flxrOmTpyUCcxMHBOVf2ksVs8W3/sd9xZGzGhXl3n wmJ7Ww6JakBf15OUcJa/x2SxWR4LTu7tdpT2DaX4O5YiQirdmK/DYrk/hXwKCnpyS/OB +H3DxMijRDYfL29zXIeyNsh5tCcwM5WcEsm1lK6WA11TaIReManyA/GRc2oUDepETUMq +Q== Received: from nalasppmta05.qualcomm.com (Global_NAT1.qualcomm.com [129.46.96.20]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 3q6rk0r3wr-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 26 Apr 2023 00:42:37 +0000 Received: from pps.filterd (NALASPPMTA05.qualcomm.com [127.0.0.1]) by NALASPPMTA05.qualcomm.com (8.17.1.5/8.17.1.5) with ESMTP id 33Q0gb9O001953; Wed, 26 Apr 2023 00:42:37 GMT Received: from pps.reinject (localhost [127.0.0.1]) by NALASPPMTA05.qualcomm.com (PPS) with ESMTPS id 3q48nmd04u-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 26 Apr 2023 00:42:37 +0000 Received: from NALASPPMTA05.qualcomm.com (NALASPPMTA05.qualcomm.com [127.0.0.1]) by pps.reinject (8.17.1.5/8.17.1.5) with ESMTP id 33Q0ex49000755; Wed, 26 Apr 2023 00:42:36 GMT Received: from hu-devc-sd-u20-a-1.qualcomm.com (hu-tsimpson-lv.qualcomm.com [10.47.204.221]) by NALASPPMTA05.qualcomm.com (PPS) with ESMTPS id 33Q0gaas001936 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 26 Apr 2023 00:42:36 +0000 Received: by hu-devc-sd-u20-a-1.qualcomm.com (Postfix, from userid 47164) id A84AB690; Tue, 25 Apr 2023 17:42:35 -0700 (PDT) From: Taylor Simpson To: qemu-devel@nongnu.org Cc: tsimpson@quicinc.com, richard.henderson@linaro.org, philmd@linaro.org, ale@rev.ng, anjo@rev.ng, bcain@quicinc.com, quic_mathbern@quicinc.com Subject: [PATCH 15/21] Hexagon (target/hexagon) Add overrides for disabled idef-parser insns Date: Tue, 25 Apr 2023 17:42:30 -0700 Message-Id: <20230426004234.1319401-6-tsimpson@quicinc.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230426004234.1319401-1-tsimpson@quicinc.com> References: <20230426004234.1319401-1-tsimpson@quicinc.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 X-QCInternal: smtphost X-QCInternal: smtphost X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=5800 signatures=585085 X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=5800 signatures=585085 X-Proofpoint-GUID: bO_x7dx-SGoKHSvE31JZ7sxCLX9fzGQ1 X-Proofpoint-ORIG-GUID: bO_x7dx-SGoKHSvE31JZ7sxCLX9fzGQ1 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-04-25_11,2023-04-25_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 adultscore=0 clxscore=1015 spamscore=0 mlxlogscore=999 lowpriorityscore=0 mlxscore=0 suspectscore=0 bulkscore=0 impostorscore=0 priorityscore=1501 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2303200000 definitions=main-2304260004 Received-SPF: pass client-ip=205.220.168.131; envelope-from=tsimpson@qualcomm.com; helo=mx0a-0031df01.pphosted.com X-Spam_score_int: -24 X-Spam_score: -2.5 X-Spam_bar: -- X-Spam_report: (-2.5 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HEADER_FROM_DIFFERENT_DOMAINS=0.25, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 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 VGhlIGZvbGxvd2luZyBoYXZlIG92ZXJyaWRlcwogICAgUzJfaW5zZXJ0CiAgICBTMl9pbnNlcnRf cnAKICAgIFMyX2Fzcl9yX3N2d190cnVuCiAgICBBMl9zd2l6CgpUaGVzZSBpbnN0cnVjdGlvbnMg aGF2ZSBzZW1hbnRpY3MgdGhhdCB3cml0ZSB0byB0aGUgZGVzdGluYXRpb24KYmVmb3JlIGFsbCB0 aGUgb3BlcmFuZCByZWFkcyBoYXZlIGJlZW4gY29tcGxldGVkLiAgVGhlcmVmb3JlLAp0aGUgaWRl Zi1wYXJzZXIgdmVyc2lvbnMgd2VyZSBkaXNhYmxlZCB3aXRoIHRoZSBzaG9ydC1jaXJjdWl0IHBh dGNoLgoKVGVzdCBjYXNlcyBhZGRlZCB0byB0ZXN0cy90Y2cvaGV4YWdvbi9yZWFkX3dyaXRlX292 ZXJsYXAuYwoKU2lnbmVkLW9mZi1ieTogVGF5bG9yIFNpbXBzb24gPHRzaW1wc29uQHF1aWNpbmMu Y29tPgotLS0KIHRhcmdldC9oZXhhZ29uL2dlbl90Y2cuaCAgICAgICAgICAgICAgIHwgIDE4ICsr KysKIHRhcmdldC9oZXhhZ29uL2dlbnB0ci5jICAgICAgICAgICAgICAgIHwgMTAwICsrKysrKysr KysrKysrKysrKwogdGVzdHMvdGNnL2hleGFnb24vcmVhZF93cml0ZV9vdmVybGFwLmMgfCAxMzYg KysrKysrKysrKysrKysrKysrKysrKysrKwogdGVzdHMvdGNnL2hleGFnb24vTWFrZWZpbGUudGFy Z2V0ICAgICAgfCAgIDEgKwogNCBmaWxlcyBjaGFuZ2VkLCAyNTUgaW5zZXJ0aW9ucygrKQogY3Jl YXRlIG1vZGUgMTAwNjQ0IHRlc3RzL3RjZy9oZXhhZ29uL3JlYWRfd3JpdGVfb3ZlcmxhcC5jCgpk aWZmIC0tZ2l0IGEvdGFyZ2V0L2hleGFnb24vZ2VuX3RjZy5oIGIvdGFyZ2V0L2hleGFnb24vZ2Vu X3RjZy5oCmluZGV4IGVjMzg4NjI5YjMuLjYzZDNkMDViY2MgMTAwNjQ0Ci0tLSBhL3RhcmdldC9o ZXhhZ29uL2dlbl90Y2cuaAorKysgYi90YXJnZXQvaGV4YWdvbi9nZW5fdGNnLmgKQEAgLTExODMs NiArMTE4MywyNCBAQAogICAgICAgICB0Y2dfZ2VuX2V4dHJsX2k2NF9pMzIoUmRWLCB0bXApOyBc CiAgICAgfSB3aGlsZSAoMCkKIAorI2RlZmluZSBmR0VOX1RDR19TMl9pbnNlcnQoU0hPUlRDT0RF KSBcCisgICAgZG8geyBcCisgICAgICAgIGludCB3aWR0aCA9IHVpVjsgXAorICAgICAgICBpbnQg b2Zmc2V0ID0gVWlWOyBcCisgICAgICAgIGlmICh3aWR0aCAhPSAwKSB7IFwKKyAgICAgICAgICAg IGlmIChvZmZzZXQgKyB3aWR0aCA+IDMyKSB7IFwKKyAgICAgICAgICAgICAgICB3aWR0aCA9IDMy IC0gb2Zmc2V0OyBcCisgICAgICAgICAgICB9IFwKKyAgICAgICAgICAgIHRjZ19nZW5fZGVwb3Np dF90bChSeFYsIFJ4ViwgUnNWLCBvZmZzZXQsIHdpZHRoKTsgXAorICAgICAgICB9IFwKKyAgICB9 IHdoaWxlICgwKQorI2RlZmluZSBmR0VOX1RDR19TMl9pbnNlcnRfcnAoU0hPUlRDT0RFKSBcCisg ICAgZ2VuX2luc2VydF9ycChjdHgsIFJ4ViwgUnNWLCBSdHRWKQorI2RlZmluZSBmR0VOX1RDR19T Ml9hc3Jfcl9zdndfdHJ1bihTSE9SVENPREUpIFwKKyAgICBnZW5fYXNyX3Jfc3Z3X3RydW4oY3R4 LCBSZFYsIFJzc1YsIFJ0VikKKyNkZWZpbmUgZkdFTl9UQ0dfQTJfc3dpeihTSE9SVENPREUpIFwK KyAgICB0Y2dfZ2VuX2Jzd2FwX3RsKFJkViwgUnNWKQorCiAvKiBGbG9hdGluZyBwb2ludCAqLwog I2RlZmluZSBmR0VOX1RDR19GMl9jb252X3NmMmRmKFNIT1JUQ09ERSkgXAogICAgIGdlbl9oZWxw ZXJfY29udl9zZjJkZihSZGRWLCBjcHVfZW52LCBSc1YpCmRpZmYgLS1naXQgYS90YXJnZXQvaGV4 YWdvbi9nZW5wdHIuYyBiL3RhcmdldC9oZXhhZ29uL2dlbnB0ci5jCmluZGV4IDhlNWFmYWI5MzEu LmE0YWEzYjhjYzIgMTAwNjQ0Ci0tLSBhL3RhcmdldC9oZXhhZ29uL2dlbnB0ci5jCisrKyBiL3Rh cmdldC9oZXhhZ29uL2dlbnB0ci5jCkBAIC0xMDYyLDYgKzEwNjIsMTA2IEBAIHN0YXRpYyB2b2lk IGdlbl9hc2xfcl9yX3NhdChEaXNhc0NvbnRleHQgKmN0eCwgVENHdiBSZFYsIFRDR3YgUnNWLCBU Q0d2IFJ0VikKICAgICBnZW5fc2V0X2xhYmVsKGRvbmUpOwogfQogCitzdGF0aWMgdm9pZCBnZW5f aW5zZXJ0X3JwKERpc2FzQ29udGV4dCAqY3R4LCBUQ0d2IFJ4ViwgVENHdiBSc1YsIFRDR3ZfaTY0 IFJ0dFYpCit7CisgICAgLyoKKyAgICAgKiBpbnQgd2lkdGggPSBmWlhUTig2LCAzMiwgKGZHRVRX T1JEKDEsIFJ0dFYpKSk7CisgICAgICogaW50IG9mZnNldCA9IGZTWFROKDcsIDMyLCAoZkdFVFdP UkQoMCwgUnR0VikpKTsKKyAgICAgKiBzaXplOHVfdCBtYXNrID0gKChmQ09OU1RMTCgxKSA8PCB3 aWR0aCkgLSAxKTsKKyAgICAgKiBpZiAob2Zmc2V0IDwgMCkgeworICAgICAqICAgICBSeFYgPSAw OworICAgICAqIH0gZWxzZSB7CisgICAgICogICAgIFJ4ViAmPSB+KG1hc2sgPDwgb2Zmc2V0KTsK KyAgICAgKiAgICAgUnhWIHw9ICgoUnNWICYgbWFzaykgPDwgb2Zmc2V0KTsKKyAgICAgKiB9Cisg ICAgICovCisKKyAgICBUQ0d2IHdpZHRoID0gdGNnX3RlbXBfbmV3KCk7CisgICAgVENHdiBvZmZz ZXQgPSB0Y2dfdGVtcF9uZXcoKTsKKyAgICBUQ0d2X2k2NCBtYXNrID0gdGNnX3RlbXBfbmV3X2k2 NCgpOworICAgIFRDR3ZfaTY0IHJlc3VsdCA9IHRjZ190ZW1wX25ld19pNjQoKTsKKyAgICBUQ0d2 X2k2NCB0bXAgPSB0Y2dfdGVtcF9uZXdfaTY0KCk7CisgICAgVENHdl9pNjQgb2Zmc2V0NjQgPSB0 Y2dfdGVtcF9uZXdfaTY0KCk7CisgICAgVENHTGFiZWwgKmxhYmVsID0gZ2VuX25ld19sYWJlbCgp OworICAgIFRDR0xhYmVsICpkb25lID0gZ2VuX25ld19sYWJlbCgpOworCisgICAgdGNnX2dlbl9l eHRyaF9pNjRfaTMyKHdpZHRoLCBSdHRWKTsKKyAgICB0Y2dfZ2VuX2V4dHJhY3RfdGwod2lkdGgs IHdpZHRoLCAwLCA2KTsKKyAgICB0Y2dfZ2VuX2V4dHJsX2k2NF9pMzIob2Zmc2V0LCBSdHRWKTsK KyAgICB0Y2dfZ2VuX3NleHRyYWN0X3RsKG9mZnNldCwgb2Zmc2V0LCAwLCA3KTsKKyAgICAvKiBQ b3NzaWJsZSB2YWx1ZXMgZm9yIG9mZnNldCBhcmUgLTY0IC4uIDYzICovCisgICAgdGNnX2dlbl9i cmNvbmRpX3RsKFRDR19DT05EX0dFLCBvZmZzZXQsIDAsIGxhYmVsKTsKKyAgICAvKiBGb3IgbmVn YXRpdmUgb2Zmc2V0cywgemVybyBvdXQgdGhlIHJlc3VsdCAqLworICAgIHRjZ19nZW5fbW92aV90 bChSeFYsIDApOworICAgIHRjZ19nZW5fYnIoZG9uZSk7CisgICAgZ2VuX3NldF9sYWJlbChsYWJl bCk7CisgICAgLyogQXQgdGhpcyBwb2ludCwgcG9zc2libGUgdmFsdWVzIG9mIG9mZnNldCBhcmUg MCAuLiA2MyAqLworICAgIHRjZ19nZW5fZXh0X2kzMl9pNjQobWFzaywgd2lkdGgpOworICAgIHRj Z19nZW5fc2hsX2k2NChtYXNrLCB0Y2dfY29uc3RhbnRfaTY0KDEpLCBtYXNrKTsKKyAgICB0Y2df Z2VuX3N1YmlfaTY0KG1hc2ssIG1hc2ssIDEpOworICAgIHRjZ19nZW5fZXh0dV9pMzJfaTY0KHJl c3VsdCwgUnhWKTsKKyAgICB0Y2dfZ2VuX2V4dF9pMzJfaTY0KHRtcCwgb2Zmc2V0KTsKKyAgICB0 Y2dfZ2VuX3NobF9pNjQodG1wLCBtYXNrLCB0bXApOworICAgIHRjZ19nZW5fbm90X2k2NCh0bXAs IHRtcCk7CisgICAgdGNnX2dlbl9hbmRfaTY0KHJlc3VsdCwgcmVzdWx0LCB0bXApOworICAgIHRj Z19nZW5fZXh0dV9pMzJfaTY0KHRtcCwgUnNWKTsKKyAgICB0Y2dfZ2VuX2FuZF9pNjQodG1wLCB0 bXAsIG1hc2spOworICAgIHRjZ19nZW5fZXh0dV9pMzJfaTY0KG9mZnNldDY0LCBvZmZzZXQpOwor ICAgIHRjZ19nZW5fc2hsX2k2NCh0bXAsIHRtcCwgb2Zmc2V0NjQpOworICAgIHRjZ19nZW5fb3Jf aTY0KHJlc3VsdCwgcmVzdWx0LCB0bXApOworICAgIHRjZ19nZW5fZXh0cmxfaTY0X2kzMihSeFYs IHJlc3VsdCk7CisgICAgZ2VuX3NldF9sYWJlbChkb25lKTsKK30KKworc3RhdGljIHZvaWQgZ2Vu X2Fzcl9yX3N2d190cnVuKERpc2FzQ29udGV4dCAqY3R4LCBUQ0d2IFJkViwKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBUQ0d2X2k2NCBSc3NWLCBUQ0d2IFJ0VikKK3sKKyAgICAvKgor ICAgICAqIGZvciAoaW50IGkgPSAwOyBpIDwgMjsgaSsrKSB7CisgICAgICogICAgIGZTRVRIQUxG KGksIFJkViwgZkdFVEhBTEYoMCwgKChmU1hUTig3LCAzMiwgUnRWKSA+IDApID8KKyAgICAgKiAg ICAgICAgIChmQ0FTVDRfOHMoZkdFVFdPUkQoaSwgUnNzVikpID4+IGZTWFROKDcsIDMyLCBSdFYp KSA6CisgICAgICogICAgICAgICAoZkNBU1Q0XzhzKGZHRVRXT1JEKGksIFJzc1YpKSA8PCAtZlNY VE4oNywgMzIsIFJ0VikpKSkpOworICAgICAqIH0KKyAgICAgKi8KKyAgICBUQ0d2IHNoaWZ0X2Ft dDMyID0gdGNnX3RlbXBfbmV3KCk7CisgICAgVENHdl9pNjQgc2hpZnRfYW10NjQgPSB0Y2dfdGVt cF9uZXdfaTY0KCk7CisgICAgVENHdl9pNjQgdG1wNjQgPSB0Y2dfdGVtcF9uZXdfaTY0KCk7Cisg ICAgVENHdiB0bXAzMiA9IHRjZ190ZW1wX25ldygpOworICAgIFRDR0xhYmVsICpsYWJlbCA9IGdl bl9uZXdfbGFiZWwoKTsKKyAgICBUQ0dMYWJlbCAqemVybyA9IGdlbl9uZXdfbGFiZWwoKTsKKyAg ICBUQ0dMYWJlbCAqZG9uZSA9ICBnZW5fbmV3X2xhYmVsKCk7CisKKyAgICB0Y2dfZ2VuX3NleHRy YWN0X3RsKHNoaWZ0X2FtdDMyLCBSdFYsIDAsIDcpOworICAgIC8qIFBvc3NpYmxlIHZhbHVlcyBv ZiBzaGlmdF9hbXQzMiBhcmUgLTY0IC4uIDYzICovCisgICAgdGNnX2dlbl9icmNvbmRpX3RsKFRD R19DT05EX0xFLCBzaGlmdF9hbXQzMiwgMCwgbGFiZWwpOworICAgIC8qIEFmdGVyIGJyYW5jaCwg cG9zc2libGUgdmFsdWVzIG9mIHNoaWZ0X2FtdDMyIGFyZSAxIC4uIDYzICovCisgICAgdGNnX2dl bl9leHRfaTMyX2k2NChzaGlmdF9hbXQ2NCwgc2hpZnRfYW10MzIpOworICAgIGZvciAoaW50IGkg PSAwOyBpIDwgMjsgaSsrKSB7CisgICAgICAgIHRjZ19nZW5fc2V4dHJhY3RfaTY0KHRtcDY0LCBS c3NWLCBpICogMzIsIDMyKTsKKyAgICAgICAgdGNnX2dlbl9zYXJfaTY0KHRtcDY0LCB0bXA2NCwg c2hpZnRfYW10NjQpOworICAgICAgICB0Y2dfZ2VuX2V4dHJsX2k2NF9pMzIodG1wMzIsIHRtcDY0 KTsKKyAgICAgICAgdGNnX2dlbl9kZXBvc2l0X3RsKFJkViwgUmRWLCB0bXAzMiwgaSAqIDE2LCAx Nik7CisgICAgfQorICAgIHRjZ19nZW5fYnIoZG9uZSk7CisgICAgZ2VuX3NldF9sYWJlbChsYWJl bCk7CisgICAgdGNnX2dlbl9uZWdfdGwoc2hpZnRfYW10MzIsIHNoaWZ0X2FtdDMyKTsKKyAgICAv KkF0IHRoaXMgcG9pbnQsIHBvc3NpYmxlIHZhbHVlcyBvZiBzaGlmdF9hbXQzMiBhcmUgMCAuLiA2 NCAqLworICAgIHRjZ19nZW5fYnJjb25kaV90bChUQ0dfQ09ORF9HVCwgc2hpZnRfYW10MzIsIDYz LCB6ZXJvKTsKKyAgICAvKkF0IHRoaXMgcG9pbnQsIHBvc3NpYmxlIHZhbHVlcyBvZiBzaGlmdF9h bXQzMiBhcmUgMCAuLiA2MyAqLworICAgIHRjZ19nZW5fZXh0X2kzMl9pNjQoc2hpZnRfYW10NjQs IHNoaWZ0X2FtdDMyKTsKKyAgICBmb3IgKGludCBpID0gMDsgaSA8IDI7IGkrKykgeworICAgICAg ICB0Y2dfZ2VuX3NleHRyYWN0X2k2NCh0bXA2NCwgUnNzViwgaSAqIDMyLCAzMik7CisgICAgICAg IHRjZ19nZW5fc2hsX2k2NCh0bXA2NCwgdG1wNjQsIHNoaWZ0X2FtdDY0KTsKKyAgICAgICAgdGNn X2dlbl9leHRybF9pNjRfaTMyKHRtcDMyLCB0bXA2NCk7CisgICAgICAgIHRjZ19nZW5fZGVwb3Np dF90bChSZFYsIFJkViwgdG1wMzIsIGkgKiAxNiwgMTYpOworICAgIH0KKyAgICB0Y2dfZ2VuX2Jy KGRvbmUpOworICAgIGdlbl9zZXRfbGFiZWwoemVybyk7CisgICAgLyogV2hlbiB0aGUgc2hpZnRf YW10IGlzIDY0LCB6ZXJvIG91dCB0aGUgcmVzdWx0ICovCisgICAgdGNnX2dlbl9tb3ZpX3RsKFJk ViwgMCk7CisgICAgZ2VuX3NldF9sYWJlbChkb25lKTsKK30KKwogc3RhdGljIGludHB0cl90IHZy ZWdfc3JjX29mZihEaXNhc0NvbnRleHQgKmN0eCwgaW50IG51bSkKIHsKICAgICBpbnRwdHJfdCBv ZmZzZXQgPSBvZmZzZXRvZihDUFVIZXhhZ29uU3RhdGUsIFZSZWdzW251bV0pOwpkaWZmIC0tZ2l0 IGEvdGVzdHMvdGNnL2hleGFnb24vcmVhZF93cml0ZV9vdmVybGFwLmMgYi90ZXN0cy90Y2cvaGV4 YWdvbi9yZWFkX3dyaXRlX292ZXJsYXAuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw MDAwMDAwLi5hNzVmYzExZGM0Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdGNnL2hleGFnb24v cmVhZF93cml0ZV9vdmVybGFwLmMKQEAgLTAsMCArMSwxMzYgQEAKKy8qCisgKiAgQ29weXJpZ2h0 KGMpIDIwMjMgUXVhbGNvbW0gSW5ub3ZhdGlvbiBDZW50ZXIsIEluYy4gQWxsIFJpZ2h0cyBSZXNl cnZlZC4KKyAqCisgKiAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVk aXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICogIHRoZSBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9y CisgKiAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiAgVGhpcyBw cm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWws CisgKiAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQg d2FycmFudHkgb2YKKyAqICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNV TEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9y IG1vcmUgZGV0YWlscy4KKyAqCisgKiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBv ZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqICBhbG9uZyB3aXRoIHRoaXMgcHJv Z3JhbTsgaWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorICovCisK Ky8qCisgKiBUZXN0IGluc3RydWN0aW9ucyB3aGVyZSB0aGUgc2VtYW50aWNzIHdyaXRlIHRvIHRo ZSBkZXN0aW5hdGlvbgorICogYmVmb3JlIGFsbCB0aGUgb3BlcmFuZCByZWFkcyBoYXZlIGJlZW4g Y29tcGxldGVkLgorICoKKyAqIFRoZXNlIGluc3RydWN0aW9ucyBhcmUgcHJvYmxlbWF0aWMgd2hl biB3ZSBzaG9ydC1jaXJjdWl0IHRoZQorICogcmVnaXN0ZXIgd3JpdGVzIGJlY2F1c2UgdGhlIGRl c3RpbmF0aW9uIGFuZCBzb3VyY2Ugb3BlcmFuZHMgY291bGQKKyAqIGJlIHRoZSBzYW1lIFRDR3Yu CisgKgorICogV2UgdGVzdCBieSBmb3JjaW5nIHRoZSByZWFkIGFuZCB3cml0ZSB0byBiZSByZWdp c3RlciByNy4KKyAqLworCisjaW5jbHVkZSA8c3RkaW50Lmg+CisjaW5jbHVkZSA8c3RkbGliLmg+ CisjaW5jbHVkZSA8c3RkaW8uaD4KKworaW50IGVycjsKKworc3RhdGljIHZvaWQgX19jaGVjayhj b25zdCBjaGFyICpmaWxlbmFtZSwgaW50IGxpbmUsIGludCB4LCBpbnQgZXhwZWN0KQoreworICAg IGlmICh4ICE9IGV4cGVjdCkgeworICAgICAgICBwcmludGYoIkVSUk9SICVzOiVkIC0gMHglMDh4 ICE9IDB4JTA4eFxuIiwKKyAgICAgICAgICAgICAgIGZpbGVuYW1lLCBsaW5lLCB4LCBleHBlY3Qp OworICAgICAgICBlcnIrKzsKKyAgICB9Cit9CisKKyNkZWZpbmUgY2hlY2soeCwgZXhwZWN0KSBf X2NoZWNrKF9fRklMRV9fLCBfX0xJTkVfXywgKHgpLCAoZXhwZWN0KSkKKworI2RlZmluZSBpbnNl cnQoUkVTLCBYLCBXSURUSCwgT0ZGU0VUKSBcCisgICAgYXNtKCJyNyA9ICUxXG5cdCIgXAorICAg ICAgICAicjcgPSBpbnNlcnQocjcsICMiICNXSURUSCAiLCAjIiAjT0ZGU0VUICIpXG5cdCIgXAor ICAgICAgICAiJTAgPSByN1xuXHQiIFwKKyAgICAgICAgOiAiPXIiKFJFUykgOiAiciIoWCkgOiAi cjciKQorCitzdGF0aWMgdm9pZCB0ZXN0X2luc2VydCh2b2lkKQoreworICAgIHVpbnQzMl90IHJl czsKKworICAgIGluc2VydChyZXMsIDB4MTIzNDU2NzgsIDgsIDEpOworICAgIGNoZWNrKHJlcywg MHgxMjM0NTZmMCk7CisgICAgaW5zZXJ0KHJlcywgMHgxMjM0NTY3OCwgMCwgMSk7CisgICAgY2hl Y2socmVzLCAweDEyMzQ1Njc4KTsKKyAgICBpbnNlcnQocmVzLCAweDEyMzQ1Njc4LCAyMCwgMTYp OworICAgIGNoZWNrKHJlcywgMHg1Njc4NTY3OCk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdWludDMy X3QgaW5zZXJ0X3JwKHVpbnQzMl90IHgsIHVpbnQzMl90IHdpZHRoLCB1aW50MzJfdCBvZmZzZXQp Cit7CisgICAgdWludDY0X3Qgd2lkdGhfb2Zmc2V0ID0gKHVpbnQ2NF90KXdpZHRoIDw8IDMyIHwg b2Zmc2V0OworICAgIHVpbnQzMl90IHJlczsKKyAgICBhc20oInI3ID0gJTFcblx0IgorICAgICAg ICAicjcgPSBpbnNlcnQocjcsICUyKVxuXHQiCisgICAgICAgICIlMCA9IHI3XG5cdCIKKyAgICAg ICAgOiAiPXIiKHJlcykgOiAiciIoeCksICJyIih3aWR0aF9vZmZzZXQpIDogInI3Iik7CisgICAg cmV0dXJuIHJlczsKKworfQorCitzdGF0aWMgdm9pZCB0ZXN0X2luc2VydF9ycCh2b2lkKQorewor ICAgIGNoZWNrKGluc2VydF9ycCgweDEyMzQ1Njc4LCAgIDgsICAxKSwgMHgxMjM0NTZmMCk7Cisg ICAgY2hlY2soaW5zZXJ0X3JwKDB4MTIzNDU2NzgsICA2MywgIDgpLCAweDM0NTY3ODc4KTsKKyAg ICBjaGVjayhpbnNlcnRfcnAoMHgxMjM0NTY3OCwgMTI3LCAgOCksIDB4MzQ1Njc4NzgpOworICAg IGNoZWNrKGluc2VydF9ycCgweDEyMzQ1Njc4LCAgIDgsIDI0KSwgMHg3ODM0NTY3OCk7CisgICAg Y2hlY2soaW5zZXJ0X3JwKDB4MTIzNDU2NzgsICAgOCwgNjMpLCAweDEyMzQ1Njc4KTsKKyAgICBj aGVjayhpbnNlcnRfcnAoMHgxMjM0NTY3OCwgICA4LCA2NCksIDB4MDAwMDAwMDApOworfQorCitz dGF0aWMgaW5saW5lIHVpbnQzMl90IGFzcl9yX3N2d190cnVuKHVpbnQ2NF90IHgsIHVpbnQzMl90 IHkpCit7CisgICAgdWludDMyX3QgcmVzOworICAgIGFzbSgicjcgPSAlMlxuXHQiCisgICAgICAg ICJyNyA9IHZhc3J3KCUxLCByNylcblx0IgorICAgICAgICAiJTAgPSByN1xuXHQiCisgICAgICAg IDogIj1yIihyZXMpIDogInIiKHgpLCAiciIoeSkgOiAicjciKTsKKyAgICByZXR1cm4gcmVzOwor fQorCitzdGF0aWMgdm9pZCB0ZXN0X2Fzcl9yX3N2d190cnVuKHZvaWQpCit7CisgICAgY2hlY2so YXNyX3Jfc3Z3X3RydW4oMHgxMTExMTExMTIyMjIyMjIyVUxMLCA1KSwKKyAgICAgICAgICAweDg4 ODgxMTExKTsKKyAgICBjaGVjayhhc3Jfcl9zdndfdHJ1bigweDExMTExMTExMjIyMjIyMjJVTEws IDYzKSwKKyAgICAgICAgICAweDAwMDAwMDAwKTsKKyAgICBjaGVjayhhc3Jfcl9zdndfdHJ1bigw eDExMTExMTExMjIyMjIyMjJVTEwsIDY0KSwKKyAgICAgICAgICAweDAwMDAwMDAwKTsKKyAgICBj aGVjayhhc3Jfcl9zdndfdHJ1bigweDExMTExMTExMjIyMjIyMjJVTEwsIDEyNyksCisgICAgICAg ICAgMHgyMjIyNDQ0NCk7CisgICAgY2hlY2soYXNyX3Jfc3Z3X3RydW4oMHgxMTExMTExMTIyMjIy MjIyVUxMLCAxMjgpLAorICAgICAgICAgIDB4MTExMTIyMjIpOworICAgIGNoZWNrKGFzcl9yX3N2 d190cnVuKDB4ZmZmZmZmZmYyMjIyMjIyMlVMTCwgMTI4KSwKKyAgICAgICAgICAweGZmZmYyMjIy KTsKK30KKworc3RhdGljIGlubGluZSB1aW50MzJfdCBzd2l6KHVpbnQzMl90IHgpCit7CisgICAg dWludDMyX3QgcmVzOworICAgIGFzbSgicjcgPSAlMVxuXHQiCisgICAgICAgICJyNyA9IHN3aXoo cjcpXG5cdCIKKyAgICAgICAgIiUwID0gcjdcblx0IgorICAgICAgICA6ICI9ciIocmVzKSA6ICJy Iih4KSA6ICJyNyIpOworICAgIHJldHVybiByZXM7Cit9CisKK3N0YXRpYyB2b2lkIHRlc3Rfc3dp eih2b2lkKQoreworICAgIGNoZWNrKHN3aXooMHgxMTIyMzM0NCksIDB4NDQzMzIyMTEpOworfQor CitpbnQgbWFpbigpCit7CisgICAgdGVzdF9pbnNlcnQoKTsKKyAgICB0ZXN0X2luc2VydF9ycCgp OworICAgIHRlc3RfYXNyX3Jfc3Z3X3RydW4oKTsKKyAgICB0ZXN0X3N3aXooKTsKKworICAgIHB1 dHMoZXJyID8gIkZBSUwiIDogIlBBU1MiKTsKKyAgICByZXR1cm4gZXJyID8gRVhJVF9GQUlMVVJF IDogRVhJVF9TVUNDRVNTOworfQpkaWZmIC0tZ2l0IGEvdGVzdHMvdGNnL2hleGFnb24vTWFrZWZp bGUudGFyZ2V0IGIvdGVzdHMvdGNnL2hleGFnb24vTWFrZWZpbGUudGFyZ2V0CmluZGV4IDdjOTRk YjRiYzQuLmQ4ZDM3OTM3MzIgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3RjZy9oZXhhZ29uL01ha2VmaWxl LnRhcmdldAorKysgYi90ZXN0cy90Y2cvaGV4YWdvbi9NYWtlZmlsZS50YXJnZXQKQEAgLTQ1LDYg KzQ1LDcgQEAgSEVYX1RFU1RTICs9IGZwc3R1ZmYKIEhFWF9URVNUUyArPSBvdmVyZmxvdwogSEVY X1RFU1RTICs9IHNpZ25hbF9jb250ZXh0CiBIRVhfVEVTVFMgKz0gcmVnX211dAorSEVYX1RFU1RT ICs9IHJlYWRfd3JpdGVfb3ZlcmxhcAogSEVYX1RFU1RTICs9IHZlY3Rvcl9hZGRfaW50CiBIRVhf VEVTVFMgKz0gc2NhdHRlcl9nYXRoZXIKIEhFWF9URVNUUyArPSBodnhfbWlzYwotLSAKMi4yNS4x Cgo=