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 649ABC61DD3 for ; Fri, 4 Sep 2026 01:23:33 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2Idh-00079X-7Q; 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-00079C-8w 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-0005J1-Hj for qemu-devel@nongnu.org; Thu, 03 Sep 2026 21:22:44 -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 683NbXaR1948201 for ; Fri, 4 Sep 2026 01:22:38 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= k+TohD5bx2HhycXesAHlop/DzWBoRKT6Njidelnyb0U=; b=Th+aD/jCRR+fqlR2 IOtffBW/Vzbf6W/kVHJadjhBDzpf0aoYVM5bOrgsyvNK5Zl6d0wUmk8K1ESAseyv mkaCQpf3jVSCPWWz5WY4tz8huYUcYPutPIfzsf7wisB7YtUihLZS9xqtY1AS+e34 sI3W372iiSKdUL5HdnVSQomoG9CSnMUCYlUuB4un45w5jCGNSk8aebASrp4gYVbU gHzkx1A9MISi8UBSM+zUAhFVN+a4jp4ZzhvIfoQhJuY267oL/CGNPx6amTqlNEQ3 0lYB1+Cz1ZHUh3FT+jxAD65OhbBINEJN8NAzPEZlJswpuzWXr3GVbw6hoCt9EAIm cL3ofg== 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 4gfdyxhfvu-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 04 Sep 2026 01:22:38 +0000 (GMT) Received: by mail-pj1-f70.google.com with SMTP id 98e67ed59e1d1-39af92138f9so724478a91.0 for ; Thu, 03 Sep 2026 18:22:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1788484957; x=1789089757; 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=k+TohD5bx2HhycXesAHlop/DzWBoRKT6Njidelnyb0U=; b=PeqSbuQsAS7B3bgsdRCX6+UL8Qovq0oGJzZ7UKuOKDt9cFQhUGqI517wYW6vN/zafu PRJ23u3PpmVGKVodTNAu06BPP4qQPMJmS56X+q25X6Upt3ViYez02InTG7mVNAz9LDnT NLy45bDpjXRXJX/foBm4vRJWwcA93zJbvD6dH63Do7hwQXh9LMGmrUDHD2FYqxxp3xlZ dNsBeJGcJz48+yazYrX+EsHXrs9ID4JOmGRE/DPrskLj+im8CmhBtE4tdQXdy0mW+Gf6 LnhvDhHXInktxDKeqJwfa0Kp5X8ndWQ+5Xcd8shF3FsSYlWCdMk00iEUcFoDmw3qKN55 /Trg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788484957; x=1789089757; 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=k+TohD5bx2HhycXesAHlop/DzWBoRKT6Njidelnyb0U=; b=SHWgsZqRGTT7dWtp7xvrKlD1CJJH6NlqjC02SB/OSFYSwkBur5ytEqURYqy01Eaw01 x52Bu7n2cU7V5YfwtmNJmyoBnXEmihg+I+Hz33A8y0f63+ciFugN173fBHA/I3vsAaO6 9CtiT/aG+8gXZyA8KLFthe/Vt4jGlh3qMCilneMW4vlqLshDYMqcmJEr5bZZUw5sOjML x3/p6AmCtqW68/bQmpsWsQ9yFJ+JYy4xOC3QAQggoPiK4EUAsUS2QyKk7HbZd5CsXgeS b39FNZb04GNtHegzpq6aBQTJeIoZWZ8JmK+vmvkVgbND3Wd9UUxRouQy7TMtrPkzPTqL 0R2w== X-Gm-Message-State: AFuF++myeeCTpnhW10oORIkpm9oUPw6UukjStK12e918l6j8r2Nn7EwQ GFSBfQe7EqnP8FhCEbhVezXV45HnygXu7STPGEbbmjRGR5ATAqkIw7z2icdOmgnqNnz2ATWYdId zgGmigp9kICblrQcb4MLz5Ya7hn4M/w408kZE292sDm/TPwY7uRd5tx8alZxp/q5GPQ== X-Gm-Gg: AYBFou1DAnU0R3ms3ZMtMkAUH0Bh7EqIluqVUtBt66INVIpKEOGuNgSToLUh0bqWkP/ uIOB/m5ExaL548gMuNdeFEfLFQa9rcFj4RkDg1bei/tHs0TkDIK3c6xWICYJRo90fL1o+W/Q19D Ihe+MrFeZ3e79IKrebSqA8OJDww/7MGMuqJVBZWxtDKCGKD1/ZT/tH6Bz3geNp0pyGghe+LoMFz KubscvTII4y0TxYTwaNcEuntX1Pxpah+sZA+Ib+sMSgS/xLdJ60VWteYKobHDCVEKXMV+TdGZsz rUVSkcN1/CIywWXu5Oyp61g+QcDxXvpM8KAAIWytonC8wk7YDYnbs0S9YApzJkLXmJ/ALjh+dj+ IY6j3RlnZJSoI3pJ8d8OLuGD2xM2Y6uOKiLqdaRG+0TYfyOUb X-Received: by 2002:a17:90b:35cf:b0:398:9beb:a2bc with SMTP id 98e67ed59e1d1-39b0881d765mr11014208a91.30.1788484957233; Thu, 03 Sep 2026 18:22:37 -0700 (PDT) X-Received: by 2002:a17:90b:35cf:b0:398:9beb:a2bc with SMTP id 98e67ed59e1d1-39b0881d765mr11014161a91.30.1788484956690; Thu, 03 Sep 2026 18:22:36 -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.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Sep 2026 18:22:35 -0700 (PDT) From: Brian Cain To: qemu-devel@nongnu.org Cc: Brian Cain , Pierrick Bouvier , Anton Johansson , Matheus Tavares Bernardino Subject: [PATCH v3 1/5] target/hexagon: fix HVX big-endian byte access Date: Thu, 3 Sep 2026 18:22:29 -0700 Message-Id: <20260904012233.3607547-2-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: xL2lbt8w93KRXF8BAasL1ZpJCNv8Gr3b X-Proofpoint-Spam-Info: AW1haW4tMjYwOTA0MDAxMCBTYWx0ZWRfX/ODI7wNJtj24 fZNBjheogkos7znbPeQIYW0naLq5Zye8i2FOoLJ7G0E0yQ/rTrfqfvAAA6qrYwXWwXtc3tnJBTp 4+dBqC4XckMBsxsMB8xclSoRVYLZ9cw= X-Proofpoint-GUID: xL2lbt8w93KRXF8BAasL1ZpJCNv8Gr3b X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwOTA0MDAxMCBTYWx0ZWRfX+ziqjQ5PqgSE 7d93FAEXZOseFFXgRgNIbAGq0gIlFA24zvDQ4BZZM4ttoYLYArAdNcQg6xQyL+jJFqiWfqnrJr5 6tH3kMrw+lGU5mkqMkM85yfUooAj9e5FidnBf9SmoT93XrpTm8s8fzK3E6LamZA7egEqjcDlsjy 3B5cW4MWh71Y98xCvxEUYz01P14hfncBgQP9QM5zljIEk+O40VPWsHtq7tKzpohizVWNC2nyLsh 1N+tTRjjFex/s3hGceVEQRNKUuzwJA3vJVHnMMgAEoz923UCq2K/KQCBybr/VbgXQ1UJYqlwgay IUjuifvrjlwoga6vV4MGkvUlh3t0iviabOgWBAoe/cyT/9EQb98KArNHViSDS0F2n98XqzgRSnw 5ojKUnIT8Pgr9MT5vmzF/rle7NREh3ZNX7vq/0JQ9g+FiVpOZks1gBbj2oAnShiDOcRFrIBB73d 1aLx5n+LikMDhhxf0Lw== X-Authority-Analysis: v=2.4 cv=X9Zi7mTe c=1 sm=1 tr=0 ts=6a9a1d5e 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=vUhCv2GA6jJ6UuKgImsA: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 S2VlcCBIVlggbGFuZXMgaG9zdC1uYXRpdmUgd2hpbGUgY29udmVydGluZyBieXRlIGluZGV4ZXMg YXQgbWVtb3J5CmFuZCBoZWxwZXIgYm91bmRhcmllcy4KCkFsc28gcGxhY2UgdmVjdG9yIGNvbXBh cmlzb24gcHJlZGljYXRlIGJ5dGVzIGFjY29yZGluZyB0byBob3N0IHdvcmQgb3JkZXIuCgpTdWdn ZXN0ZWQtYnk6IEFudG9uIEpvaGFuc3NvbiA8YW5qb0ByZXYubmc+ClJldmlld2VkLWJ5OiBBbnRv biBKb2hhbnNzb24gPGFuam9AcmV2Lm5nPgpSZXZpZXdlZC1ieTogTWF0aGV1cyBUYXZhcmVzIEJl cm5hcmRpbm8gPG1hdGhldXMuYmVybmFyZGlub0Bvc3MucXVhbGNvbW0uY29tPgpTaWduZWQtb2Zm LWJ5OiBCcmlhbiBDYWluIDxicmlhbi5jYWluQG9zcy5xdWFsY29tbS5jb20+Ci0tLQogdGFyZ2V0 L2hleGFnb24vbW12ZWMvbWFjcm9zLmggICAgICAgICAgIHwgMjMgKysrKysrKysrKysrKysrLS0t LS0tLS0KIHRhcmdldC9oZXhhZ29uL21tdmVjL21tdmVjLmggICAgICAgICAgICB8IDE4ICsrKysr KysrKysrKysrKysrKwogdGFyZ2V0L2hleGFnb24vY3B1LmMgICAgICAgICAgICAgICAgICAgIHwg MTcgKysrKysrKysrKystLS0tLS0KIHRhcmdldC9oZXhhZ29uL2dlbnB0ci5jICAgICAgICAgICAg ICAgICB8ICAzICsrLQogdGFyZ2V0L2hleGFnb24vbW12ZWMvc3lzdGVtX2V4dF9tbXZlYy5jIHwg IDIgKy0KIHRhcmdldC9oZXhhZ29uL29wX2hlbHBlci5jICAgICAgICAgICAgICB8IDE3ICsrKysr KysrKysrKy0tLS0tCiA2IGZpbGVzIGNoYW5nZWQsIDU5IGluc2VydGlvbnMoKyksIDIxIGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL3RhcmdldC9oZXhhZ29uL21tdmVjL21hY3Jvcy5oIGIvdGFy Z2V0L2hleGFnb24vbW12ZWMvbWFjcm9zLmgKaW5kZXggYjM2ZjgzM2IxZGUuLmU4NWJlZWQzMzg3 IDEwMDY0NAotLS0gYS90YXJnZXQvaGV4YWdvbi9tbXZlYy9tYWNyb3MuaAorKysgYi90YXJnZXQv aGV4YWdvbi9tbXZlYy9tYWNyb3MuaApAQCAtNTMsNyArNTMsNyBAQAogCiAjZGVmaW5lIExPR19W VENNX0JZVEUoVkEsIE1BU0ssIFZBTCwgSURYKSBcCiAgICAgZG8geyBcCi0gICAgICAgIGVudi0+ dnRjbV9sb2cuZGF0YS51YltJRFhdID0gKFZBTCk7IFwKKyAgICAgICAgaGV4YWdvbl9tbXZlY19z ZXRfYnl0ZSgmZW52LT52dGNtX2xvZy5kYXRhLCBJRFgsIFZBTCk7IFwKICAgICAgICAgaWYgKE1B U0spIHsgXAogICAgICAgICAgICAgc2V0X2JpdCgoSURYKSwgZW52LT52dGNtX2xvZy5tYXNrKTsg XAogICAgICAgICB9IGVsc2UgeyBcCkBAIC0xMzMsNyArMTMzLDggQEAKICAgICAgICAgdGFyZ2V0 X3Vsb25nIHZhX2hpZ2ggPSBFQSArIExFTjsgXAogICAgICAgICBmb3IgKGludCBpMCA9IDA7IGkw IDwgNDsgaTArKykgeyBcCiAgICAgICAgICAgICBsb2dfYnl0ZSA9ICh2YSArIGkwKSA8PSB2YV9o aWdoOyBcCi0gICAgICAgICAgICBMT0dfVlRDTV9CWVRFKHZhICsgaTAsIGxvZ19ieXRlLCBJTkMu IHViWzQgKiBJRFggKyBpMF0sIFwKKyAgICAgICAgICAgIExPR19WVENNX0JZVEUodmEgKyBpMCwg bG9nX2J5dGUsIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGhleGFnb25fbW12ZWNfZ2V0 X2J5dGUoJihJTkMpLCA0ICogSURYICsgaTApLCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAg IDQgKiBJRFggKyBpMCk7IFwKICAgICAgICAgfSBcCiAgICAgfSB3aGlsZSAoMCkKQEAgLTE0NCw3 ICsxNDUsOCBAQAogICAgICAgICB0YXJnZXRfdWxvbmcgdmFfaGlnaCA9IEVBICsgTEVOOyBcCiAg ICAgICAgIGZvciAoaW50IGkwID0gMDsgaTAgPCAyOyBpMCsrKSB7IFwKICAgICAgICAgICAgIGxv Z19ieXRlID0gKHZhICsgaTApIDw9IHZhX2hpZ2g7IFwKLSAgICAgICAgICAgIExPR19WVENNX0JZ VEUodmEgKyBpMCwgbG9nX2J5dGUsIElOQy51YlsyICogSURYICsgaTBdLCBcCisgICAgICAgICAg ICBMT0dfVlRDTV9CWVRFKHZhICsgaTAsIGxvZ19ieXRlLCBcCisgICAgICAgICAgICAgICAgICAg ICAgICAgICBoZXhhZ29uX21tdmVjX2dldF9ieXRlKCYoSU5DKSwgMiAqIElEWCArIGkwKSwgXAog ICAgICAgICAgICAgICAgICAgICAgICAgICAyICogSURYICsgaTApOyBcCiAgICAgICAgIH0gXAog ICAgIH0gd2hpbGUgKDApCkBAIC0xNTcsNyArMTU5LDggQEAKICAgICAgICAgdGFyZ2V0X3Vsb25n IHZhX2hpZ2ggPSBFQSArIExFTjsgXAogICAgICAgICBmb3IgKGludCBpMCA9IDA7IGkwIDwgMjsg aTArKykgeyBcCiAgICAgICAgICAgICBsb2dfYnl0ZSA9ICh2YSArIGkwKSA8PSB2YV9oaWdoOyBc Ci0gICAgICAgICAgICBMT0dfVlRDTV9CWVRFKHZhICsgaTAsIGxvZ19ieXRlLCBJTkMudWJbMiAq IElEWCArIGkwXSwgXAorICAgICAgICAgICAgTE9HX1ZUQ01fQllURSh2YSArIGkwLCBsb2dfYnl0 ZSwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgaGV4YWdvbl9tbXZlY19nZXRfYnl0ZSgm KElOQyksIDIgKiBJRFggKyBpMCksIFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgMiAqIElE WCArIGkwKTsgXAogICAgICAgICB9IFwKICAgICB9IHdoaWxlICgwKQpAQCAtMTc0LDcgKzE3Nyw4 IEBACiAgICAgICAgICAgICBsb2dfYnl0ZSA9ICgodmEgKyBpMCkgPD0gdmFfaGlnaCkgJiYgUVZB TDsgXAogICAgICAgICAgICAgdWludDhfdCBCOyBcCiAgICAgICAgICAgICBCID0gY3B1X2xkdWJf ZGF0YV9yYShlbnYsIEVBICsgaTAsIHJhKTsgXAotICAgICAgICAgICAgZW52LT50bXBfVlJlZ3Nb MF0udWJbRUxFTUVOVF9TSVpFICogSURYICsgaTBdID0gQjsgXAorICAgICAgICAgICAgaGV4YWdv bl9tbXZlY19zZXRfYnl0ZSgmZW52LT50bXBfVlJlZ3NbMF0sIFwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgRUxFTUVOVF9TSVpFICogSURYICsgaTAsIEIpOyBcCiAgICAgICAg ICAgICBMT0dfVlRDTV9CWVRFKHZhICsgaTAsIGxvZ19ieXRlLCBCLCBFTEVNRU5UX1NJWkUgKiBJ RFggKyBpMCk7IFwKICAgICAgICAgfSBcCiAgICAgfSB3aGlsZSAoMCkKQEAgLTIxNiw5ICsyMjAs MTAgQEAKICAgICAgICAgICAgICAgICAgICAgdWludDhfdCB2YWw7IFwKICAgICAgICAgICAgICAg ICAgICAgdmFsID0gY3B1X2xkdWJfZGF0YV9yYShlbnYsIGVudi0+dnRjbV9sb2cudmFbaSArIGpd LCByYSk7IFwKICAgICAgICAgICAgICAgICAgICAgZHN0IHw9IHZhbCA8PCAoOCAqIGopOyBcCi0g ICAgICAgICAgICAgICAgICAgIGluYyB8PSBlbnYtPnZ0Y21fbG9nLmRhdGEudWJbaiArIGldIDw8 ICg4ICogaik7IFwKKyAgICAgICAgICAgICAgICAgICAgaW5jIHw9IGhleGFnb25fbW12ZWNfZ2V0 X2J5dGUoJmVudi0+dnRjbV9sb2cuZGF0YSwgaiArIGkpIFwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgIDw8ICg4ICogaik7IFwKICAgICAgICAgICAgICAgICAgICAgY2xlYXJfYml0KGogKyBp LCBlbnYtPnZ0Y21fbG9nLm1hc2spOyBcCi0gICAgICAgICAgICAgICAgICAgIGVudi0+dnRjbV9s b2cuZGF0YS51YltqICsgaV0gPSAwOyBcCisgICAgICAgICAgICAgICAgICAgIGhleGFnb25fbW12 ZWNfc2V0X2J5dGUoJmVudi0+dnRjbV9sb2cuZGF0YSwgaiArIGksIDApOyBcCiAgICAgICAgICAg ICAgICAgfSBcCiAgICAgICAgICAgICAgICAgZHN0ICs9IGluYzsgXAogICAgICAgICAgICAgICAg IGZvciAoaW50IGogPSAwOyBqIDwgc2l6ZW9mKFRZUEUpOyBqKyspIHsgXApAQCAtMjQ5LDcgKzI1 NCw5IEBACiAgICAgICAgIGludCBsb2dfYnl0ZSA9IDA7IFwKICAgICAgICAgZm9yIChpMCA9IDA7 IGkwIDwgRUxFTV9TSVpFOyBpMCsrKSB7IFwKICAgICAgICAgICAgIGxvZ19ieXRlID0gKCh2YSAr IGkwKSA8PSB2YV9oaWdoKSAmJiBRVkFMOyBcCi0gICAgICAgICAgICBMT0dfVlRDTV9CWVRFKHZh ICsgaTAsIGxvZ19ieXRlLCBJTi51YltFTEVNX1NJWkUgKiBJRFggKyBpMF0sIFwKKyAgICAgICAg ICAgIExPR19WVENNX0JZVEUodmEgKyBpMCwgbG9nX2J5dGUsIFwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgIGhleGFnb25fbW12ZWNfZ2V0X2J5dGUoJihJTiksIFwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFTEVNX1NJWkUgKiBJRFggKyBp MCksIFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgRUxFTV9TSVpFICogSURYICsgaTApOyBc CiAgICAgICAgIH0gXAogICAgIH0gd2hpbGUgKDApCmRpZmYgLS1naXQgYS90YXJnZXQvaGV4YWdv bi9tbXZlYy9tbXZlYy5oIGIvdGFyZ2V0L2hleGFnb24vbW12ZWMvbW12ZWMuaAppbmRleCA4ZTcy ZjJmNmFlNy4uNjYyZjlkMTU5N2UgMTAwNjQ0Ci0tLSBhL3RhcmdldC9oZXhhZ29uL21tdmVjL21t dmVjLmgKKysrIGIvdGFyZ2V0L2hleGFnb24vbW12ZWMvbW12ZWMuaApAQCAtMjAsNiArMjAsNyBA QAogCiAjaW5jbHVkZSAiZXhlYy90YXJnZXRfbG9uZy5oIgogI2luY2x1ZGUgInFlbXUvYml0bWFw LmgiCisjaW5jbHVkZSAicWVtdS9iaXRvcHMuaCIKIAogI2RlZmluZSBNQVhfVkVDX1NJWkVfTE9H QllURVMgNwogI2RlZmluZSBNQVhfVkVDX1NJWkVfQllURVMgICgxIDw8IE1BWF9WRUNfU0laRV9M T0dCWVRFUykKQEAgLTY5LDYgKzcwLDIzIEBAIHR5cGVkZWYgdW5pb24gewogICAgIGludDhfdCAg ICBiW01BWF9WRUNfU0laRV9CWVRFUyAvIDEgLyA4XTsKIH0gTU1RUmVnOwogCitzdGF0aWMgaW5s aW5lIHVpbnQ4X3QgaGV4YWdvbl9tbXZlY19nZXRfYnl0ZShjb25zdCBNTVZlY3RvciAqdiwgc2l6 ZV90IGluZGV4KQoreworICAgIHJldHVybiBleHRyYWN0NjQodi0+dWRbaW5kZXggLyA4XSwgKGlu ZGV4ICUgOCkgKiA4LCA4KTsKK30KKworc3RhdGljIGlubGluZSB2b2lkIGhleGFnb25fbW12ZWNf c2V0X2J5dGUoTU1WZWN0b3IgKnYsIHNpemVfdCBpbmRleCwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgdmFsdWUpCit7CisgICAgdi0+dWRbaW5kZXgg LyA4XSA9IGRlcG9zaXQ2NCh2LT51ZFtpbmRleCAvIDhdLCAoaW5kZXggJSA4KSAqIDgsIDgsCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSk7Cit9CisKK3N0YXRpYyBpbmxp bmUgdWludDhfdCBoZXhhZ29uX21tcXJlZ19nZXRfYnl0ZShjb25zdCBNTVFSZWcgKnEsIHNpemVf dCBpbmRleCkKK3sKKyAgICByZXR1cm4gZXh0cmFjdDMyKHEtPnV3W2luZGV4IC8gNF0sIChpbmRl eCAlIDQpICogOCwgOCk7Cit9CisKIHR5cGVkZWYgc3RydWN0IHsKICAgICBNTVZlY3RvciBkYXRh OwogICAgIERFQ0xBUkVfQklUTUFQKG1hc2ssIE1BWF9WRUNfU0laRV9CWVRFUyk7CmRpZmYgLS1n aXQgYS90YXJnZXQvaGV4YWdvbi9jcHUuYyBiL3RhcmdldC9oZXhhZ29uL2NwdS5jCmluZGV4IDRh N2I3NmUzYmNjLi5hYzU4MjFhMWU0NCAxMDA2NDQKLS0tIGEvdGFyZ2V0L2hleGFnb24vY3B1LmMK KysrIGIvdGFyZ2V0L2hleGFnb24vY3B1LmMKQEAgLTE4Miw3ICsxODIsNyBAQCBzdGF0aWMgdm9p ZCBwcmludF92cmVnKEZJTEUgKmYsIENQVUhleGFnb25TdGF0ZSAqZW52LCBpbnQgcmVnbnVtLAog ICAgIGlmIChza2lwX2lmX3plcm8pIHsKICAgICAgICAgYm9vbCBub256ZXJvX2ZvdW5kID0gZmFs c2U7CiAgICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgTUFYX1ZFQ19TSVpFX0JZVEVTOyBpKysp IHsKLSAgICAgICAgICAgIGlmIChlbnYtPlZSZWdzW3JlZ251bV0udWJbaV0gIT0gMCkgeworICAg ICAgICAgICAgaWYgKGhleGFnb25fbW12ZWNfZ2V0X2J5dGUoJmVudi0+VlJlZ3NbcmVnbnVtXSwg aSkgIT0gMCkgewogICAgICAgICAgICAgICAgIG5vbnplcm9fZm91bmQgPSB0cnVlOwogICAgICAg ICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgfQpAQCAtMTkzLDkgKzE5MywxMiBAQCBzdGF0 aWMgdm9pZCBwcmludF92cmVnKEZJTEUgKmYsIENQVUhleGFnb25TdGF0ZSAqZW52LCBpbnQgcmVn bnVtLAogICAgIH0KIAogICAgIHFlbXVfZnByaW50ZihmLCAiICB2JWQgPSAoICIsIHJlZ251bSk7 Ci0gICAgcWVtdV9mcHJpbnRmKGYsICIweCUwMngiLCBlbnYtPlZSZWdzW3JlZ251bV0udWJbTUFY X1ZFQ19TSVpFX0JZVEVTIC0gMV0pOworICAgIHFlbXVfZnByaW50ZihmLCAiMHglMDJ4IiwKKyAg ICAgICAgICAgICAgICAgaGV4YWdvbl9tbXZlY19nZXRfYnl0ZSgmZW52LT5WUmVnc1tyZWdudW1d LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1BWF9WRUNfU0laRV9C WVRFUyAtIDEpKTsKICAgICBmb3IgKGludCBpID0gTUFYX1ZFQ19TSVpFX0JZVEVTIC0gMjsgaSA+ PSAwOyBpLS0pIHsKLSAgICAgICAgcWVtdV9mcHJpbnRmKGYsICIsIDB4JTAyeCIsIGVudi0+VlJl Z3NbcmVnbnVtXS51YltpXSk7CisgICAgICAgIHFlbXVfZnByaW50ZihmLCAiLCAweCUwMngiLAor ICAgICAgICAgICAgICAgICAgICAgaGV4YWdvbl9tbXZlY19nZXRfYnl0ZSgmZW52LT5WUmVnc1ty ZWdudW1dLCBpKSk7CiAgICAgfQogICAgIHFlbXVfZnByaW50ZihmLCAiIClcbiIpOwogfQpAQCAt MjExLDcgKzIxNCw3IEBAIHN0YXRpYyB2b2lkIHByaW50X3FyZWcoRklMRSAqZiwgQ1BVSGV4YWdv blN0YXRlICplbnYsIGludCByZWdudW0sCiAgICAgaWYgKHNraXBfaWZfemVybykgewogICAgICAg ICBib29sIG5vbnplcm9fZm91bmQgPSBmYWxzZTsKICAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkg PCBNQVhfVkVDX1NJWkVfQllURVMgLyA4OyBpKyspIHsKLSAgICAgICAgICAgIGlmIChlbnYtPlFS ZWdzW3JlZ251bV0udWJbaV0gIT0gMCkgeworICAgICAgICAgICAgaWYgKGhleGFnb25fbW1xcmVn X2dldF9ieXRlKCZlbnYtPlFSZWdzW3JlZ251bV0sIGkpICE9IDApIHsKICAgICAgICAgICAgICAg ICBub256ZXJvX2ZvdW5kID0gdHJ1ZTsKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAg ICAgIH0KQEAgLTIyMyw5ICsyMjYsMTEgQEAgc3RhdGljIHZvaWQgcHJpbnRfcXJlZyhGSUxFICpm LCBDUFVIZXhhZ29uU3RhdGUgKmVudiwgaW50IHJlZ251bSwKIAogICAgIHFlbXVfZnByaW50Zihm LCAiICBxJWQgPSAoICIsIHJlZ251bSk7CiAgICAgcWVtdV9mcHJpbnRmKGYsICIweCUwMngiLAot ICAgICAgICAgICAgICAgICBlbnYtPlFSZWdzW3JlZ251bV0udWJbTUFYX1ZFQ19TSVpFX0JZVEVT IC8gOCAtIDFdKTsKKyAgICAgICAgICAgICAgICAgaGV4YWdvbl9tbXFyZWdfZ2V0X2J5dGUoJmVu di0+UVJlZ3NbcmVnbnVtXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgTUFYX1ZFQ19TSVpFX0JZVEVTIC8gOCAtIDEpKTsKICAgICBmb3IgKGludCBpID0gTUFYX1ZF Q19TSVpFX0JZVEVTIC8gOCAtIDI7IGkgPj0gMDsgaS0tKSB7Ci0gICAgICAgIHFlbXVfZnByaW50 ZihmLCAiLCAweCUwMngiLCBlbnYtPlFSZWdzW3JlZ251bV0udWJbaV0pOworICAgICAgICBxZW11 X2ZwcmludGYoZiwgIiwgMHglMDJ4IiwKKyAgICAgICAgICAgICAgICAgICAgIGhleGFnb25fbW1x cmVnX2dldF9ieXRlKCZlbnYtPlFSZWdzW3JlZ251bV0sIGkpKTsKICAgICB9CiAgICAgcWVtdV9m cHJpbnRmKGYsICIgKVxuIik7CiB9CmRpZmYgLS1naXQgYS90YXJnZXQvaGV4YWdvbi9nZW5wdHIu YyBiL3RhcmdldC9oZXhhZ29uL2dlbnB0ci5jCmluZGV4IDFmMTA5ZDQ0ZGU4Li5jZmNiZDc3ZDQ3 YSAxMDA2NDQKLS0tIGEvdGFyZ2V0L2hleGFnb24vZ2VucHRyLmMKKysrIGIvdGFyZ2V0L2hleGFn b24vZ2VucHRyLmMKQEAgLTE1NTcsNyArMTU1Nyw4IEBAIHN0YXRpYyB2b2lkIHZlY190b19xdmVj KHNpemVfdCBzaXplLCBpbnRwdHJfdCBkc3RvZmYsIGludHB0cl90IHNyY29mZikKICAgICAgICAg ICAgIHRjZ19nZW5fZGVwb3NpdF9pNjQobWFzaywgbWFzaywgYml0cywgaiwgc2l6ZSk7CiAgICAg ICAgIH0KIAotICAgICAgICB0Y2dfZ2VuX3N0OF9pNjQobWFzaywgdGNnX2VudiwgZHN0b2ZmICsg aSk7CisgICAgICAgIHRjZ19nZW5fc3Q4X2k2NChtYXNrLCB0Y2dfZW52LAorICAgICAgICAgICAg ICAgICAgICAgICAgZHN0b2ZmICsgKGkgXiAoSE9TVF9CSUdfRU5ESUFOID8gMyA6IDApKSk7CiAg ICAgfQogfQogCmRpZmYgLS1naXQgYS90YXJnZXQvaGV4YWdvbi9tbXZlYy9zeXN0ZW1fZXh0X21t dmVjLmMgYi90YXJnZXQvaGV4YWdvbi9tbXZlYy9zeXN0ZW1fZXh0X21tdmVjLmMKaW5kZXggODM1 MWYyY2MwMWIuLjA4MWNhZGQ4MTRhIDEwMDY0NAotLS0gYS90YXJnZXQvaGV4YWdvbi9tbXZlYy9z eXN0ZW1fZXh0X21tdmVjLmMKKysrIGIvdGFyZ2V0L2hleGFnb24vbW12ZWMvc3lzdGVtX2V4dF9t bXZlYy5jCkBAIC0yNiw3ICsyNiw3IEBAIHZvaWQgbWVtX2dhdGhlcl9zdG9yZShDUFVIZXhhZ29u U3RhdGUgKmVudiwgdGFyZ2V0X3Vsb25nIHZhZGRyLCBpbnQgc2xvdCkKICAgICBlbnYtPnZzdG9y ZV9wZW5kaW5nW3Nsb3RdID0gMTsKICAgICBlbnYtPnZzdG9yZVtzbG90XS52YSAgID0gdmFkZHI7 CiAgICAgZW52LT52c3RvcmVbc2xvdF0uc2l6ZSA9IHNpemU7Ci0gICAgbWVtY3B5KCZlbnYtPnZz dG9yZVtzbG90XS5kYXRhLnViWzBdLCAmZW52LT50bXBfVlJlZ3NbMF0sIHNpemUpOworICAgIG1l bWNweSgmZW52LT52c3RvcmVbc2xvdF0uZGF0YSwgJmVudi0+dG1wX1ZSZWdzWzBdLCBzaXplKTsK IAogICAgIC8qIE9uIGEgZ2F0aGVyIHN0b3JlLCBvdmVyd3JpdGUgdGhlIHN0b3JlIG1hc2sgdG8g ZW11bGF0ZSBkcm9wcGVkIGdhdGhlcnMgKi8KICAgICBiaXRtYXBfY29weShlbnYtPnZzdG9yZVtz bG90XS5tYXNrLCBlbnYtPnZ0Y21fbG9nLm1hc2ssIHNpemUpOwpkaWZmIC0tZ2l0IGEvdGFyZ2V0 L2hleGFnb24vb3BfaGVscGVyLmMgYi90YXJnZXQvaGV4YWdvbi9vcF9oZWxwZXIuYwppbmRleCA3 MTU1NWE3YmEzNi4uZDc0ZmFlYmM1ODIgMTAwNjQ0Ci0tLSBhL3RhcmdldC9oZXhhZ29uL29wX2hl bHBlci5jCisrKyBiL3RhcmdldC9oZXhhZ29uL29wX2hlbHBlci5jCkBAIC0xNjgsNyArMTY4LDEw IEBAIHZvaWQgSEVMUEVSKGNvbW1pdF9odnhfc3RvcmVzKShDUFVIZXhhZ29uU3RhdGUgKmVudikK ICAgICAgICAgICAgIGludCBzaXplID0gZW52LT52c3RvcmVbaV0uc2l6ZTsKICAgICAgICAgICAg IGZvciAoaW50IGogPSAwOyBqIDwgc2l6ZTsgaisrKSB7CiAgICAgICAgICAgICAgICAgaWYgKHRl c3RfYml0KGosIGVudi0+dnN0b3JlW2ldLm1hc2spKSB7Ci0gICAgICAgICAgICAgICAgICAgIGNw dV9zdGJfZGF0YV9yYShlbnYsIHZhICsgaiwgZW52LT52c3RvcmVbaV0uZGF0YS51YltqXSwgcmEp OworICAgICAgICAgICAgICAgICAgICBjcHVfc3RiX2RhdGFfcmEoZW52LCB2YSArIGosCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZXhhZ29uX21tdmVjX2dldF9ieXRlKCZl bnYtPnZzdG9yZVtpXS5kYXRhLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBqKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHJhKTsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9CiAgICAgICAgIH0K QEAgLTE5MSw5ICsxOTQsMTEgQEAgdm9pZCBIRUxQRVIoY29tbWl0X2h2eF9zdG9yZXMpKENQVUhl eGFnb25TdGF0ZSAqZW52KQogICAgICAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBzaXplb2Yo TU1WZWN0b3IpOyBpKyspIHsKICAgICAgICAgICAgICAgICBpZiAodGVzdF9iaXQoaSwgZW52LT52 dGNtX2xvZy5tYXNrKSkgewogICAgICAgICAgICAgICAgICAgICBjcHVfc3RiX2RhdGFfcmEoZW52 LCBlbnYtPnZ0Y21fbG9nLnZhW2ldLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgZW52LT52dGNtX2xvZy5kYXRhLnViW2ldLCByYSk7CisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgaGV4YWdvbl9tbXZlY19nZXRfYnl0ZSgmZW52LT52dGNtX2xvZy5kYXRh LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgaSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmEpOwogICAg ICAgICAgICAgICAgICAgICBjbGVhcl9iaXQoaSwgZW52LT52dGNtX2xvZy5tYXNrKTsKLSAgICAg ICAgICAgICAgICAgICAgZW52LT52dGNtX2xvZy5kYXRhLnViW2ldID0gMDsKKyAgICAgICAgICAg ICAgICAgICAgaGV4YWdvbl9tbXZlY19zZXRfYnl0ZSgmZW52LT52dGNtX2xvZy5kYXRhLCBpLCAw KTsKICAgICAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIH0KQEAgLTE0MDQsNyArMTQwOSw4 IEBAIHZvaWQgSEVMUEVSKHZoaXN0KShDUFVIZXhhZ29uU3RhdGUgKmVudikKIAogICAgIGZvciAo aW50IGxhbmUgPSAwOyBsYW5lIDwgODsgbGFuZSsrKSB7CiAgICAgICAgIGZvciAoaW50IGkgPSAw OyBpIDwgc2l6ZW9mKE1NVmVjdG9yKSAvIDg7ICsraSkgewotICAgICAgICAgICAgdW5zaWduZWQg Y2hhciB2YWx1ZSA9IGlucHV0LT51Ylsoc2l6ZW9mKE1NVmVjdG9yKSAvIDgpICogbGFuZSArIGld OworICAgICAgICAgICAgdW5zaWduZWQgY2hhciB2YWx1ZSA9IGhleGFnb25fbW12ZWNfZ2V0X2J5 dGUoaW5wdXQsCisgICAgICAgICAgICAgICAgKHNpemVvZihNTVZlY3RvcikgLyA4KSAqIGxhbmUg KyBpKTsKICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIgcmVnbm8gPSB2YWx1ZSA+PiAzOwogICAg ICAgICAgICAgdW5zaWduZWQgY2hhciBlbGVtZW50ID0gdmFsdWUgJiA3OwogCkBAIC0xNDE5LDcg KzE0MjUsOCBAQCB2b2lkIEhFTFBFUih2aGlzdHEpKENQVUhleGFnb25TdGF0ZSAqZW52KQogCiAg ICAgZm9yIChpbnQgbGFuZSA9IDA7IGxhbmUgPCA4OyBsYW5lKyspIHsKICAgICAgICAgZm9yIChp bnQgaSA9IDA7IGkgPCBzaXplb2YoTU1WZWN0b3IpIC8gODsgKytpKSB7Ci0gICAgICAgICAgICB1 bnNpZ25lZCBjaGFyIHZhbHVlID0gaW5wdXQtPnViWyhzaXplb2YoTU1WZWN0b3IpIC8gOCkgKiBs YW5lICsgaV07CisgICAgICAgICAgICB1bnNpZ25lZCBjaGFyIHZhbHVlID0gaGV4YWdvbl9tbXZl Y19nZXRfYnl0ZShpbnB1dCwKKyAgICAgICAgICAgICAgICAoc2l6ZW9mKE1NVmVjdG9yKSAvIDgp ICogbGFuZSArIGkpOwogICAgICAgICAgICAgdW5zaWduZWQgY2hhciByZWdubyA9IHZhbHVlID4+ IDM7CiAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyIGVsZW1lbnQgPSB2YWx1ZSAmIDc7CiAKLS0g CjIuMzQuMQoK