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 8ABEEC77B7D for ; Thu, 18 May 2023 20:09:23 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pzjrr-0000VB-J3; Thu, 18 May 2023 16:04:55 -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 1pzjrZ-00008r-4j for qemu-devel@nongnu.org; Thu, 18 May 2023 16:04:43 -0400 Received: from mx0b-0031df01.pphosted.com ([205.220.180.131]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pzjrQ-00056V-O0 for qemu-devel@nongnu.org; Thu, 18 May 2023 16:04:33 -0400 Received: from pps.filterd (m0279870.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 34IFsdZQ030515; Thu, 18 May 2023 20:04:17 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=GwO0gC/S11Kduz5Ab2W0GHjGw9+XiGyCERoRJWJEV9E=; b=Mu+WsRWr2G/sLqtNxTazGrBYnuInDsSgLh3CP7Oi73Hftjvxsl4ZWx/JrA5RT06yeRBI 3zJB32tj90pUCZCPel9NwwXSI9TRghdSpyYS1Ya9fCAHb9DRq2F6Wt44xyMIIBHDCdrg a/PRp0VZGrUn57Nl+iY1ckMpwSLOVDn1pJobUi9K11UI5a3qXdGbIMm1dl0jESroBCuA ZMZJ39EFaMRKo+ZSvZsLYAwUDnA4I53DO5e5pGQSdf5wL3xPHXFgh4QDke4WEp/Ff5EZ 5zHdxwTkIf0UmT88epefO/rnPCZCKjbGJM7/GacgjlwNCh+F98OuDQag54L83W09KJdp sw== Received: from nalasppmta03.qualcomm.com (Global_NAT1.qualcomm.com [129.46.96.20]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 3qnfpw1r21-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 18 May 2023 20:04:17 +0000 Received: from pps.filterd (NALASPPMTA03.qualcomm.com [127.0.0.1]) by NALASPPMTA03.qualcomm.com (8.17.1.5/8.17.1.5) with ESMTP id 34IK4FjB001175; Thu, 18 May 2023 20:04:15 GMT Received: from pps.reinject (localhost [127.0.0.1]) by NALASPPMTA03.qualcomm.com (PPS) with ESMTPS id 3qj3mn247w-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 18 May 2023 20:04:15 +0000 Received: from NALASPPMTA03.qualcomm.com (NALASPPMTA03.qualcomm.com [127.0.0.1]) by pps.reinject (8.17.1.5/8.17.1.5) with ESMTP id 34IK4Fbq001204; Thu, 18 May 2023 20:04:15 GMT Received: from hu-devc-sd-u20-a-1.qualcomm.com (hu-tsimpson-lv.qualcomm.com [10.47.204.221]) by NALASPPMTA03.qualcomm.com (PPS) with ESMTPS id 34IK4Ffi001180 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 18 May 2023 20:04:15 +0000 Received: by hu-devc-sd-u20-a-1.qualcomm.com (Postfix, from userid 47164) id 8ED486D9; Thu, 18 May 2023 13:04:13 -0700 (PDT) From: Taylor Simpson To: qemu-devel@nongnu.org Cc: tsimpson@quicinc.com, richard.henderson@linaro.org, philmd@linaro.org, peter.maydell@linaro.org, bcain@quicinc.com, quic_mathbern@quicinc.com, stefanha@redhat.com, ale@rev.ng, anjo@rev.ng, quic_mliebel@quicinc.com Subject: [PULL v2 24/44] Hexagon (target/hexagon) Add overrides for disabled idef-parser insns Date: Thu, 18 May 2023 13:03:51 -0700 Message-Id: <20230518200411.271148-25-tsimpson@quicinc.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230518200411.271148-1-tsimpson@quicinc.com> References: <20230518200411.271148-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-ORIG-GUID: c4QvOOoaLCuMewiIOH1YDKGRD6QjCA7p X-Proofpoint-GUID: c4QvOOoaLCuMewiIOH1YDKGRD6QjCA7p X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.957,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-05-18_14,2023-05-17_02,2023-02-09_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 priorityscore=1501 mlxscore=0 suspectscore=0 clxscore=1015 bulkscore=0 adultscore=0 phishscore=0 mlxlogscore=999 impostorscore=0 spamscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2304280000 definitions=main-2305180165 Received-SPF: pass client-ip=205.220.180.131; envelope-from=tsimpson@qualcomm.com; helo=mx0b-0031df01.pphosted.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.8 / 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, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no 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 Y29tPgpSZXZpZXdlZC1ieTogUmljaGFyZCBIZW5kZXJzb24gPHJpY2hhcmQuaGVuZGVyc29uQGxp bmFyby5vcmc+Ck1lc3NhZ2UtSWQ6IDwyMDIzMDQyNzIzMDAxMi4zODAwMzI3LTE2LXRzaW1wc29u QHF1aWNpbmMuY29tPgotLS0KIHRhcmdldC9oZXhhZ29uL2dlbl90Y2cuaCAgICAgICAgICAgICAg IHwgIDE4ICsrKysKIHRhcmdldC9oZXhhZ29uL2dlbnB0ci5jICAgICAgICAgICAgICAgIHwgIDk5 ICsrKysrKysrKysrKysrKysrKwogdGVzdHMvdGNnL2hleGFnb24vcmVhZF93cml0ZV9vdmVybGFw LmMgfCAxMzYgKysrKysrKysrKysrKysrKysrKysrKysrKwogdGVzdHMvdGNnL2hleGFnb24vTWFr ZWZpbGUudGFyZ2V0ICAgICAgfCAgIDEgKwogNCBmaWxlcyBjaGFuZ2VkLCAyNTQgaW5zZXJ0aW9u cygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHRlc3RzL3RjZy9oZXhhZ29uL3JlYWRfd3JpdGVfb3Zl cmxhcC5jCgpkaWZmIC0tZ2l0IGEvdGFyZ2V0L2hleGFnb24vZ2VuX3RjZy5oIGIvdGFyZ2V0L2hl eGFnb24vZ2VuX3RjZy5oCmluZGV4IDdlMDcwYzM1YmQuLmVkMmMxY2NjNDYgMTAwNjQ0Ci0tLSBh L3RhcmdldC9oZXhhZ29uL2dlbl90Y2cuaAorKysgYi90YXJnZXQvaGV4YWdvbi9nZW5fdGNnLmgK QEAgLTExODUsNiArMTE4NSwyNCBAQAogICAgICAgICB0Y2dfZ2VuX2V4dHJsX2k2NF9pMzIoUmRW LCB0bXApOyBcCiAgICAgfSB3aGlsZSAoMCkKIAorI2RlZmluZSBmR0VOX1RDR19TMl9pbnNlcnQo U0hPUlRDT0RFKSBcCisgICAgZG8geyBcCisgICAgICAgIGludCB3aWR0aCA9IHVpVjsgXAorICAg ICAgICBpbnQgb2Zmc2V0ID0gVWlWOyBcCisgICAgICAgIGlmICh3aWR0aCAhPSAwKSB7IFwKKyAg ICAgICAgICAgIGlmIChvZmZzZXQgKyB3aWR0aCA+IDMyKSB7IFwKKyAgICAgICAgICAgICAgICB3 aWR0aCA9IDMyIC0gb2Zmc2V0OyBcCisgICAgICAgICAgICB9IFwKKyAgICAgICAgICAgIHRjZ19n ZW5fZGVwb3NpdF90bChSeFYsIFJ4ViwgUnNWLCBvZmZzZXQsIHdpZHRoKTsgXAorICAgICAgICB9 IFwKKyAgICB9IHdoaWxlICgwKQorI2RlZmluZSBmR0VOX1RDR19TMl9pbnNlcnRfcnAoU0hPUlRD T0RFKSBcCisgICAgZ2VuX2luc2VydF9ycChjdHgsIFJ4ViwgUnNWLCBSdHRWKQorI2RlZmluZSBm R0VOX1RDR19TMl9hc3Jfcl9zdndfdHJ1bihTSE9SVENPREUpIFwKKyAgICBnZW5fYXNyX3Jfc3Z3 X3RydW4oY3R4LCBSZFYsIFJzc1YsIFJ0VikKKyNkZWZpbmUgZkdFTl9UQ0dfQTJfc3dpeihTSE9S VENPREUpIFwKKyAgICB0Y2dfZ2VuX2Jzd2FwX3RsKFJkViwgUnNWKQorCiAvKiBGbG9hdGluZyBw b2ludCAqLwogI2RlZmluZSBmR0VOX1RDR19GMl9jb252X3NmMmRmKFNIT1JUQ09ERSkgXAogICAg IGdlbl9oZWxwZXJfY29udl9zZjJkZihSZGRWLCBjcHVfZW52LCBSc1YpCmRpZmYgLS1naXQgYS90 YXJnZXQvaGV4YWdvbi9nZW5wdHIuYyBiL3RhcmdldC9oZXhhZ29uL2dlbnB0ci5jCmluZGV4IDgy YTM0MDhlYjQuLjVlYjBkNTg2NTkgMTAwNjQ0Ci0tLSBhL3RhcmdldC9oZXhhZ29uL2dlbnB0ci5j CisrKyBiL3RhcmdldC9oZXhhZ29uL2dlbnB0ci5jCkBAIC0xMDY1LDYgKzEwNjUsMTA1IEBAIHN0 YXRpYyB2b2lkIGdlbl9hc2xfcl9yX3NhdChEaXNhc0NvbnRleHQgKmN0eCwgVENHdiBSZFYsIFRD R3YgUnNWLCBUQ0d2IFJ0VikKICAgICBnZW5fc2V0X2xhYmVsKGRvbmUpOwogfQogCitzdGF0aWMg dm9pZCBnZW5faW5zZXJ0X3JwKERpc2FzQ29udGV4dCAqY3R4LCBUQ0d2IFJ4ViwgVENHdiBSc1Ys IFRDR3ZfaTY0IFJ0dFYpCit7CisgICAgLyoKKyAgICAgKiBpbnQgd2lkdGggPSBmWlhUTig2LCAz MiwgKGZHRVRXT1JEKDEsIFJ0dFYpKSk7CisgICAgICogaW50IG9mZnNldCA9IGZTWFROKDcsIDMy LCAoZkdFVFdPUkQoMCwgUnR0VikpKTsKKyAgICAgKiBzaXplOHVfdCBtYXNrID0gKChmQ09OU1RM TCgxKSA8PCB3aWR0aCkgLSAxKTsKKyAgICAgKiBpZiAob2Zmc2V0IDwgMCkgeworICAgICAqICAg ICBSeFYgPSAwOworICAgICAqIH0gZWxzZSB7CisgICAgICogICAgIFJ4ViAmPSB+KG1hc2sgPDwg b2Zmc2V0KTsKKyAgICAgKiAgICAgUnhWIHw9ICgoUnNWICYgbWFzaykgPDwgb2Zmc2V0KTsKKyAg ICAgKiB9CisgICAgICovCisKKyAgICBUQ0d2IHdpZHRoID0gdGNnX3RlbXBfbmV3KCk7CisgICAg VENHdiBvZmZzZXQgPSB0Y2dfdGVtcF9uZXcoKTsKKyAgICBUQ0d2X2k2NCBtYXNrID0gdGNnX3Rl bXBfbmV3X2k2NCgpOworICAgIFRDR3ZfaTY0IHJlc3VsdCA9IHRjZ190ZW1wX25ld19pNjQoKTsK KyAgICBUQ0d2X2k2NCB0bXAgPSB0Y2dfdGVtcF9uZXdfaTY0KCk7CisgICAgVENHdl9pNjQgb2Zm c2V0NjQgPSB0Y2dfdGVtcF9uZXdfaTY0KCk7CisgICAgVENHTGFiZWwgKmxhYmVsID0gZ2VuX25l d19sYWJlbCgpOworICAgIFRDR0xhYmVsICpkb25lID0gZ2VuX25ld19sYWJlbCgpOworCisgICAg dGNnX2dlbl9leHRyaF9pNjRfaTMyKHdpZHRoLCBSdHRWKTsKKyAgICB0Y2dfZ2VuX2V4dHJhY3Rf dGwod2lkdGgsIHdpZHRoLCAwLCA2KTsKKyAgICB0Y2dfZ2VuX2V4dHJsX2k2NF9pMzIob2Zmc2V0 LCBSdHRWKTsKKyAgICB0Y2dfZ2VuX3NleHRyYWN0X3RsKG9mZnNldCwgb2Zmc2V0LCAwLCA3KTsK KyAgICAvKiBQb3NzaWJsZSB2YWx1ZXMgZm9yIG9mZnNldCBhcmUgLTY0IC4uIDYzICovCisgICAg dGNnX2dlbl9icmNvbmRpX3RsKFRDR19DT05EX0dFLCBvZmZzZXQsIDAsIGxhYmVsKTsKKyAgICAv KiBGb3IgbmVnYXRpdmUgb2Zmc2V0cywgemVybyBvdXQgdGhlIHJlc3VsdCAqLworICAgIHRjZ19n ZW5fbW92aV90bChSeFYsIDApOworICAgIHRjZ19nZW5fYnIoZG9uZSk7CisgICAgZ2VuX3NldF9s YWJlbChsYWJlbCk7CisgICAgLyogQXQgdGhpcyBwb2ludCwgcG9zc2libGUgdmFsdWVzIG9mIG9m ZnNldCBhcmUgMCAuLiA2MyAqLworICAgIHRjZ19nZW5fZXh0X2kzMl9pNjQobWFzaywgd2lkdGgp OworICAgIHRjZ19nZW5fc2hsX2k2NChtYXNrLCB0Y2dfY29uc3RhbnRfaTY0KDEpLCBtYXNrKTsK KyAgICB0Y2dfZ2VuX3N1YmlfaTY0KG1hc2ssIG1hc2ssIDEpOworICAgIHRjZ19nZW5fZXh0dV9p MzJfaTY0KHJlc3VsdCwgUnhWKTsKKyAgICB0Y2dfZ2VuX2V4dF9pMzJfaTY0KHRtcCwgb2Zmc2V0 KTsKKyAgICB0Y2dfZ2VuX3NobF9pNjQodG1wLCBtYXNrLCB0bXApOworICAgIHRjZ19nZW5fYW5k Y19pNjQocmVzdWx0LCByZXN1bHQsIHRtcCk7CisgICAgdGNnX2dlbl9leHR1X2kzMl9pNjQodG1w LCBSc1YpOworICAgIHRjZ19nZW5fYW5kX2k2NCh0bXAsIHRtcCwgbWFzayk7CisgICAgdGNnX2dl bl9leHR1X2kzMl9pNjQob2Zmc2V0NjQsIG9mZnNldCk7CisgICAgdGNnX2dlbl9zaGxfaTY0KHRt cCwgdG1wLCBvZmZzZXQ2NCk7CisgICAgdGNnX2dlbl9vcl9pNjQocmVzdWx0LCByZXN1bHQsIHRt cCk7CisgICAgdGNnX2dlbl9leHRybF9pNjRfaTMyKFJ4ViwgcmVzdWx0KTsKKyAgICBnZW5fc2V0 X2xhYmVsKGRvbmUpOworfQorCitzdGF0aWMgdm9pZCBnZW5fYXNyX3Jfc3Z3X3RydW4oRGlzYXND b250ZXh0ICpjdHgsIFRDR3YgUmRWLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRD R3ZfaTY0IFJzc1YsIFRDR3YgUnRWKQoreworICAgIC8qCisgICAgICogZm9yIChpbnQgaSA9IDA7 IGkgPCAyOyBpKyspIHsKKyAgICAgKiAgICAgZlNFVEhBTEYoaSwgUmRWLCBmR0VUSEFMRigwLCAo KGZTWFROKDcsIDMyLCBSdFYpID4gMCkgPworICAgICAqICAgICAgICAgKGZDQVNUNF84cyhmR0VU V09SRChpLCBSc3NWKSkgPj4gZlNYVE4oNywgMzIsIFJ0VikpIDoKKyAgICAgKiAgICAgICAgIChm Q0FTVDRfOHMoZkdFVFdPUkQoaSwgUnNzVikpIDw8IC1mU1hUTig3LCAzMiwgUnRWKSkpKSk7Cisg ICAgICogfQorICAgICAqLworICAgIFRDR3Ygc2hpZnRfYW10MzIgPSB0Y2dfdGVtcF9uZXcoKTsK KyAgICBUQ0d2X2k2NCBzaGlmdF9hbXQ2NCA9IHRjZ190ZW1wX25ld19pNjQoKTsKKyAgICBUQ0d2 X2k2NCB0bXA2NCA9IHRjZ190ZW1wX25ld19pNjQoKTsKKyAgICBUQ0d2IHRtcDMyID0gdGNnX3Rl bXBfbmV3KCk7CisgICAgVENHTGFiZWwgKmxhYmVsID0gZ2VuX25ld19sYWJlbCgpOworICAgIFRD R0xhYmVsICp6ZXJvID0gZ2VuX25ld19sYWJlbCgpOworICAgIFRDR0xhYmVsICpkb25lID0gIGdl bl9uZXdfbGFiZWwoKTsKKworICAgIHRjZ19nZW5fc2V4dHJhY3RfdGwoc2hpZnRfYW10MzIsIFJ0 ViwgMCwgNyk7CisgICAgLyogUG9zc2libGUgdmFsdWVzIG9mIHNoaWZ0X2FtdDMyIGFyZSAtNjQg Li4gNjMgKi8KKyAgICB0Y2dfZ2VuX2JyY29uZGlfdGwoVENHX0NPTkRfTEUsIHNoaWZ0X2FtdDMy LCAwLCBsYWJlbCk7CisgICAgLyogQWZ0ZXIgYnJhbmNoLCBwb3NzaWJsZSB2YWx1ZXMgb2Ygc2hp ZnRfYW10MzIgYXJlIDEgLi4gNjMgKi8KKyAgICB0Y2dfZ2VuX2V4dF9pMzJfaTY0KHNoaWZ0X2Ft dDY0LCBzaGlmdF9hbXQzMik7CisgICAgZm9yIChpbnQgaSA9IDA7IGkgPCAyOyBpKyspIHsKKyAg ICAgICAgdGNnX2dlbl9zZXh0cmFjdF9pNjQodG1wNjQsIFJzc1YsIGkgKiAzMiwgMzIpOworICAg ICAgICB0Y2dfZ2VuX3Nhcl9pNjQodG1wNjQsIHRtcDY0LCBzaGlmdF9hbXQ2NCk7CisgICAgICAg IHRjZ19nZW5fZXh0cmxfaTY0X2kzMih0bXAzMiwgdG1wNjQpOworICAgICAgICB0Y2dfZ2VuX2Rl cG9zaXRfdGwoUmRWLCBSZFYsIHRtcDMyLCBpICogMTYsIDE2KTsKKyAgICB9CisgICAgdGNnX2dl bl9icihkb25lKTsKKyAgICBnZW5fc2V0X2xhYmVsKGxhYmVsKTsKKyAgICB0Y2dfZ2VuX25lZ190 bChzaGlmdF9hbXQzMiwgc2hpZnRfYW10MzIpOworICAgIC8qQXQgdGhpcyBwb2ludCwgcG9zc2li bGUgdmFsdWVzIG9mIHNoaWZ0X2FtdDMyIGFyZSAwIC4uIDY0ICovCisgICAgdGNnX2dlbl9icmNv bmRpX3RsKFRDR19DT05EX0dULCBzaGlmdF9hbXQzMiwgNjMsIHplcm8pOworICAgIC8qQXQgdGhp cyBwb2ludCwgcG9zc2libGUgdmFsdWVzIG9mIHNoaWZ0X2FtdDMyIGFyZSAwIC4uIDYzICovCisg ICAgdGNnX2dlbl9leHRfaTMyX2k2NChzaGlmdF9hbXQ2NCwgc2hpZnRfYW10MzIpOworICAgIGZv ciAoaW50IGkgPSAwOyBpIDwgMjsgaSsrKSB7CisgICAgICAgIHRjZ19nZW5fc2V4dHJhY3RfaTY0 KHRtcDY0LCBSc3NWLCBpICogMzIsIDMyKTsKKyAgICAgICAgdGNnX2dlbl9zaGxfaTY0KHRtcDY0 LCB0bXA2NCwgc2hpZnRfYW10NjQpOworICAgICAgICB0Y2dfZ2VuX2V4dHJsX2k2NF9pMzIodG1w MzIsIHRtcDY0KTsKKyAgICAgICAgdGNnX2dlbl9kZXBvc2l0X3RsKFJkViwgUmRWLCB0bXAzMiwg aSAqIDE2LCAxNik7CisgICAgfQorICAgIHRjZ19nZW5fYnIoZG9uZSk7CisgICAgZ2VuX3NldF9s YWJlbCh6ZXJvKTsKKyAgICAvKiBXaGVuIHRoZSBzaGlmdF9hbXQgaXMgNjQsIHplcm8gb3V0IHRo ZSByZXN1bHQgKi8KKyAgICB0Y2dfZ2VuX21vdmlfdGwoUmRWLCAwKTsKKyAgICBnZW5fc2V0X2xh YmVsKGRvbmUpOworfQorCiBzdGF0aWMgaW50cHRyX3QgdnJlZ19zcmNfb2ZmKERpc2FzQ29udGV4 dCAqY3R4LCBpbnQgbnVtKQogewogICAgIGludHB0cl90IG9mZnNldCA9IG9mZnNldG9mKENQVUhl eGFnb25TdGF0ZSwgVlJlZ3NbbnVtXSk7CmRpZmYgLS1naXQgYS90ZXN0cy90Y2cvaGV4YWdvbi9y ZWFkX3dyaXRlX292ZXJsYXAuYyBiL3Rlc3RzL3RjZy9oZXhhZ29uL3JlYWRfd3JpdGVfb3Zlcmxh cC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAuLmE3NWZjMTFkYzQKLS0t IC9kZXYvbnVsbAorKysgYi90ZXN0cy90Y2cvaGV4YWdvbi9yZWFkX3dyaXRlX292ZXJsYXAuYwpA QCAtMCwwICsxLDEzNiBAQAorLyoKKyAqICBDb3B5cmlnaHQoYykgMjAyMyBRdWFsY29tbSBJbm5v dmF0aW9uIENlbnRlciwgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICoKKyAqICBUaGlzIHBy b2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1v ZGlmeQorICogIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgKiAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsg ZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyAqICAoYXQgeW91ciBvcHRpb24p IGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQg aW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqICBidXQgV0lUSE9VVCBBTlkg V0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogIE1FUkNI QU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUK KyAqICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAq ICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJs aWMgTGljZW5zZQorICogIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHNlZSA8aHR0 cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisgKi8KKworLyoKKyAqIFRlc3QgaW5zdHJ1Y3Rp b25zIHdoZXJlIHRoZSBzZW1hbnRpY3Mgd3JpdGUgdG8gdGhlIGRlc3RpbmF0aW9uCisgKiBiZWZv cmUgYWxsIHRoZSBvcGVyYW5kIHJlYWRzIGhhdmUgYmVlbiBjb21wbGV0ZWQuCisgKgorICogVGhl c2UgaW5zdHJ1Y3Rpb25zIGFyZSBwcm9ibGVtYXRpYyB3aGVuIHdlIHNob3J0LWNpcmN1aXQgdGhl CisgKiByZWdpc3RlciB3cml0ZXMgYmVjYXVzZSB0aGUgZGVzdGluYXRpb24gYW5kIHNvdXJjZSBv cGVyYW5kcyBjb3VsZAorICogYmUgdGhlIHNhbWUgVENHdi4KKyAqCisgKiBXZSB0ZXN0IGJ5IGZv cmNpbmcgdGhlIHJlYWQgYW5kIHdyaXRlIHRvIGJlIHJlZ2lzdGVyIHI3LgorICovCisKKyNpbmNs dWRlIDxzdGRpbnQuaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdGRpby5oPgor CitpbnQgZXJyOworCitzdGF0aWMgdm9pZCBfX2NoZWNrKGNvbnN0IGNoYXIgKmZpbGVuYW1lLCBp bnQgbGluZSwgaW50IHgsIGludCBleHBlY3QpCit7CisgICAgaWYgKHggIT0gZXhwZWN0KSB7Cisg ICAgICAgIHByaW50ZigiRVJST1IgJXM6JWQgLSAweCUwOHggIT0gMHglMDh4XG4iLAorICAgICAg ICAgICAgICAgZmlsZW5hbWUsIGxpbmUsIHgsIGV4cGVjdCk7CisgICAgICAgIGVycisrOworICAg IH0KK30KKworI2RlZmluZSBjaGVjayh4LCBleHBlY3QpIF9fY2hlY2soX19GSUxFX18sIF9fTElO RV9fLCAoeCksIChleHBlY3QpKQorCisjZGVmaW5lIGluc2VydChSRVMsIFgsIFdJRFRILCBPRkZT RVQpIFwKKyAgICBhc20oInI3ID0gJTFcblx0IiBcCisgICAgICAgICJyNyA9IGluc2VydChyNywg IyIgI1dJRFRIICIsICMiICNPRkZTRVQgIilcblx0IiBcCisgICAgICAgICIlMCA9IHI3XG5cdCIg XAorICAgICAgICA6ICI9ciIoUkVTKSA6ICJyIihYKSA6ICJyNyIpCisKK3N0YXRpYyB2b2lkIHRl c3RfaW5zZXJ0KHZvaWQpCit7CisgICAgdWludDMyX3QgcmVzOworCisgICAgaW5zZXJ0KHJlcywg MHgxMjM0NTY3OCwgOCwgMSk7CisgICAgY2hlY2socmVzLCAweDEyMzQ1NmYwKTsKKyAgICBpbnNl cnQocmVzLCAweDEyMzQ1Njc4LCAwLCAxKTsKKyAgICBjaGVjayhyZXMsIDB4MTIzNDU2NzgpOwor ICAgIGluc2VydChyZXMsIDB4MTIzNDU2NzgsIDIwLCAxNik7CisgICAgY2hlY2socmVzLCAweDU2 Nzg1Njc4KTsKK30KKworc3RhdGljIGlubGluZSB1aW50MzJfdCBpbnNlcnRfcnAodWludDMyX3Qg eCwgdWludDMyX3Qgd2lkdGgsIHVpbnQzMl90IG9mZnNldCkKK3sKKyAgICB1aW50NjRfdCB3aWR0 aF9vZmZzZXQgPSAodWludDY0X3Qpd2lkdGggPDwgMzIgfCBvZmZzZXQ7CisgICAgdWludDMyX3Qg cmVzOworICAgIGFzbSgicjcgPSAlMVxuXHQiCisgICAgICAgICJyNyA9IGluc2VydChyNywgJTIp XG5cdCIKKyAgICAgICAgIiUwID0gcjdcblx0IgorICAgICAgICA6ICI9ciIocmVzKSA6ICJyIih4 KSwgInIiKHdpZHRoX29mZnNldCkgOiAicjciKTsKKyAgICByZXR1cm4gcmVzOworCit9CisKK3N0 YXRpYyB2b2lkIHRlc3RfaW5zZXJ0X3JwKHZvaWQpCit7CisgICAgY2hlY2soaW5zZXJ0X3JwKDB4 MTIzNDU2NzgsICAgOCwgIDEpLCAweDEyMzQ1NmYwKTsKKyAgICBjaGVjayhpbnNlcnRfcnAoMHgx MjM0NTY3OCwgIDYzLCAgOCksIDB4MzQ1Njc4NzgpOworICAgIGNoZWNrKGluc2VydF9ycCgweDEy MzQ1Njc4LCAxMjcsICA4KSwgMHgzNDU2Nzg3OCk7CisgICAgY2hlY2soaW5zZXJ0X3JwKDB4MTIz NDU2NzgsICAgOCwgMjQpLCAweDc4MzQ1Njc4KTsKKyAgICBjaGVjayhpbnNlcnRfcnAoMHgxMjM0 NTY3OCwgICA4LCA2MyksIDB4MTIzNDU2NzgpOworICAgIGNoZWNrKGluc2VydF9ycCgweDEyMzQ1 Njc4LCAgIDgsIDY0KSwgMHgwMDAwMDAwMCk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdWludDMyX3Qg YXNyX3Jfc3Z3X3RydW4odWludDY0X3QgeCwgdWludDMyX3QgeSkKK3sKKyAgICB1aW50MzJfdCBy ZXM7CisgICAgYXNtKCJyNyA9ICUyXG5cdCIKKyAgICAgICAgInI3ID0gdmFzcncoJTEsIHI3KVxu XHQiCisgICAgICAgICIlMCA9IHI3XG5cdCIKKyAgICAgICAgOiAiPXIiKHJlcykgOiAiciIoeCks ICJyIih5KSA6ICJyNyIpOworICAgIHJldHVybiByZXM7Cit9CisKK3N0YXRpYyB2b2lkIHRlc3Rf YXNyX3Jfc3Z3X3RydW4odm9pZCkKK3sKKyAgICBjaGVjayhhc3Jfcl9zdndfdHJ1bigweDExMTEx MTExMjIyMjIyMjJVTEwsIDUpLAorICAgICAgICAgIDB4ODg4ODExMTEpOworICAgIGNoZWNrKGFz cl9yX3N2d190cnVuKDB4MTExMTExMTEyMjIyMjIyMlVMTCwgNjMpLAorICAgICAgICAgIDB4MDAw MDAwMDApOworICAgIGNoZWNrKGFzcl9yX3N2d190cnVuKDB4MTExMTExMTEyMjIyMjIyMlVMTCwg NjQpLAorICAgICAgICAgIDB4MDAwMDAwMDApOworICAgIGNoZWNrKGFzcl9yX3N2d190cnVuKDB4 MTExMTExMTEyMjIyMjIyMlVMTCwgMTI3KSwKKyAgICAgICAgICAweDIyMjI0NDQ0KTsKKyAgICBj aGVjayhhc3Jfcl9zdndfdHJ1bigweDExMTExMTExMjIyMjIyMjJVTEwsIDEyOCksCisgICAgICAg ICAgMHgxMTExMjIyMik7CisgICAgY2hlY2soYXNyX3Jfc3Z3X3RydW4oMHhmZmZmZmZmZjIyMjIy MjIyVUxMLCAxMjgpLAorICAgICAgICAgIDB4ZmZmZjIyMjIpOworfQorCitzdGF0aWMgaW5saW5l IHVpbnQzMl90IHN3aXoodWludDMyX3QgeCkKK3sKKyAgICB1aW50MzJfdCByZXM7CisgICAgYXNt KCJyNyA9ICUxXG5cdCIKKyAgICAgICAgInI3ID0gc3dpeihyNylcblx0IgorICAgICAgICAiJTAg PSByN1xuXHQiCisgICAgICAgIDogIj1yIihyZXMpIDogInIiKHgpIDogInI3Iik7CisgICAgcmV0 dXJuIHJlczsKK30KKworc3RhdGljIHZvaWQgdGVzdF9zd2l6KHZvaWQpCit7CisgICAgY2hlY2so c3dpeigweDExMjIzMzQ0KSwgMHg0NDMzMjIxMSk7Cit9CisKK2ludCBtYWluKCkKK3sKKyAgICB0 ZXN0X2luc2VydCgpOworICAgIHRlc3RfaW5zZXJ0X3JwKCk7CisgICAgdGVzdF9hc3Jfcl9zdndf dHJ1bigpOworICAgIHRlc3Rfc3dpeigpOworCisgICAgcHV0cyhlcnIgPyAiRkFJTCIgOiAiUEFT UyIpOworICAgIHJldHVybiBlcnIgPyBFWElUX0ZBSUxVUkUgOiBFWElUX1NVQ0NFU1M7Cit9CmRp ZmYgLS1naXQgYS90ZXN0cy90Y2cvaGV4YWdvbi9NYWtlZmlsZS50YXJnZXQgYi90ZXN0cy90Y2cv aGV4YWdvbi9NYWtlZmlsZS50YXJnZXQKaW5kZXggMzE3MmYyZTRkYi4uNjEwOWE3ZWQxMCAxMDA2 NDQKLS0tIGEvdGVzdHMvdGNnL2hleGFnb24vTWFrZWZpbGUudGFyZ2V0CisrKyBiL3Rlc3RzL3Rj Zy9oZXhhZ29uL01ha2VmaWxlLnRhcmdldApAQCAtNDUsNiArNDUsNyBAQCBIRVhfVEVTVFMgKz0g ZnBzdHVmZgogSEVYX1RFU1RTICs9IG92ZXJmbG93CiBIRVhfVEVTVFMgKz0gc2lnbmFsX2NvbnRl eHQKIEhFWF9URVNUUyArPSByZWdfbXV0CitIRVhfVEVTVFMgKz0gcmVhZF93cml0ZV9vdmVybGFw CiBIRVhfVEVTVFMgKz0gdmVjdG9yX2FkZF9pbnQKIEhFWF9URVNUUyArPSBzY2F0dGVyX2dhdGhl cgogSEVYX1RFU1RTICs9IGh2eF9taXNjCi0tIAoyLjI1LjEKCg==