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 lists1p.gnu.org (lists1p.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 980D2C624D4 for ; Fri, 4 Sep 2026 01:24:13 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2Idh-0007A2-PY; Thu, 03 Sep 2026 21:22:45 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x2Idg-00078s-1a for qemu-devel@nongnu.org; Thu, 03 Sep 2026 21:22:44 -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 1x2Idd-0005JC-TO for qemu-devel@nongnu.org; Thu, 03 Sep 2026 21:22:43 -0400 Received: from pps.filterd (m0279863.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 683NbjAP1948371 for ; Fri, 4 Sep 2026 01:22:40 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= vafqYva72uUiSMNa6o58yvOC4e5NILuvByOVikcpC18=; b=eXNk3h8ZaDaU7GHW yJPbyEMEkEc/BVbNAdWo8i2zQX5wrWk8hIJNWmCSqU5zh/ZQ861H42Xh58v3r24y fZxIPggCkvJls5rT3bIrYGrFQABbGz1rpYVZ08Gg8k9PC6EbGlHdvFqRhTnJY/WL JUL0jJSAMEwSLA1dxgguuzsDykybESMn/WR2e5s76aLlCoBCKtsf+aPQIKwDgsQD H9IakQ3b4PkAvHN4896LvISx+T1cCWQ8DPinOnSH/B+p6JO+rsrMJZpXIvoL+uih 9fQ9Jx2+yvkwQWCCLseQqCbDtc/RVuEH0tLDNyyFBdHLPGqKgnZgZQnYwTF3NSD3 CelMLg== Received: from mail-pj1-f70.google.com (mail-pj1-f70.google.com [209.85.216.70]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4gfdyxhfvy-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 04 Sep 2026 01:22:40 +0000 (GMT) Received: by mail-pj1-f70.google.com with SMTP id 98e67ed59e1d1-38e1118e4abso852309a91.0 for ; Thu, 03 Sep 2026 18:22:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1788484960; x=1789089760; darn=nongnu.org; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:cc:to:from:from:to:cc:subject :date:message-id:reply-to:content-type; bh=vafqYva72uUiSMNa6o58yvOC4e5NILuvByOVikcpC18=; b=SUCvZInWby+ZnU2Uz0/FKPPeYy+xFpPnpJ15zXurYNBSxPpQvaFf0qx2D9UZSIDFcy K5GTHpEYzq3HuUnxn8t+/1gvdwlfdDHHYnsie2RQGDVXZH6UtB4drGT1vU6pMmbjH01P 6qfDcN5Z1t7uGTQCJplf1aVxfsOxw+vijDX5xG+D8+emq+vD04VF51d7hWzvDZsmMo2a o/xzzSIOh4qNNF440hEciIsKmCgmr8Lkk0N7G50oWNIbs4YYINXkR4dNzGCikmWiHBvL NULUmvRpcVFxD9b4eyOXMd3zfcQnATeyumgF2Y6U+/ubt6XzE5egSsPAajx5jRnu7pXn ArJg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788484960; x=1789089760; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:cc:to:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=vafqYva72uUiSMNa6o58yvOC4e5NILuvByOVikcpC18=; b=hnBMJXBNxY2e1ZAH4Yk81NbO7TMJAa1UDMNzq/VOODHdbA5kOwbUdEZNGs6nTakjhY rSiGHrzJk2GUzcErnpnAlvRtxaP8q8phtSIoyHzrNiYbGI+Z5Z66gKZF0Vo7vEHO9tAI oiIW74XRNm56Y5Uh84NCCl9f4mg1JvNNQjKu4C5jDGx73awtKDdAwNGwDJWoDZspDkiC Mh0DbcWE1iGRB7fT6LCD4di/9tscKcL66MeZMnTYnUNq5btWD287234Cu7+qYFmURFM4 bzeUa+4pjDGdzq44GHZ60gjLKglZ19NZGhN/qMFozaRwLAUFiTejFEXw0lFbKOfp7eRh ipQQ== X-Gm-Message-State: AFuF++kZipXfXtbn4tmwPZ8eucxdnOw3hc70JbJ3G2blFIP3LQAKt/0F kzWbCiDoVcueOfF2b9nUPz/uHQqzKGeE90wGlyLd6JILEm177SYIuEajVvIjp4H8rFo7ggN5LMv U6PWGgSOKqF5ubQf2x15UhBs8eX7SXExxbMcSHkR9Ntvi07iknPkVTcpv8v52FUhU9Q== X-Gm-Gg: AYBFou2iuf6A1pVKSqGPLkU+xen1/+hC9eY5nOiMkZzY+TDrjwoMSGLnBT2vE6Qlca3 5wMVvKEYo2NmLfeLG3rtwBXSyVt8xc7vKaBkg3MgPJlYLV+hJCX+rCL8q32PXBBgzvrM2+D3j0Y B9y7usDIrKc9leMcucDNLIrOhYdkVaV0J4EhEPWyduWvojqohzMlu5lQCkn2gOzdChZJe7BVlMc sggyBpQjkw6p7ldXawNINz4epdVBog4gERhFbqNQ7ZB1AE5jX6M3s0eLkVnzEiwdgOrYVXmJF1Y WLsw/YNOGsWgy7ORgYTHcGGaoV/wdidAEtJS6IKxA5BEOr+KqWBe2rgh+5o8dyfESUXHTVQCzGZ SRHPS/YlnhEXFyRVspNRx7O+8QPJsbDKqLt0GoBxcqFoOh8XH X-Received: by 2002:a17:90a:d44b:b0:396:4cbf:45bc with SMTP id 98e67ed59e1d1-39b26203f11mr4107303a91.16.1788484959865; Thu, 03 Sep 2026 18:22:39 -0700 (PDT) X-Received: by 2002:a17:90a:d44b:b0:396:4cbf:45bc with SMTP id 98e67ed59e1d1-39b26203f11mr4107241a91.16.1788484959395; Thu, 03 Sep 2026 18:22:39 -0700 (PDT) Received: from hu-bcain-lv.qualcomm.com (Global_NAT1.qualcomm.com. [129.46.96.20]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-3339885ca07sm2573234eec.1.2026.09.03.18.22.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Sep 2026 18:22:38 -0700 (PDT) From: Brian Cain To: qemu-devel@nongnu.org Cc: Brian Cain , Pierrick Bouvier Subject: [PATCH v3 3/5] tests/tcg/hexagon: add vgather/vscatter region-length tests Date: Thu, 3 Sep 2026 18:22:31 -0700 Message-Id: <20260904012233.3607547-4-brian.cain@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260904012233.3607547-1-brian.cain@oss.qualcomm.com> References: <20260904012233.3607547-1-brian.cain@oss.qualcomm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 X-Proofpoint-ORIG-GUID: 4w3CJq3aEOXojmGjM3OTO-e9pK9vPiCr X-Proofpoint-Spam-Info: AW1haW4tMjYwOTA0MDAxMCBTYWx0ZWRfX2+RLV/L5KnEz gkB2tsMMvTIHF0btGGpbwJ0Oj3pb+IPoG24hOGrDisRiIillCb7T14LytU1yjErpuVEGFwhHK1/ QLONGcEyeFuC2M9vDN41q5OgWnbPK2Y= X-Proofpoint-GUID: 4w3CJq3aEOXojmGjM3OTO-e9pK9vPiCr X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwOTA0MDAxMCBTYWx0ZWRfXwvzLPRcRgnbY S9gwp6RWw5P5PLDt0Z/bXzZiVxLTg6g/WmG2WjkNfSlMpPwktAcYrhtphNha+GYmWgCuoB3KOE3 7y0P/z7jkrhQQLxlasnEuukGlYSVdFsshM3RVvp1iMQ3WpyBnPVdR26T6bAMT+eBpRtmWNdbiFu rj0FzHjIprc2ksQdkP2w0iLv7PJzdHnjrNHiEJdfotQ4XjQVWWYZtWu/DBo5/qWDjsyY5sd2hW4 wU3+BVMxzuV9i6JeufV97igl9scSyHi8ZL+BVr/3MERgg8ZjB8/7tZvfzj+JG0JBGoAGUnDmWDQ WReMyIi4/uLtaaGm3J16MIEmyQubnySuUWagjXVfuVofi9EHpjcQsiHhFnu7A4+gXqBAWHVtJXp XisBO4JDdy9p34w+H/2pjid6qAHKGaOD9eNJKtApBRYVPisk9ba69FnKODdLdCDPXiZFH3N6GgN pCCO59+/Tgc46HPZyvQ== X-Authority-Analysis: v=2.4 cv=X9Zi7mTe c=1 sm=1 tr=0 ts=6a9a1d60 cx=c_pps a=0uOsjrqzRL749jD1oC5vDA==:117 a=ouPCqIW2jiPt+lZRy3xVPw==:17 a=IkcTkHD0fZMA:10 a=VdqzKS8jKosA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yOCtJkima9RkubShWh1s:22 a=EUspDBNiAAAA:8 a=0wXhRAlk9XZiN57P8QAA:9 a=QEXdDO2ut3YA:10 a=mQ_c8vxmzFEMiUWkPHU9:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-09-03_07,2026-09-03_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 malwarescore=0 bulkscore=0 clxscore=1015 lowpriorityscore=0 impostorscore=0 suspectscore=0 priorityscore=1501 spamscore=0 adultscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2609040010 Received-SPF: pass client-ip=205.220.168.131; envelope-from=brian.cain@oss.qualcomm.com; helo=mx0a-0031df01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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, 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: qemu development 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 Q292ZXIgdGhlIGNhc2Ugd2hlcmUgYW4gb2Zmc2V0IGxpZXMgYmV5b25kIHRoZSByZWdpb24gbGVu Z3RoOiBpdAptdXN0IGJlIGRyb3BwZWQgcmF0aGVyIHRoYW4gcmVhZC93cml0dGVuLgoKUGxhY2Ug b25lIGRyb3BwZWQgZ2F0aGVyIG9mZnNldCBvbiBhIFBST1RfTk9ORSBwYWdlIHRvIHZlcmlmeSB0 aGF0CnRoZSBpbnN0cnVjdGlvbiBkb2VzIG5vdCBhY2Nlc3MgbWVtb3J5IGZvciB0aGF0IGxhbmUu CgpTaWduZWQtb2ZmLWJ5OiBCcmlhbiBDYWluIDxicmlhbi5jYWluQG9zcy5xdWFsY29tbS5jb20+ Ci0tLQogdGVzdHMvdGNnL2hleGFnb24vc2NhdHRlcl9nYXRoZXIuYyB8IDEzNyArKysrKysrKysr KysrKysrKysrKysrKysrKysrLQogMSBmaWxlIGNoYW5nZWQsIDEzNiBpbnNlcnRpb25zKCspLCAx IGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvdGVzdHMvdGNnL2hleGFnb24vc2NhdHRlcl9nYXRo ZXIuYyBiL3Rlc3RzL3RjZy9oZXhhZ29uL3NjYXR0ZXJfZ2F0aGVyLmMKaW5kZXggYmY4YjVlMDMx NzIuLjQwZjAwY2M2Y2Y1IDEwMDY0NAotLS0gYS90ZXN0cy90Y2cvaGV4YWdvbi9zY2F0dGVyX2dh dGhlci5jCisrKyBiL3Rlc3RzL3RjZy9oZXhhZ29uL3NjYXR0ZXJfZ2F0aGVyLmMKQEAgLTMxLDcg KzMxLDExIEBACiAjaW5jbHVkZSA8c3RkaW8uaD4KICNpbmNsdWRlIDxzdHJpbmcuaD4KICNpbmNs dWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxhc3NlcnQuaD4KICNpbmNsdWRlIDxpbnR0eXBlcy5o PgorI2luY2x1ZGUgPHN5cy9tbWFuLmg+CisjaW5jbHVkZSA8aGV4YWdvbl90eXBlcy5oPgorI2lu Y2x1ZGUgPGh2eF9oZXhhZ29uX3Byb3Rvcy5oPgogCiB0eXBlZGVmIGxvbmcgSFZYX1ZlY3RvciAg ICAgICBfX2F0dHJpYnV0ZV9fKChfX3ZlY3Rvcl9zaXplX18oMTI4KSkpCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBfX2F0dHJpYnV0ZV9fKChhbGlnbmVkKDEyOCkpKTsKQEAgLTg1LDYg Kzg5LDIzIEBAIHVuc2lnbmVkIGludCAgIHdvcmRfcHJlZGljYXRlc1tNQVRSSVhfU0laRV0gX19h dHRyaWJ1dGVfXygoYWxpZ25lZCgxMjgpKSk7CiAvKiBtYWtlIHRoaXMgYmlnIGVub3VnaCBmb3Ig YWxsIHRoZSBvcGVyYXRpb25zICovCiBjb25zdCBzaXplX3QgcmVnaW9uX2xlbiA9IHNpemVvZih2 dGNtKTsKIAorLyogTXUgKHJlZ2lvbiBsZW5ndGggLSAxKTsgb2Zmc2V0IGlzIGtlcHQgaWZmIG9m ZnNldCA8PSBNdSAqLworI2RlZmluZSBSRUdJT05fTEVOX1RFU1RfTVUgMTI3CisjZGVmaW5lIEdB VEhFUl9MRU5fVEVTVF9QQUdFX1NJWkUgNDA5Ngorc3RhdGljIHVuc2lnbmVkIGNoYXIgKmdhdGhl cl9sZW5fdGVzdF9zcmM7CitzdGF0aWMgdW5zaWduZWQgY2hhciBnYXRoZXJfbGVuX3Rlc3RfZHN0 WzEyOF0gX19hdHRyaWJ1dGVfXygoYWxpZ25lZCgxMjgpKSk7CitzdGF0aWMgdW5zaWduZWQgY2hh ciBnYXRoZXJfbGVuX3Rlc3RfZHN0X3JlZlsxMjhdOworCisvKiBUaGUgZHJvcHBlZCBvZmZzZXQg bXVzdCByZW1haW4gaW4gdGhlIGJhY2tpbmcgZGVzdGluYXRpb24gYnVmZmVyLiAqLworI2RlZmlu ZSBTQ0FUVEVSX0xFTl9URVNUX0RTVF9TSVpFIDUxMgorc3RhdGljIHVuc2lnbmVkIGNoYXIgc2Nh dHRlcl9sZW5fdGVzdF9kc3RbU0NBVFRFUl9MRU5fVEVTVF9EU1RfU0laRV0KKyAgICBfX2F0dHJp YnV0ZV9fKChhbGlnbmVkKDEyOCkpKTsKK3N0YXRpYyB1bnNpZ25lZCBjaGFyIHNjYXR0ZXJfbGVu X3Rlc3RfZHN0X3JlZltTQ0FUVEVSX0xFTl9URVNUX0RTVF9TSVpFXTsKK3N0YXRpYyB1bnNpZ25l ZCBzaG9ydCByZWdpb25fbGVuX3Rlc3Rfb2Zmc2V0c1tNQVRSSVhfU0laRV0KKyAgICBfX2F0dHJp YnV0ZV9fKChhbGlnbmVkKDEyOCkpKTsKK3N0YXRpYyB1bnNpZ25lZCBzaG9ydCBzY2F0dGVyX2xl bl90ZXN0X3ZhbHVlc1tNQVRSSVhfU0laRV0KKyAgICBfX2F0dHJpYnV0ZV9fKChhbGlnbmVkKDEy OCkpKTsKKwogLyogb3B0aW9uYWxseSBhZGQgc3luYyBpbnN0cnVjdGlvbnMgKi8KICNkZWZpbmUg U1lOQ19WRUNUT1IgMQogCkBAIC05Niw3ICsxMTcsNyBAQCBzdGF0aWMgdm9pZCBzeW5jX3NjYXR0 ZXIodm9pZCAqYWRkcikKICAgICAgKiBzeW5jaHJvbml6YXRpb24uICBOb3JtYWxseSB0aGUgZHVt bXkgbG9hZCB3b3VsZCBiZSBkZWZlcnJlZCBhcwogICAgICAqIGxvbmcgYXMgcG9zc2libGUgdG8g bWluaW1pemUgc3RhbGxzLgogICAgICAqLwotICAgIGFzbSB2b2xhdGlsZSgidm1lbSglMCArICMw KTpzY2F0dGVyX3JlbGVhc2VcbiIgOiA6ICJyIihhZGRyKSk7CisgICAgYXNtIHZvbGF0aWxlKCJ2 bWVtKCVbYWRkcl0gKyAjMCk6c2NhdHRlcl9yZWxlYXNlXG4iIDogOiBbYWRkcl0gInIiKGFkZHIp KTsKICAgICAvKiB1c2Ugdm9sYXRpbGUgdG8gZm9yY2UgdGhlIGxvYWQgKi8KICAgICB2b2xhdGls ZSBIVlhfVmVjdG9yIHZEdW1teSA9ICooSFZYX1ZlY3RvciAqKWFkZHI7IHZEdW1teSA9IHZEdW1t eTsKICNlbmRpZgpAQCAtODU1LDYgKzg3NiwxMTIgQEAgdm9pZCBjaGVja19nYXRoZXJfMTZfMzJf bWFza2VkKHZvaWQpCiAgICAgICAgICAgICAgICAgIE1BVFJJWF9TSVpFICogc2l6ZW9mKHVuc2ln bmVkIHNob3J0KSk7CiB9CiAKK3N0YXRpYyB2b2lkIGluaXRfcmVnaW9uX2xlbl90ZXN0X29mZnNl dHModm9pZCkKK3sKKyAgICBtZW1zZXQocmVnaW9uX2xlbl90ZXN0X29mZnNldHMsIDAsIHNpemVv ZihyZWdpb25fbGVuX3Rlc3Rfb2Zmc2V0cykpOworICAgIHJlZ2lvbl9sZW5fdGVzdF9vZmZzZXRz WzBdID0gMDsgICAgICAgICAgICAgICAgICAgICAgLyogaW4gcmVnaW9uICovCisgICAgcmVnaW9u X2xlbl90ZXN0X29mZnNldHNbMV0gPSBSRUdJT05fTEVOX1RFU1RfTVUgLSAxOyAgLyogaW4gcmVn aW9uICovCisgICAgcmVnaW9uX2xlbl90ZXN0X29mZnNldHNbMl0gPSBSRUdJT05fTEVOX1RFU1Rf TVU7ICAgICAgLyogaW4gcmVnaW9uICovCisgICAgcmVnaW9uX2xlbl90ZXN0X29mZnNldHNbM10g PSBSRUdJT05fTEVOX1RFU1RfTVUgKyAxOyAgLyogZHJvcHBlZCAqLworICAgIHJlZ2lvbl9sZW5f dGVzdF9vZmZzZXRzWzRdID0gMjU2OyAgICAgICAgICAgICAgICAgICAgIC8qIGRyb3BwZWQgKi8K K30KKworLyogdmdhdGhlciBtdXN0IGRyb3AgZWxlbWVudHMgd2hvc2Ugb2Zmc2V0IGlzIGJleW9u ZCB0aGUgcmVnaW9uICovCit2b2lkIGNyZWF0ZV9nYXRoZXJfcmVnaW9uX2xlbl90ZXN0KHZvaWQp Cit7CisgICAgdW5zaWduZWQgY2hhciAqbWFwcGluZzsKKworICAgIG1hcHBpbmcgPSBtbWFwKE5V TEwsIDIgKiBHQVRIRVJfTEVOX1RFU1RfUEFHRV9TSVpFLAorICAgICAgICAgICAgICAgICAgIFBS T1RfUkVBRCB8IFBST1RfV1JJVEUsCisgICAgICAgICAgICAgICAgICAgTUFQX1BSSVZBVEUgfCBN QVBfQU5PTllNT1VTLCAtMSwgMCk7CisgICAgYXNzZXJ0KG1hcHBpbmcgIT0gTUFQX0ZBSUxFRCk7 CisgICAgYXNzZXJ0KG1wcm90ZWN0KG1hcHBpbmcgKyBHQVRIRVJfTEVOX1RFU1RfUEFHRV9TSVpF LAorICAgICAgICAgICAgICAgICAgICBHQVRIRVJfTEVOX1RFU1RfUEFHRV9TSVpFLCBQUk9UX05P TkUpID09IDApOworICAgIGdhdGhlcl9sZW5fdGVzdF9zcmMgPSBtYXBwaW5nICsgR0FUSEVSX0xF Tl9URVNUX1BBR0VfU0laRSAtIDI1NjsKKworICAgIGZvciAoaW50IGkgPSAwOyBpIDwgMjU2OyBp KyspIHsKKyAgICAgICAgZ2F0aGVyX2xlbl90ZXN0X3NyY1tpXSA9ICh1bnNpZ25lZCBjaGFyKSgx MyArIDcgKiBpKTsKKyAgICB9CisgICAgaW5pdF9yZWdpb25fbGVuX3Rlc3Rfb2Zmc2V0cygpOwor ICAgIG1lbXNldChnYXRoZXJfbGVuX3Rlc3RfZHN0LCBGSUxMX0NIQVIsIHNpemVvZihnYXRoZXJf bGVuX3Rlc3RfZHN0KSk7Cit9CisKKy8qIGdhdGhlciB3aXRoIGEgcmVnaW9uIHNob3J0ZXIgdGhh biB0aGUgc291cmNlIGJ1ZmZlciwgdXNpbmcgSFZYICovCit2b2lkIHZlY3Rvcl9nYXRoZXJfcmVn aW9uX2xlbih2b2lkKQoreworICAgIEhWWF9WZWN0b3Igdm9mZiA9ICooSFZYX1ZlY3RvciAqKXJl Z2lvbl9sZW5fdGVzdF9vZmZzZXRzOworCisgICAgUTZfdmdhdGhlcl9BUk1WaCgoSFZYX1ZlY3Rv ciAqKWdhdGhlcl9sZW5fdGVzdF9kc3QsCisgICAgICAgICAgICAgICAgICAgICAgKGludCkodWlu dHB0cl90KWdhdGhlcl9sZW5fdGVzdF9zcmMsCisgICAgICAgICAgICAgICAgICAgICAgUkVHSU9O X0xFTl9URVNUX01VLCB2b2ZmKTsKKworICAgIHN5bmNfZ2F0aGVyKGdhdGhlcl9sZW5fdGVzdF9k c3QpOworfQorCisvKiBnYXRoZXIgd2l0aCBhIHJlZ2lvbiBzaG9ydGVyIHRoYW4gdGhlIHNvdXJj ZSBidWZmZXIsIHVzaW5nIEMgKi8KK3ZvaWQgc2NhbGFyX2dhdGhlcl9yZWdpb25fbGVuKHVuc2ln bmVkIGNoYXIgKmRzdCkKK3sKKyAgICBmb3IgKGludCBpID0gMDsgaSA8IE1BVFJJWF9TSVpFOyBp KyspIHsKKyAgICAgICAgdW5zaWduZWQgc2hvcnQgb2ZmID0gcmVnaW9uX2xlbl90ZXN0X29mZnNl dHNbaV07CisgICAgICAgIGlmIChvZmYgPD0gUkVHSU9OX0xFTl9URVNUX01VKSB7CisgICAgICAg ICAgICBkc3RbMiAqIGldID0gZ2F0aGVyX2xlbl90ZXN0X3NyY1tvZmZdOworICAgICAgICAgICAg ZHN0WzIgKiBpICsgMV0gPSBnYXRoZXJfbGVuX3Rlc3Rfc3JjW29mZiArIDFdOworICAgICAgICB9 CisgICAgfQorfQorCit2b2lkIGNoZWNrX2dhdGhlcl9yZWdpb25fbGVuKHZvaWQpCit7CisgICAg bWVtc2V0KGdhdGhlcl9sZW5fdGVzdF9kc3RfcmVmLCBGSUxMX0NIQVIsCisgICAgICAgICAgIHNp emVvZihnYXRoZXJfbGVuX3Rlc3RfZHN0X3JlZikpOworICAgIHNjYWxhcl9nYXRoZXJfcmVnaW9u X2xlbihnYXRoZXJfbGVuX3Rlc3RfZHN0X3JlZik7CisgICAgY2hlY2tfYnVmZmVyKF9fZnVuY19f LCBnYXRoZXJfbGVuX3Rlc3RfZHN0LCBnYXRoZXJfbGVuX3Rlc3RfZHN0X3JlZiwKKyAgICAgICAg ICAgICAgICAgc2l6ZW9mKGdhdGhlcl9sZW5fdGVzdF9kc3RfcmVmKSk7Cit9CisKKy8qIHZzY2F0 dGVyIG11c3QgZHJvcCBlbGVtZW50cyB3aG9zZSBvZmZzZXQgaXMgYmV5b25kIHRoZSByZWdpb24g Ki8KK3ZvaWQgY3JlYXRlX3NjYXR0ZXJfcmVnaW9uX2xlbl90ZXN0KHZvaWQpCit7CisgICAgaW5p dF9yZWdpb25fbGVuX3Rlc3Rfb2Zmc2V0cygpOworICAgIGZvciAoaW50IGkgPSAwOyBpIDwgTUFU UklYX1NJWkU7IGkrKykgeworICAgICAgICBzY2F0dGVyX2xlbl90ZXN0X3ZhbHVlc1tpXSA9IDB4 NDEwMCArIGk7CisgICAgfQorICAgIG1lbXNldChzY2F0dGVyX2xlbl90ZXN0X2RzdCwgRklMTF9D SEFSLCBzaXplb2Yoc2NhdHRlcl9sZW5fdGVzdF9kc3QpKTsKK30KKworLyogc2NhdHRlciB3aXRo IGEgcmVnaW9uIHNob3J0ZXIgdGhhbiB0aGUgZGVzdGluYXRpb24gYnVmZmVyLCB1c2luZyBIVlgg Ki8KK3ZvaWQgdmVjdG9yX3NjYXR0ZXJfcmVnaW9uX2xlbih2b2lkKQoreworICAgIEhWWF9WZWN0 b3Igdm9mZiA9ICooSFZYX1ZlY3RvciAqKXJlZ2lvbl9sZW5fdGVzdF9vZmZzZXRzOworICAgIEhW WF9WZWN0b3IgdnZhbCA9ICooSFZYX1ZlY3RvciAqKXNjYXR0ZXJfbGVuX3Rlc3RfdmFsdWVzOwor CisgICAgUTZfdnNjYXR0ZXJfUk1WaFYoKGludCkodWludHB0cl90KXNjYXR0ZXJfbGVuX3Rlc3Rf ZHN0LAorICAgICAgICAgICAgICAgICAgICAgICBSRUdJT05fTEVOX1RFU1RfTVUsIHZvZmYsIHZ2 YWwpOworCisgICAgc3luY19zY2F0dGVyKHNjYXR0ZXJfbGVuX3Rlc3RfZHN0KTsKK30KKworLyog c2NhdHRlciB3aXRoIGEgcmVnaW9uIHNob3J0ZXIgdGhhbiB0aGUgZGVzdGluYXRpb24gYnVmZmVy LCB1c2luZyBDICovCit2b2lkIHNjYWxhcl9zY2F0dGVyX3JlZ2lvbl9sZW4odW5zaWduZWQgY2hh ciAqZHN0KQoreworICAgIGZvciAoaW50IGkgPSAwOyBpIDwgTUFUUklYX1NJWkU7IGkrKykgewor ICAgICAgICB1bnNpZ25lZCBzaG9ydCBvZmYgPSByZWdpb25fbGVuX3Rlc3Rfb2Zmc2V0c1tpXTsK KyAgICAgICAgaWYgKG9mZiA8PSBSRUdJT05fTEVOX1RFU1RfTVUpIHsKKyAgICAgICAgICAgIG1l bWNweShkc3QgKyBvZmYsICZzY2F0dGVyX2xlbl90ZXN0X3ZhbHVlc1tpXSwKKyAgICAgICAgICAg ICAgICAgICBzaXplb2Yoc2NhdHRlcl9sZW5fdGVzdF92YWx1ZXNbaV0pKTsKKyAgICAgICAgfQor ICAgIH0KK30KKwordm9pZCBjaGVja19zY2F0dGVyX3JlZ2lvbl9sZW4odm9pZCkKK3sKKyAgICBt ZW1zZXQoc2NhdHRlcl9sZW5fdGVzdF9kc3RfcmVmLCBGSUxMX0NIQVIsCisgICAgICAgICAgIHNp emVvZihzY2F0dGVyX2xlbl90ZXN0X2RzdF9yZWYpKTsKKyAgICBzY2FsYXJfc2NhdHRlcl9yZWdp b25fbGVuKHNjYXR0ZXJfbGVuX3Rlc3RfZHN0X3JlZik7CisgICAgY2hlY2tfYnVmZmVyKF9fZnVu Y19fLCBzY2F0dGVyX2xlbl90ZXN0X2RzdCwgc2NhdHRlcl9sZW5fdGVzdF9kc3RfcmVmLAorICAg ICAgICAgICAgICAgICBzaXplb2Yoc2NhdHRlcl9sZW5fdGVzdF9kc3RfcmVmKSk7Cit9CisKIC8q IHByaW50IHNjYXR0ZXIxNiBidWZmZXIgKi8KIHZvaWQgcHJpbnRfc2NhdHRlcjE2X2J1ZmZlcih2 b2lkKQogewpAQCAtMTAzNSw2ICsxMTYyLDE0IEBAIGludCBtYWluKCkKICAgICBwcmludF9zY2F0 dGVyMTZfMzJfYnVmZmVyKCk7CiAgICAgY2hlY2tfc2NhdHRlcl8xNl8zMl9tYXNrZWQoKTsKIAor ICAgIGNyZWF0ZV9nYXRoZXJfcmVnaW9uX2xlbl90ZXN0KCk7CisgICAgdmVjdG9yX2dhdGhlcl9y ZWdpb25fbGVuKCk7CisgICAgY2hlY2tfZ2F0aGVyX3JlZ2lvbl9sZW4oKTsKKworICAgIGNyZWF0 ZV9zY2F0dGVyX3JlZ2lvbl9sZW5fdGVzdCgpOworICAgIHZlY3Rvcl9zY2F0dGVyX3JlZ2lvbl9s ZW4oKTsKKyAgICBjaGVja19zY2F0dGVyX3JlZ2lvbl9sZW4oKTsKKwogICAgIHB1dHMoZXJyID8g IkZBSUwiIDogIlBBU1MiKTsKICAgICByZXR1cm4gZXJyOwogfQotLSAKMi4zNC4xCgo=