From nobody Sun Jul 26 14:10:23 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=1781156274; cv=none; d=zohomail.com; s=zohoarc; b=iRjuaFWkZdxhnoyvUOTib8iS9neDRzRopJiFVnlfA87ipdzN8NJNm7klfDncKkLEEeuWqlUN4fEcscX5aTpUd1PS5egr6mgDMflf8XkTj7lxTchat3oCDJqNIsvPobrgn14+RK8ADE6fJ8fHL52XbAZvw/TL/qzOgcvUvSt8Ox4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1781156274; 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=ueeASlFVa2zuKe+z8bT4IdfK+5UBl3bW6lxBxuVovJQ=; b=ji+5QKvNsBrBgQ9NMqMhAW11k2TclxjhLxWWf5O85F6Cmpg7ap522SU/CKrtge5ViIDIAS9SBrIFa/OencXwXihAEMjHjKjYmkPArwYcGzslbt1klFpUxVVrZgIkS+ldwhPL0dXtCo+Dr9cHgMvtvQwfwPliLN1FqzStPbTpTC0= 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 1781156274684695.1409077765004; Wed, 10 Jun 2026 22:37:54 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wXY2P-0000Gx-RX; Thu, 11 Jun 2026 01:33:09 -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 1wXY2N-0008VU-Dn for qemu-devel@nongnu.org; Thu, 11 Jun 2026 01:33:07 -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 1wXY2L-0002R5-Iz for qemu-devel@nongnu.org; Thu, 11 Jun 2026 01:33:07 -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 65B5GSxn3761534 for ; Thu, 11 Jun 2026 05:33:04 GMT Received: from mail-dl1-f72.google.com (mail-dl1-f72.google.com [74.125.82.72]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4eqe6shu5d-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 11 Jun 2026 05:33:03 +0000 (GMT) Received: by mail-dl1-f72.google.com with SMTP id a92af1059eb24-13825e1dc0dso15847160c88.1 for ; Wed, 10 Jun 2026 22:33:03 -0700 (PDT) Received: from hu-bcain-lv.qualcomm.com (Global_NAT1.qualcomm.com. [129.46.96.20]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-30806ee207asm720800eec.29.2026.06.10.22.33.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 10 Jun 2026 22:33:01 -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= ueeASlFVa2zuKe+z8bT4IdfK+5UBl3bW6lxBxuVovJQ=; b=n9UAi0HoJTGxbsdL qY8SsHBAZj3wUAmzsOvDqmIrL3q7lO1hcZY4UYxiH2Z+OWKxzni7JMSihwhC8lAS sHi/11Uew4fiskH7MLliPFcoovIBlKctbG19LEBrsw+NYN+rGhnFffF38gsY8Fnb ux3ocTgrXj4CcUktUPKxSXJntml19VcfP+3ip8n0IVZvUJNcMT9dJwW2UZsVv0+J pwLFp0rkGwyZa3Mhh77d3r7vhjeKnuKmefYE8Ns/MqQ/Qavlp61Zz2gkDaRxrYDV nuUtZr6qqhrNKaYk33vzm/Nz4QlVyn9NTA40hNWYcrYE+L6nSG3rI/EZgyDUB575 iPQiow== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1781155983; x=1781760783; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=ueeASlFVa2zuKe+z8bT4IdfK+5UBl3bW6lxBxuVovJQ=; b=JiUXmbTs4Fy8e9GGiawiGsD0SF+UZNbR4Wp/AJhRnq8IVxz0YO8O/mtz4dgh8l/GZ5 y0MKypOw0c9ZohtRvC6GZkLPwueoy3zLl5AkMI39bwcMCXRnaQsyG7A1+NWsvG0jrFWf CNctc2Y7S8p+y74egoQX45RAr/pLecS65KImEJzsZzGnScVhFsHiaR1Cv0ZDJGeH0+SI /BePvD+VUA8plkpKlCFGfo/I85hr1VKkNcgFKGk3Qmk1gZoZyHNnSS72lGmv1NWbwzC2 zHE+VSnkfmegzUJ3a6xy17vcPWVPX/1qnjoSLli/MtGgEhjOGDjUPHFt8LANzaVdX8XP NjWA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1781155983; x=1781760783; h=content-transfer-encoding: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; bh=ueeASlFVa2zuKe+z8bT4IdfK+5UBl3bW6lxBxuVovJQ=; b=Q5BaAeSsve/+NV8wrIiHEb9a2Yr4z5Fua+XlgarM+9JjQhOGBUL3wyFMj9VZ1EGMQ5 XZCzQbx8his+qNCy+q8pNvxse9N3hVerthtBu8AQycRFGQz3EHHpurXsnDTlXK6xBAY7 9Sp3gUIwiXjVsPUzgkH/EsHVey8uggvFBV7T7c4zh2Fu6SY6LkGo+YInCBBAPwu+LMT4 ZtdcO+GiO//bHDjL3LnLglJ1elAc4mRMY5EIM8XzVUkFk08c5Fa2xm+olyrAQtVQXeWt SsL3cMvCXCCz614hEFH6GPcnwJplLCJ4FEiXZV8JVyChK4M5W6x62Qcbq1BNOA8nX/26 96Cg== X-Gm-Message-State: AOJu0YxERwbQ36Gq7484KP7EHmwTVBRz4vJy1QSMmGO4+udpWCOvUTJP cJTOgQd6jNzmUw8EoFMcm0JOc2U0gP184LpwoPzLWuNLSt3tcNLPetneI2dvB3vMlKPzx8zdsfN EXMZIEfcXbmRzTbgs2NuMMq5cWcDSSluhG5MACJduOQjG6rseoUj0XvP48+RS/Zu3VQ== X-Gm-Gg: Acq92OEZSOpsUWj81pVpPTVGJ40YmSutiNZH489WF6qXK5ALEKbKqYGpAE7xgtNmzHr g6En16ZRIC/3TLss3mkUGWCuSW+rdZJXa7IKULUIUL20CCNKjPjP037584+dyLlwhKWeP970l89 Y7LfQPI3qU6VE44yZGYMY9Zpp+r6g8Lohz3XIJZPXJ7KfFcGFc70WKnXLiR5xE1qBEvbgnuGmKj UnO6idoIW67a1kIgCrzMwH320xfbgsKYK090yavy+3kSAKgD4KHIes0IWBuwx6UyUca/MVC4mKO 5cZ9YEtV76NqyvgMyk+7SrzByCuSNP2VyYERucTVctnbwV2dm/BqeST1o0C/ePr9rBTg0UTnlB5 WdHIfYB5kNPaxba7quyO9tVQX0AH48SuqsMJa7eosc0zv1CVwbx41lhEiLdOuJzE0USlLUAECRr VpB8s+ X-Received: by 2002:a05:7022:439d:b0:138:36f:4288 with SMTP id a92af1059eb24-138421a0d3amr903887c88.15.1781155982614; Wed, 10 Jun 2026 22:33:02 -0700 (PDT) X-Received: by 2002:a05:7022:439d:b0:138:36f:4288 with SMTP id a92af1059eb24-138421a0d3amr903872c88.15.1781155982091; Wed, 10 Jun 2026 22:33:02 -0700 (PDT) From: Brian Cain To: qemu-devel@nongnu.org Cc: brian.cain@oss.qualcomm.com, matheus.bernardino@oss.qualcomm.com, pierrick.bouvier@oss.qualcomm.com, ltaylorsimpson@gmail.com, philmd@mailo.org, philmd@oss.qualcomm.com, Brian Cain Subject: [PATCH v6] target/hexagon: Implement start/stop helpers, soft reset Date: Wed, 10 Jun 2026 22:32:24 -0700 Message-Id: <20260611053249.3918491-4-brian.cain@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260611053249.3918491-1-brian.cain@oss.qualcomm.com> References: <20260611053249.3918491-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=GbMnWwXL c=1 sm=1 tr=0 ts=6a2a4890 cx=c_pps a=bS7HVuBVfinNPG3f6cIo3Q==:117 a=ouPCqIW2jiPt+lZRy3xVPw==:17 a=IkcTkHD0fZMA:10 a=FelO9ux0wxsA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yx91gb_oNiZeI1HMLzn7:22 a=COk6AnOGAAAA:8 a=EUspDBNiAAAA:8 a=mCWuZxMSpaUKZHDxuVkA:9 a=QEXdDO2ut3YA:10 a=vBUdepa8ALXHeOFLBtFW:22 a=TjNXssC_j7lpFel5tvFf:22 X-Proofpoint-ORIG-GUID: yyDo_2Nq7d6NvJrF058fTVqBZcJYf13w X-Proofpoint-GUID: yyDo_2Nq7d6NvJrF058fTVqBZcJYf13w X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjExMDA1MiBTYWx0ZWRfX4rYY6NePyvyn gZIhUY3HGKhyFS8ajjspB4q0Eu09Pzv1DBQN2osqUIi1l5Kz5hz/8KrlK4dkVnXOwfK10Vcb339 cqqTeTdk5LElSuO8x+YL4DVohu6gr6ItcEH/Df+YBL/OJzuGBt9FZ4tjXFDHPfngpuLOtXshxR1 4rF+3UULkX77SBUX559XvznxdR58vhlvXMxhra7NTT7F0Ipod6cLiqA9uo/qJk2sl0Z96EWFHRM g5d8wlPVletWxaO1v3/bMX4VbdRdF0GcPbPkWrfADlCnxgAelhAPSP4IKoA5DtWgFBXZ7FWEqFb 4qSWvfzV4j8kVflEb8JFBH6STujuz+6q95sSl1Dm8MDK6QMa3hOrbA8yJ56UXvGXmeEabNERErZ vLCPaD15L8E2Whv4cFQbGkcbXrV6I8aml04jrK0bdDinqoGowHt/iq7NnfQ99eJifGrNa9zYgg9 8kQLbEt+1gpk0EfDJow== X-Proofpoint-Spam-Info: AW1haW4tMjYwNjExMDA1MiBTYWx0ZWRfXzqZsilXOnEKk 1/fvk5/dhbxLh775rZcs37HRYE7Fj5uVWM3qs+fDb3xPoK35SU6v8PnlcrkXJAcssMiN0K447+y 6dA4ddX5U3EWGCcKJjgNLbCZME0sYEA= X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49 definitions=2026-06-11_01,2026-06-09_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 lowpriorityscore=0 malwarescore=0 suspectscore=0 priorityscore=1501 bulkscore=0 adultscore=0 spamscore=0 impostorscore=0 clxscore=1015 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606040000 definitions=main-2606110052 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: 1781156274922158500 From: Brian Cain Reviewed-by: Pierrick Bouvier Signed-off-by: Brian Cain --- target/hexagon/cpu.h | 9 +++++++++ target/hexagon/cpu.c | 28 ++++++++++++++++++++++++++-- target/hexagon/op_helper.c | 4 ++-- 3 files changed, 37 insertions(+), 4 deletions(-) diff --git a/target/hexagon/cpu.h b/target/hexagon/cpu.h index 1b225e35abc..92d4bb97129 100644 --- a/target/hexagon/cpu.h +++ b/target/hexagon/cpu.h @@ -213,6 +213,15 @@ G_NORETURN void hexagon_raise_exception_err(CPUHexagon= State *env, uint32_t exception, uintptr_t pc); =20 +#ifndef CONFIG_USER_ONLY +/* + * @return true if the @a thread_env hardware thread is + * not stopped. + */ +bool hexagon_thread_is_enabled(CPUHexagonState *thread_env); +void hexagon_cpu_soft_reset(CPUHexagonState *env); +#endif + typedef HexagonCPU ArchCPU; =20 void hexagon_translate_init(void); diff --git a/target/hexagon/cpu.c b/target/hexagon/cpu.c index eb1f7049298..27f0ef50df2 100644 --- a/target/hexagon/cpu.c +++ b/target/hexagon/cpu.c @@ -33,6 +33,7 @@ #ifndef CONFIG_USER_ONLY #include "sys_macros.h" #include "accel/tcg/cpu-ldst.h" +#include "qemu/main-loop.h" #endif =20 static ObjectClass *hexagon_cpu_class_by_name(const char *cpu_model) @@ -310,6 +311,28 @@ static void hexagon_restore_state_to_opc(CPUState *cs, } =20 =20 +#ifndef CONFIG_USER_ONLY +void hexagon_cpu_soft_reset(CPUHexagonState *env) +{ + HexagonCPU *cpu; + + BQL_LOCK_GUARD(); + env->t_sreg[HEX_SREG_SSR] =3D 0; + hexagon_ssr_set_cause(env, HEX_CAUSE_RESET); + + cpu =3D env_archcpu(env); + if (cpu->globalregs) { + uint32_t evb =3D + hexagon_globalreg_read(cpu->globalregs, HEX_SREG_EVB, + env->threadId); + env->gpr[HEX_REG_PC] =3D evb; + } else { + env->gpr[HEX_REG_PC] =3D cpu->boot_addr; + } +} +#endif + + static void hexagon_cpu_reset_hold(Object *obj, ResetType type) { CPUState *cs =3D CPU(obj); @@ -339,9 +362,10 @@ static void hexagon_cpu_reset_hold(Object *obj, ResetT= ype type) =20 env->t_sreg[HEX_SREG_HTID] =3D cpu->htid; env->threadId =3D cpu->htid; - env->gpr[HEX_REG_PC] =3D cpu->boot_addr; -#endif + hexagon_cpu_soft_reset(env); env->cause_code =3D HEX_EVENT_NONE; + env->gpr[HEX_REG_PC] =3D cpu->boot_addr; +#endif } =20 static void hexagon_cpu_disas_set_info(const CPUState *cs, diff --git a/target/hexagon/op_helper.c b/target/hexagon/op_helper.c index 7fae9c20544..be54663f28a 100644 --- a/target/hexagon/op_helper.c +++ b/target/hexagon/op_helper.c @@ -1478,12 +1478,12 @@ uint32_t HELPER(iassignr)(CPUHexagonState *env, uin= t32_t src) =20 void HELPER(start)(CPUHexagonState *env, uint32_t imask) { - g_assert_not_reached(); + hexagon_start_threads(env, imask); } =20 void HELPER(stop)(CPUHexagonState *env) { - g_assert_not_reached(); + hexagon_stop_thread(env); } =20 void HELPER(wait)(CPUHexagonState *env, target_ulong PC) --=20 2.34.1