From nobody Sat Sep 26 20:50:54 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=reject dis=none) header.from=oss.qualcomm.com ARC-Seal: i=1; a=rsa-sha256; t=1789142721; cv=none; d=zohomail.com; s=zohoarc; b=GPecO03AMcoJgNhROHSiR9lSGTxtud70YKquJodkOxhfVFs2q1tpzUp2TCMUGjJdk1331h2PkSOhx7kmrk+BHsN29iy43KkQzmKlzMvJ4POqHIoNNSS/S3M3ebEbL0n/67yw46XnQag/VuL9ltKbkPDQhygclBg5eIwl7CxLTKQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789142721; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=s7toQDmajxiHq8JTLpDGxEfXm8l+e/1PqYqmdBCz+yg=; b=monNR2oNtxJTnvrbFqNHdybCu5IKMTDbfFw3o2l7fwnsBtRUnL/kaZZXFuwn51uJ4a+I5JKXiGajokGc3QyH4DdeZRsNWO8QF1KOm55Cp0+Y2VR4T0wuRgkO+OF0PekSp91Wb5NZVHhi6gZvWzW2MBNWSyi68zVgN+UY6N+q4kM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1789142721471798.989217713027; Fri, 11 Sep 2026 09:05:21 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x53kM-0003ZX-KI; Fri, 11 Sep 2026 12:05:05 -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 1x53jW-0003MQ-8N for qemu-devel@nongnu.org; Fri, 11 Sep 2026 12:04:20 -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 1x53jC-0007Sn-CW for qemu-devel@nongnu.org; Fri, 11 Sep 2026 12:04:09 -0400 Received: from pps.filterd (m0279868.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 68BF8h0O170537 for ; Fri, 11 Sep 2026 16:03:49 GMT Received: from mail-oi1-f200.google.com (mail-oi1-f200.google.com [209.85.167.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4gmm1e87ch-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 11 Sep 2026 16:03:49 +0000 (GMT) Received: by mail-oi1-f200.google.com with SMTP id 5614622812f47-4b597558c4cso1343528b6e.1 for ; Fri, 11 Sep 2026 09:03:49 -0700 (PDT) Received: from hu-bcain-lv.qualcomm.com (Global_NAT1.qualcomm.com. [129.46.96.20]) by smtp.gmail.com with ESMTPSA id 5614622812f47-4c3321ecd0asm2451876b6e.17.2026.09.11.09.03.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 11 Sep 2026 09:03:35 -0700 (PDT) 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= s7toQDmajxiHq8JTLpDGxEfXm8l+e/1PqYqmdBCz+yg=; b=Q+ub4HgT8NXtS++p 8ohOq/jyR+NQ7dr36eHMseFzqcTkdWsHE2GEmw3dxgraPMwU2d4tZ/i9QlGsyC1b DyZ1Cb9rvv4NfT1peJP/rafU2AhLHZmsKBi+cUvephm1ngyW+IR1d9tkPzzHqJes M+zXUMS120m3hlJGOHx2S4mnxMa81IfF8ZAJBG9Uy7Ly+RMWWo6P946p3eMoQmKL RsADD9cZba2tcPahyrbviRLxRwJ1UPOHFFETsQGtztG+BI0jzS2MhNQFDdcXeXBn l43aX3mL3FgGoX7pzoXQKfWr6LeOaa4geU6BQrbkJm3MPHbOt/icEoVXIUYf6EQC 92+jqg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1789142629; x=1789747429; 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=s7toQDmajxiHq8JTLpDGxEfXm8l+e/1PqYqmdBCz+yg=; b=ZAJdDh4Q41yR2DMNVwtdlFhiKn6CJRFvMJn3QyjdiZceek3s7/7Ye3+vYivCU989YE s1Vf3NOAuDqsfhS9VrTpFrK5waLnY3GMznYPQsWBAkCeGM/g8meK9LYssps+tI38sxYd viEtbHW5FMZltERA623T71qWiFvYVdemmvrM55mVcxeuhdis/8vc2xgRJKSa4FzoyGwj SfaKd3R9qep2f0922090n6XhQO8bB+Up4OSCL4K2anZhv9usyjjaOhXfCL8JJFvlJ7SY 7cWioxyoabhfMSC9XAT9LaV32czTm4R20M7fslARy1F90Xxzh02rrFMAa1JQl7tNaswq HoZA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1789142629; x=1789747429; 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=s7toQDmajxiHq8JTLpDGxEfXm8l+e/1PqYqmdBCz+yg=; b=nn+0VS0D44/GgqBHSWhz1qJ0mezFRnTGQ5pwbhOVzW4tyWiXJ2/n5mp/S51LOez61/ SWWiuUks+Hh3eD73pfUp4PNj0F7sp5kYN5nzcUqqvxLLIxrg0GYWm20icAhEdRlsa+qE 3c0LOvcDlSKhZ8k4S76DypoApc2394ik7avev0E5U4qntVzaEv/hYri5eXR2BnVsjwEC hbwfvyV4QfHsJjdxZwg7LMBg+L+WoDACu2ATZ0yod+s67F6cdj+PQMccjYpr5a0iVcYT iAo6JRgUhPUm8ny1mQVh6cyEHM9l3UvgxMEajy72/mm/foG8FkOet8Ez3yyZcYsa3msC bwzA== X-Gm-Message-State: AFuF++mkEOa2r4yitREHvZkSlvaG8dYpNEJHOhL90JtSRLvbKQZIK1oG LavGbxpThdVbt3WAiw3JWkZJCDfFc2ETblKcWlw3e+y2oP/ry/MIWa5T2rkiUJSKpyqVn8sCKRJ NgYGmhHkm6snMfO2EMLubT+hSjeSX+gm057KqsEA55vcwqiHw99Qq19leiF8Hah0lXQ== X-Gm-Gg: AYBFou2xlJD5EkmGQYheMo2efMpueYxloQC284TkwfkFnl8G5RqslJIjPH/z9mdg1me k2S80WrX3lmdHv7U5qwp2u1y4ot980g/8ej5QK5g5n9ZMTHUxahzOvBoQyt74flGRGG9468MNds lfk9yPmSfsPDndAMVDHpPInjdV8yewwR5zQvBjsMlNDZHJbzKlk53MXWONqptunTmInrllwJe6U iwWBwZi7ReCY+P3qjr3TybF80rlCZ/sO/WMv9dT+9/AHvsYMiFf4ZDthNJR9E26pEy4WD8nIWMG Xh/Fs80eOfecioUZASWuQHpXRPNBVcN04Um99iTyImerLYtsSglpPJD2zBNtX1vNXJqRjCCPQSU f5UdvT0KuVIGeNUCEWaY96oDNqFap/rQfLVaFk7OVbZSL1LWM X-Received: by 2002:a05:6808:159d:b0:4bc:3c3f:3d6 with SMTP id 5614622812f47-4c31b6d0372mr7097923b6e.11.1789142628432; Fri, 11 Sep 2026 09:03:48 -0700 (PDT) X-Received: by 2002:a05:6808:159d:b0:4bc:3c3f:3d6 with SMTP id 5614622812f47-4c31b6d0372mr7097679b6e.11.1789142626466; Fri, 11 Sep 2026 09:03:46 -0700 (PDT) From: Brian Cain To: qemu-devel@nongnu.org, richard.henderson@linaro.org, peter.maydell@linaro.org Cc: brian.cain@oss.qualcomm.com, Marco Liebel , Pierrick Bouvier , Laurent Vivier , Helge Deller Subject: [PULL 01/10] target/hexagon: add the v75, v79 and v81 CPU models Date: Fri, 11 Sep 2026 09:02:58 -0700 Message-Id: <20260911160307.865892-2-brian.cain@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260911160307.865892-1-brian.cain@oss.qualcomm.com> References: <20260911160307.865892-1-brian.cain@oss.qualcomm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwOTExMDIyNCBTYWx0ZWRfX+YCc9ac+5lIH qB/tp3k3oTyALGKgPuW+9WqcRHef3HDken+haK06BTHSmsOt2E3+4y5GYBqzVEag48GqSB9trYS lZ/qvcLeXMMHwElvaUALze3LRiR4uwPuQMPjw5rFs+hC3M/8qp3AKIqgkBiP8CoYs8b4+Rxxqzi yzGanEg9cp3UvVF6/XaO0x6qJ0IL2n4WtqtftKZ4ajaGM6zN4OABF/yjurVBnDEg/2N951U4/jQ dJ70XqzQ3koEHo1+7+FQX2P8Ba32zEPNVxU0a977zAhhPZwHtJf/wyxgalL9HRlKsrzRrxW8EQX l/7aRBnz7FWtNWA7xN/5dkaUTAJ/DotV+znPYl8pGPdYmWL4kzSLOsATKJXc7g0GiPdka/4UPQv d4sdDykgvLSYktBLKtrGI2TfTXNyLcER82Ypd00mTdLhxClt4pyO47fkMWF37UBFB4ceCCmdwcT r9082xFoWKTEYdW619w== X-Proofpoint-ORIG-GUID: 6EoFRLPE6ULzBueFyXD_AaStCOay4pI1 X-Proofpoint-GUID: 6EoFRLPE6ULzBueFyXD_AaStCOay4pI1 X-Proofpoint-Spam-Info: AW1haW4tMjYwOTExMDIyNCBTYWx0ZWRfX9v/tdMhCr9aj yK79H4M8OAvscdS5lHfduJloTrEH+InMSGNzvH8EsToMpAZ6g9v6ShRImovqaCLaGwKvk7+gqdI Hjo7yUo/j8P+fh/WeZwBdsMvK0kINmc= X-Authority-Analysis: v=2.4 cv=LrwHWXdc c=1 sm=1 tr=0 ts=6aa42665 cx=c_pps a=AKZTfHrQPB8q3CcvmcIuDA==:117 a=ouPCqIW2jiPt+lZRy3xVPw==:17 a=IkcTkHD0fZMA:10 a=VdqzKS8jKosA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=ZpdpYltYx_vBUK5n70dp:22 a=EUspDBNiAAAA:8 a=sGg2OeOXg0vhTN0KIsEA:9 a=QEXdDO2ut3YA:10 a=pF_qn-MSjDawc0seGVz6: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-11_05,2026-09-11_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 phishscore=0 adultscore=0 impostorscore=0 bulkscore=0 lowpriorityscore=0 suspectscore=0 priorityscore=1501 clxscore=1015 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2609040000 definitions=main-2609110224 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: pass client-ip=205.220.180.131; envelope-from=brian.cain@oss.qualcomm.com; helo=mx0b-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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @qualcomm.com) X-ZM-MESSAGEID: 1789142722517158500 v73 is currently the newest core this target implements. Add the v75, v79, v81 CPUs. New instructions to follow in subsequent commits. Reviewed-by: Marco Liebel Signed-off-by: Brian Cain --- target/hexagon/cpu-qom.h | 6 ++++++ linux-user/hexagon/elfload.c | 6 ++++++ target/hexagon/cpu.c | 3 +++ 3 files changed, 15 insertions(+) diff --git a/target/hexagon/cpu-qom.h b/target/hexagon/cpu-qom.h index 6e1bb040704..2bfa4d5d0fc 100644 --- a/target/hexagon/cpu-qom.h +++ b/target/hexagon/cpu-qom.h @@ -25,6 +25,9 @@ typedef enum { HEX_VER_V69 =3D 0x69, HEX_VER_V71 =3D 0x71, HEX_VER_V73 =3D 0x73, + HEX_VER_V75 =3D 0x75, + HEX_VER_V79 =3D 0x79, + HEX_VER_V81 =3D 0x81, HEX_VER_ANY =3D 0xff, } HexagonVersion; =20 @@ -49,6 +52,9 @@ typedef struct { #define TYPE_HEXAGON_CPU_V69 HEXAGON_CPU_TYPE_NAME("v69") #define TYPE_HEXAGON_CPU_V71 HEXAGON_CPU_TYPE_NAME("v71") #define TYPE_HEXAGON_CPU_V73 HEXAGON_CPU_TYPE_NAME("v73") +#define TYPE_HEXAGON_CPU_V75 HEXAGON_CPU_TYPE_NAME("v75") +#define TYPE_HEXAGON_CPU_V79 HEXAGON_CPU_TYPE_NAME("v79") +#define TYPE_HEXAGON_CPU_V81 HEXAGON_CPU_TYPE_NAME("v81") =20 OBJECT_DECLARE_CPU_TYPE(HexagonCPU, HexagonCPUClass, HEXAGON_CPU) =20 diff --git a/linux-user/hexagon/elfload.c b/linux-user/hexagon/elfload.c index 3d19a711f85..440532ee413 100644 --- a/linux-user/hexagon/elfload.c +++ b/linux-user/hexagon/elfload.c @@ -98,6 +98,12 @@ const char *get_elf_cpu_model(uint32_t eflags) return "v71"; case 0x73: return "v73"; + case 0x75: + return "v75"; + case 0x79: + return "v79"; + case 0x81: + return "v81"; } =20 err =3D snprintf(buf, sizeof(buf), "unknown (0x%x)", eflags); diff --git a/target/hexagon/cpu.c b/target/hexagon/cpu.c index 4a7b76e3bcc..fb0e3caa481 100644 --- a/target/hexagon/cpu.c +++ b/target/hexagon/cpu.c @@ -874,6 +874,9 @@ static const TypeInfo hexagon_cpu_type_infos[] =3D { DEFINE_CPU(TYPE_HEXAGON_CPU_V69, HEX_VER_V69), DEFINE_CPU(TYPE_HEXAGON_CPU_V71, HEX_VER_V71), DEFINE_CPU(TYPE_HEXAGON_CPU_V73, HEX_VER_V73), + DEFINE_CPU(TYPE_HEXAGON_CPU_V75, HEX_VER_V75), + DEFINE_CPU(TYPE_HEXAGON_CPU_V79, HEX_VER_V79), + DEFINE_CPU(TYPE_HEXAGON_CPU_V81, HEX_VER_V81), }; =20 DEFINE_TYPES(hexagon_cpu_type_infos) --=20 2.34.1 From nobody Sat Sep 26 20:50:54 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=reject dis=none) header.from=oss.qualcomm.com ARC-Seal: i=1; a=rsa-sha256; t=1789142718; cv=none; d=zohomail.com; s=zohoarc; b=KTQ3ssDjDxFzzZDysX8AMXSCtGyUIvi+DhLJB159rI2SZK98vlbOvc0L1bmkizf+MfnBAUxOjgBnQQhtnujypTruvFE6J9cyFbPUw4bMICHYUPwVJ+qOYJ9n53j0191TdhOCIVbG83qXreqiW+DdOrkQXq6GZTuYrO1ETZadF1Q= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789142718; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=fdwDXcs4SfI3UaOq8SilTZCLtIfPZsAl3o0N2Mz0v3o=; b=lg5xw2h3dZKxn1Ql0b/q8SURHQ2mlDgqvYzCuBaQ5lxR9TBNcmpwxZ3RZ7oLt2tINwbDIBCQ+PWgUCvHG67h5NJXxvSPnN1KLkJuPMqEl2BN5eIx/gMmRC34fPgqh1PJnwyu0yTr/wUPluJs8/51QHRWyUxXd7J3ZxQ/ekz05DM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1789142718608723.580598157711; Fri, 11 Sep 2026 09:05:18 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x53kI-0003YP-7D; Fri, 11 Sep 2026 12:04:59 -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 1x53jY-0003MS-Hg for qemu-devel@nongnu.org; Fri, 11 Sep 2026 12:04:19 -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 1x53jF-0007UU-Re for qemu-devel@nongnu.org; Fri, 11 Sep 2026 12:04:12 -0400 Received: from pps.filterd (m0279869.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 68BFA6vR658277 for ; Fri, 11 Sep 2026 16:03:52 GMT Received: from mail-oi1-f198.google.com (mail-oi1-f198.google.com [209.85.167.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4gmm22r73w-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 11 Sep 2026 16:03:52 +0000 (GMT) Received: by mail-oi1-f198.google.com with SMTP id 5614622812f47-4a41f46d629so1698085b6e.3 for ; Fri, 11 Sep 2026 09:03:52 -0700 (PDT) Received: from hu-bcain-lv.qualcomm.com (Global_NAT1.qualcomm.com. [129.46.96.20]) by smtp.gmail.com with ESMTPSA id 5614622812f47-4c3321ecd0asm2451876b6e.17.2026.09.11.09.03.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 11 Sep 2026 09:03:47 -0700 (PDT) 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= fdwDXcs4SfI3UaOq8SilTZCLtIfPZsAl3o0N2Mz0v3o=; b=bQbwgFi1yUF+PCt3 h7Up1aejHoJgE1KWtafhwPsb7NP76Bhn6ldfAY6QL+TCw54HQUfzOnwJv9icv2bn 0xczY5In2PsB9SX3CumhA0i2ZqV+DYVfuTT6Jbcwip2G+g2azfEAI7kmUqeQAEyn EH8111wQ9C1HKAVkWmj3JoZO1OQQGgm+845OIQevRcOXcuMshVYAzyGPUrA6pAVZ U+0XuGsOsSr/OgEr5ZvCd9snoCjmLntMwbcLRFRZS0a650vhTcliPRSq8GX2iXA9 M2M65DqEHLS4dH+dH5ZnuH9zkz0LxMHXA7byzkA+JCzGFPeLwLoI5+WEHrINm6VW zA5I3g== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1789142632; x=1789747432; 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=fdwDXcs4SfI3UaOq8SilTZCLtIfPZsAl3o0N2Mz0v3o=; b=En1vngfNt1+CPggqp5IWwh0XFrKXcmlYk7H+fB5daPcC3zTwc9qXCnARVbaSAJaihr TADQw0LuKTEoVQdZHftcpwmNZB9lWSapWu4O/8myVTilFMlCVSr1sPbCiVoWSWgzIB1K IgFewepr5Bef0knBqjta8fY7iRjJOR59lAQrPrmyEKRHBtVUaQUkf/Iz1rT2Dk2VyBxI IzPDEtSbXzRD5W88ItWuRfj0TmH/fcLNTExfdvHXpn31pOHDvQKFvs67VMnq8fBPK76m i9SE6ZqVOreS6V99ARKrHPyuyBagrSz8pGylwr/pFyn5CzlFgkA7+PJR8VXmIljLnvoE EmWQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1789142632; x=1789747432; 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=fdwDXcs4SfI3UaOq8SilTZCLtIfPZsAl3o0N2Mz0v3o=; b=K7VS3aA81/kAERzwmIXh3sDI1A3HFexnJntF5s52fpDmz0C9mdUIYR8d0XrTJGPdV+ 5z+6NEWCDVYZAteHNXSzgHEPRLnKDazfYGpba7ROsoQb9r8JC25Ytimq28whlVlkpxrg PQ1z0AzfSfdfQG7qJM0Bwoc/U8zqVK3LDS7qzu1UJTbnhcz3k+gmjl39Jor/g67ySe8D uTJTpKHn91VipZiLeokhZXxbVtwNJOSI2qGhP6U5wT6SKz6LFvzGjNyb+qotXmWXWi6h ixN9zR5HJ+s/4kDSUXdS7UwMBHYVDKjZehi8Kktn/oi4w52FjSJRoNrTQ3u0GHW5Zvsp CeFw== X-Gm-Message-State: AFuF++nMSh4hhnacCFKKdhcvsR+I93iYGMivJ3Oxex0/04ctoQ+l1YFr PnofDd7gBl/OIkOQwgc0wlFTuBLDhWb0tF9UDK9u6Pbora7mD1d/0VUSo78k/g1e4v5EkjYq8Sd YuZWSE+SnZqc5czwq7GEX1GfPHHJcz8x/gVBD7IMUaXxrhU8QMGP/3NjfBIeS0/wcPw== X-Gm-Gg: AYBFou07AuIHtDwCnUsCbTIplhlLYi/Dypw+rO60E1dcEm9nk7DwUDqyTpVEGmpm+sL fEv2pqgbWLyt+9IW+V/mLm42Kvjm79gVsDKAV/4X0YL2nhn1FhQKI64dWyHfUyR7Dw+AIk5EuQ5 u5iukROMa+1xSwcmjlZpM/aN4rxAnx20kHduItSGR2ubEOE3LpCEGbl/4b102QFC5VyAU5TIg2/ v0h3+MjVkKvGAoRDGVaH2OoRRIvZzOqdboIlyNxraVdveiXpaB4xYDaWTtHRsYKnRy2c6tGixho m5hWzHg1GJ+GL3wQrucYk+KdQIZZ6h0wJOhyXNBXd2J6p7xuI4ov93gkJzcTRNedfW/jm46+MYH l1aC4n+bZuCKkq9hmoXetlx5//TCcA3x0KMQKXDji6eWLH8KL X-Received: by 2002:a05:6808:1b85:b0:4b9:e65b:8c39 with SMTP id 5614622812f47-4c31c84146cmr4026691b6e.39.1789142629981; Fri, 11 Sep 2026 09:03:49 -0700 (PDT) X-Received: by 2002:a05:6808:1b85:b0:4b9:e65b:8c39 with SMTP id 5614622812f47-4c31c84146cmr4026530b6e.39.1789142628282; Fri, 11 Sep 2026 09:03:48 -0700 (PDT) From: Brian Cain To: qemu-devel@nongnu.org, richard.henderson@linaro.org, peter.maydell@linaro.org Cc: brian.cain@oss.qualcomm.com, Marco Liebel , Pierrick Bouvier Subject: [PULL 02/10] target/hexagon: add the v73 J2_unpause scalar instruction Date: Fri, 11 Sep 2026 09:02:59 -0700 Message-Id: <20260911160307.865892-3-brian.cain@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260911160307.865892-1-brian.cain@oss.qualcomm.com> References: <20260911160307.865892-1-brian.cain@oss.qualcomm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwOTExMDIyNCBTYWx0ZWRfX0fwBspRxif5j Ze+AdVOOUNAH9AoGCXM6KZp4MLvGAZrRcDUUNkbshRzCtCYbJcUCMQ5JBLY+IEe4uj7X8k11Lra DGG9Ekot4ZTlVyd3/VCvNpCnA+5y2RJnZ+2wvocZYpadIebiVvhO78k0r/CkUYpaI7Lz8w6RlPQ 0KXLfZPvTZp2Te6U5uLQfXly3w4j5l3cOJB+GFW1m6D3qbkafZ03B/tbQWneUx3LT7BeODAubp+ RPkGNyktafrZIYIGY+knDO/mP5Dzq8kd3FLXPsiXsOMTl1qYzdqtuHDLl5B0GT3GPz+vTxWlQs3 4HwUgTEDe+wm+dU7+NDRQWFSEyPFINZ7Cc0wfBXqGoET1mqimq1bzfaYiNbUnPj02TshjKj5kvT 36f8QoxITF2AzHRga2GjkVvaoXF0qZQEVO2hcFGDaF7jd75GD1BB1EcBdA1fARSMV7UTpm3PQJq U3xeBhb3Flnq/CbrUXA== X-Authority-Analysis: v=2.4 cv=LPDz05W9 c=1 sm=1 tr=0 ts=6aa42668 cx=c_pps a=4ztaESFFfuz8Af0l9swBwA==:117 a=ouPCqIW2jiPt+lZRy3xVPw==:17 a=IkcTkHD0fZMA:10 a=VdqzKS8jKosA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_glEPmIy2e8OvE2BGh3C:22 a=EUspDBNiAAAA:8 a=fnvyaJKH3I3DEN-d1BkA:9 a=QEXdDO2ut3YA:10 a=TPnrazJqx2CeVZ-ItzZ-:22 X-Proofpoint-ORIG-GUID: Klj8VGqQbvy2A3NcS8puHepS5CGTh6B1 X-Proofpoint-Spam-Info: AW1haW4tMjYwOTExMDIyNCBTYWx0ZWRfX1bGlskXmJnoQ XufIlIj+j7IgYjJDE426UPJZ1AxA06v9X6bq0pDPjQ8jusSGr61k7hlr4OzjXnZpysorCTeV56P 8EakmzRPTeWmLqaGITnF6p5G7t1ndsY= X-Proofpoint-GUID: Klj8VGqQbvy2A3NcS8puHepS5CGTh6B1 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-11_05,2026-09-11_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 adultscore=0 clxscore=1015 bulkscore=0 impostorscore=0 malwarescore=0 spamscore=0 suspectscore=0 priorityscore=1501 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2609040000 definitions=main-2609110224 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: pass client-ip=205.220.180.131; envelope-from=brian.cain@oss.qualcomm.com; helo=mx0b-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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @qualcomm.com) X-ZM-MESSAGEID: 1789142720605158500 v73 already added J2_callrh and J2_jumprh but unintentionally omitted `unpause`. Its effect is to cause other threads' pause instructions to cease pausing, but we treat `pause` as a nop or a yield in RR, so unpause can safely be a nop. While here, spell the other two v73 entries' version as HEX_VER_V73 instead of the literal 0x73, matching every other entry in the table. Reviewed-by: Marco Liebel Signed-off-by: Brian Cain --- tests/tcg/hexagon/check_rev_gating.c | 12 +++++++++--- tests/tcg/hexagon/v73_scalar.c | 7 +++++++ target/hexagon/tag_rev_info.c.inc | 5 +++-- target/hexagon/imported/encode_pp.def | 1 + target/hexagon/imported/system.idef | 3 +++ 5 files changed, 23 insertions(+), 5 deletions(-) diff --git a/tests/tcg/hexagon/check_rev_gating.c b/tests/tcg/hexagon/check= _rev_gating.c index 26b66f54552..d5295bf24ab 100644 --- a/tests/tcg/hexagon/check_rev_gating.c +++ b/tests/tcg/hexagon/check_rev_gating.c @@ -3,9 +3,12 @@ * are rejected with SIGILL. * * Compiled with -mv66 so that e_flags selects CPU v66. The test embeds - * a v68 instruction (L2_loadw_aq: "r0 =3D memw_aq(r0)") via .word - * encoding. The revision-gated decoder must reject it, and linux-user - * must deliver SIGILL. + * instructions from v68 through v73 via .word encoding: the assembler + * enforces the selected CPU's own minimum version, so none of these -- + * including ones it otherwise knows how to assemble at their own + * target, such as callrh or unpause -- can be written as themselves in + * a file built for v66. The revision-gated decoder must reject every + * one of them, and linux-user must deliver SIGILL. * * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries. * SPDX-License-Identifier: GPL-2.0-or-later @@ -102,6 +105,8 @@ TRY_FUNC(v73_callrh, ".word 0x50c5c000 /* callrh r5 */\n") TRY_FUNC(v73_jumprh, ".word 0x52c0c000 /* jumprh r0 */\n") +TRY_FUNC(v73_unpause, + ".word 0x57e0d000 /* unpause */\n") =20 int main(void) { @@ -133,6 +138,7 @@ int main(void) =20 assert(try_v73_callrh() =3D=3D SIGILL); assert(try_v73_jumprh() =3D=3D SIGILL); + assert(try_v73_unpause() =3D=3D SIGILL); =20 assert(signals_handled =3D=3D expected_signals); =20 diff --git a/tests/tcg/hexagon/v73_scalar.c b/tests/tcg/hexagon/v73_scalar.c index fee67fc5311..2b5f3aa2149 100644 --- a/tests/tcg/hexagon/v73_scalar.c +++ b/tests/tcg/hexagon/v73_scalar.c @@ -86,10 +86,17 @@ static void test_jumprh(void) check32(res, 1); } =20 +static void test_unpause(void) +{ + /* Nothing is paused, so this just needs to execute without faulting. = */ + asm volatile("unpause\n\t"); +} + int main() { test_callrh(); test_jumprh(); + test_unpause(); =20 puts(err ? "FAIL" : "PASS"); return err ? 1 : 0; diff --git a/target/hexagon/tag_rev_info.c.inc b/target/hexagon/tag_rev_inf= o.c.inc index a91b91a23e6..44513f46809 100644 --- a/target/hexagon/tag_rev_info.c.inc +++ b/target/hexagon/tag_rev_info.c.inc @@ -571,8 +571,9 @@ static const struct tag_rev_info tag_rev_info[XX_LAST_O= PCODE] =3D { [F2_dfmpyhh] =3D { .introduced =3D HEX_VER_V67, .removed =3D HEX_VER_N= ONE }, [F2_dfmpylh] =3D { .introduced =3D HEX_VER_V67, .removed =3D HEX_VER_N= ONE }, [F2_dfmpyll] =3D { .introduced =3D HEX_VER_V67, .removed =3D HEX_VER_N= ONE }, - [J2_callrh] =3D { .introduced =3D 0x73, .removed =3D HEX_VER_NONE }, - [J2_jumprh] =3D { .introduced =3D 0x73, .removed =3D HEX_VER_NONE }, + [J2_callrh] =3D { .introduced =3D HEX_VER_V73, .removed =3D HEX_VER_NO= NE }, + [J2_jumprh] =3D { .introduced =3D HEX_VER_V73, .removed =3D HEX_VER_NO= NE }, + [J2_unpause] =3D { .introduced =3D HEX_VER_V73, .removed =3D HEX_VER_N= ONE }, [L2_loadw_aq] =3D { .introduced =3D HEX_VER_V68, .removed =3D HEX_VER_= NONE }, [L4_loadd_aq] =3D { .introduced =3D HEX_VER_V68, .removed =3D HEX_VER_= NONE }, [Y6_dmcfgrd] =3D { .introduced =3D HEX_VER_V68, .removed =3D HEX_VER_N= ONE }, diff --git a/target/hexagon/imported/encode_pp.def b/target/hexagon/importe= d/encode_pp.def index d9e8ea2aebd..1fce318b2bb 100644 --- a/target/hexagon/imported/encode_pp.def +++ b/target/hexagon/imported/encode_pp.def @@ -585,6 +585,7 @@ DEF_FIELDROW_DESC32(ICLASS_J" 0100 -------- PP------ --= ------","[#4] (#u8) ") DEF_ENC32(J2_trap0, ICLASS_J" 0100 00------ PP-iiiii ---iii--") DEF_ENC32(J2_trap1, ICLASS_J" 0100 10-xxxxx PP-iiiii ---iii--") DEF_ENC32(J2_pause, ICLASS_J" 0100 01----ii PP-iiiii ---iii--") +DEF_ENC32(J2_unpause,"01010111111-----PP01----000-----") =20 DEF_FIELDROW_DESC32(ICLASS_J" 0101 -------- PP------ --------","[#5] Rd=3D= (Rs) ") DEF_ENC32(Y2_icdatar, ICLASS_J" 0101 101sssss PP------ ---ddddd") diff --git a/target/hexagon/imported/system.idef b/target/hexagon/imported/= system.idef index 02aee8ce8ee..b44e87565c3 100644 --- a/target/hexagon/imported/system.idef +++ b/target/hexagon/imported/system.idef @@ -51,6 +51,9 @@ Q6INSN(J2_trap1,"trap1(Rx32,#u8)",ATTRIBS(A_COF,A_NOTE_NO= PACKET,A_RESTRICT_NOPAC Q6INSN(J2_pause,"pause(#u8)",ATTRIBS(A_COF,A_NOTE_NOPACKET,A_RESTRICT_NOPA= CKET), "Enter low-power state for #u8 cycles",{fPAUSE(uiV);}) =20 +Q6INSN(J2_unpause,"unpause",ATTRIBS(A_COF,A_NOTE_NOPACKET,A_RESTRICT_NOPAC= KET), +"Resume paused threads",{fUNPAUSE();}) + Q6INSN(J2_rte, "rte", ATTRIBS(A_PRIV,A_NOTE_PRIV,A_NO_TIMING_LOG), "Return from Exception", { --=20 2.34.1 From nobody Sat Sep 26 20:50:54 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=reject dis=none) header.from=oss.qualcomm.com ARC-Seal: i=1; a=rsa-sha256; t=1789142727; cv=none; d=zohomail.com; s=zohoarc; b=OB9ZeU3NbwiKhRWKQAjIyyLT3hUvSz1N9pGx2ffIDJzxKjIzrKaygokbY0ZgymmuGg/DLrlWmqNq92G9+v/7oefRJcniVvkBkY2JgskydklnsL5LlfbuoN578qTDLfpL1w+wZwgsmJt+QBNI2IruMxu3Is+0grb020fcc7a23AM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789142727; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=XDetp7o2MXdKMFy7TqiHAzNwz7Q7wqtBaRFHLnHlC3c=; b=LY0bkBwzUtKbIg/5m5LDr7QywnAUC+j+MGjRFeEY2r8qZ+CZwk/svHW4Wa8FP2CtX9ojqKM0G5EdUxEf7VXMytWaXWjJFFHdo4P+8HpVK4qS0TYEL/E0y7MuKtNOshRc77FPu8YEtPmvHU1oWn4ZT9yreeXU6hXf7Wfw0RjWukk= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1789142727920413.8196004655373; Fri, 11 Sep 2026 09:05:27 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x53kP-0003d5-Nv; Fri, 11 Sep 2026 12:05:08 -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 1x53jb-0003N9-5Y for qemu-devel@nongnu.org; Fri, 11 Sep 2026 12:04:20 -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 1x53jG-0007Uj-4x for qemu-devel@nongnu.org; Fri, 11 Sep 2026 12:04:13 -0400 Received: from pps.filterd (m0279871.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 68BFfoSu921696 for ; Fri, 11 Sep 2026 16:03:53 GMT Received: from mail-oi1-f197.google.com (mail-oi1-f197.google.com [209.85.167.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4gmmgv02ke-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 11 Sep 2026 16:03:52 +0000 (GMT) Received: by mail-oi1-f197.google.com with SMTP id 5614622812f47-4b28db3a47aso1392675b6e.2 for ; Fri, 11 Sep 2026 09:03:52 -0700 (PDT) Received: from hu-bcain-lv.qualcomm.com (Global_NAT1.qualcomm.com. [129.46.96.20]) by smtp.gmail.com with ESMTPSA id 5614622812f47-4c3321ecd0asm2451876b6e.17.2026.09.11.09.03.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 11 Sep 2026 09:03:49 -0700 (PDT) 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= XDetp7o2MXdKMFy7TqiHAzNwz7Q7wqtBaRFHLnHlC3c=; b=JprnP+QZrxu7mnqf 4LFeflaW78YAns/rK903SuwoBhNBn1bgDMYHx7oIWCKrsutMEHQ7AdSiTqO7SnWX F/xzNwMYIaunHytVmRVxZKSkIDiwAdhzQ6a2Azosi2DOZajTBmuTVSbQBijl9fVb aqLlyT+bUg9rt+/ewjLZLwU284V9qw0G7KA1vd8pmm2n6Bkt2+TYMElLsS9aoSki FkACLSQiRRdGJIx8VwB8/6bEeT3d8dzJWzgcXlQknviDjFtO6jwGCdnu5gJ49g5y A8wJIhY1K+i4fWKvm7Nbo6mJiN8Cuhj6rvILODW85YVp3LlOH9m2xt5ut/ppr/XU 4yzXyQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1789142632; x=1789747432; 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=XDetp7o2MXdKMFy7TqiHAzNwz7Q7wqtBaRFHLnHlC3c=; b=iIh6+svEArn7PvUdvjtx49VUZD5/tNfDmiwtjkz7pvpxkFB9sTYhi++1/hUDyA3R85 3HrS8Yo9CXAKoWiaqSddE2j1sMcheQk9IAAqJrpTcB/UsIAe43XEcClmN8a/V5BMC3n1 +FJ5SHdGYdlpUEpbKzuld6D6iNzB2yqAuOdoZ7NxFW4sMDm8Do3eYl3C2sSuLzzV/jgi pKw2ZO0DPVI94RRqVM8SGEuDvpxLwXEXpl6L+kOFFa2qt8H4A0x+s9U9TdohyZ10khJT O3j6/HG2wO9HU6ikSSwcrtL6PUZCBh9yqyVM/9vCggAP+Top8WAcj9AOVI+xtHy8G577 eKaw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1789142632; x=1789747432; 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=XDetp7o2MXdKMFy7TqiHAzNwz7Q7wqtBaRFHLnHlC3c=; b=e/1E2IRSM8G3r81uXETkvBBPy34BXNxknWASgCipmSN910db6f+49Lj8LPneu/dCon 8aDFhPU3Bm/PlVuGk/Qq02wO837T1mv5VFZbGwkavzVUuMX89wOLEMaf9heJdfrYYiRr 3gxXo8JzXu3gsOA03/m6RgyPeu/G5PSY+VnyNSoK1jfHzqeNS5hJQBeEb/9NH4Qv/o58 /8jXoOQnCgVcDa9q5CAQgf8u2+9fkRR5azncgUsMVuoXaK0H6KjD3sAmMS9jV92gyz3S 8NKuvNyWwyMbDG9B8I77xjsCLRNNl1qWlwLnMl2hWmN6AG/g9+OuWyRCGDME0sdVC579 a8aA== X-Gm-Message-State: AFuF++nX6HVVDyGCxJo33WEEWfj08cLdydWt8EQGrl7bIzEQKtTD6fPQ EhoLBE3bIDEmI8sYIeqqDJ4TywlzfEeqoMhtGxTb0HlFnTUCXr3I/AavQWsk7T0AdWnOu66DVOk vSlVXtDm4M28kK9bVn6yatjsaXY6orwChpjFbWiYi58kyQuaas0WlUfon+KuZecjy8A== X-Gm-Gg: AYBFou3TXWiR9vWEYE02QX9FgKjJVkvBYqUNft91gea5RGdRY6AIMWVvUWujTE7QEH6 5y3/R2stxl+myu6gy42rHkTdMW4KsQHFjBOn5Vhyk+rdCpRbajvMJ0GGr1QCoONpQ6AzjWm+tgc TR6r3OwqHP+gFJubQqmxGfySMGfNG7WZLBgX1LQD1I7DVA7f+Xm9bOThSnfEzLYNWgtY9ofWSqF LmaKEJ3vg8JWlpluHasStvD2JSeJmYM5q/N+GScW9vrG5vRQjvrdufHY7NoVBbTsN/L2NPw/bKN z380sXJ/NSYPqts1OCmxzKEGgxfMcpb/A+UMbi0SDWAsxT5DcHwQQ/h6FKOym0/8Gd0CWhzlG2m Mfvzp8Pmw+rf6XrPUOdJOQoAft58EUz0bqLyJ6Hc4EYmMKnmO X-Received: by 2002:a05:6808:4fd3:b0:4b3:8ec2:f25c with SMTP id 5614622812f47-4c31aa8ec62mr8644883b6e.9.1789142631808; Fri, 11 Sep 2026 09:03:51 -0700 (PDT) X-Received: by 2002:a05:6808:4fd3:b0:4b3:8ec2:f25c with SMTP id 5614622812f47-4c31aa8ec62mr8644757b6e.9.1789142631102; Fri, 11 Sep 2026 09:03:51 -0700 (PDT) From: Brian Cain To: qemu-devel@nongnu.org, richard.henderson@linaro.org, peter.maydell@linaro.org Cc: brian.cain@oss.qualcomm.com, Marco Liebel , Pierrick Bouvier Subject: [PULL 03/10] target/hexagon: add the v79 instructions Date: Fri, 11 Sep 2026 09:03:00 -0700 Message-Id: <20260911160307.865892-4-brian.cain@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260911160307.865892-1-brian.cain@oss.qualcomm.com> References: <20260911160307.865892-1-brian.cain@oss.qualcomm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Proofpoint-GUID: fyeEYvqpOYj5a2bBURaouQSw9SPqVkKv X-Proofpoint-Spam-Info: AW1haW4tMjYwOTExMDIyNCBTYWx0ZWRfX1QfiPKBRTRDU T0fgX1IQVZNdygWbv3UCScp1u3X3XHpOpk4RHk+emgBeAlhXioaDFMm33WvG5bmC53R/99EuBDC cR0xIGB3SeCh2q7ynvtECraY8SfEXGw= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwOTExMDIyNCBTYWx0ZWRfX/pVPQwvHj+8z 0tZfZLs8Llzrq/v98+4xPSTtAZf1zEBP/4ZMUx0RMs2u9uEAAHZ6fIkXSjrnk/zVhWDLDDh8Beu h6sWbi6Rm23X7yFKRp0qRwuqe2XDmbcx91wt35kbIEbjjRa12Kl1y5t+lKQ7pwUj/thKDrv/pEA f7oHUNxLzUIjz3uKN3R1yEPA+ci4y3rfwZGEf0f7rgLeK4AvTMDMEb1HQ1u+S4P4+Ep7CXH+gK0 6qqm12MGThS//8iSOOlwq8z7GWkrBMK/CFFv1VFG/qi5JfyoKpkifHw7HybGa5dodL6Ljfk/XlB oag32xmACYA3ObKEOgGUo41z+0a7CqZYXOSa1yYtSp84VvBVKy5PKpDEC6c0VeDNq6W84FHkLEW FsTwvvSHMnbWWdtWWp4dP4NV3rIfmGFI+DIdmiuMwb3UfXTIOUAtb/UssyK2vxPctzDMFT7aMq2 0k73B4EPARBEPVJnexA== X-Proofpoint-ORIG-GUID: fyeEYvqpOYj5a2bBURaouQSw9SPqVkKv X-Authority-Analysis: v=2.4 cv=EfFd0/mC c=1 sm=1 tr=0 ts=6aa42669 cx=c_pps a=WJcna6AvsNCxL/DJwPP1KA==:117 a=ouPCqIW2jiPt+lZRy3xVPw==:17 a=IkcTkHD0fZMA:10 a=VdqzKS8jKosA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=3WHJM1ZQz_JShphwDgj5:22 a=EUspDBNiAAAA:8 a=PE_0aRXXFqvOHVJAk-UA:9 a=QEXdDO2ut3YA:10 a=_Y9Zt4tPzoBS9L09Snn2: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-11_05,2026-09-11_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 phishscore=0 spamscore=0 clxscore=1015 impostorscore=0 bulkscore=0 adultscore=0 lowpriorityscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2609040000 definitions=main-2609110224 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: pass client-ip=205.220.180.131; envelope-from=brian.cain@oss.qualcomm.com; helo=mx0b-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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @qualcomm.com) X-ZM-MESSAGEID: 1789142730781158500 v79 adds a ":nt" non-temporal cache-locality hint to the post-increment store family and to dcfetch/dczeroa. None of the ":nt" mnemonics are accepted by the assembler yet, so the new test embeds them via .word. Reviewed-by: Marco Liebel Signed-off-by: Brian Cain --- target/hexagon/attribs_def.h.inc | 2 + tests/tcg/hexagon/check_rev_gating.c | 32 +++++- tests/tcg/hexagon/v79_scalar.c | 157 ++++++++++++++++++++++++++ target/hexagon/tag_rev_info.c.inc | 23 ++++ target/hexagon/imported/encode_pp.def | 19 ++++ target/hexagon/imported/ldst.idef | 21 ++++ target/hexagon/imported/system.idef | 2 + tests/tcg/hexagon/meson.build | 1 + 8 files changed, 251 insertions(+), 6 deletions(-) create mode 100644 tests/tcg/hexagon/v79_scalar.c diff --git a/target/hexagon/attribs_def.h.inc b/target/hexagon/attribs_def.= h.inc index d12f6ac4b1a..8b4eb27d682 100644 --- a/target/hexagon/attribs_def.h.inc +++ b/target/hexagon/attribs_def.h.inc @@ -21,6 +21,8 @@ DEF_ATTRIB(AA_DUMMY, "Dummy Zeroth Attribute", "", "") /* Misc */ DEF_ATTRIB(EXTENSION, "Extension instruction", "", "") =20 +DEF_ATTRIB(NA_NT, "Non-Allocating Non-Temporal instruction", "", "") + DEF_ATTRIB(PRIV, "Not available in user or guest mode", "", "") DEF_ATTRIB(GUEST, "Not available in user mode", "", "") =20 diff --git a/tests/tcg/hexagon/check_rev_gating.c b/tests/tcg/hexagon/check= _rev_gating.c index d5295bf24ab..3f48ab9cd35 100644 --- a/tests/tcg/hexagon/check_rev_gating.c +++ b/tests/tcg/hexagon/check_rev_gating.c @@ -3,12 +3,15 @@ * are rejected with SIGILL. * * Compiled with -mv66 so that e_flags selects CPU v66. The test embeds - * instructions from v68 through v73 via .word encoding: the assembler - * enforces the selected CPU's own minimum version, so none of these -- - * including ones it otherwise knows how to assemble at their own - * target, such as callrh or unpause -- can be written as themselves in - * a file built for v66. The revision-gated decoder must reject every - * one of them, and linux-user must deliver SIGILL. + * instructions from v68 up through v79 via .word encoding: the + * assembler enforces the selected CPU's own minimum version, so none + * of these -- including ones it otherwise knows how to assemble at + * their own target, such as callrh or unpause -- can be written as + * themselves in a file built for v66. The v79 non-temporal hints + * (":nt") aren't known to the assembler at any target yet, so those + * would need .word regardless. The revision-gated decoder must reject + * representative instructions from each family, and linux-user must + * deliver SIGILL. * * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries. * SPDX-License-Identifier: GPL-2.0-or-later @@ -108,6 +111,17 @@ TRY_FUNC(v73_jumprh, TRY_FUNC(v73_unpause, ".word 0x57e0d000 /* unpause */\n") =20 +TRY_FUNC(v79_storeri_pi_nt, + ".word 0xaa82c308 /* memw(r2++#4):nt =3D r3 */\n") +TRY_FUNC(v79_pstorerit_pi_nt, + ".word 0xaa82e308 /* if (p0) memw(r2++#4):nt =3D r3 */\n") +TRY_FUNC(v79_pstorerif_pi_nt, + ".word 0xaa82e30c /* if (!p0) memw(r2++#4):nt =3D r3 */\n") +TRY_FUNC(v79_dczeroa_nt, + ".word 0xa0c2e000 /* dczeroa(r2):nt */\n") +TRY_FUNC(v79_dcfetchbo_nt, + ".word 0x9402e000 /* dcfetch(r2+#0):nt */\n") + int main(void) { struct sigaction act; @@ -140,6 +154,12 @@ int main(void) assert(try_v73_jumprh() =3D=3D SIGILL); assert(try_v73_unpause() =3D=3D SIGILL); =20 + assert(try_v79_storeri_pi_nt() =3D=3D SIGILL); + assert(try_v79_pstorerit_pi_nt() =3D=3D SIGILL); + assert(try_v79_pstorerif_pi_nt() =3D=3D SIGILL); + assert(try_v79_dczeroa_nt() =3D=3D SIGILL); + assert(try_v79_dcfetchbo_nt() =3D=3D SIGILL); + assert(signals_handled =3D=3D expected_signals); =20 puts("PASS"); diff --git a/tests/tcg/hexagon/v79_scalar.c b/tests/tcg/hexagon/v79_scalar.c new file mode 100644 index 00000000000..81eb277b739 --- /dev/null +++ b/tests/tcg/hexagon/v79_scalar.c @@ -0,0 +1,157 @@ +/* + * Test the scalar core instructions that are new in v79. + * + * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries. + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#include +#include +#include + +int err; + +static void __check32(int line, uint32_t result, uint32_t expect) +{ + if (result !=3D expect) { + printf("ERROR at line %d: 0x%08x !=3D 0x%08x\n", line, result, exp= ect); + err++; + } +} + +#define check32(RES, EXP) __check32(__LINE__, RES, EXP) + +static uint32_t sbuf[4]; +static uint32_t newp; + +/* S2_storeri_pi_nt: memw(Rx32++#4):nt =3D Rt32 */ +static void test_storeri_pi_nt(void) +{ + uint32_t *p =3D sbuf; + + memset(sbuf, 0xff, sizeof(sbuf)); + asm volatile( + "r2 =3D %1\n\t" + "r3 =3D #0x12345678\n\t" + ".word 0xaa82c308\n\t" /* memw(r2++#4):nt =3D r3 */ + "r5 =3D ##newp\n\t" + "memw(r5 + #0) =3D r2\n\t" + : "+m"(newp) + : "r"(p) + : "r2", "r3", "r5", "memory"); + check32(sbuf[0], 0x12345678); + check32(newp, (uint32_t)(uintptr_t)(sbuf + 1)); +} + +static uint8_t bbuf[4]; + +/* S2_storerb_pi_nt: memb(Rx32++#1):nt =3D Rt32 */ +static void test_storerb_pi_nt(void) +{ + uint32_t *p =3D (uint32_t *)bbuf; + + memset(bbuf, 0xff, sizeof(bbuf)); + asm volatile( + "r2 =3D %1\n\t" + "r3 =3D #0x42\n\t" + ".word 0xaa02c308\n\t" /* memb(r2++#1):nt =3D r3 */ + "r5 =3D ##newp\n\t" + "memw(r5 + #0) =3D r2\n\t" + : "+m"(newp) + : "r"(p) + : "r2", "r3", "r5", "memory"); + check32(bbuf[0], 0x42); + check32(newp, (uint32_t)(uintptr_t)(bbuf + 1)); +} + +/* S2_pstorerit_pi_nt: if (Pv4) memw(Rx32++#4):nt =3D Rt32, predicate true= */ +static void test_pstorerit_pi_nt(void) +{ + uint32_t *p =3D sbuf; + + memset(sbuf, 0xff, sizeof(sbuf)); + asm volatile( + "p0 =3D cmp.eq(r0, r0)\n\t" /* P0 =3D true */ + "r2 =3D %1\n\t" + "r3 =3D #0x11223344\n\t" + ".word 0xaa82e308\n\t" /* if (p0) memw(r2++#4):nt =3D r3 */ + "r5 =3D ##newp\n\t" + "memw(r5 + #0) =3D r2\n\t" + : "+m"(newp) + : "r"(p) + : "r0", "r2", "r3", "r5", "p0", "memory"); + check32(sbuf[0], 0x11223344); + check32(newp, (uint32_t)(uintptr_t)(sbuf + 1)); +} + +/* S2_pstorerif_pi_nt: if (!Pv4) memw(Rx32++#4):nt =3D Rt32, predicate fal= se */ +static void test_pstorerif_pi_nt(void) +{ + uint32_t *p =3D sbuf; + + memset(sbuf, 0xff, sizeof(sbuf)); + asm volatile( + "r0 =3D #1\n\t" + "r1 =3D #2\n\t" + "p0 =3D cmp.eq(r0, r1)\n\t" /* P0 =3D false */ + "r2 =3D %1\n\t" + "r3 =3D #0x99887766\n\t" + ".word 0xaa82e30c\n\t" /* if (!p0) memw(r2++#4):nt =3D r3 */ + "r5 =3D ##newp\n\t" + "memw(r5 + #0) =3D r2\n\t" + : "+m"(newp) + : "r"(p) + : "r0", "r1", "r2", "r3", "r5", "p0", "memory"); + check32(sbuf[0], 0x99887766); + check32(newp, (uint32_t)(uintptr_t)(sbuf + 1)); +} + +/* Y2_dczeroa_nt: dczeroa(Rs32):nt -- zeroes a 32-byte cacheline */ +static uint8_t cz[64] __attribute__((aligned(32))); + +static void test_dczeroa_nt(void) +{ + memset(cz, 0xaa, sizeof(cz)); + asm volatile( + "r2 =3D %1\n\t" + ".word 0xa0c2e000\n\t" /* dczeroa(r2):nt */ + : "+m"(cz) + : "r"(cz) + : "r2", "memory"); + for (int i =3D 0; i < 32; i++) { + check32(cz[i], 0); + } + for (int i =3D 32; i < 64; i++) { + check32(cz[i], 0xaa); + } +} + +/* Y2_dcfetchbo_nt: dcfetch(Rs32+#0):nt -- a hint, must not fault or store= */ +static uint8_t df[32] __attribute__((aligned(8))); + +static void test_dcfetchbo_nt(void) +{ + memset(df, 0x55, sizeof(df)); + asm volatile( + "r2 =3D %1\n\t" + ".word 0x9402e000\n\t" /* dcfetch(r2+#0):nt */ + : "+m"(df) + : "r"(df) + : "r2", "memory"); + for (int i =3D 0; i < 32; i++) { + check32(df[i], 0x55); + } +} + +int main() +{ + test_storeri_pi_nt(); + test_storerb_pi_nt(); + test_pstorerit_pi_nt(); + test_pstorerif_pi_nt(); + test_dczeroa_nt(); + test_dcfetchbo_nt(); + + puts(err ? "FAIL" : "PASS"); + return err ? 1 : 0; +} diff --git a/target/hexagon/tag_rev_info.c.inc b/target/hexagon/tag_rev_inf= o.c.inc index 44513f46809..48bdc52bfdb 100644 --- a/target/hexagon/tag_rev_info.c.inc +++ b/target/hexagon/tag_rev_info.c.inc @@ -619,6 +619,29 @@ static const struct tag_rev_info tag_rev_info[XX_LAST_= OPCODE] =3D { [V6_vassign_tmp] =3D { .introduced =3D HEX_VER_V69, .removed =3D HEX_V= ER_NONE }, [V6_vcombine_tmp] =3D { .introduced =3D HEX_VER_V69, .removed =3D HEX_= VER_NONE }, [V6_vmpyuhvs] =3D { .introduced =3D HEX_VER_V69, .removed =3D HEX_VER_= NONE }, + + [S2_pstorerbf_pi_nt] =3D { .introduced =3D HEX_VER_V79, + .removed =3D HEX_VER_NONE }, + [S2_pstorerbt_pi_nt] =3D { .introduced =3D HEX_VER_V79, + .removed =3D HEX_VER_NONE }, + [S2_pstorerdf_pi_nt] =3D { .introduced =3D HEX_VER_V79, + .removed =3D HEX_VER_NONE }, + [S2_pstorerdt_pi_nt] =3D { .introduced =3D HEX_VER_V79, + .removed =3D HEX_VER_NONE }, + [S2_pstorerhf_pi_nt] =3D { .introduced =3D HEX_VER_V79, + .removed =3D HEX_VER_NONE }, + [S2_pstorerht_pi_nt] =3D { .introduced =3D HEX_VER_V79, + .removed =3D HEX_VER_NONE }, + [S2_pstorerif_pi_nt] =3D { .introduced =3D HEX_VER_V79, + .removed =3D HEX_VER_NONE }, + [S2_pstorerit_pi_nt] =3D { .introduced =3D HEX_VER_V79, + .removed =3D HEX_VER_NONE }, + [S2_storerb_pi_nt] =3D { .introduced =3D HEX_VER_V79, .removed =3D HEX= _VER_NONE }, + [S2_storerd_pi_nt] =3D { .introduced =3D HEX_VER_V79, .removed =3D HEX= _VER_NONE }, + [S2_storerh_pi_nt] =3D { .introduced =3D HEX_VER_V79, .removed =3D HEX= _VER_NONE }, + [S2_storeri_pi_nt] =3D { .introduced =3D HEX_VER_V79, .removed =3D HEX= _VER_NONE }, + [Y2_dcfetchbo_nt] =3D { .introduced =3D HEX_VER_V79, .removed =3D HEX_= VER_NONE }, + [Y2_dczeroa_nt] =3D { .introduced =3D HEX_VER_V79, .removed =3D HEX_VE= R_NONE }, }; =20 #endif /* HEXAGON_TAG_ARCH_TABLE_H */ diff --git a/target/hexagon/imported/encode_pp.def b/target/hexagon/importe= d/encode_pp.def index 1fce318b2bb..fca8f8aeb1a 100644 --- a/target/hexagon/imported/encode_pp.def +++ b/target/hexagon/imported/encode_pp.def @@ -407,6 +407,7 @@ DEF_ENC32(R6_release_st_vi, ICLASS_ST" 000 01 11sssss= PP0ttttt --1011dd") =20 DEF_EXT_SPACE(EXTRACTW, ICLASS_LD" 001 0 000 iiiii PP0iiiii 001iiiii") DEF_ENC32(Y2_dcfetchbo, ICLASS_LD" 010 0 000 sssss PP0--iii iiiiiiii") +DEF_ENC32(Y2_dcfetchbo_nt,"10010100000sssssPP10-iiiiiiiiiii") =20 =20 =20 @@ -473,6 +474,13 @@ STD_ST_ENC(rbnew, "1 101","00ttt") STD_ST_ENC(rhnew, "1 101","01ttt") STD_ST_ENC(rinew, "1 101","10ttt") =20 +/* Non-temporal post-increment stores: the OPC nibble's high bit, always + * 1 above, is repurposed as the "nt" hint for this addressing mode only. = */ +DEF_ENC32(S2_storerb_pi_nt,"10101010000xxxxxPP0ttttt0iiii-0-") +DEF_ENC32(S2_storerh_pi_nt,"10101010010xxxxxPP0ttttt0iiii-0-") +DEF_ENC32(S2_storeri_pi_nt,"10101010100xxxxxPP0ttttt0iiii-0-") +DEF_ENC32(S2_storerd_pi_nt,"10101010110xxxxxPP0ttttt0iiii-00") + STD_PST_ENC(rb, "1 000","ttttt") STD_PST_ENC(rh, "1 010","ttttt") STD_PST_ENC(rf, "1 011","ttttt") @@ -482,6 +490,16 @@ STD_PST_ENC(rbnew, "1 101","00ttt") STD_PST_ENC(rhnew, "1 101","01ttt") STD_PST_ENC(rinew, "1 101","10ttt") =20 +/* Predicated forms of the non-temporal post-increment stores above. */ +DEF_ENC32(S2_pstorerbt_pi_nt,"10101010000xxxxxPP1ttttt0iiii0vv") +DEF_ENC32(S2_pstorerbf_pi_nt,"10101010000xxxxxPP1ttttt0iiii1vv") +DEF_ENC32(S2_pstorerht_pi_nt,"10101010010xxxxxPP1ttttt0iiii0vv") +DEF_ENC32(S2_pstorerhf_pi_nt,"10101010010xxxxxPP1ttttt0iiii1vv") +DEF_ENC32(S2_pstorerit_pi_nt,"10101010100xxxxxPP1ttttt0iiii0vv") +DEF_ENC32(S2_pstorerif_pi_nt,"10101010100xxxxxPP1ttttt0iiii1vv") +DEF_ENC32(S2_pstorerdt_pi_nt,"10101010110xxxxxPP1ttttt0iiii0vv") +DEF_ENC32(S2_pstorerdf_pi_nt,"10101010110xxxxxPP1ttttt0iiii1vv") + =20 =20 /* User */ @@ -492,6 +510,7 @@ STD_PST_ENC(rinew, "1 101","10ttt") DEF_ENC32(S2_allocframe, ICLASS_ST" 000 01 00xxxxx PP000iii iiiiiiii") DEF_ENC32(Y5_l2locka, ICLASS_ST" 000 01 11sssss PP1----- ------dd") DEF_ENC32(Y2_dczeroa, ICLASS_ST" 000 01 10sssss PP0----- --------") +DEF_ENC32(Y2_dczeroa_nt,"10100000110sssssPP1-------------") =20 =20 DEF_ENC32(Y2_barrier, ICLASS_ST" 100 00 00----- PP------ 000-----") diff --git a/target/hexagon/imported/ldst.idef b/target/hexagon/imported/ld= st.idef index 4e1e5d5326d..7106a0c572c 100644 --- a/target/hexagon/imported/ldst.idef +++ b/target/hexagon/imported/ldst.idef @@ -118,6 +118,16 @@ STD_ST_AMODES(storerh, "Rt32", "memh","Store Half inte= ger",ATTRIBS(A_REGWRSIZE_2 STD_ST_AMODES(storerf, "Rt.H32", "memh","Store Upper Half integer",ATTRIBS= (A_REGWRSIZE_2B,A_MEMSIZE_2B,A_STORE),"1",fSTORE(1,2,EA,fGETHALF(1,RtV)),1) STD_ST_AMODES(storeri, "Rt32", "memw","Store Word",ATTRIBS(A_REGWRSIZE_4B,= A_MEMSIZE_4B,A_STORE),"2",fSTORE(1,4,EA,RtV),2) STD_ST_AMODES(storerd, "Rtt32","memd","Store Double integer",ATTRIBS(A_REG= WRSIZE_8B,A_MEMSIZE_8B,A_STORE),"3",fSTORE(1,8,EA,RttV),3) + +/* + * Non-temporal post-increment stores: same store, with a cache-locality + * hint that a normal-priority cache line is unlikely to be reused soon. + */ +Q6INSN(S2_storerb_pi_nt,"memb(Rx32++#s4:0):nt=3DRt32",ATTRIBS(A_ARCHV2,A_M= EMSIZE_1B,A_STORE,A_NA_NT),"Store Byte",{fEA_REG(RxV); fPM_I(RxV,siV); fSTO= RE(1,1,EA,fGETBYTE(0,RtV)); }) +Q6INSN(S2_storerh_pi_nt,"memh(Rx32++#s4:1):nt=3DRt32",ATTRIBS(A_REGWRSIZE_= 2B,A_ARCHV2,A_MEMSIZE_2B,A_STORE,A_NA_NT),"Store Half integer",{fEA_REG(RxV= ); fPM_I(RxV,siV); fSTORE(1,2,EA,fGETHALF(0,RtV)); }) +Q6INSN(S2_storeri_pi_nt,"memw(Rx32++#s4:2):nt=3DRt32",ATTRIBS(A_REGWRSIZE_= 4B,A_ARCHV2,A_MEMSIZE_4B,A_STORE,A_NA_NT),"Store Word",{fEA_REG(RxV); fPM_I= (RxV,siV); fSTORE(1,4,EA,RtV); }) +Q6INSN(S2_storerd_pi_nt,"memd(Rx32++#s4:3):nt=3DRtt32",ATTRIBS(A_REGWRSIZE= _8B,A_ARCHV2,A_MEMSIZE_8B,A_STORE,A_NA_NT),"Store Double integer",{fEA_REG(= RxV); fPM_I(RxV,siV); fSTORE(1,8,EA,RttV); }) + STD_ST_AMODES(storerinew, "Nt8.new", "memw","Store Word",ATTRIBS(A_REGWRSI= ZE_4B,A_NOTE_NEWVAL_SLOT0,A_NVSTORE,A_NOTE_NVSLOT0,A_MEMSIZE_4B,A_STORE,A_R= ESTRICT_NOSLOT1_STORE),"2",fSTORE(1,4,EA,fNEWREG_ST(NtN)),2) STD_ST_AMODES(storerbnew, "Nt8.new", "memb","Store Byte",ATTRIBS(A_NOTE_NE= WVAL_SLOT0,A_NVSTORE,A_NOTE_NVSLOT0,A_MEMSIZE_1B,A_STORE,A_RESTRICT_NOSLOT1= _STORE),"0",fSTORE(1,1,EA,fGETBYTE(0,fNEWREG_ST(NtN))),0) STD_ST_AMODES(storerhnew, "Nt8.new", "memh","Store Half integer",ATTRIBS(A= _REGWRSIZE_2B,A_NOTE_NEWVAL_SLOT0,A_NVSTORE,A_NOTE_NVSLOT0,A_MEMSIZE_2B,A_S= TORE,A_RESTRICT_NOSLOT1_STORE),"1",fSTORE(1,2,EA,fGETHALF(0,fNEWREG_ST(NtN)= )),1) @@ -277,6 +287,17 @@ STD_PST_AMODES(storerh,"Rt32","memh","Store Half integ= er",ATTRIBS(A_REGWRSIZE_2B STD_PST_AMODES(storerf,"Rt.H32","memh","Store Upper Half integer",ATTRIBS(= A_REGWRSIZE_2B,A_ARCHV2,A_MEMSIZE_2B,A_STORE),"1",1,fSTORE(1,2,EA,fGETHALF(= 1,RtV))) STD_PST_AMODES(storeri,"Rt32","memw","Store Word",ATTRIBS(A_REGWRSIZE_4B,A= _ARCHV2,A_MEMSIZE_4B,A_STORE),"2",2,fSTORE(1,4,EA,RtV)) STD_PST_AMODES(storerd,"Rtt32","memd","Store Double integer",ATTRIBS(A_REG= WRSIZE_8B,A_ARCHV2,A_MEMSIZE_8B,A_STORE),"3",3,fSTORE(1,8,EA,RttV)) + +/* Predicated forms of the non-temporal post-increment stores above. */ +Q6INSN(S2_pstorerbt_pi_nt,"if (Pv4) memb(Rx32++#s4:0):nt=3DRt32",ATTRIBS(A= _ARCHV2,A_MEMSIZE_1B,A_STORE,A_NA_NT),"Store Byte",{fEA_REG(RxV); if (fLSBO= LD(PvV)){ fPM_I(RxV,siV); fSTORE(1,1,EA,fGETBYTE(0,RtV));} else {STORE_CANC= EL(EA);}}) +Q6INSN(S2_pstorerbf_pi_nt,"if (!Pv4) memb(Rx32++#s4:0):nt=3DRt32",ATTRIBS(= A_ARCHV2,A_MEMSIZE_1B,A_STORE,A_NA_NT),"Store Byte",{fEA_REG(RxV); if (fLSB= OLDNOT(PvV)){ fPM_I(RxV,siV); fSTORE(1,1,EA,fGETBYTE(0,RtV));} else {STORE_= CANCEL(EA);}}) +Q6INSN(S2_pstorerht_pi_nt,"if (Pv4) memh(Rx32++#s4:1):nt=3DRt32",ATTRIBS(A= _REGWRSIZE_2B,A_ARCHV2,A_MEMSIZE_2B,A_STORE,A_NA_NT),"Store Half integer",{= fEA_REG(RxV); if (fLSBOLD(PvV)){ fPM_I(RxV,siV); fSTORE(1,2,EA,fGETHALF(0,R= tV));} else {STORE_CANCEL(EA);}}) +Q6INSN(S2_pstorerhf_pi_nt,"if (!Pv4) memh(Rx32++#s4:1):nt=3DRt32",ATTRIBS(= A_REGWRSIZE_2B,A_ARCHV2,A_MEMSIZE_2B,A_STORE,A_NA_NT),"Store Half integer",= {fEA_REG(RxV); if (fLSBOLDNOT(PvV)){ fPM_I(RxV,siV); fSTORE(1,2,EA,fGETHALF= (0,RtV));} else {STORE_CANCEL(EA);}}) +Q6INSN(S2_pstorerit_pi_nt,"if (Pv4) memw(Rx32++#s4:2):nt=3DRt32",ATTRIBS(A= _REGWRSIZE_4B,A_ARCHV2,A_MEMSIZE_4B,A_STORE,A_NA_NT),"Store Word",{fEA_REG(= RxV); if (fLSBOLD(PvV)){ fPM_I(RxV,siV); fSTORE(1,4,EA,RtV);} else {STORE_C= ANCEL(EA);}}) +Q6INSN(S2_pstorerif_pi_nt,"if (!Pv4) memw(Rx32++#s4:2):nt=3DRt32",ATTRIBS(= A_REGWRSIZE_4B,A_ARCHV2,A_MEMSIZE_4B,A_STORE,A_NA_NT),"Store Word",{fEA_REG= (RxV); if (fLSBOLDNOT(PvV)){ fPM_I(RxV,siV); fSTORE(1,4,EA,RtV);} else {STO= RE_CANCEL(EA);}}) +Q6INSN(S2_pstorerdt_pi_nt,"if (Pv4) memd(Rx32++#s4:3):nt=3DRtt32",ATTRIBS(= A_REGWRSIZE_8B,A_ARCHV2,A_MEMSIZE_8B,A_STORE,A_NA_NT),"Store Double integer= ",{fEA_REG(RxV); if (fLSBOLD(PvV)){ fPM_I(RxV,siV); fSTORE(1,8,EA,RttV);} e= lse {STORE_CANCEL(EA);}}) +Q6INSN(S2_pstorerdf_pi_nt,"if (!Pv4) memd(Rx32++#s4:3):nt=3DRtt32",ATTRIBS= (A_REGWRSIZE_8B,A_ARCHV2,A_MEMSIZE_8B,A_STORE,A_NA_NT),"Store Double intege= r",{fEA_REG(RxV); if (fLSBOLDNOT(PvV)){ fPM_I(RxV,siV); fSTORE(1,8,EA,RttV)= ;} else {STORE_CANCEL(EA);}}) + STD_PST_AMODES(storerinew,"Nt8.new","memw","Store Word",ATTRIBS(A_REGWRSIZ= E_4B,A_ARCHV2,A_NOTE_NEWVAL_SLOT0,A_NVSTORE,A_NOTE_NVSLOT0,A_MEMSIZE_4B,A_S= TORE,A_RESTRICT_NOSLOT1_STORE),"2",2,fSTORE(1,4,EA,fNEWREG_ST(NtN))) STD_PST_AMODES(storerbnew,"Nt8.new","memb","Store Byte",ATTRIBS(A_ARCHV2,A= _NOTE_NEWVAL_SLOT0,A_NVSTORE,A_NOTE_NVSLOT0,A_MEMSIZE_1B,A_STORE,A_RESTRICT= _NOSLOT1_STORE),"0",0,fSTORE(1,1,EA,fGETBYTE(0,fNEWREG_ST(NtN)))) STD_PST_AMODES(storerhnew,"Nt8.new","memh","Store Half integer",ATTRIBS(A_= REGWRSIZE_2B,A_ARCHV2,A_NOTE_NEWVAL_SLOT0,A_NVSTORE,A_NOTE_NVSLOT0,A_MEMSIZ= E_2B,A_STORE,A_RESTRICT_NOSLOT1_STORE),"1",1,fSTORE(1,2,EA,fGETHALF(0,fNEWR= EG_ST(NtN)))) diff --git a/target/hexagon/imported/system.idef b/target/hexagon/imported/= system.idef index b44e87565c3..6187ada5abb 100644 --- a/target/hexagon/imported/system.idef +++ b/target/hexagon/imported/system.idef @@ -238,10 +238,12 @@ Q6INSN(Y6_dmresume,"dmresume(Rs32)",ATTRIBS(A_NOTE_NO= PACKET,A_RESTRICT_NOPACKET, =20 =20 Q6INSN(Y2_dcfetchbo,"dcfetch(Rs32+#u11:3)",ATTRIBS(A_RESTRICT_PREFERSLOT0,= A_DCFETCH,A_RESTRICT_NOSLOT1_STORE),"Data Cache Prefetch",{fEA_RI(RsV,uiV);= fDCFETCH(EA);}) +Q6INSN(Y2_dcfetchbo_nt,"dcfetch(Rs32+#u11:3):nt",ATTRIBS(A_NA_NT,A_RESTRIC= T_PREFERSLOT0,A_DCFETCH,A_RESTRICT_NOSLOT1_STORE),"Data Cache Prefetch",{fE= A_RI(RsV,uiV); fDCFETCH(EA);}) Q6INSN(Y2_dckill,"dckill",ATTRIBS(A_PRIV,A_NOTE_PRIV,A_NOTE_NOPACKET,A_RES= TRICT_SLOT0ONLY,A_RESTRICT_NOPACKET,A_CACHEOP,A_DCFLUSHOP),"Data Cache Inva= lidate",{fDCKILL();}) =20 =20 Q6INSN(Y2_dczeroa,"dczeroa(Rs32)",ATTRIBS(A_STORE,A_RESTRICT_SLOT1_AOK,A_N= OTE_SLOT1_AOK,A_RESTRICT_SLOT0ONLY,A_CACHEOP,A_COPBYADDRESS,A_DCZEROA),"Zer= o an aligned 32-byte cacheline",{fEA_REG(RsV); fDCZEROA(EA);}) +Q6INSN(Y2_dczeroa_nt,"dczeroa(Rs32):nt",ATTRIBS(A_STORE,A_RESTRICT_SLOT1_A= OK,A_NOTE_SLOT1_AOK,A_RESTRICT_SLOT0ONLY,A_CACHEOP,A_COPBYADDRESS,A_DCZEROA= ,A_NA_NT),"Zero an aligned 32-byte cacheline",{fEA_REG(RsV); fDCZEROA(EA);}) Q6INSN(Y2_dccleana,"dccleana(Rs32)",ATTRIBS(A_RESTRICT_SLOT1_AOK,A_NOTE_SL= OT1_AOK,A_RESTRICT_SLOT0ONLY,A_CACHEOP,A_COPBYADDRESS,A_DCFLUSHOP),"Data Ca= che Clean Address",{fEA_REG(RsV); fDCCLEANA(EA);}) Q6INSN(Y2_dccleanidx,"dccleanidx(Rs32)",ATTRIBS(A_PRIV,A_NOTE_PRIV,A_RESTR= ICT_PACKET_AXOK,A_NOTE_AXOK,A_RESTRICT_SLOT0ONLY,A_CACHEOP,A_COPBYIDX,A_DCF= LUSHOP),"Data Cache Clean Index",{fDCCLEANIDX(RsV);}) Q6INSN(Y2_dccleaninva,"dccleaninva(Rs32)",ATTRIBS(A_RESTRICT_SLOT1_AOK,A_N= OTE_SLOT1_AOK,A_RESTRICT_SLOT0ONLY,A_CACHEOP,A_COPBYADDRESS,A_DCFLUSHOP),"D= ata Cache Clean and Invalidate Address",{fEA_REG(RsV); fDCCLEANINVA(EA);}) diff --git a/tests/tcg/hexagon/meson.build b/tests/tcg/hexagon/meson.build index 4a2826c4276..6e36a9a1220 100644 --- a/tests/tcg/hexagon/meson.build +++ b/tests/tcg/hexagon/meson.build @@ -101,6 +101,7 @@ tests +=3D { 'v68_hvx.c': {'cflags': [cflags, '-mhvx', '-Wno-unused-function', '-mv68= ']}, 'v69_hvx.c': {'cflags': [cflags, '-mhvx', '-Wno-unused-function', '-mv69= ']}, 'v73_scalar.c': {'cflags': [cflags, '-Wno-unused-function', '-mv73']}, + 'v79_scalar.c': {'cflags': [cflags, '-Wno-unused-function', '-mv79']}, 'valid-slots.c': {'cflags': cflags}, 'vector_add_int.c': {'cflags': [cflags, '-mhvx', '-fvectorize']}, } --=20 2.34.1 From nobody Sat Sep 26 20:50:54 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=reject dis=none) header.from=oss.qualcomm.com ARC-Seal: i=1; a=rsa-sha256; t=1789142703; cv=none; d=zohomail.com; s=zohoarc; b=N6HSYStvfEyOHRE9ZTE7E9c9ashxT6BkStQdwTbt6lpucIjfkGXt4UGQe4tuB+Dt/CLd9+2mVxFWlr8DsNNmLVV0JTU2uMBNLn6hOkOCe4cWExAZDXUEbnJu9xEvv1g3Lq5YTzPIPYvvgfGkFoaxUYfaMO9aZGhvx/hjxvFgfkk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789142703; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=Eo60+DNsjyuICsw6LBKgEDx72MyCYiY9boywOMHKNAw=; b=LyfY0EY06/4u+M3EMUbWvuZP64J+s1cZICY3tefJ3/xOa+QTdepSqL0h82D7H6Po+8TKYgwrp9Cfc1gNw50QrR/baWmjpYcbt+wlpVBpLWZ06kiQBxKQfh2ZutmVkUm5Q+/gXKxFqCfttSmzUfm3zgxbRmALsmN3txIWsIyrD2E= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1789142703876690.8636834911887; Fri, 11 Sep 2026 09:05:03 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x53k3-0003UK-EH; Fri, 11 Sep 2026 12:04:44 -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 1x53jZ-0003MT-AH for qemu-devel@nongnu.org; Fri, 11 Sep 2026 12:04:20 -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 1x53jI-0007VV-1e for qemu-devel@nongnu.org; Fri, 11 Sep 2026 12:04:13 -0400 Received: from pps.filterd (m0279873.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 68BEmAa3222587 for ; Fri, 11 Sep 2026 16:03:55 GMT Received: from mail-oi1-f199.google.com (mail-oi1-f199.google.com [209.85.167.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4gmbdrakc6-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 11 Sep 2026 16:03:54 +0000 (GMT) Received: by mail-oi1-f199.google.com with SMTP id 5614622812f47-4ab4ca7ce3fso1214925b6e.0 for ; Fri, 11 Sep 2026 09:03:54 -0700 (PDT) Received: from hu-bcain-lv.qualcomm.com (Global_NAT1.qualcomm.com. [129.46.96.20]) by smtp.gmail.com with ESMTPSA id 5614622812f47-4c3321ecd0asm2451876b6e.17.2026.09.11.09.03.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 11 Sep 2026 09:03:51 -0700 (PDT) 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= Eo60+DNsjyuICsw6LBKgEDx72MyCYiY9boywOMHKNAw=; b=mjCydMtDFve2bHJo JrkNDiHQI1yPRpbK29IIZzmTc8CIA3TuaohoU91V89mZslqdg/lSg4+WvvWH3wJq QNTYbUNZdTCw64OumEbeCHwG1uZrldBFCe2RsAyVat4WmcPV0O+lAFy4xy1ktaVO zF4I8d1tdu8AN0iikuJAmLxAe1USVpKyXDRo/sEs0grqS+M/ZS8wsqkx2IfjeClv FkYUjS/juq4KMHo7bjGloUVKOPo/7eq4FRmrF8P9furs7yn+6GA1dGBYJN6v1uAV roLNvVespcJ4r46qHRdBEbYVDLuxFQSxCbFNCffMj4QtKh4s2Z84/R8oSF85WK1b onpInA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1789142634; x=1789747434; 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=Eo60+DNsjyuICsw6LBKgEDx72MyCYiY9boywOMHKNAw=; b=FIowhsfsMDiKwUaxWa6UxMExYYqW4FGTvCSIN83VSQxNUnefWAbLDoC0zGkSpy/0cm i0SjmsETe1wMUmC3DE9T/ylq6ZPpcbMkI2MY0PZqhasP4w7rFgkLNj6AbiA1YyYeAQLy bU5vkcBWL/hsBjfUuxhFsrW5MJ5wHqSDl2ouq6J8wcogi4ntz73D73ks4VUlyxm3Kaa3 ANbFwQBMpiBPpczP4s14PkjoYFehhaF12aD66ekC1VhRzR3OhCDFyjAD8mGcpu4YevPE xEIVlxnERcl04GIoSm+z86+LWpnQI4kP3oQ8MWy03AzFi6P5lhlwj1wUM1YdRkLQIweL u+KQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1789142634; x=1789747434; 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=Eo60+DNsjyuICsw6LBKgEDx72MyCYiY9boywOMHKNAw=; b=pRvD/78u01Y7OI3xVDDTB0/3W1YBJfE1Z7FYn/PZfB83cNdRInKa+ddewx/fapnKKM 3pRdHTGaK9P6MuH4dLktqEgbU887aXAU4gjfaEzefFGAXQanX0eKoF4rzn9SB7yFSLRp 50CAMnpsclraXzcQoGl1JTLqYPnzGY1gJAWoo3BkNyruFFyysuwLTtjFjBjov6thRDf0 sG7cyRsSbwYWelOGbwQsYrdgk4o4j9ySbDw9MF87tf6kgI7T2zSksx3v9dozEBGez9M1 Rsu53Hk6amLOxbB/8v3mdPnjpfLAe5OUXpMnqIdiH/T343mxOdX/1YuX+4ZZdEgd6f/3 ZQ0g== X-Gm-Message-State: AFuF++ka5kzQb0qhhXOI6u0XQ0jel2kUYOXNflo5RhDSzVMmo31lowdl uhSN5mhczbc/ziJN3PYDQfjqMVkxNq8A/mB1AY0Gmlx3yo4eCPnm0P37+xlePWBqYNNalJ63Cc+ VjdJFWPB7tBQVicIhyWp+JEf4pvY5grXDcqR9uXfaYJQY4zhh2upzKwyxQbZzyDUrkg== X-Gm-Gg: AYBFou0Lylbyx7CzuNjRopc6UBPv6KB1DDdkm1GFKlJ1nsAPvP8F3L4KwarwbIIHO7L e4GqSApGp91zadqVbfTZ89Kx6bYVrF+MnrRLdbbjMAQr4mpwz2OkSOjSTkaab2vBi2NlEh7nski GfAPaNivOKFfCQWNxNI5VnDXevCl8ktNELA/1yAYxCRSrIBPbsNVucRBVnxt+Y7aUTj628evi7m ZfuzKDHjKbNYH3ppTA9xnpxBbG7lSGIkbSAeFUz1F9gb2JXMc++ViqfVc9PCyEvvYV+y1iacIQu 0eODJVmU0+9UIcjO2vQIy+1ppZ8LCYDrZhsqs4Vk4I1KjNYIogqQQhgy9U8e2cuxGCCggcVv9bb zvsMvb260rRe7bsDHXQE7EFpfysdaSwTnUMXfiovlTgievxGs X-Received: by 2002:a05:6808:16a6:b0:4c3:ee9e:2001 with SMTP id 5614622812f47-4c3ee9e2396mr1665439b6e.3.1789142633983; Fri, 11 Sep 2026 09:03:53 -0700 (PDT) X-Received: by 2002:a05:6808:16a6:b0:4c3:ee9e:2001 with SMTP id 5614622812f47-4c3ee9e2396mr1665397b6e.3.1789142633465; Fri, 11 Sep 2026 09:03:53 -0700 (PDT) From: Brian Cain To: qemu-devel@nongnu.org, richard.henderson@linaro.org, peter.maydell@linaro.org Cc: brian.cain@oss.qualcomm.com, Marco Liebel , Pierrick Bouvier Subject: [PULL 04/10] target/hexagon: add Y2_tlbpp as unimplemented Date: Fri, 11 Sep 2026 09:03:01 -0700 Message-Id: <20260911160307.865892-5-brian.cain@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260911160307.865892-1-brian.cain@oss.qualcomm.com> References: <20260911160307.865892-1-brian.cain@oss.qualcomm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Proofpoint-GUID: VWzfa66bmd3uc5A8GrlyhHFIxdk8yc_l X-Authority-Analysis: v=2.4 cv=PLmaavqC c=1 sm=1 tr=0 ts=6aa4266a cx=c_pps a=yymyAM/LQ7lj/HqAiIiKTw==:117 a=ouPCqIW2jiPt+lZRy3xVPw==:17 a=IkcTkHD0fZMA:10 a=VdqzKS8jKosA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=rJkE3RaqiGZ5pbrm-msn:22 a=EUspDBNiAAAA:8 a=lfClExg8J67ehGbBbBgA:9 a=QEXdDO2ut3YA:10 a=efpaJB4zofY2dbm2aIRb:22 X-Proofpoint-ORIG-GUID: VWzfa66bmd3uc5A8GrlyhHFIxdk8yc_l X-Proofpoint-Spam-Info: AW1haW4tMjYwOTExMDIyNCBTYWx0ZWRfX6Fy8AdgU75cC V5b//w4QLH7YboJ3esmdrb2cEQrrCjywPS7NcRP+MEMzijXyJsbL9yZjPY7h0KAZgGo++UR4rPJ yhBsVNd9LeE0r9OZYwXyNZVGiRSKcZ0= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwOTExMDIyNCBTYWx0ZWRfX99SJduXZIAaP jyxydDCgCvcrjSQNF88tl1O2SbqZosZyQRWFJ3ifLjwTkkgmL3GqGcT9NIwuLnAx4I7OoUxaJSv 4XCrrLAvXEGf1raTN1qzEp1BA5LTKmPE11hltVrOdt4754b4S7Ve2eAAcSWFeVnJSI4j9N9SPCx pT/5d+Zr2sFtWphrvnmrtipxvL0vAGtl2FgM4wgoxBiRx2QjGVDmC3mMsZQwdxaEqIAPuaRiofv hAm7sjDI8PvDAj78Oz8Esmsie7PfmKT0MZ0xrkgN9PiDYjhuLQDapPc5YIBEWXVDsRv1gvnju2N FKTdSu+MlgghGQRYofURyVvLoQ4lXKeZCMBHUCLbkb11gFxMLlURBFoxrPep3+fwb4pfBOF9fNF oDF0HE601+XJij9osGHRCTxWXoYb3dxQ2B1pVEP7TUmtdvQe5kTJ16qzO95tvDnkGo//B4eLL5R SsDqgRMk0hMYRVCJ6ug== 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-11_05,2026-09-11_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 suspectscore=0 spamscore=0 phishscore=0 adultscore=0 malwarescore=0 clxscore=1015 priorityscore=1501 impostorscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2609040000 definitions=main-2609110224 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: pass client-ip=205.220.180.131; envelope-from=brian.cain@oss.qualcomm.com; helo=mx0b-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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @qualcomm.com) X-ZM-MESSAGEID: 1789142707039158500 Y2_tlbpp is mostly associated with the not-yet-implemented DMA engine. Let's decode it as unimpl for now. Reviewed-by: Marco Liebel Signed-off-by: Brian Cain --- target/hexagon/sys_macros.h | 3 +++ target/hexagon/attribs_def.h.inc | 1 + target/hexagon/tag_rev_info.c.inc | 2 ++ target/hexagon/imported/encode_pp.def | 1 + target/hexagon/imported/system.idef | 2 ++ 5 files changed, 9 insertions(+) diff --git a/target/hexagon/sys_macros.h b/target/hexagon/sys_macros.h index a49c72715dc..2e13ba00c8a 100644 --- a/target/hexagon/sys_macros.h +++ b/target/hexagon/sys_macros.h @@ -177,6 +177,9 @@ fTLB_NONPOW2WRAP(fTLB_IDXMASK(INDEX))) #define fTLBP(TLBHI) \ hex_tlb_lookup(env, ((TLBHI) >> 12), ((TLBHI) << 12)) +#define fTLBPP(TLBHI) ({ \ + qemu_log_mask(LOG_UNIMP, "tlbpp is not implemented\n"); \ + 0; }) #define iic_flush_cache(p) =20 #define fIN_DEBUG_MODE(TNUM) ({ \ diff --git a/target/hexagon/attribs_def.h.inc b/target/hexagon/attribs_def.= h.inc index 8b4eb27d682..5a98ea33139 100644 --- a/target/hexagon/attribs_def.h.inc +++ b/target/hexagon/attribs_def.h.inc @@ -25,6 +25,7 @@ DEF_ATTRIB(NA_NT, "Non-Allocating Non-Temporal instructio= n", "", "") =20 DEF_ATTRIB(PRIV, "Not available in user or guest mode", "", "") DEF_ATTRIB(GUEST, "Not available in user mode", "", "") +DEF_ATTRIB(TLBPP_INSN, "Extended (64-bit VA) TLB probe instruction", "", "= ") =20 DEF_ATTRIB(FPOP, "Floating Point Operation", "", "") =20 diff --git a/target/hexagon/tag_rev_info.c.inc b/target/hexagon/tag_rev_inf= o.c.inc index 48bdc52bfdb..68be8cbafb2 100644 --- a/target/hexagon/tag_rev_info.c.inc +++ b/target/hexagon/tag_rev_info.c.inc @@ -642,6 +642,8 @@ static const struct tag_rev_info tag_rev_info[XX_LAST_O= PCODE] =3D { [S2_storeri_pi_nt] =3D { .introduced =3D HEX_VER_V79, .removed =3D HEX= _VER_NONE }, [Y2_dcfetchbo_nt] =3D { .introduced =3D HEX_VER_V79, .removed =3D HEX_= VER_NONE }, [Y2_dczeroa_nt] =3D { .introduced =3D HEX_VER_V79, .removed =3D HEX_VE= R_NONE }, + + [Y2_tlbpp] =3D { .introduced =3D HEX_VER_V81, .removed =3D HEX_VER_NON= E }, }; =20 #endif /* HEXAGON_TAG_ARCH_TABLE_H */ diff --git a/target/hexagon/imported/encode_pp.def b/target/hexagon/importe= d/encode_pp.def index fca8f8aeb1a..4b307b97b30 100644 --- a/target/hexagon/imported/encode_pp.def +++ b/target/hexagon/imported/encode_pp.def @@ -890,6 +890,7 @@ DEF_ENC32(Y2_tlbunlock,ICLASS_CR" 1100 001----- PP-----= - 010-----") DEF_ENC32(Y2_k0lock, ICLASS_CR" 1100 001----- PP------ 011-----") DEF_ENC32(Y2_k0unlock, ICLASS_CR" 1100 001----- PP------ 100-----") DEF_ENC32(Y2_tlbp, ICLASS_CR" 1100 100sssss PP------ ---ddddd") +DEF_ENC32(Y2_tlbpp,"01101100011sssssPP---------ddddd") DEF_ENC32(Y5_tlboc, ICLASS_CR" 1100 111sssss PP------ ---ddddd") DEF_ENC32(Y5_tlbasidi, ICLASS_CR" 1100 101sssss PP------ --------") DEF_ENC32(Y2_tlbr, ICLASS_CR" 1100 010sssss PP------ ---ddddd") diff --git a/target/hexagon/imported/system.idef b/target/hexagon/imported/= system.idef index 6187ada5abb..a58da8f8269 100644 --- a/target/hexagon/imported/system.idef +++ b/target/hexagon/imported/system.idef @@ -118,6 +118,8 @@ Q6INSN(Y2_tlbr,"Rdd32=3Dtlbr(Rs32)", ATTRIBS(A_PRIV,A_N= OTE_PRIV,A_NOTE_NOPACKET,A_ =20 Q6INSN(Y2_tlbp,"Rd32=3Dtlbp(Rs32)", ATTRIBS(A_PRIV,A_NOTE_PRIV,A_NOTE_NOPA= CKET,A_RESTRICT_NOPACKET), "Probe TLB", {RdV=3DfTLBP(RsV);}) =20 +Q6INSN(Y2_tlbpp,"Rd32=3Dtlbp(Rss32)", ATTRIBS(A_PRIV,A_NOTE_PRIV,A_NOTE_NO= PACKET,A_RESTRICT_NOPACKET,A_TLBPP_INSN), "Probe TLB64", {RdV=3DfTLBPP(RssV= );}) + Q6INSN(Y5_tlbasidi,"tlbinvasid(Rs32)",ATTRIBS(A_PRIV,A_NOTE_PRIV,A_NOTE_NO= PACKET,A_RESTRICT_NOPACKET), "Invalidate ASID", { fHIDE(int i;) --=20 2.34.1 From nobody Sat Sep 26 20:50:54 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=reject dis=none) header.from=oss.qualcomm.com ARC-Seal: i=1; a=rsa-sha256; t=1789142921; cv=none; d=zohomail.com; s=zohoarc; b=Vp1KH+5qchxPcoyHrt7pIZ+Eh+6EMN4AWY+67S/kkN9I52xtfDJJ1JQVPiiG6wo5FFL+YvHkjkJa8hiBDG6MXJdCf/vqM0BqCDYe/pE3r5TOJNF93NG4X7VSYTlRBafp0Tl/ZdsrpmV9mNT9kBKgKbhqAhQx76+8OZWPEob++pY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789142921; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=k8HfXmLgDaAZKP7o/Oon8vq23NHJAEkmJ9YYNpxgWH8=; b=J7dkoBQjdQhIW4VqzmgnebE96Tl+WrT43Lx677rFYycVYXpdcTWT0Bdv5+cgX8LaXGRqPJ5CNK7c8hO+I3zllvWv0wcpjuT1u29rDIF04RjCh0iK/2XqNk5oczj0EfaDEh/HbTAz7iOJpXSobXVN+6o46uvoTySbPSVjWRNsSgk= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1789142921709805.6175919062439; Fri, 11 Sep 2026 09:08:41 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x53nU-0005aA-2g; Fri, 11 Sep 2026 12:08:19 -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 1x53jb-0003NB-Q9 for qemu-devel@nongnu.org; Fri, 11 Sep 2026 12:04:20 -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 1x53jL-0007Xd-JK for qemu-devel@nongnu.org; Fri, 11 Sep 2026 12:04:15 -0400 Received: from pps.filterd (m0279868.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 68BF8ir5170563 for ; Fri, 11 Sep 2026 16:03:58 GMT Received: from mail-oi1-f200.google.com (mail-oi1-f200.google.com [209.85.167.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4gmm1e87dp-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 11 Sep 2026 16:03:58 +0000 (GMT) Received: by mail-oi1-f200.google.com with SMTP id 5614622812f47-4c467e19391so52208b6e.3 for ; Fri, 11 Sep 2026 09:03:58 -0700 (PDT) Received: from hu-bcain-lv.qualcomm.com (Global_NAT1.qualcomm.com. [129.46.96.20]) by smtp.gmail.com with ESMTPSA id 5614622812f47-4c3321ecd0asm2451876b6e.17.2026.09.11.09.03.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 11 Sep 2026 09:03:54 -0700 (PDT) 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= k8HfXmLgDaAZKP7o/Oon8vq23NHJAEkmJ9YYNpxgWH8=; b=o89WOg7Mw+39WVZK mJCJj4F3bHz7EhBIE9I53KgjjkDOC1eyu7/3ChvOkN3squHFKxaaQiGeFMx48w3e ayuo+1AlEanL70lOLJjKlN/rNbitUTtNuSNAccdFwH1c7ywi4jQfzpY4+83pGH9o 5wXyjCighjorWqzDGwT7jB5RpIpoYn/onyzNtatTF2WzJ9HJu2luLib3ygE4RyTv grwQATvOH93MtOC77eRIO1kzQrwL91BMXkw6ayCfX6fvCoBizpJVvb24VheVqP0Z i9ysDeLJ0dCRIxXL5tq8sqy/RinGz9kzhKBJKSpEG8jiwY53NoipAvEDOglJAnJQ A9YT3w== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1789142637; x=1789747437; 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=k8HfXmLgDaAZKP7o/Oon8vq23NHJAEkmJ9YYNpxgWH8=; b=ZRGxkGhBK18wilFNpf4sFPZwejDCZouabkpfVU02XQQ6uGsTdbDjIWUsB7YgCh9kzB P8txwH21hwpWwUZ4o266YdvvGbQ8GZcGSlqlu3reK/SpsVV7cf7gIEnZFhU5fjoYkueY lj0K9E45gqZLzbZM5czCdDtIe1pYAQ63yIiEX94SOs0V2NhQlF07ZzztsMmoBS/T93wE xEfHzUKgyY/uyLmviFtbz6BEgzJ29yqUQwvr4h6gi0mb+ncRqBUD0Sld7AmAJPmRqAw5 mENbJ38aVNjw7nLYyu9HwcES48PXxHNrYwrFerTOZ/deWPL+MrAdpRGiGjOpEdmA9r2s TskQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1789142637; x=1789747437; 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=k8HfXmLgDaAZKP7o/Oon8vq23NHJAEkmJ9YYNpxgWH8=; b=CuzVbtfy5Yoc7ktGP3oxJaY2Qgda55O69mb4506alAZG0wxSszGvI2ldTAt0v6EJGa OHmAA1d/thecJa+8ccLzh1nch6kC4SjAyOjsfGAVpbm8FZirjP1NBsI5BoqbyxGge9jH lkKXSx5/2FuOPayrM/YVdLZIZZw4gMfDSzqPuVIHN0v31OhyiUJiYs3NJ2KcJiaHuQFV +LiOpm/9TduTV7HrO3amVWpVazBlBvMghxjIKDa6eyoxJplcRfa7iaMjk+Q/UHGdLxiZ +ANaBCcsarEnyNUeK4EK0OVojGC2korvU0F6AYdYlrzwADHbp0NtIcXrXiS35HzBXaT1 UsWQ== X-Gm-Message-State: AFuF++nkyXBL3kBE6EgG1A2gq9Zkyv7acvpDC3UUM90+FRI7umM6jfqf iSkKzIWlcdow5HhgbhuU/ACuEuLisTKUCwCuhZU8HirJ+4iU5PFpsTLEaZef5eOo2VOk40t2dvB uzGAiqNasm+3h/xIG56TnP2E/n/5EuBzoo4MxOV24hDC7N8YHYqRcVfyb1YAwfu/UHA== X-Gm-Gg: AYBFou2q6VvK3rUadXDnWnL8F0228Df6lSyqsBcN8bpOJfaoV+ZyVuKqLMGptYqYtQ3 N2j91ku9LKmjJJoGip6arB9YX6T1e1Kjmv2+UQFs+UnIyQNnPjaPH4KLhLGL2x2O1MpmzWHFDHa jXltBCudrOlLh3eLFZkfn8JW/2KWsODJpQtSW2wQ3xr9k5QZYCghnMevhY6Yy3SGKoSk+HrFaq4 Yvy8+8WeXwZF6G5PowMqSOi1H6ZnjZvL3WYAl4cYvlgMXL240HZU0dEZAXIE7xWNsw9acIUw7qs EXZxU/KPYtXVBNFKhPuUQq/nHwHH6+ybiWqPAa+4z6JpKuQt5mS7x4oEIVdKnyw2vuJI7RbDfOk pkTiTrqWmo190soDMxMzLaOvt+j94XkN5PsAC5okM/iJCZ9AV X-Received: by 2002:a05:6808:1792:b0:4b3:74fe:2f77 with SMTP id 5614622812f47-4c31d65d6f5mr4364393b6e.11.1789142637214; Fri, 11 Sep 2026 09:03:57 -0700 (PDT) X-Received: by 2002:a05:6808:1792:b0:4b3:74fe:2f77 with SMTP id 5614622812f47-4c31d65d6f5mr4364330b6e.11.1789142636608; Fri, 11 Sep 2026 09:03:56 -0700 (PDT) From: Brian Cain To: qemu-devel@nongnu.org, richard.henderson@linaro.org, peter.maydell@linaro.org Cc: brian.cain@oss.qualcomm.com, Marco Liebel , Pierrick Bouvier Subject: [PULL 05/10] hw/hexagon: add the V81DGB_1 and V81QA_1 machines Date: Fri, 11 Sep 2026 09:03:02 -0700 Message-Id: <20260911160307.865892-6-brian.cain@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260911160307.865892-1-brian.cain@oss.qualcomm.com> References: <20260911160307.865892-1-brian.cain@oss.qualcomm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwOTExMDIyNCBTYWx0ZWRfX/tOibwJViO+y WFFX1Fsw0JPjK0ZetoPwVJwRzC0xZ3OztThislrQLAo6n2PK5MKfhzISk6KxK+4LqEsc6isaHVP hOdI5M5k4nQhViE8W5UNq7Ev7PA0L3DhkbDRtwDDZ7LtBiO+ypEJM4u6lzpPllfAbxHKidRPpsL GlpsHoqOvu0NZdZZbJXuXsSHkVdQaIOVwNpiu21G6OaCqu+SN3kI1YYppSa1P2OpLrll/KAuzRd GEvb6yliVh3r4M1D5EuQckc5Q+sAaMRH1iKkleVsqFOHKVPUMettKFcnVBDseNag+OWvGGKC5Bs hr0J0I14tCdcN1faFwjfhzPD7eEBvUW8/J5MXg3L2vIzHiRxevtBbXVKm8+h1Y651DdHUzaJUtc LuvDCPq7Ui3SyN9Akl9qRhvoov5/5atgpzfS2F0NdOVXbTgi9zEdvG4q5FOJS9x4D9Bf9s6h9V3 CSU0MYygUAQR/MYA/dw== X-Proofpoint-ORIG-GUID: ddNYqcd3CzGIZUgua4kOwIx8zFn3V1oy X-Proofpoint-GUID: ddNYqcd3CzGIZUgua4kOwIx8zFn3V1oy X-Proofpoint-Spam-Info: AW1haW4tMjYwOTExMDIyNCBTYWx0ZWRfX9GZ+xnJQHHOM /9FT/UAxC84nNMDG2jEkoqLR5JgYXPW8Atw8Ho39w4XvILr/q5Xe1pw9jLrN1R9xsPKSpfJxt2s xYcCn0NESp99BtPpm09FygTs7+gFE+E= X-Authority-Analysis: v=2.4 cv=LrwHWXdc c=1 sm=1 tr=0 ts=6aa4266e cx=c_pps a=AKZTfHrQPB8q3CcvmcIuDA==:117 a=ouPCqIW2jiPt+lZRy3xVPw==:17 a=IkcTkHD0fZMA:10 a=VdqzKS8jKosA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=ZpdpYltYx_vBUK5n70dp:22 a=EUspDBNiAAAA:8 a=j0v4eB861mgIxmVUtugA:9 a=QEXdDO2ut3YA:10 a=pF_qn-MSjDawc0seGVz6: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-11_05,2026-09-11_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 phishscore=0 adultscore=0 impostorscore=0 bulkscore=0 lowpriorityscore=0 suspectscore=0 priorityscore=1501 clxscore=1015 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2609040000 definitions=main-2609110224 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: pass client-ip=205.220.180.131; envelope-from=brian.cain@oss.qualcomm.com; helo=mx0b-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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @qualcomm.com) X-ZM-MESSAGEID: 1789142922691158500 Add these new machines that correspond to the hexagon-sim machine types. Reviewed-by: Marco Liebel Signed-off-by: Brian Cain --- include/hw/hexagon/hexagon.h | 11 ++++ target/hexagon/cpu.h | 2 +- hw/hexagon/machine_cfg_v81dgb_1.h.inc | 73 +++++++++++++++++++++++++++ hw/hexagon/machine_cfg_v81qa_1.h.inc | 73 +++++++++++++++++++++++++++ hw/hexagon/hexagon_dsp.c | 46 +++++++++++++++++ 5 files changed, 204 insertions(+), 1 deletion(-) create mode 100644 hw/hexagon/machine_cfg_v81dgb_1.h.inc create mode 100644 hw/hexagon/machine_cfg_v81qa_1.h.inc diff --git a/include/hw/hexagon/hexagon.h b/include/hw/hexagon/hexagon.h index 3d7b3cb12dc..62398eeb359 100644 --- a/include/hw/hexagon/hexagon.h +++ b/include/hw/hexagon/hexagon.h @@ -27,6 +27,8 @@ typedef enum { v71_rev =3D 0x8c71, v73_rev =3D 0x8c73, v73m_rev =3D 0xcc73, + v81_rev =3D 0x8781, + v81dgb_1_rev =3D 0xcc81, } Rev_t; #define HEXAGON_LATEST_REV v73 #define HEXAGON_LATEST_REV_UPPER V73 @@ -129,6 +131,15 @@ union hexagon_config_table { uint32_t corecfg_present; uint32_t coproc2_fp16_acc_exp; uint32_t AXIM2_secondary_base; + uint32_t AXIM_data_width; + /* Number of L1 data cache ways */ + uint32_t l1d_ways; + /* Number of L1 instruction cache ways */ + uint32_t l1i_ways; + /* Number of L2 cache ways */ + uint32_t l2way_num; + /* Number of DMA JTLB entries */ + uint32_t dma_jtlb_entries; }; uint32_t raw[HEXAGON_CFGSPACE_ENTRIES]; }; diff --git a/target/hexagon/cpu.h b/target/hexagon/cpu.h index 8a4a81dc26c..719979d6c31 100644 --- a/target/hexagon/cpu.h +++ b/target/hexagon/cpu.h @@ -50,7 +50,7 @@ typedef struct HexagonGlobalRegState HexagonGlobalRegStat= e; #define PRED_WRITES_MAX 5 /* 4 insns + endloop */ #define VSTORES_MAX 2 #define MAX_TLB_ENTRIES 1024 -#define THREADS_MAX 8 +#define THREADS_MAX 16 =20 #define CPU_RESOLVING_TYPE TYPE_HEXAGON_CPU #ifndef CONFIG_USER_ONLY diff --git a/hw/hexagon/machine_cfg_v81dgb_1.h.inc b/hw/hexagon/machine_cfg= _v81dgb_1.h.inc new file mode 100644 index 00000000000..c7d9e7e1927 --- /dev/null +++ b/hw/hexagon/machine_cfg_v81dgb_1.h.inc @@ -0,0 +1,73 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ + +static const struct hexagon_machine_config v81dgb_1 =3D { + .cfgbase =3D 0xd8380000, + .l2tcm_size =3D 0x00000000, + .l2vic_base =3D 0xfc910000, + .l2vic_size =3D 0x00001000, + .csr_base =3D 0xfc900000, + .qtmr_region =3D 0xfc921000, + .cfgtable =3D { + .l2tcm_base =3D 0x0000d800, + .reserved0 =3D 0x00000000, + .subsystem_base =3D 0x0000fc90, + .etm_base =3D 0x0000d839, + .l2cfg_base =3D 0x0000d83a, + .reserved1 =3D 0x0000d83b, + .l1s0_base =3D 0x0000d840, + .axi2_lowaddr =3D 0x00000000, + .streamer_base =3D 0x00000000, + .reserved2 =3D 0x00000000, + .fastl2vic_base =3D 0x0000d83e, + .jtlb_size_entries =3D 0x000000c0, + .coproc_present =3D 0x00000005, + .ext_contexts =3D 0x00000004, + .vtcm_base =3D 0x0000d840, + .vtcm_size_kb =3D 0x00000800, + .l2tag_size =3D 0x00000800, + .l2ecomem_size =3D 0x00000800, + .thread_enable_mask =3D 0x00000fff, + .eccreg_base =3D 0x00000000, + .l2line_size =3D 0x00000080, + .tiny_core =3D 0x00000000, + .l2itcm_size =3D 0x00000000, + .l2itcm_base =3D 0x0000d800, + .reserved3 =3D 0x00000000, + .dtm_present =3D 0x00000000, + .dma_version =3D 0x00000000, + .hvx_vec_log_length =3D 0x00000007, + .core_id =3D 0x00000000, + .core_count =3D 0x00000000, + .coproc2_reg0 =3D 0x00000001, + .coproc2_reg1 =3D 0x00000000, + .v2x_mode =3D 0x00000000, + .coproc2_reg2 =3D 0x00000000, + .coproc2_reg3 =3D 0x00000000, + .coproc2_reg4 =3D 0x00000000, + .coproc2_reg5 =3D 0x00000000, + .coproc2_reg6 =3D 0x00000000, + .coproc2_reg7 =3D 0x00000000, + .acd_preset =3D 0x00000000, + .mnd_preset =3D 0x00000000, + .l1d_size_kb =3D 0x00000040, + .l1i_size_kb =3D 0x00000040, + .l1d_write_policy =3D 0x00000002, + .vtcm_bank_width =3D 0x00000080, + .reserved4 =3D 0x00000000, + .reserved5 =3D 0x00000000, + .reserved6 =3D 0x00000000, + .coproc2_cvt_mpy_size =3D 0x00000000, + .consistency_domain =3D 0x000000e0, + .capacity_domain =3D 0x00000080, + .axi3_lowaddr =3D 0x00004000, + .coproc2_int8_subcolumns =3D 0x00000000, + .corecfg_present =3D 0x0000000d, + .coproc2_fp16_acc_exp =3D 0x00000000, + .AXIM2_secondary_base =3D 0x00000000, + .AXIM_data_width =3D 0x00000000, + .l1d_ways =3D 0x00000008, + .l1i_ways =3D 0x00000004, + .l2way_num =3D 0x00000008, + .dma_jtlb_entries =3D 0x00000040, + }, +}; diff --git a/hw/hexagon/machine_cfg_v81qa_1.h.inc b/hw/hexagon/machine_cfg_= v81qa_1.h.inc new file mode 100644 index 00000000000..8fb9bcb174c --- /dev/null +++ b/hw/hexagon/machine_cfg_v81qa_1.h.inc @@ -0,0 +1,73 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ + +static const struct hexagon_machine_config v81qa_1 =3D { + .cfgbase =3D 0xd8380000, + .l2tcm_size =3D 0x00000000, + .l2vic_base =3D 0xfc910000, + .l2vic_size =3D 0x00001000, + .csr_base =3D 0xfc900000, + .qtmr_region =3D 0xfc921000, + .cfgtable =3D { + .l2tcm_base =3D 0x0000d800, + .reserved0 =3D 0x00000000, + .subsystem_base =3D 0x00002000, + .etm_base =3D 0x0000d819, + .l2cfg_base =3D 0x0000d81a, + .reserved1 =3D 0x0000d81b, + .l1s0_base =3D 0x0000d900, + .axi2_lowaddr =3D 0x00000000, + .streamer_base =3D 0x00000000, + .reserved2 =3D 0x00000000, + .fastl2vic_base =3D 0x0000d81e, + .jtlb_size_entries =3D 0x00000080, + .coproc_present =3D 0x0000000d, + .ext_contexts =3D 0x00000008, + .vtcm_base =3D 0x0000d900, + .vtcm_size_kb =3D 0x00004000, + .l2tag_size =3D 0x00000400, + .l2ecomem_size =3D 0x00000400, + .thread_enable_mask =3D 0x00000fff, + .eccreg_base =3D 0x0000d81f, + .l2line_size =3D 0x00000080, + .tiny_core =3D 0x00000000, + .l2itcm_size =3D 0x00000000, + .l2itcm_base =3D 0x0000d800, + .reserved3 =3D 0x00000000, + .dtm_present =3D 0x00000000, + .dma_version =3D 0x00000008, + .hvx_vec_log_length =3D 0x00000007, + .core_id =3D 0x00000000, + .core_count =3D 0x00000000, + .coproc2_reg0 =3D 0x00000010, + .coproc2_reg1 =3D 0x00000008, + .v2x_mode =3D 0x00000001, + .coproc2_reg2 =3D 0x00000000, + .coproc2_reg3 =3D 0x00000000, + .coproc2_reg4 =3D 0x00000000, + .coproc2_reg5 =3D 0x00000000, + .coproc2_reg6 =3D 0x00000000, + .coproc2_reg7 =3D 0x00000000, + .acd_preset =3D 0x00000001, + .mnd_preset =3D 0x00000001, + .l1d_size_kb =3D 0x00000040, + .l1i_size_kb =3D 0x00000040, + .l1d_write_policy =3D 0x00000002, + .vtcm_bank_width =3D 0x00000080, + .reserved4 =3D 0x00000001, + .reserved5 =3D 0x00000000, + .reserved6 =3D 0x00000000, + .coproc2_cvt_mpy_size =3D 0x00000000, + .consistency_domain =3D 0x000000e0, + .capacity_domain =3D 0x00000080, + .axi3_lowaddr =3D 0x00004000, + .coproc2_int8_subcolumns =3D 0x00000000, + .corecfg_present =3D 0x0000000d, + .coproc2_fp16_acc_exp =3D 0x00000001, + .AXIM2_secondary_base =3D 0x00000000, + .AXIM_data_width =3D 0x00000100, + .l1d_ways =3D 0x00000008, + .l1i_ways =3D 0x00000004, + .l2way_num =3D 0x00000008, + .dma_jtlb_entries =3D 0x00000040, + }, +}; diff --git a/hw/hexagon/hexagon_dsp.c b/hw/hexagon/hexagon_dsp.c index ff110234b09..be17a32ee12 100644 --- a/hw/hexagon/hexagon_dsp.c +++ b/hw/hexagon/hexagon_dsp.c @@ -30,6 +30,8 @@ =20 #include "machine_cfg_v66g_1024.h.inc" #include "machine_cfg_v68n_1024.h.inc" +#include "machine_cfg_v81dgb_1.h.inc" +#include "machine_cfg_v81qa_1.h.inc" =20 #define TYPE_HEXAGON_DSP_MACHINE "hexagon-dsp-machine" OBJECT_DECLARE_SIMPLE_TYPE(HexagonDspMachineState, HEXAGON_DSP_MACHINE) @@ -199,6 +201,40 @@ static void v68n_1024_init(ObjectClass *oc, const void= *data) mc->default_cpus =3D 6; } =20 +static void v81dgb_1_config_init(MachineState *machine) +{ + hexagon_common_init(machine, v81dgb_1_rev, &v81dgb_1); +} + +static void v81dgb_1_init(ObjectClass *oc, const void *data) +{ + MachineClass *mc =3D MACHINE_CLASS(oc); + + mc->desc =3D "Hexagon V81DGB_1"; + mc->init =3D v81dgb_1_config_init; + init_mc(mc); + mc->default_cpu_type =3D TYPE_HEXAGON_CPU_V81; + mc->max_cpus =3D 12; + mc->default_cpus =3D 12; +} + +static void v81qa_1_config_init(MachineState *machine) +{ + hexagon_common_init(machine, v81_rev, &v81qa_1); +} + +static void v81qa_1_init(ObjectClass *oc, const void *data) +{ + MachineClass *mc =3D MACHINE_CLASS(oc); + + mc->desc =3D "Hexagon V81QA_1"; + mc->init =3D v81qa_1_config_init; + init_mc(mc); + mc->default_cpu_type =3D TYPE_HEXAGON_CPU_V81; + mc->max_cpus =3D 12; + mc->default_cpus =3D 12; +} + static const TypeInfo hexagon_machine_types[] =3D { { .name =3D TYPE_HEXAGON_COMMON_MACHINE, @@ -222,6 +258,16 @@ static const TypeInfo hexagon_machine_types[] =3D { .parent =3D TYPE_HEXAGON_DSP_MACHINE, .class_init =3D v68n_1024_init, }, + { + .name =3D MACHINE_TYPE_NAME("V81DGB_1"), + .parent =3D TYPE_HEXAGON_DSP_MACHINE, + .class_init =3D v81dgb_1_init, + }, + { + .name =3D MACHINE_TYPE_NAME("V81QA_1"), + .parent =3D TYPE_HEXAGON_DSP_MACHINE, + .class_init =3D v81qa_1_init, + }, }; =20 DEFINE_TYPES(hexagon_machine_types) --=20 2.34.1 From nobody Sat Sep 26 20:50:54 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=reject dis=none) header.from=oss.qualcomm.com ARC-Seal: i=1; a=rsa-sha256; t=1789142812; cv=none; d=zohomail.com; s=zohoarc; b=YetKV7QHAFQnR8R/4Q1JhiNZlEkv5T+dHx0UNkkZ5aGuUI7OLTacZVj9OnqZdb4BISvW85HXGyQNn1fOn9s1oks8mh5RYCms0ZW5rqSMApdArHXAukK43eEhOwxXNyLU9LvEwYbsYVKDjFWO0iHOfhbV/nVehvkgfMSx391TYj0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789142812; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=1DnlqbmdnIcIbHd2kkYC7BFw6Hj42AYCM0V0FJH+ldA=; b=aF7LndVZvnj5bLKN0p68NE8LvfR3xIDdc66NMXEPXERUBOOq8yU1g6q74e8Uo7hVQosFzdguxgI0I9zLXwRnzOMiEEXtelUC/BwWKtf+Kaf2yTVZIH6XlXh1b1wCJiMyum73mrZvzFKwBjYFB7zb/zWVyKlITQxtvVnPX9+Lr8A= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1789142812448563.331682631829; Fri, 11 Sep 2026 09:06:52 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x53lg-0004cd-Sl; Fri, 11 Sep 2026 12:06:29 -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 1x53jb-0003NA-Pf for qemu-devel@nongnu.org; Fri, 11 Sep 2026 12:04:20 -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 1x53jM-0007YU-D0 for qemu-devel@nongnu.org; Fri, 11 Sep 2026 12:04:15 -0400 Received: from pps.filterd (m0279873.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 68BEmAcR222577 for ; Fri, 11 Sep 2026 16:03:59 GMT Received: from mail-oi1-f198.google.com (mail-oi1-f198.google.com [209.85.167.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4gmbdrakcr-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 11 Sep 2026 16:03:59 +0000 (GMT) Received: by mail-oi1-f198.google.com with SMTP id 5614622812f47-4b37620eb73so1479298b6e.1 for ; Fri, 11 Sep 2026 09:03:59 -0700 (PDT) Received: from hu-bcain-lv.qualcomm.com (Global_NAT1.qualcomm.com. [129.46.96.20]) by smtp.gmail.com with ESMTPSA id 5614622812f47-4c3321ecd0asm2451876b6e.17.2026.09.11.09.03.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 11 Sep 2026 09:03:57 -0700 (PDT) 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= 1DnlqbmdnIcIbHd2kkYC7BFw6Hj42AYCM0V0FJH+ldA=; b=b1yLiBJK1BglPAUZ Af3Bj6jIv3uGO6W+RfNiu/gCKt8+Q0Zw295nvgM5iQPz8mftDME8P6KC8Dw8PDpx FInEpG4xiTioR/Ly1t5nTSFPMwIARejniXFduKwVbfBgZSafBoAfyp4yNPvhDHK2 D1ohSfWbsrRtC7prDNHiGtHd9BMUlZZmWReze0EMHdSQY5INBTAe+Aa8ZRlQh9j6 qPfGCPstOzTZMRD+UNCWg+rN+jpFphfgO+dcBirmdEyKWAnCCMBDwAQkWV9cjiL7 qI3PPtH7j3OfPK/Z0BoK6cN/GDB9gLyEdvnzeB/wP9rwY3ZPPHdpj0JvJgv1yUHJ Gj4d2Q== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1789142639; x=1789747439; 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=1DnlqbmdnIcIbHd2kkYC7BFw6Hj42AYCM0V0FJH+ldA=; b=X4X73YpbtA5/Fxtcc6natHh9eLxZqPOrf2nNmZvZqQuX2nwUtpEIEZCfPzKbDFhghL subqf+wbPvIbfdkZpyxrvJRn++Sf1gWkb6ke/crGgJWkGZ4b5NrLY/7G3M5Kv3MkPzeF uXmhSZbW9CbghAfo7M8VoP7UDZRicSxgPb3BqdhHfqhHAxNY+LHRKPELCHg78ads4kGM QxHNkOVVvfKNWGgKAZKck7lcBYF/jei9NULEcUP4pFfeU1kLYswidR/1b+PCWlyhYpWM p1GPdhK9JJPodcGyALcSHUfr0sgyTkC713j9qZidt6T1hBEiz2lasyB8CmUgOlxPos9v GNCw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1789142639; x=1789747439; 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=1DnlqbmdnIcIbHd2kkYC7BFw6Hj42AYCM0V0FJH+ldA=; b=Kj8LS3AyUxbBN7xQH83Dr9mzwj01Tcj/QJWcDMyLhZmqO1dgv+ABHkuJrvrXZIrXs8 EyYS4orF/wqJtCP2eLPHBpbpVMTXv8Ec4zYpkze8ZkOAKj83RlpwM2A5b5jvB54xF6uK kdgrN38ppLz0VxYj4XrP9q7L4awWb1drv3L5tdFJjd4h2QNSvML3vcNdf+eP1MV6ZGtD CQTYQR9+SdnA/dpy49ck9H73mbn+tYAHGA7LPwmhH8QEI8IRTXOnNZvOCFWHQF03LW1C yVpK1oFdA7aYWsvidX+fYyYtmKtDjhbErqz2CoDwWMgdfKkofY5f77YfdcD9fqMNDgti 6nrA== X-Gm-Message-State: AFuF++mR9+r3scOBDGkzQvUIVaSGWiXzUwbbhLWvy3sYFbOI1G9E/X3p 0SLRn/wCSZGsgfr7CaCF9v8/bQEahGz/QmmSHSjSkEyJYssHhR2YqqiScSgd/wN63yzNiPHskrA g2ycEuvsOVjqN5P5FbozQHxqO//ieZc3UApmVrG421Yf1b4tCZ6WGWIlQAYgB3AoFTw== X-Gm-Gg: AYBFou3/yE6u9W+O3UniJbGDJvWu3acgtwyBGRm3IHPGxL+QchrrfhqQQ1NsNqKioKh H9Cd7ZMIb0RPavs1HCUCdmfgJM0TIjRcaZZDWsCeRr7/WgNVP8dR6/B/pinnwR+gOWAup4gzo4N U5FzKsxlD5QH+9+JJNMOZO3OwcXqpM1gW8iS2thJ+xzLV2MQ4JEhiQMECq2rSRB7Ep1NxP0A5/S 3ht7qbrMcdSMQ7YV5P8PpTK8uKz897ovZdmjo0cK95kRr8OStW1vqFZkNd2NatzaJO1ISqMKCSq AvMGGHggEFjhpcc1zW8QKCcLvsZjUCImHzPFubjgcJwtrD6hllvZU1Pa4nm5rqItSExyx6tPLJJ d+bOx+foE2XK1zGQ5L/8Yd9JzJToVYvlCrVEs03EwbDPYG5hG X-Received: by 2002:a05:6808:3985:b0:496:11f1:f2ad with SMTP id 5614622812f47-4c31a282846mr7318362b6e.6.1789142638696; Fri, 11 Sep 2026 09:03:58 -0700 (PDT) X-Received: by 2002:a05:6808:3985:b0:496:11f1:f2ad with SMTP id 5614622812f47-4c31a282846mr7318305b6e.6.1789142638260; Fri, 11 Sep 2026 09:03:58 -0700 (PDT) From: Brian Cain To: qemu-devel@nongnu.org, richard.henderson@linaro.org, peter.maydell@linaro.org Cc: brian.cain@oss.qualcomm.com, Marco Liebel , Pierrick Bouvier Subject: [PULL 06/10] hw/hexagon: move "sim" alias to "V81QA_1" Date: Fri, 11 Sep 2026 09:03:03 -0700 Message-Id: <20260911160307.865892-7-brian.cain@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260911160307.865892-1-brian.cain@oss.qualcomm.com> References: <20260911160307.865892-1-brian.cain@oss.qualcomm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Proofpoint-GUID: _fElp6EBC67ovsFtQBVs6t8BGPLJfQXd X-Authority-Analysis: v=2.4 cv=PLmaavqC c=1 sm=1 tr=0 ts=6aa4266f cx=c_pps a=4ztaESFFfuz8Af0l9swBwA==:117 a=ouPCqIW2jiPt+lZRy3xVPw==:17 a=IkcTkHD0fZMA:10 a=VdqzKS8jKosA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=rJkE3RaqiGZ5pbrm-msn:22 a=EUspDBNiAAAA:8 a=kk5yy-eOBfP67cS8hnMA:9 a=QEXdDO2ut3YA:10 a=TPnrazJqx2CeVZ-ItzZ-:22 X-Proofpoint-ORIG-GUID: _fElp6EBC67ovsFtQBVs6t8BGPLJfQXd X-Proofpoint-Spam-Info: AW1haW4tMjYwOTExMDIyNCBTYWx0ZWRfX9jNVrzylaTIp axEboTnjwx71yTyize/n+UzN2XlTmhJy6W2T3O9dVdtPoNthxAItLhXuKseo6ajSATAmPjzVwEq WkFMNV5G2cmIqgvBwvurx7a2f28bw58= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwOTExMDIyNCBTYWx0ZWRfXw4Y36UOOL2hx O/k0Qh4UI/czPtZC7E7DiLDx1kR5WLQMkfOx5Z8qmb40NQLPR+ApxNAzcKIqwLjGibeeZ2XVqv0 tTKR7bdp1BwQE3LwHzXqCHkZOaOSbIwaHbiJWdn5SLoJ0aSH1/wf/LNNe9DIvL4zGcPVQRPypD4 5uMf1gpw7OqVKzlZnTthea65Pptc/J6Gfe0sgKLSvAdWnYR5gdxV7XLbBWiuzCg0b1hsQs+9S7k iuzR08sbRy8W/2O0Jb1BoRABKkjYHctXgdqn7K8iwuicB1EvUerZCP/HLBF5Rqokz2zmtyo/xhh ECqvR2ZXAUh+q1cmVaAnx9eYi+WzsnCBokEI9mRmNnfz32++DkwpiZr+gQf+N+6Y0zN6BxsyjDy jF4OevLCJ33aKaEzJ+4Q9v3Wp+UpflQPMrDy4KzfDE1WHxv9agfcU0tIQY/e4ljVD4mQv/q6mO9 ZnoH+WivL605rWBBJ/A== 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-11_05,2026-09-11_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 suspectscore=0 spamscore=0 phishscore=0 adultscore=0 malwarescore=0 clxscore=1015 priorityscore=1501 impostorscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2609040000 definitions=main-2609110224 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: pass client-ip=205.220.180.131; envelope-from=brian.cain@oss.qualcomm.com; helo=mx0b-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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @qualcomm.com) X-ZM-MESSAGEID: 1789142813380158500 The 'sim' machine name is an alias for 'most up-to-date/capable hexagon-sim-style-memory-map machine', so with new v81 machines available, we'll update the alias. Reviewed-by: Marco Liebel Signed-off-by: Brian Cain --- hw/hexagon/hexagon_dsp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/hexagon/hexagon_dsp.c b/hw/hexagon/hexagon_dsp.c index be17a32ee12..8824fe10a59 100644 --- a/hw/hexagon/hexagon_dsp.c +++ b/hw/hexagon/hexagon_dsp.c @@ -194,7 +194,6 @@ static void v68n_1024_init(ObjectClass *oc, const void = *data) MachineClass *mc =3D MACHINE_CLASS(oc); =20 mc->desc =3D "Hexagon V68N_1024"; - mc->alias =3D "sim"; mc->init =3D v68n_1024_config_init; init_mc(mc); mc->default_cpu_type =3D TYPE_HEXAGON_CPU_V68; @@ -228,6 +227,7 @@ static void v81qa_1_init(ObjectClass *oc, const void *d= ata) MachineClass *mc =3D MACHINE_CLASS(oc); =20 mc->desc =3D "Hexagon V81QA_1"; + mc->alias =3D "sim"; mc->init =3D v81qa_1_config_init; init_mc(mc); mc->default_cpu_type =3D TYPE_HEXAGON_CPU_V81; --=20 2.34.1 From nobody Sat Sep 26 20:50:54 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=reject dis=none) header.from=oss.qualcomm.com ARC-Seal: i=1; a=rsa-sha256; t=1789142864; cv=none; d=zohomail.com; s=zohoarc; b=GXGPL6zcQdcJY2e4QbnkkL3QWH7EvOqfYagUh6a9Zshz8V6+O+8Z7rAjQCBVwdsqtzhHRh1R5J6v1DcboMiInmeMdmjor3gBwiBg2fu0F/p5droglD9pfeVyv18l2wyfY9ACRTlCMFdI5uS13p7cLczeoA524H5kyL6eWdZP/BA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789142864; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=C5AkgkYHKGamXlkWQavLxJtgCik313BWMyMDZsSh19o=; b=bEndETp/QG2gv3jzJTxunVXf1gRvzglBEwE3cqDTwA3YnEiolSW458eJm5c9ERHuA+1LzQ87zyyxRUMkWWZ+k+kNFy252ccrKac7VIkmQJeVOC20fCkUXcIx2UWPqGMi9nVbpm2cCrRrpu5Ev8aEOY38fWWeRk/EzX9c0fZA1n0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1789142864059632.8058624902432; Fri, 11 Sep 2026 09:07:44 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x53mW-000522-Bx; Fri, 11 Sep 2026 12:07:16 -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 1x53ji-0003O7-84 for qemu-devel@nongnu.org; Fri, 11 Sep 2026 12:04:28 -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 1x53jP-0007bi-Tf for qemu-devel@nongnu.org; Fri, 11 Sep 2026 12:04:18 -0400 Received: from pps.filterd (m0279872.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 68BEmK4W3780843 for ; Fri, 11 Sep 2026 16:04:02 GMT Received: from mail-oi1-f198.google.com (mail-oi1-f198.google.com [209.85.167.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4gmcgfjav3-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 11 Sep 2026 16:04:02 +0000 (GMT) Received: by mail-oi1-f198.google.com with SMTP id 5614622812f47-4b37620eb73so1479382b6e.1 for ; Fri, 11 Sep 2026 09:04:02 -0700 (PDT) Received: from hu-bcain-lv.qualcomm.com (Global_NAT1.qualcomm.com. [129.46.96.20]) by smtp.gmail.com with ESMTPSA id 5614622812f47-4c3321ecd0asm2451876b6e.17.2026.09.11.09.03.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 11 Sep 2026 09:03:58 -0700 (PDT) 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= C5AkgkYHKGamXlkWQavLxJtgCik313BWMyMDZsSh19o=; b=FtaSNXnIHMuE15DP 741GVooozbMZJM1eVZ3ze/JWw37M1coKcHMotbHURVoCVZk3Jtd4vvzRtiHPQAD5 1qf+deoqIiUPNQYvWd8qFGBgLx3UUaCmJEe7W+8kUJi0QGJvCHk6I0g9M4iIjoZc u1nMysfcudtU0+rzrWOjo4m9B8/noAJiZqWi4zBOfZK73Mxt7XcT5ZrAu0egt/Cm gHchitPfVvPTXG0v9Z2yDd43SeS5GDw2I3CW74ECibQAkOFhBSklxKysgJp338b8 F2+Ib3tMTkawOyH4W0vKQhVXjt3upSppbFRvEjC0zZhqat0beCfTTKKNRNQyizhN Al+iZQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1789142642; x=1789747442; 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=C5AkgkYHKGamXlkWQavLxJtgCik313BWMyMDZsSh19o=; b=TF42F4qUcqh0HpOX/+cVxl0MMano5Tq48lDhXE01G1Sc7YeIY/12Tjk3tmOtb6HOmL cbQkt1ihUAWjIqkftWMwjj3nBm91llDRRFcz5mtP7/mXJSulRQ2vEBaitO6wB2e6y/Ph +XVdNslph9wdKu059eHsshTUQrb2HZGp93mu+LyHgKQrXdU3ir31qIdeB30uI0Nqz2jd HvzQW7oLfe1n9eiEnw+u2ZZkOcH5dEFyw/sPJBCyPEWyYtt0kGVeismoQLYTmrJYuOgn b0nzXwu19yUh9wAM7BsznqSksATAsAzES2QSmlKk4EZSJ9XtFnrLuDzjpZuDC/21y6Ra 2IuA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1789142642; x=1789747442; 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=C5AkgkYHKGamXlkWQavLxJtgCik313BWMyMDZsSh19o=; b=femaZlwlpPJMXph3wS8qFRAsFV0zpH7LIifdOMDcGkDZZRbnNLmW1uRWSBDB4qiyH/ s0ndiTQT/dcx1aA8MptMHx3W+z/KgYP0XLtwto45rsP6pO9ZVVZfaU+8CWfce4j8+43c xZvIwN/RQ3uL5OPikGtzbw17c8JGtPYQV9xCp2Wyyvoo7TarDJEmk9bMlXZ5rFPlrqFl V2IUREqdNl2szXR1rQJdHwKnjU2qNMfEZuJh5WcmSV1t75Vfuwj2sh9C0soXOZQsOnqM QJM4IYi4Z6TO7hZGJgfWhRTgp61iodjONOGn9hxN8MKVcKmTRTCJRQ5eoOJTueOjsRMA W8zg== X-Gm-Message-State: AFuF++lOu1xp5R7KpJT6QvwHEJWcCA0Q+lgUAK9POK7JPYNCCzmW4NpM 7saUGBWxzBO4vxbt45k+xS4xJFmkS8utvDO8dvWrQ0VYS187Bq2LfSd+B13HIj+/vYN/HT3WiU/ Jjozh28Bo3IlQ+nLhcFXxhktsd6rx/qCQppdkJA1pAccFLQUWh/GsssheGhKz1+8Yqg== X-Gm-Gg: AYBFou0tsvxFCfDV/AuTQiut5zHMLr9VE6f5grBudZ2gEouJBS9pfmBVfIuP6jiJzf3 EAZoUWogaAVYELIyRvgvMGlnuasUaV6gU+NPVb7frv26MPmyLXy0kHMtuIqZ0W9zCxJWOvg7e7j KAag9wNHr/X/lGM9jBX0cHXAg5AooA9L2RDFIC8gYaB9JXV+gJtKoU9JShUYw20jIpM42SczoSq MI7En61i3R+1wgBWXRkdScR05J3kHN9icEQHLsNNv3bg+Y90FVJjigxFWscQDM8q3fAz92x6y4h ee6erjQBMEhpOw8a7hSbCyMowZRpE3qG6BZ8cuGo+dZOpDgHvHSxCZk5hHMKPfLbslPulBVY1Yh coAB8HRpC1KEhw2i/Q9hQcmn3VPhhHMgYkQku8RKD18S1HA10 X-Received: by 2002:a05:6808:c3f3:b0:4b2:5529:ed3c with SMTP id 5614622812f47-4c31a785e30mr7285092b6e.7.1789142641870; Fri, 11 Sep 2026 09:04:01 -0700 (PDT) X-Received: by 2002:a05:6808:c3f3:b0:4b2:5529:ed3c with SMTP id 5614622812f47-4c31a785e30mr7284980b6e.7.1789142641186; Fri, 11 Sep 2026 09:04:01 -0700 (PDT) From: Brian Cain To: qemu-devel@nongnu.org, richard.henderson@linaro.org, peter.maydell@linaro.org Cc: brian.cain@oss.qualcomm.com, Marco Liebel , Pierrick Bouvier Subject: [PULL 07/10] target/hexagon: widen v81 CPU masks Date: Fri, 11 Sep 2026 09:03:04 -0700 Message-Id: <20260911160307.865892-8-brian.cain@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260911160307.865892-1-brian.cain@oss.qualcomm.com> References: <20260911160307.865892-1-brian.cain@oss.qualcomm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwOTExMDIyNCBTYWx0ZWRfX2W0cVC0S67EI ddVGNnu8t4rxRv0uhHD8u72TycyDlAZWc21XvNEdUBLZzusvwBkZt1C6QOJnlEPr8xm0iKtZdvs GHGtaigcVtMN5Tu5cdprbMUnKkpgXt283gBjzr4SZ9l3w4HL9SLICWVJyKh1z15fnQ6NPGuNsb+ j1Q4uGTHlaYGIXG2k0K+RFBd5Us+EgAqB7YhAJIhKc5uLvZ30/pgJcSB2T7EaXI0MmBLCDkCRdG D/jZSRxrkMeSPHif7efXSjfM8RKxU8IazrWcHFZ3waOks2fpWasB/6ksZRgUIUYzdNgGmm1ZPu8 REv1mb5ZtQ/Ni/Pc8ogRFun0Jns8WU/YYx4/HRCxSn3xl8s4UvflBHvsTWwPrFWsuoptVrxFAbS 47TpKbUzCtDg9xNunCdTdxlWaVoWSLcPNM9aRiCIKdtymkvQpLsMdGDNppTjAdogLWU0xWhjajm sQJn20Xzhn6Hap8ttiQ== X-Proofpoint-GUID: ZQp-sKsv_fmHFGYgnY3GGEGTwYempYQm X-Proofpoint-ORIG-GUID: ZQp-sKsv_fmHFGYgnY3GGEGTwYempYQm X-Proofpoint-Spam-Info: AW1haW4tMjYwOTExMDIyNCBTYWx0ZWRfX6wJ29qbCd7E3 GTEEHnRAH6dxgSeFhe8U7qfg5UFRKqpVlNlaKXIqpmYOAHDSxG8tFobjXdpq3wEHEWMy89Ck/bx xeMNS73DW0Zn6jScaYh5a4sqgCrLcEI= X-Authority-Analysis: v=2.4 cv=ULtIjyfy c=1 sm=1 tr=0 ts=6aa42672 cx=c_pps a=4ztaESFFfuz8Af0l9swBwA==:117 a=ouPCqIW2jiPt+lZRy3xVPw==:17 a=IkcTkHD0fZMA:10 a=VdqzKS8jKosA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yx91gb_oNiZeI1HMLzn7:22 a=EUspDBNiAAAA:8 a=IhbGQmEIjLns90X6lycA:9 a=QEXdDO2ut3YA:10 a=TPnrazJqx2CeVZ-ItzZ-: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-11_05,2026-09-11_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 adultscore=0 phishscore=0 bulkscore=0 clxscore=1015 malwarescore=0 suspectscore=0 spamscore=0 lowpriorityscore=0 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2609040000 definitions=main-2609110224 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: pass client-ip=205.220.180.131; envelope-from=brian.cain@oss.qualcomm.com; helo=mx0b-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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @qualcomm.com) X-ZM-MESSAGEID: 1789142865741158500 Reviewed-by: Marco Liebel Signed-off-by: Brian Cain --- target/hexagon/reg_fields_def.h.inc | 9 ++++----- target/hexagon/genptr.c | 8 ++++++-- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/target/hexagon/reg_fields_def.h.inc b/target/hexagon/reg_field= s_def.h.inc index 29497fbcc4d..a6b17011d82 100644 --- a/target/hexagon/reg_fields_def.h.inc +++ b/target/hexagon/reg_fields_def.h.inc @@ -44,7 +44,7 @@ DEF_REG_FIELD(IPENDAD_IAD, 16, 16) DEF_REG_FIELD(IPENDAD_IPEND, 0, 16) =20 DEF_REG_FIELD(SCHEDCFG_EN, 8, 1) -DEF_REG_FIELD(SCHEDCFG_INTNO, 0, 4) +DEF_REG_FIELD(SCHEDCFG_INTNO, 0, 5) DEF_REG_FIELD(BESTWAIT_PRIO, 0, 9) =20 =20 @@ -109,14 +109,13 @@ DEF_REG_FIELD(SSR_SS, 30, 1) DEF_REG_FIELD(SSR_XE, 31, 1) =20 /* misc registers */ -DEF_REG_FIELD(IMASK_MASK, 0, 16) +DEF_REG_FIELD(IMASK_MASK, 0, 32) =20 DEF_REG_FIELD(STID_PRIO, 16, 8) DEF_REG_FIELD(STID_STID, 0, 8) =20 -/* MODECTL fields */ -DEF_REG_FIELD(MODECTL_E, 0, 8) -DEF_REG_FIELD(MODECTL_W, 16, 8) +DEF_REG_FIELD(MODECTL_E, 0, 16) +DEF_REG_FIELD(MODECTL_W, 16, 16) =20 DEF_REG_FIELD(CCR_L1ICP, 0, 2) DEF_REG_FIELD(CCR_L1DCP, 3, 2) diff --git a/target/hexagon/genptr.c b/target/hexagon/genptr.c index 9f53fcb6b95..4e9a9670d54 100644 --- a/target/hexagon/genptr.c +++ b/target/hexagon/genptr.c @@ -269,14 +269,18 @@ static const uint32_t sreg_immut_masks[NUM_SREGS] =3D= { [HEX_SREG_SSR] =3D 0x00008000, [HEX_SREG_CCR] =3D 0x10e0ff24, [HEX_SREG_HTID] =3D IMMUTABLE, - [HEX_SREG_IMASK] =3D 0xffff0000, [HEX_SREG_GEVB] =3D 0x000000ff, }; =20 G_GNUC_UNUSED static void gen_log_sreg_write(DisasContext *ctx, int rnum, TCGv_i32 val) { - const uint32_t reg_mask =3D sreg_immut_masks[rnum]; + uint32_t reg_mask =3D sreg_immut_masks[rnum]; + + if (rnum =3D=3D HEX_SREG_IMASK && + ctx->hex_def->hex_version < HEX_VER_V81) { + reg_mask =3D 0xffff0000; + } =20 if (reg_mask !=3D IMMUTABLE) { if (rnum < HEX_SREG_GLB_START) { --=20 2.34.1 From nobody Sat Sep 26 20:50:54 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=reject dis=none) header.from=oss.qualcomm.com ARC-Seal: i=1; a=rsa-sha256; t=1789142960; cv=none; d=zohomail.com; s=zohoarc; b=LzMPJh7fQLwuyWqyrxzYu/uisjRJ238nPl+/A7Y5afNwXXJnTI4e3HYdz6UyVWBj/nKOu6KxJkF1gP6n8QT10HKG2vIFoC+lzlB01JAqlIDX+71h8j+RQTwaiUxeO6cxOjWpMmAYXCmuvbCpgE7rFOBDIDK+i+RMHlwcxIr7CoQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789142960; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=zbKAneHotYmK2nO60DR6NAYRrD9ci2kVpQ5YmyxwCY0=; b=EzPASCqjRcRWaKVU9j5yg837q3fDhle2N+1Y0jCpMf4YQBFvNApB+gEaGBjPCqjsHLimcHa+NFim9O8pEn0XLVbclUdO0fi1bUZfVS85N5vp942+IbOl3OOEW1LdovFtDwK/kJjU+qCHRo4fClD41pkYfSto2OFkOlhuZCFTBAU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1789142960661474.4641149358936; Fri, 11 Sep 2026 09:09:20 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x53ma-0005Bn-4k; Fri, 11 Sep 2026 12:07:27 -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 1x53ji-0003OA-MT for qemu-devel@nongnu.org; Fri, 11 Sep 2026 12:04:28 -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 1x53jU-0007cr-0o for qemu-devel@nongnu.org; Fri, 11 Sep 2026 12:04:21 -0400 Received: from pps.filterd (m0279862.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 68BEmWOi3962438 for ; Fri, 11 Sep 2026 16:04:05 GMT Received: from mail-oi1-f197.google.com (mail-oi1-f197.google.com [209.85.167.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4gmfbbhkh6-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 11 Sep 2026 16:04:04 +0000 (GMT) Received: by mail-oi1-f197.google.com with SMTP id 5614622812f47-4b388f7989fso989277b6e.2 for ; Fri, 11 Sep 2026 09:04:04 -0700 (PDT) Received: from hu-bcain-lv.qualcomm.com (Global_NAT1.qualcomm.com. [129.46.96.20]) by smtp.gmail.com with ESMTPSA id 5614622812f47-4c3321ecd0asm2451876b6e.17.2026.09.11.09.04.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 11 Sep 2026 09:04:02 -0700 (PDT) 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= zbKAneHotYmK2nO60DR6NAYRrD9ci2kVpQ5YmyxwCY0=; b=RCzowgGumDQxFzkn L5nsL5d5U/Zuvk62xwo2dzzfMRYjs7mwSWfwPCyw138Jv5xGIU44W+rJi+QtpYZE AJZI1j1ECVJEuKfI6DDYtLyx+3eHN64+dTxdKt3LLx8t2uykdxaNDIeiiMOM7D2D qRvYVaSnH4W7PEzW/S+e1NRBRJtNa7y0lmO/Uc5ZgXuUr0GRdEeHBJe+UYEWRjpV KavfbWTBouuySPX2OC7SqFkjFrvsAamkmpiEjCBBu8yauHCXTKwXKlV7qA5B16Mc ZfUf6xzupLuwdojyFn550gvgSQVmWOb6YezxTtjPE3pA07AcaAr+pPLtF84FUlDd nvJ96g== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1789142644; x=1789747444; 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=zbKAneHotYmK2nO60DR6NAYRrD9ci2kVpQ5YmyxwCY0=; b=gS7LiRjTVTPX9t6eVM8IstaWOTOUGDr2khKxuzlz3PE0ySRdNcUt+HYQCXy0AYaUZV A8LaVIRL6dILufkVhmYFImCQv22qLUyC72+cC/lwfZuY9pcfvON71eDmQ2qHMlstDSn7 xuVhnunHWv3NUDN0x/gkwDPV+cBm+7VwY+XJhJDFzAivms/PCFKA587C8w+AbpDdwV7t SVSSHCtX7irrxOFobzg4Tp8R2KtL3+ra3dtJBLYOjThTGB8CYezkwTmtNOcIc6YVjoMe eSvs+ZOKBMxI7jbpwlJ/HwHDPyC/S20jFdaoYfYd99Vrae60VYXRD9TVKceHF6MuKvuf PEwQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1789142644; x=1789747444; 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=zbKAneHotYmK2nO60DR6NAYRrD9ci2kVpQ5YmyxwCY0=; b=s683QMAsx//aDKjmSDVCNHa8olAgbmhnAas0/ZDGvg0PHxJy0XJTJW6SgMFd7kom54 j+mYhj6z11KwjKTFbOqLodZsOmKRvTYc0i5AOFu51O5EV2PFxJbO8j8USZCMb8g/xOpJ ReAj3VTUTeXyDw1QCWo38boPWX7VUqqtA1WL0LMTmBR9KLC6cGk1CoXTcPn18h8/vRVA X0E5FoX63sUPBTb3T8BVj6mMa30cL2H993Y76bYQ0aWbUz585Ca8L/FededsnxB8JOtn /r1oguvSw55mJcmB//t93AsilNzyUPDaRu+dRZtLrPxngVnmn5olmq4uOjrCv+Yp4FPn JTjg== X-Gm-Message-State: AFuF++lVe5sVMtWfquG2hPHxaKoUZiZWZqPGbAWxlHQrFiJOSdWe/D7E rB85Qf0UGLYZ0sV2Qg+WOKVXoFaVm04Q6Xb3bhyTP21GbQPrT5VBbsW0kXZADUDKhxiGQS9DDCa TuzHxYaT7oLMap8HIKMJMq6W9uJsLlHTUk56H+p1eafm7mca0W76duSPEOtbRr6/22g== X-Gm-Gg: AYBFou3Z/u6IdVyPZd6BtmaRp0VY96E5mlBrXH0+XPOSt5MUhiqZC4yHWZK1mi29l0D vHjNoAbjszJR1lU0Ig6ca+75KP8/KEcOkOkLFKJJCZ7n9kAdlCXUhxiu06yTXZLq9LFYVTwiChF f48AldtvbLTitk1yY9IJVeazGePRp7g1RzQSLNk473y2tqs8yczJS/dkGNAJzmK9njUDGGnTkHe bDsmYbdVWVw7SekuRP8/u7YRJ6kBHqcFhdSdY5EUsEML4313UkL48ECjIG4Ccgw/0NkX8k3TYZm NlR1pKFIzzQzgYxviC1GyBwtN9swzN2uphU+uHaOymzpIaVneWE/FRIPMMzfFCxSir2Ak91WzjF fBK7NJ7mGvtWhCh5WH2Ak1iSKgFDx1dxpWv703ZfsK9J5biVX X-Received: by 2002:a05:6808:1246:b0:4bd:1fd5:9595 with SMTP id 5614622812f47-4c31c30a5ccmr3976325b6e.39.1789142643725; Fri, 11 Sep 2026 09:04:03 -0700 (PDT) X-Received: by 2002:a05:6808:1246:b0:4bd:1fd5:9595 with SMTP id 5614622812f47-4c31c30a5ccmr3976238b6e.39.1789142643033; Fri, 11 Sep 2026 09:04:03 -0700 (PDT) From: Brian Cain To: qemu-devel@nongnu.org, richard.henderson@linaro.org, peter.maydell@linaro.org Cc: brian.cain@oss.qualcomm.com, Marco Liebel , Pierrick Bouvier Subject: [PULL 08/10] target/hexagon: add v81 interrupt registers Date: Fri, 11 Sep 2026 09:03:05 -0700 Message-Id: <20260911160307.865892-9-brian.cain@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260911160307.865892-1-brian.cain@oss.qualcomm.com> References: <20260911160307.865892-1-brian.cain@oss.qualcomm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Proofpoint-GUID: wtvdwYLkyvWMHq50R0GwhI1ievuuW-ZC X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwOTExMDIyNCBTYWx0ZWRfXwOSR4dppeG1I Qfv45jxu2zV3gmoO+9gUG7Y36JAdp/UWfpzFYv8Rc4cAF9dxY+Rhx2LCGOtTL2EXjRpqiCj7oSz isTFM5nZah7fmTS1Jk9DmwO7jFm/Pmgfq27d46eYaDEjaH06+JWmr1bFbBzVEkp/GdHdfQ4EzPb ankBwXiC6hmIOUHNeZbZ/6BTR2wcZK5d/f5C1oqNkoG5AWL9DlO8Wlgf/GGsSgweyIwSk5qQJ2r polHRC84T/qExN5baDJmAgZjNvbt01I63yXSa5oDszAplHMFIvqfPQa1VwaOMIHvCSb22oX1Tqj 5NJrwAGv1UX31RPzYNokZDDSmwj4p9qL/pymEpsrE4r82LuvRVb2f7IzhL7EM609dkLHSu7kaRN MkATP8v4qj9iIH+LCcItpnz7MP9TrreJxSdePrxDYYx0rY7dvcE5aVhqYolK7NlFr9+sfKwkuXi c780aruSFFkaKZ9siUw== X-Authority-Analysis: v=2.4 cv=X6jHu2Te c=1 sm=1 tr=0 ts=6aa42674 cx=c_pps a=WJcna6AvsNCxL/DJwPP1KA==:117 a=ouPCqIW2jiPt+lZRy3xVPw==:17 a=IkcTkHD0fZMA:10 a=VdqzKS8jKosA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_K5XuSEh1TEqbUxoQ0s3:22 a=EUspDBNiAAAA:8 a=En6ZYlpTREgbE6jNcEcA:9 a=QEXdDO2ut3YA:10 a=_Y9Zt4tPzoBS9L09Snn2:22 X-Proofpoint-Spam-Info: AW1haW4tMjYwOTExMDIyNCBTYWx0ZWRfXwmuGX1pL1CXX RRPBlh/cMNHPky20qr31lq4tun/iZgSXoI4690Zk6z9EMPvAXlaX5tYx7zhs+HOgJVm6o8HTzQ0 /YeVn/ThhmIV6vfGaRv+VlmfL+FNSDc= X-Proofpoint-ORIG-GUID: wtvdwYLkyvWMHq50R0GwhI1ievuuW-ZC 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-11_05,2026-09-11_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 spamscore=0 adultscore=0 malwarescore=0 clxscore=1015 suspectscore=0 priorityscore=1501 bulkscore=0 lowpriorityscore=0 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2609040000 definitions=main-2609110224 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @qualcomm.com) X-ZM-MESSAGEID: 1789142962227158500 Reviewed-by: Marco Liebel Signed-off-by: Brian Cain --- target/hexagon/cpu.h | 2 +- target/hexagon/hex_regs.h | 42 +++++++++ target/hexagon/sys_macros.h | 8 +- target/hexagon/reg_fields_def.h.inc | 1 + hw/hexagon/hexagon_globalreg.c | 10 ++ target/hexagon/cpu.c | 11 ++- target/hexagon/cpu_helper.c | 15 ++- target/hexagon/hex_interrupts.c | 141 +++++++++++++++++++--------- target/hexagon/op_helper.c | 58 ++++++++---- target/hexagon/translate.c | 8 +- 10 files changed, 224 insertions(+), 72 deletions(-) diff --git a/target/hexagon/cpu.h b/target/hexagon/cpu.h index 719979d6c31..b1533680bd7 100644 --- a/target/hexagon/cpu.h +++ b/target/hexagon/cpu.h @@ -23,7 +23,7 @@ #ifndef CONFIG_USER_ONLY #define NUM_GREGS 32 #define GREG_WRITES_MAX 2 -#define NUM_SREGS 64 +#define NUM_SREGS 106 #define SREG_WRITES_MAX 2 #endif =20 diff --git a/target/hexagon/hex_regs.h b/target/hexagon/hex_regs.h index 214b7b8fde8..1f6bf9f88a0 100644 --- a/target/hexagon/hex_regs.h +++ b/target/hexagon/hex_regs.h @@ -195,6 +195,48 @@ enum { HEX_SREG_S61 =3D 61, HEX_SREG_S62 =3D 62, HEX_SREG_S63 =3D 63, + HEX_SREG_COMMIT1T =3D 64, + HEX_SREG_COMMIT2T =3D 65, + HEX_SREG_COMMIT3T =3D 66, + HEX_SREG_COMMIT4T =3D 67, + HEX_SREG_COMMIT5T =3D 68, + HEX_SREG_COMMIT6T =3D 69, + HEX_SREG_PCYCLE1T =3D 70, + HEX_SREG_PCYCLE2T =3D 71, + HEX_SREG_PCYCLE3T =3D 72, + HEX_SREG_PCYCLE4T =3D 73, + HEX_SREG_PCYCLE5T =3D 74, + HEX_SREG_PCYCLE6T =3D 75, + HEX_SREG_STFINST =3D 76, + HEX_SREG_ISDBCMD =3D 77, + HEX_SREG_ISDBVER =3D 78, + HEX_SREG_BRKPTINFO =3D 79, + HEX_SREG_S80 =3D 80, + HEX_SREG_COMMIT7T =3D 81, + HEX_SREG_COMMIT8T =3D 82, + HEX_SREG_PCYCLE7T =3D 83, + HEX_SREG_PCYCLE8T =3D 84, + HEX_SREG_COMMIT9T =3D 85, + HEX_SREG_COMMIT10T =3D 86, + HEX_SREG_COMMIT11T =3D 87, + HEX_SREG_COMMIT12T =3D 88, + HEX_SREG_COMMIT13T =3D 89, + HEX_SREG_COMMIT14T =3D 90, + HEX_SREG_COMMIT15T =3D 91, + HEX_SREG_COMMIT16T =3D 92, + HEX_SREG_PCYCLE9T =3D 93, + HEX_SREG_PCYCLE10T =3D 94, + HEX_SREG_PCYCLE11T =3D 95, + HEX_SREG_PCYCLE12T =3D 96, + HEX_SREG_PCYCLE13T =3D 97, + HEX_SREG_PCYCLE14T =3D 98, + HEX_SREG_PCYCLE15T =3D 99, + HEX_SREG_PCYCLE16T =3D 100, + HEX_SREG_IPEND =3D 101, + HEX_SREG_IAD =3D 102, + HEX_SREG_ISDBST1 =3D 103, + HEX_SREG_ISDBST2 =3D 104, + HEX_SREG_BRKPTINFO1 =3D 105, }; #endif /* !CONFIG_USER_ONLY */ =20 diff --git a/target/hexagon/sys_macros.h b/target/hexagon/sys_macros.h index 2e13ba00c8a..a5b9b7f2592 100644 --- a/target/hexagon/sys_macros.h +++ b/target/hexagon/sys_macros.h @@ -184,10 +184,14 @@ =20 #define fIN_DEBUG_MODE(TNUM) ({ \ HexagonCPU *_cpu =3D env_archcpu(env); \ + bool _is_v81 =3D _cpu->cfg.hex_def->hex_version >=3D HEX_VER_V81; \ uint32_t _isdbst =3D _cpu->globalregs ? \ hexagon_globalreg_read(_cpu->globalregs, \ - HEX_SREG_ISDBST, env->threadId) : 0; \ - (GET_FIELD(ISDBST_DEBUGMODE, _isdbst) \ + _is_v81 ? HEX_SREG_ISDBST2 : HEX_SREG_ISDB= ST, \ + env->threadId) : 0; \ + ((_is_v81 ? \ + GET_FIELD(ISDBST2_DEBUGMODE, _isdbst) : \ + GET_FIELD(ISDBST_DEBUGMODE, _isdbst)) \ & (0x1 << (TNUM))) !=3D 0; }) =20 #define fIN_DEBUG_MODE_NO_ISDB(TNUM) false diff --git a/target/hexagon/reg_fields_def.h.inc b/target/hexagon/reg_field= s_def.h.inc index a6b17011d82..c06e14fe24a 100644 --- a/target/hexagon/reg_fields_def.h.inc +++ b/target/hexagon/reg_fields_def.h.inc @@ -152,3 +152,4 @@ DEF_REG_FIELD(ISDBST_PROCMODE, 3, 1) DEF_REG_FIELD(ISDBST_MBXINSTATUS, 2, 1) DEF_REG_FIELD(ISDBST_MBXOUTSTATUS, 1, 1) DEF_REG_FIELD(ISDBST_READY, 0, 1) +DEF_REG_FIELD(ISDBST2_DEBUGMODE, 16, 16) diff --git a/hw/hexagon/hexagon_globalreg.c b/hw/hexagon/hexagon_globalreg.c index 61621cf2b8f..616cddf3048 100644 --- a/hw/hexagon/hexagon_globalreg.c +++ b/hw/hexagon/hexagon_globalreg.c @@ -84,6 +84,11 @@ static const char *hex_sreg_names[] =3D { [HEX_SREG_S61] =3D "s61", [HEX_SREG_S62] =3D "s62", [HEX_SREG_S63] =3D "s63", + [HEX_SREG_IPEND] =3D "ipend", + [HEX_SREG_IAD] =3D "iad", + [HEX_SREG_ISDBST1] =3D "isdbst1", + [HEX_SREG_ISDBST2] =3D "isdbst2", + [HEX_SREG_BRKPTINFO1] =3D "brkptinfo1", }; =20 static const char *get_sreg_name(uint32_t reg) @@ -100,6 +105,8 @@ static const uint32_t global_sreg_immut_masks[NUM_SREGS= ] =3D { [HEX_SREG_MODECTL] =3D IMMUTABLE, [HEX_SREG_SYSCFG] =3D 0x80001c00, [HEX_SREG_IPENDAD] =3D IMMUTABLE, + [HEX_SREG_IPEND] =3D IMMUTABLE, + [HEX_SREG_IAD] =3D IMMUTABLE, [HEX_SREG_VID] =3D 0xfc00fc00, [HEX_SREG_VID1] =3D 0xfc00fc00, [HEX_SREG_BESTWAIT] =3D 0xfffffe00, @@ -109,6 +116,9 @@ static const uint32_t global_sreg_immut_masks[NUM_SREGS= ] =3D { [HEX_SREG_DIAG] =3D 0x00000000, [HEX_SREG_REV] =3D IMMUTABLE, [HEX_SREG_ISDBST] =3D IMMUTABLE, + [HEX_SREG_ISDBST1] =3D IMMUTABLE, + [HEX_SREG_ISDBST2] =3D IMMUTABLE, + [HEX_SREG_BRKPTINFO1] =3D IMMUTABLE, [HEX_SREG_ISDBCFG0] =3D 0xe0000000, [HEX_SREG_BRKPTPC0] =3D 0x00000003, [HEX_SREG_BRKPTCFG0] =3D 0xfc007000, diff --git a/target/hexagon/cpu.c b/target/hexagon/cpu.c index fb0e3caa481..fad526ccfb5 100644 --- a/target/hexagon/cpu.c +++ b/target/hexagon/cpu.c @@ -103,7 +103,16 @@ const char * const hexagon_sregnames[] =3D { "pmucnt5", "pmucnt6", "pmucnt7", "pmucnt0", "pmucnt1", "pmucnt2", "pmucnt3", "pmuevtcfg", "pmustid0", "pmuevtcfg1", "pmustid1", "timerlo", "timerhi", "pmucfg", "s59", - "s60", "s61", "s62", "s63", + "s60", "s61", "s62", "s63", "commit1t", + "commit2t", "commit3t", "commit4t", "commit5t", "commit6t", + "pcycle1t", "pcycle2t", "pcycle3t", "pcycle4t", "pcycle5t", + "pcycle6t", "stfinst", "isdbcmd", "isdbver", "brkptinfo", + "s80", "commit7t", "commit8t", "pcycle7t", "pcycle8t", + "commit9t", "commit10t", "commit11t", "commit12t", "commit13t", + "commit14t", "commit15t", "commit16t", "pcycle9t", "pcycle10t", + "pcycle11t", "pcycle12t", "pcycle13t", "pcycle14t", "pcycle15t", + "pcycle16t", "ipend", "iad", "isdbst1", "isdbst2", + "brkptinfo1", }; =20 G_STATIC_ASSERT(NUM_SREGS =3D=3D ARRAY_SIZE(hexagon_sregnames)); diff --git a/target/hexagon/cpu_helper.c b/target/hexagon/cpu_helper.c index 9ce260d7448..eea5f60b46c 100644 --- a/target/hexagon/cpu_helper.c +++ b/target/hexagon/cpu_helper.c @@ -333,10 +333,17 @@ int get_exe_mode(const CPUHexagonState *env) E_bit =3D thread_enabled_mask & (0x1 << env->threadId); thread_wait_mask =3D GET_FIELD(MODECTL_W, modectl); W_bit =3D thread_wait_mask & (0x1 << env->threadId); - isdbst =3D cpu->globalregs ? - hexagon_globalreg_read(cpu->globalregs, HEX_SREG_ISDBST, - env->threadId) : 0; - debugmode =3D GET_FIELD(ISDBST_DEBUGMODE, isdbst); + if (cpu->cfg.hex_def->hex_version >=3D HEX_VER_V81) { + isdbst =3D cpu->globalregs ? + hexagon_globalreg_read(cpu->globalregs, HEX_SREG_ISDBST2, + env->threadId) : 0; + debugmode =3D GET_FIELD(ISDBST2_DEBUGMODE, isdbst); + } else { + isdbst =3D cpu->globalregs ? + hexagon_globalreg_read(cpu->globalregs, HEX_SREG_ISDBST, + env->threadId) : 0; + debugmode =3D GET_FIELD(ISDBST_DEBUGMODE, isdbst); + } D_bit =3D debugmode & (0x1 << env->threadId); =20 if (!D_bit && !W_bit && !E_bit) { diff --git a/target/hexagon/hex_interrupts.c b/target/hexagon/hex_interrupt= s.c index 2b2834af95f..0b714b73831 100644 --- a/target/hexagon/hex_interrupts.c +++ b/target/hexagon/hex_interrupts.c @@ -21,7 +21,7 @@ static bool hex_is_qualified_for_int(CPUHexagonState *env= , int int_num); =20 static bool get_syscfg_gie(CPUHexagonState *env) { - HexagonCPU *cpu =3D env_archcpu(env); + const HexagonCPU *cpu =3D env_archcpu(env); uint32_t syscfg =3D hexagon_globalreg_read(cpu->globalregs, HEX_SREG_SYSCFG, env->threadId); @@ -52,85 +52,138 @@ static void set_ssr_ex_cause(CPUHexagonState *env, int= ex, uint32_t cause) hexagon_modify_ssr(env, new, old); } =20 +static bool has_split_ipend_iad(const CPUHexagonState *env) +{ + const HexagonCPU *cpu =3D env_archcpu(env); + + return cpu->cfg.hex_def->hex_version >=3D HEX_VER_V81; +} + +static uint32_t get_iad(CPUHexagonState *env) +{ + HexagonCPU *cpu =3D env_archcpu(env); + + if (has_split_ipend_iad(env)) { + return hexagon_globalreg_read(cpu->globalregs, HEX_SREG_IAD, + env->threadId); + } + return GET_FIELD(IPENDAD_IAD, + hexagon_globalreg_read(cpu->globalregs, + HEX_SREG_IPENDAD, + env->threadId)); +} + +static void set_iad(CPUHexagonState *env, uint32_t iad) +{ + HexagonCPU *cpu =3D env_archcpu(env); + + if (has_split_ipend_iad(env)) { + hexagon_globalreg_write(cpu->globalregs, HEX_SREG_IAD, iad, + env->threadId); + } else { + uint32_t ipendad =3D + hexagon_globalreg_read(cpu->globalregs, HEX_SREG_IPENDAD, + env->threadId); + + fSET_FIELD(ipendad, IPENDAD_IAD, iad); + hexagon_globalreg_write(cpu->globalregs, HEX_SREG_IPENDAD, + ipendad, env->threadId); + } +} + static bool get_iad_bit(CPUHexagonState *env, int int_num) { - HexagonCPU *cpu =3D env_archcpu(env); - uint32_t ipendad =3D - hexagon_globalreg_read(cpu->globalregs, HEX_SREG_IPENDAD, - env->threadId); - uint32_t iad =3D GET_FIELD(IPENDAD_IAD, ipendad); + uint32_t iad =3D get_iad(env); + return extract32(iad, int_num, 1); } =20 static void set_iad_bit(CPUHexagonState *env, int int_num, int val) { - HexagonCPU *cpu =3D env_archcpu(env); - uint32_t ipendad =3D - hexagon_globalreg_read(cpu->globalregs, HEX_SREG_IPENDAD, - env->threadId); - uint32_t iad =3D GET_FIELD(IPENDAD_IAD, ipendad); + uint32_t iad =3D get_iad(env); + iad =3D deposit32(iad, int_num, 1, val); - fSET_FIELD(ipendad, IPENDAD_IAD, iad); - hexagon_globalreg_write(cpu->globalregs, HEX_SREG_IPENDAD, - ipendad, env->threadId); + set_iad(env, iad); } =20 static uint32_t get_ipend(CPUHexagonState *env) { HexagonCPU *cpu =3D env_archcpu(env); - uint32_t ipendad =3D - hexagon_globalreg_read(cpu->globalregs, HEX_SREG_IPENDAD, - env->threadId); - return GET_FIELD(IPENDAD_IPEND, ipendad); + + if (has_split_ipend_iad(env)) { + return hexagon_globalreg_read(cpu->globalregs, HEX_SREG_IPEND, + env->threadId); + } + return GET_FIELD(IPENDAD_IPEND, + hexagon_globalreg_read(cpu->globalregs, + HEX_SREG_IPENDAD, + env->threadId)); } =20 static inline bool get_ipend_bit(CPUHexagonState *env, int int_num) { - HexagonCPU *cpu =3D env_archcpu(env); - uint32_t ipendad =3D - hexagon_globalreg_read(cpu->globalregs, HEX_SREG_IPENDAD, - env->threadId); - uint32_t ipend =3D GET_FIELD(IPENDAD_IPEND, ipendad); + uint32_t ipend =3D get_ipend(env); return extract32(ipend, int_num, 1); } =20 static void clear_ipend(CPUHexagonState *env, uint32_t mask) { HexagonCPU *cpu =3D env_archcpu(env); - uint32_t ipendad =3D - hexagon_globalreg_read(cpu->globalregs, HEX_SREG_IPENDAD, - env->threadId); - uint32_t ipend =3D GET_FIELD(IPENDAD_IPEND, ipendad); + uint32_t ipend =3D get_ipend(env); + ipend &=3D ~mask; - fSET_FIELD(ipendad, IPENDAD_IPEND, ipend); - hexagon_globalreg_write(cpu->globalregs, HEX_SREG_IPENDAD, - ipendad, env->threadId); + if (has_split_ipend_iad(env)) { + hexagon_globalreg_write(cpu->globalregs, HEX_SREG_IPEND, ipend, + env->threadId); + } else { + uint32_t ipendad =3D + hexagon_globalreg_read(cpu->globalregs, HEX_SREG_IPENDAD, + env->threadId); + + fSET_FIELD(ipendad, IPENDAD_IPEND, ipend); + hexagon_globalreg_write(cpu->globalregs, HEX_SREG_IPENDAD, + ipendad, env->threadId); + } } =20 static void set_ipend(CPUHexagonState *env, uint32_t mask) { HexagonCPU *cpu =3D env_archcpu(env); - uint32_t ipendad =3D - hexagon_globalreg_read(cpu->globalregs, HEX_SREG_IPENDAD, - env->threadId); - uint32_t ipend =3D GET_FIELD(IPENDAD_IPEND, ipendad); + uint32_t ipend =3D get_ipend(env); + ipend |=3D mask; - fSET_FIELD(ipendad, IPENDAD_IPEND, ipend); - hexagon_globalreg_write(cpu->globalregs, HEX_SREG_IPENDAD, - ipendad, env->threadId); + if (has_split_ipend_iad(env)) { + hexagon_globalreg_write(cpu->globalregs, HEX_SREG_IPEND, ipend, + env->threadId); + } else { + uint32_t ipendad =3D + hexagon_globalreg_read(cpu->globalregs, HEX_SREG_IPENDAD, + env->threadId); + + fSET_FIELD(ipendad, IPENDAD_IPEND, ipend); + hexagon_globalreg_write(cpu->globalregs, HEX_SREG_IPENDAD, + ipendad, env->threadId); + } } =20 static void set_ipend_bit(CPUHexagonState *env, int int_num, int val) { HexagonCPU *cpu =3D env_archcpu(env); - uint32_t ipendad =3D - hexagon_globalreg_read(cpu->globalregs, HEX_SREG_IPENDAD, - env->threadId); - uint32_t ipend =3D GET_FIELD(IPENDAD_IPEND, ipendad); + uint32_t ipend =3D get_ipend(env); + ipend =3D deposit32(ipend, int_num, 1, val); - fSET_FIELD(ipendad, IPENDAD_IPEND, ipend); - hexagon_globalreg_write(cpu->globalregs, HEX_SREG_IPENDAD, - ipendad, env->threadId); + if (has_split_ipend_iad(env)) { + hexagon_globalreg_write(cpu->globalregs, HEX_SREG_IPEND, ipend, + env->threadId); + } else { + uint32_t ipendad =3D + hexagon_globalreg_read(cpu->globalregs, HEX_SREG_IPENDAD, + env->threadId); + + fSET_FIELD(ipendad, IPENDAD_IPEND, ipend); + hexagon_globalreg_write(cpu->globalregs, HEX_SREG_IPENDAD, + ipendad, env->threadId); + } } =20 static bool get_imask_bit(CPUHexagonState *env, int int_num) diff --git a/target/hexagon/op_helper.c b/target/hexagon/op_helper.c index 7ad99ced7ab..0d08ac77361 100644 --- a/target/hexagon/op_helper.c +++ b/target/hexagon/op_helper.c @@ -1600,38 +1600,53 @@ void HELPER(raise_stack_overflow)(CPUHexagonState *= env, uint32_t slot, =20 void HELPER(ciad)(CPUHexagonState *env, uint32_t mask) { - uint32_t ipendad; uint32_t iad; HexagonCPU *cpu; =20 BQL_LOCK_GUARD(); cpu =3D env_archcpu(env); - ipendad =3D hexagon_globalreg_read(cpu->globalregs, HEX_SREG_IPENDAD, - env->threadId); - iad =3D fGET_FIELD(ipendad, IPENDAD_IAD); - fSET_FIELD(ipendad, IPENDAD_IAD, iad & ~(mask)); - hexagon_globalreg_write(cpu->globalregs, HEX_SREG_IPENDAD, - ipendad, env->threadId); + if (cpu->cfg.hex_def->hex_version >=3D HEX_VER_V81) { + iad =3D hexagon_globalreg_read(cpu->globalregs, HEX_SREG_IAD, + env->threadId) & ~mask; + hexagon_globalreg_write(cpu->globalregs, HEX_SREG_IAD, iad, + env->threadId); + } else { + uint32_t ipendad =3D + hexagon_globalreg_read(cpu->globalregs, HEX_SREG_IPENDAD, + env->threadId); + + fSET_FIELD(ipendad, IPENDAD_IAD, + fGET_FIELD(ipendad, IPENDAD_IAD) & ~mask); + hexagon_globalreg_write(cpu->globalregs, HEX_SREG_IPENDAD, + ipendad, env->threadId); + } l2vic_clear_interrupt(cpu->l2vic); hex_interrupt_update(env); } =20 void HELPER(siad)(CPUHexagonState *env, uint32_t mask) { - uint32_t ipendad; uint32_t iad; HexagonCPU *cpu; =20 BQL_LOCK_GUARD(); cpu =3D env_archcpu(env); - ipendad =3D cpu->globalregs ? - hexagon_globalreg_read(cpu->globalregs, HEX_SREG_IPENDAD, - env->threadId) : 0; - iad =3D fGET_FIELD(ipendad, IPENDAD_IAD); - fSET_FIELD(ipendad, IPENDAD_IAD, iad | mask); if (cpu->globalregs) { - hexagon_globalreg_write(cpu->globalregs, HEX_SREG_IPENDAD, - ipendad, env->threadId); + if (cpu->cfg.hex_def->hex_version >=3D HEX_VER_V81) { + iad =3D hexagon_globalreg_read(cpu->globalregs, HEX_SREG_IAD, + env->threadId) | mask; + hexagon_globalreg_write(cpu->globalregs, HEX_SREG_IAD, iad, + env->threadId); + } else { + uint32_t ipendad =3D + hexagon_globalreg_read(cpu->globalregs, HEX_SREG_IPENDAD, + env->threadId); + + fSET_FIELD(ipendad, IPENDAD_IAD, + fGET_FIELD(ipendad, IPENDAD_IAD) | mask); + hexagon_globalreg_write(cpu->globalregs, HEX_SREG_IPENDAD, + ipendad, env->threadId); + } } hex_interrupt_update(env); } @@ -1657,7 +1672,7 @@ void HELPER(iassignw)(CPUHexagonState *env, uint32_t = src) CPU_FOREACH(cpu) { CPUHexagonState *thread_env =3D &(HEXAGON_CPU(cpu)->env); uint32_t imask =3D thread_env->t_sreg[HEX_SREG_IMASK]; - uint32_t intbitpos =3D (src >> 16) & 0xF; + uint32_t intbitpos =3D extract32(src, 16, 5); uint32_t val =3D (src >> thread_env->threadId) & 0x1; imask =3D deposit32(imask, intbitpos, 1, val); thread_env->t_sreg[HEX_SREG_IMASK] =3D imask; @@ -1677,7 +1692,7 @@ uint32_t HELPER(iassignr)(CPUHexagonState *env, uint3= 2_t src) =20 BQL_LOCK_GUARD(); /* src fields are in same position as modectl, but mean different thin= gs */ - intbitpos =3D GET_FIELD(MODECTL_W, src); + intbitpos =3D extract32(src, 16, 5); dest_reg =3D 0; CPU_FOREACH(cpu) { CPUHexagonState *thread_env =3D &(HEXAGON_CPU(cpu)->env); @@ -1896,10 +1911,17 @@ static inline QEMU_ALWAYS_INLINE uint32_t sreg_read= (CPUHexagonState *env, } return env->t_sreg[HEX_SREG_BADVA0]; } + cpu =3D env_archcpu(env); + if (reg =3D=3D HEX_SREG_IPENDAD && + cpu->cfg.hex_def->hex_version >=3D HEX_VER_V81) { + return (hexagon_globalreg_read(cpu->globalregs, HEX_SREG_IPEND, + env->threadId) & 0xffff) | + ((hexagon_globalreg_read(cpu->globalregs, HEX_SREG_IAD, + env->threadId) & 0xffff) << 16); + } if (reg < HEX_SREG_GLB_START) { return env->t_sreg[reg]; } - cpu =3D env_archcpu(env); return cpu->globalregs ? hexagon_globalreg_read(cpu->globalregs, reg, env->threadId) : 0; } diff --git a/target/hexagon/translate.c b/target/hexagon/translate.c index 5d3d67e5d3e..fd1de87405c 100644 --- a/target/hexagon/translate.c +++ b/target/hexagon/translate.c @@ -319,6 +319,8 @@ static bool sreg_write_ends_tb(int reg_num) reg_num =3D=3D HEX_SREG_STID || reg_num =3D=3D HEX_SREG_IMASK || reg_num =3D=3D HEX_SREG_IPENDAD || + reg_num =3D=3D HEX_SREG_IPEND || + reg_num =3D=3D HEX_SREG_IAD || reg_num =3D=3D HEX_SREG_BESTWAIT || reg_num =3D=3D HEX_SREG_SCHEDCFG; } @@ -830,8 +832,10 @@ static void gen_sreg_writes(DisasContext *ctx) gen_helper_modify_ssr(tcg_env, ctx->t_sreg_new_value[reg_num], old_reg); } else if ((reg_num =3D=3D HEX_SREG_STID) || - (reg_num =3D=3D HEX_SREG_IMASK) || - (reg_num =3D=3D HEX_SREG_IPENDAD)) { + (reg_num =3D=3D HEX_SREG_IMASK) || + (reg_num =3D=3D HEX_SREG_IPENDAD) || + (reg_num =3D=3D HEX_SREG_IPEND) || + (reg_num =3D=3D HEX_SREG_IAD)) { if (ctx->need_commit && reg_num < HEX_SREG_GLB_START) { tcg_gen_mov_tl(hex_t_sreg[reg_num], ctx->t_sreg_new_value[reg_num]); --=20 2.34.1 From nobody Sat Sep 26 20:50:54 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=reject dis=none) header.from=oss.qualcomm.com ARC-Seal: i=1; a=rsa-sha256; t=1789142963; cv=none; d=zohomail.com; s=zohoarc; b=nofTw7tgjUMNIr2vXJ5yreDms7U2aplQqSRVw6EFcoasngu0lStTg1/h6CAb8xw8sQ1gSzqcIrpYjv1hklD2j/ot6YKwfGQhnjyYOzGQxbp3zdQ7AuEhqvonmwka54ieUXJMQxlTjeiNo43vqBqvtMjBr0dckCIIkpyYXE+r8gg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789142963; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=xP2XfQ+/wetzxUMQ/VBD0ygw9qsKWMkl/ULfmMylxDY=; b=O7+ciSNsCiD1IfL/WkDQWzJqbfXqZECf2taYW2R+JDK7p/9xgSpv4ZCl5U9FdIUXGA8MoI6q/nY44AbQaGBXq8GBNI4kdcbC9xpdtWNcjmYfRNizALMwbPNoW9847a+E5nWT88ET7R4lQh+BfuvUmNF9r113vsH9cN1bPQAvB2M= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1789142963762448.38181565212676; Fri, 11 Sep 2026 09:09:23 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x53ma-0005Bk-5g; Fri, 11 Sep 2026 12:07:30 -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 1x53ji-0003OC-N9 for qemu-devel@nongnu.org; Fri, 11 Sep 2026 12:04:28 -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 1x53jU-0007dK-0n for qemu-devel@nongnu.org; Fri, 11 Sep 2026 12:04:19 -0400 Received: from pps.filterd (m0279868.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 68BF8jTZ170572 for ; Fri, 11 Sep 2026 16:04:06 GMT Received: from mail-oi1-f199.google.com (mail-oi1-f199.google.com [209.85.167.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4gmm1e87ew-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 11 Sep 2026 16:04:06 +0000 (GMT) Received: by mail-oi1-f199.google.com with SMTP id 5614622812f47-4ab4dd46ddeso863844b6e.3 for ; Fri, 11 Sep 2026 09:04:06 -0700 (PDT) Received: from hu-bcain-lv.qualcomm.com (Global_NAT1.qualcomm.com. [129.46.96.20]) by smtp.gmail.com with ESMTPSA id 5614622812f47-4c3321ecd0asm2451876b6e.17.2026.09.11.09.04.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 11 Sep 2026 09:04:03 -0700 (PDT) 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= xP2XfQ+/wetzxUMQ/VBD0ygw9qsKWMkl/ULfmMylxDY=; b=hVh9m/R7uLgQe65w Z3ke9VObQpCRcxAS2sHIyGGrqjNlecv2/GpcjCvVdZJLnhpZvAEBuz7uhup7DYYR fPKskX7ilgRCIK3OggY8LvcsVZ2Qp5i66yu9Qm226OB7TFvwK3dmfJ4wd/hgcIeD nu7DtdlPz45Gu0XuIB4uvWRLS+Kqq3N3LMic3EMmcQHv7WXHIu7Tk+agtl6/Tojc sxYW5YQ2JTkSRKi+MxGLESngVrcFevb17KsX1DwAJqKfHSDawrL0Q4CuUa7lfwmY ieQ2I6QataAc/Q19kVlh8Dj2a3GTJ8CJxXJDb3yKYEjrFj2kfrziwOqa+JIfcPDV dX3Thg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1789142645; x=1789747445; 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=xP2XfQ+/wetzxUMQ/VBD0ygw9qsKWMkl/ULfmMylxDY=; b=FzMxrZSEH9a8LlXOdKOXQixkV4lbIsD3QmXIR1y9R/QNIIVlMrC2Vu0ALtSCR+8txS GbBE9uHEi3hiSdGKBCzdMhE3dHxTXUwbGQm2H/d0bFAOJh+coHoQiervsP3RHrsLGHiB utopFC3noObcyQeFlzsuKa/PauN30D0szO2j8uO8R4i/U95/Dhxn5ShYm5APl0fCgmME MmkzVDA/nX6pPVOjIAbd1CEfxQ0Qymhf+/X20Uv9eO23EvkOk5OpBiu2LuXpcY1SNF7o X0nPE+B7BrtPSejWp1ywLhzOuELjE09nUUGf18OqnE8/y0w4+JKGXIW/BLrFlIOobwjd Qg3w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1789142645; x=1789747445; 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=xP2XfQ+/wetzxUMQ/VBD0ygw9qsKWMkl/ULfmMylxDY=; b=Hbui+VFQaNtKhCYyuYWgPfo94w4qhVDJDJ083XjMlv+uzp1Z8mo3P9/BRSvzbnnAFj YILuNacu2tOQAFS2VspBqfJ4A9mw83Kul9qSmnesehkwe3Rp9sIlR5EGU2x/VmpDpmTJ f5wedGJ/wNP3TIlvojQFIzdApVSEuk22KzKxJbfE+GGADRhcyIj7kuXIbmxHo3y0/pPU VOLsYV22T5uFvoBufvbTRhTuIBzOy8SsKL+2H5PdJMHpZSCQ4mm9kV30JayOLbUb+MG9 csUQBRrD8fve2ja08Cs1ghA+KxcLC6d7hBo+rPzyJ+i2IwfTgHUEreDMy1ysPq84imzo TIxA== X-Gm-Message-State: AFuF++m8/VH5uQyu4pPiCl2uZBtXOvZxZTnlTUztc+AUBGdTY/gAp6j7 QfCVhHqRSMtYVaEknFPNlXxdbns+rgoRnND3B8j7UnnKhNyx8pelTuHFTYE+VEaoGPKSurS7Ax8 bKe/MNVR1q9qmVh7w1DvxodFyQTSfLa523+K5ay5M4SeptGWFrzaDEbONBBDPdR338Q== X-Gm-Gg: AYBFou1vOo2+yrWw4nn0x81JYzmHT1U7TpQvYsMS06i8KVEyMIjii6GF30tzS8Kn0qZ sNuTgEQ21/wnGHqllNQeY9YcYj6NK3Z1a4+tW8F0DAJ7/18fgKqngot2fqicbE0uBzK6Me84UlL Sj31066PzLhCkJYgM4qAHFnM3fpFAZHK0lBw2U+Bw30hR6546axxp6FDBiJxT7e0o4BGkGop080 wJSKRKjVkqeT2hZyk11HyVa4jSV8ItHrUnDRUeDMSkF5PXtT0zLGuMOAKa6byzNVQCf2j0MrVpW RmEMSK1ClXj35HpUcTumesRYCJll1283m68GER8sBfbmIJypKUfmaX9tKup+OF4Y1QEhYLrPoOz F83BD8Sq8W3mZVuuu8eJl7sSx1z3NZYShoSKqmTTf4dyqVzyj X-Received: by 2002:a05:6808:6d8d:b0:4b2:b653:87ff with SMTP id 5614622812f47-4c319043c68mr4143128b6e.7.1789142645441; Fri, 11 Sep 2026 09:04:05 -0700 (PDT) X-Received: by 2002:a05:6808:6d8d:b0:4b2:b653:87ff with SMTP id 5614622812f47-4c319043c68mr4143069b6e.7.1789142644931; Fri, 11 Sep 2026 09:04:04 -0700 (PDT) From: Brian Cain To: qemu-devel@nongnu.org, richard.henderson@linaro.org, peter.maydell@linaro.org Cc: brian.cain@oss.qualcomm.com, Marco Liebel , Pierrick Bouvier Subject: [PULL 09/10] tests/functional: cover v81 system registers Date: Fri, 11 Sep 2026 09:03:06 -0700 Message-Id: <20260911160307.865892-10-brian.cain@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260911160307.865892-1-brian.cain@oss.qualcomm.com> References: <20260911160307.865892-1-brian.cain@oss.qualcomm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwOTExMDIyNCBTYWx0ZWRfX8uXPWBg2TjRx kP4d1LjQ3ClXWyMjl/SrEGvo5jq/sHM5r7u/KJVs3kBFzj+igp2J/Z9azIBQV6lb6FMNlKw5I2b /WJNyfGf7sVj5NbFAsgP1aVRu0hXzVXt+0BDZHp83EaQOWHNjrB+KaSdHwRGeVg8a6x4GeraA77 B5WgBSg/HGJlP1q+aZyCSjOEy2cDFRO0+jzX1vf6gsRzk8R/Y9TmPi3EPRtXktNSVHX2DmFJi0y Kl45ONMvyalAWIM5tVIx0ujw9TqRg4ONMkEVF8NnRGvJ0ilBUpMNAJoFZCQAZCz6YxCmuEbACo4 TUVyq17Q9A5n4NfG4vpiOGwIl2D+b3NLrWOAbNMxMsz4oPhFk1gw+235i09NKbiDnOUqhIcs31S vGLOFzYgR6hizBRq03pUAlHSCThWFv0G92EyU2L0yHIepFp8yYmmc1wWcLnsZzqFn3msPkmljTJ vvg3JhyO8YugMWoN6yw== X-Proofpoint-ORIG-GUID: KQ8_pJ5M5dBP0h41nAoxE7XwgdBBiILG X-Proofpoint-GUID: KQ8_pJ5M5dBP0h41nAoxE7XwgdBBiILG X-Proofpoint-Spam-Info: AW1haW4tMjYwOTExMDIyNCBTYWx0ZWRfX4d+MkkfGy4zr +qQmJRFUFltr/AqzyQBdvqrNdsMWr4EqOxqnFZHYLhpZhTl7ABorHX/R7BFOPCM/No1AzskwgPb xsn05eayneYJVVvGJNzlho1YGniyYak= X-Authority-Analysis: v=2.4 cv=LrwHWXdc c=1 sm=1 tr=0 ts=6aa42676 cx=c_pps a=yymyAM/LQ7lj/HqAiIiKTw==:117 a=ouPCqIW2jiPt+lZRy3xVPw==:17 a=IkcTkHD0fZMA:10 a=VdqzKS8jKosA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=ZpdpYltYx_vBUK5n70dp:22 a=5vFef2XoAAAA:20 a=EUspDBNiAAAA:8 a=woYTvO-ToS2AwZLC9vAA:9 a=QEXdDO2ut3YA:10 a=efpaJB4zofY2dbm2aIRb:22 a=bA3UWDv6hWIuX7UZL3qL: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-11_05,2026-09-11_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 phishscore=0 adultscore=0 impostorscore=0 bulkscore=0 lowpriorityscore=0 suspectscore=0 priorityscore=1501 clxscore=1015 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2609040000 definitions=main-2609110224 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: pass client-ip=205.220.180.131; envelope-from=brian.cain@oss.qualcomm.com; helo=mx0b-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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @qualcomm.com) X-ZM-MESSAGEID: 1789142964245158500 Reviewed-by: Marco Liebel Signed-off-by: Brian Cain --- tests/functional/hexagon/test_arch_tests.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/tests/functional/hexagon/test_arch_tests.py b/tests/functional= /hexagon/test_arch_tests.py index 5d7ce487436..40f76e25ae6 100755 --- a/tests/functional/hexagon/test_arch_tests.py +++ b/tests/functional/hexagon/test_arch_tests.py @@ -24,6 +24,11 @@ class ArchTestsUart(QemuSystemTest): "download/v0.2.14/arch_tests_uart.tar.gz", "ce93cb90b9d757c1946dfe8fe6abcec8292b08a66546ac51b2dd48650b05fa91", ) + ASSET_SEMIHOSTING_TARBALL =3D Asset( + "https://github.com/qualcomm/qemu-hexagon-testing/releases/" + "download/v0.2.9/arch_tests_semihosting.tar.gz", + "f0ce731dc8dc2b861792b8bd60808cb714fd1922c0dc793af65090c0ba525bb0", + ) =20 def run_uart_test(self, test_name: str, machine: str =3D "virt") -> None: @@ -40,6 +45,18 @@ def run_uart_test(self, test_name: str, self.vm.launch() wait_for_console_pattern(self, "PASS") =20 + def run_semihosting_test(self, test_name: str, + machine: str =3D "V81QA_1") -> None: + self.set_machine(machine) + self.archive_extract(self.ASSET_SEMIHOSTING_TARBALL) + target_bin =3D self.scratch_file('arch_tests_semihosting_package', + 'bin', test_name) + self.vm.set_console(semihosting=3DTrue) + self.set_vm_arg("-display", "none") + self.set_vm_arg("-kernel", target_bin) + self.vm.launch() + wait_for_console_pattern(self, "PASS") + def test_exceptions(self) -> None: """Tests exception delivery for trap instructions, privilege violations, and verifies SSR cause codes and ELR values. @@ -78,6 +95,10 @@ def test_sys_regs(self) -> None: """Tests system registers.""" self.run_uart_test("test_sys_regs") =20 + def test_sys_regs_v81(self) -> None: + """Tests V81-specific system register masks.""" + self.run_semihosting_test("test_sys_regs") + def test_threads(self) -> None: """Tests hardware thread management: start/stop, MODECTL state, per-thread HTID, shared memory, wait/resume, STID priority, and --=20 2.34.1 From nobody Sat Sep 26 20:50:54 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=reject dis=none) header.from=oss.qualcomm.com ARC-Seal: i=1; a=rsa-sha256; t=1789142801; cv=none; d=zohomail.com; s=zohoarc; b=Cp0szZgmdF98BMN3bf6U602nQa0QviV6KvIsujL7qoCFZD3IV2jcJ9+yKmN/HsA3+UtqO9KgwjNLjhs1tP4VuT1sUMXqmtnIs3I/xgAv90BoIbVNCBKiqsQ8wW9+60QV/HqBWem70yHuV2J3T3YXt9wLtHdKDi1ADeOMoe4ruo8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789142801; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=xEFAh1HFV0i/H+w7ei/PWkJX8KOTiQmMzcK6J5qrQPk=; b=IpiEDLlYtftGlxO4NQSFrQS7Buj6yzXuWFRJPnis+GhIQClpwtCqb+0pfLwV2Fc+QIbV6Nmp4qX5TkEUqqDUcoPYonN+FuUVjFG73Uq2UWHUAlcSjYvKoOZK4t12XNPHpe3j0Jsm6scG32/JAwAwW2Vnob9ZPiko1b9sQPmbM2U= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1789142801521310.1713566712581; Fri, 11 Sep 2026 09:06:41 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x53lW-0004UC-S5; Fri, 11 Sep 2026 12:06:16 -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 1x53ji-0003O8-Jo for qemu-devel@nongnu.org; Fri, 11 Sep 2026 12:04:28 -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 1x53jX-0007fM-FI for qemu-devel@nongnu.org; Fri, 11 Sep 2026 12:04:20 -0400 Received: from pps.filterd (m0279865.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 68BEm8e91090832 for ; Fri, 11 Sep 2026 16:04:09 GMT Received: from mail-oi1-f199.google.com (mail-oi1-f199.google.com [209.85.167.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4gmbd3anwa-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 11 Sep 2026 16:04:08 +0000 (GMT) Received: by mail-oi1-f199.google.com with SMTP id 5614622812f47-4b5bfffcc2dso1073053b6e.0 for ; Fri, 11 Sep 2026 09:04:08 -0700 (PDT) Received: from hu-bcain-lv.qualcomm.com (Global_NAT1.qualcomm.com. [129.46.96.20]) by smtp.gmail.com with ESMTPSA id 5614622812f47-4c3321ecd0asm2451876b6e.17.2026.09.11.09.04.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 11 Sep 2026 09:04:05 -0700 (PDT) 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= xEFAh1HFV0i/H+w7ei/PWkJX8KOTiQmMzcK6J5qrQPk=; b=mDxit83eRZv4O1QP BtR5gUUUZvHe43n1VBJfA5set/QyCqCxiT/Sn1WgmVrTcI28rSVOyEcPshvHc+S0 ZiURTpeySTurMNNgoGE6NOYuDiMG7NtwMAFGr1LrRpmDUO8HfwyhY+srhmzYota6 fA36IkFD79CTFyU+L1YJTfh+8Gy5Qc27cUzx/Fy7gEpu0CIgKJHBYyG4d8JXBkTW SLgguGdq4y5wLvv+3gpFFJSMpSnjmXrGu0PNyqRa6K6oh2o9+bPyde4340zD1WOH 2Oa01yg2VetOq7wYZTgmKLf8RgQrI+7GkdRSlCFTiFDn5LNOrDAGbUZNuZl6tbM2 cLALug== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1789142648; x=1789747448; 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=xEFAh1HFV0i/H+w7ei/PWkJX8KOTiQmMzcK6J5qrQPk=; b=Nfn0I4HPK8Isf5kslhv2NGiO0UsC6lj+boR7DSfgMu+fqecCFZ1yaYWe5Aqh3D8Fm9 S7KUYtsKbCqwTjCSOwgussKvHY1ROmiQWRd3i8cVbBFe4zbUt+CNBUoF22dq82M/67yC LUerRzpIJEjY7RJP54L4wI1/22XQWMdlS41wUX4mjwSIgStvR+As85pmMd85U/dY0VQO 3wW+yZNR1s/JJHEiBDfgLKRX+VDeSnYOy8u05gJuYbmliPXIZ3NeVupkqcBqhMy1Yk6/ FlcuC9gROlV/OTsHy1ApQSs0N0pO3Wn+nQvv/PbNMNG5OfYCyuSIlwBMKCaHyKiBm+my UV5A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1789142648; x=1789747448; 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=xEFAh1HFV0i/H+w7ei/PWkJX8KOTiQmMzcK6J5qrQPk=; b=R7cz+kvpwQqKoSo5JZ4Qaw5o7uKgZbGMaZtzVaJZbLsN54orwgm+DwGKOA3hyNs3fy Vx1Q6L9wcFhCBZQ46jasd2szaj7zSwWEfPimnihyxoooGWfkg/ICdrKB4K+nfqd5ml5v wLHAsLyi/cZ2ImE+S9XhDC8zb+uMXRgvTFQ/6LW02qGPpIAu/E9QGr7wQNGgALeE/3FI k/cILBCn6KNXFk/5ijYv3CdhwEOb1eHAX8BPsSqrNjWeA3mpNYChas/8J45Siib0yz/m 5uiSIiOrDcc85P69NIoa3lwyBxo9/fPQNCDSf+kP5JAIvOheyt+N1GLy4Du0jUjj9iCo DRww== X-Gm-Message-State: AFuF++nP9psxhscjpKEc1a6KGp/9IpCOVH3n5irCTJl71iryhJ53jtsm A9qmyrTexrBDthhV15EAcjMABUasQn5QM7gC+TvUNqtwlHkBdj4ijhgfjuWNbjYIMMtkLc7RGHT WJIr/QiLLscUeY6beNsZnXrlXHbsMxjR+PgkwbrQD24X5GVAQJOvVbWX5tLt4Ud1Kqg== X-Gm-Gg: AYBFou1BPLSXd5wRTsngGJlxGKZiPy6RtkWp64i9o1JVk7SaHvS3C0g+itIJeMFBNwa g8zIEUW8WtYtfCyOaRyXw0GWVEt2bsy8SzTwV+Z2cv8DA3cvxTs5Fq3D9ZK++7uVap5fUJi/mf1 VE9tjUZ6X1JN5bPxD8vuGlvp4snyFE3U7uID0g4r/r0Y47anoALzgma77T+VEIinoHmiDJsidCZ qDYuXHZacumNPT/1ZAT8L3NaTkRznS2oirgKXkj+ROLUkmmwwsBWGevv3pLigRJ/JhELU765n/R 51qfIuIwBuDx4KPi1MTq2UUU+1Io5sOZMX2p8clM+5BSrrscU9QbTcwErMpT+CTjBXZrvrthouh sNaQmRrWcQjuOBpuegJmlX9KuzUwqx+7KlZZOgEC601c5yRt7 X-Received: by 2002:a05:6808:6508:b0:4b2:b057:934c with SMTP id 5614622812f47-4c3058d5fd6mr2828216b6e.3.1789142648164; Fri, 11 Sep 2026 09:04:08 -0700 (PDT) X-Received: by 2002:a05:6808:6508:b0:4b2:b057:934c with SMTP id 5614622812f47-4c3058d5fd6mr2828185b6e.3.1789142647761; Fri, 11 Sep 2026 09:04:07 -0700 (PDT) From: Brian Cain To: qemu-devel@nongnu.org, richard.henderson@linaro.org, peter.maydell@linaro.org Cc: brian.cain@oss.qualcomm.com, Marco Liebel , Pierrick Bouvier Subject: [PULL 10/10] docs: Correct semihost spec URL Date: Fri, 11 Sep 2026 09:03:07 -0700 Message-Id: <20260911160307.865892-11-brian.cain@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260911160307.865892-1-brian.cain@oss.qualcomm.com> References: <20260911160307.865892-1-brian.cain@oss.qualcomm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Authority-Analysis: v=2.4 cv=Bv8IUoX5 c=1 sm=1 tr=0 ts=6aa42678 cx=c_pps a=yymyAM/LQ7lj/HqAiIiKTw==:117 a=ouPCqIW2jiPt+lZRy3xVPw==:17 a=IkcTkHD0fZMA:10 a=VdqzKS8jKosA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=Um2Pa8k9VHT-vaBCBUpS:22 a=EUspDBNiAAAA:8 a=tSODnN1-WjF6-noYxS8A:9 a=QEXdDO2ut3YA:10 a=efpaJB4zofY2dbm2aIRb:22 X-Proofpoint-GUID: rJrT_FVe9NVVQWAaqFVBZf64jI5DgFzW X-Proofpoint-Spam-Info: AW1haW4tMjYwOTExMDIyNCBTYWx0ZWRfX0chfHa9W/1Hp o7bLn2oTEgWg8jSVu/OsAHQGe+V2yhgTX0FeUbtmWGaLv6s2l0ygH5hnlSvYQU/Z9p9H85vuRjT prvas6UbDzYDuVsk+qjJfHyfwaQIE+k= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwOTExMDIyNCBTYWx0ZWRfX6v7CpjCmG2lz 3NcxHfK35g7bTUJtXSZI6GeOj31gAPGQq4AhWEvWRayyzRhf1pX5+1IJD/jEegqbd1XkebcGeXl vR28s/JRO9LDlf21kCD8jbPJwLJsqy3+m48mGbGb+s1RTOZG21sTjc1/EZsdQeFqGR/KQvTlFKk D9/ussDYl79/N+y/2GwhwsQpox3h3leHyOK+SQ4IEvp+Nh+Sk8goYbx3vbUv4Th2nte/HCJfgh/ K7NH8A5wV7ousLgvWkt3EhsBRFPaaB7rbonx3P4KC3Ep4whquiPlbdnt9yjJEx62XHHQaCAzWug Vo0uNzAOnspEe1byuFkyRuBAEpao97Rgcm+zltmunbsLrcS4lmmjo3uSdj+gAKhCC/Q82SmgpLn p2lnV+gU0apnk21RcO9wIT5vFYTl6LEedHvwnZDeOhDaKI6ufZIQmuszlYn0Qye2R2kFquo4xTM xI3jSvlAxH4V/1OrQ/A== X-Proofpoint-ORIG-GUID: rJrT_FVe9NVVQWAaqFVBZf64jI5DgFzW 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-11_05,2026-09-11_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 bulkscore=0 priorityscore=1501 phishscore=0 impostorscore=0 adultscore=0 clxscore=1015 spamscore=0 malwarescore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2609040000 definitions=main-2609110224 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @qualcomm.com) X-ZM-MESSAGEID: 1789142803064158500 The previous URL worked at the time of submission but it appears that it was not a portable, durable reference. This one should work better. Reviewed-by: Marco Liebel Signed-off-by: Brian Cain --- docs/system/target-hexagon.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/system/target-hexagon.rst b/docs/system/target-hexagon.rst index a9f8c29810e..5d48cf401ad 100644 --- a/docs/system/target-hexagon.rst +++ b/docs/system/target-hexagon.rst @@ -93,7 +93,7 @@ Hexagon supports a semihosting interface similar to other= architectures'. The ``trap0`` instruction can activate these semihosting calls so that the guest software can access the host console and filesystem. Read the `Hexagon Semihosting Specification -`__ +`__ for details. Semihosting is enabled by default on hexagon-sim-compatible machines. This can be further configured through ``-semihosting-config``. =20 --=20 2.34.1