From nobody Wed Aug 26 17:02:32 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=1785954375; cv=none; d=zohomail.com; s=zohoarc; b=avzx6gtsJApFa3jAew5C4zuX0f5VkaL2E959raW5x5/8f7Vn//4pjb3l5MI6wVX8GMWJ+yxaa7XB6WbKRBwjP0ya82Ph319cIAb0ofBmMjf+RgtGzbi8mFZotXJNkl5RijKjZ3lY5DqVpWAEMS5ukvy5cpaGP7CnoCX8sN6MmjE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1785954375; h=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=anJk7IJzL8dkdA7D3bKcodd/3jx315ie4Oya1yu88O8=; b=FhEdc/tCMIy1wNsE0O4+G/o/SU2tJwrhMNklH8qC/mwBJ97U5BJh90qZ7gR38l6RgFNBj3XlRSW94OqcvMxuPKPl/3mRjpwNbLI9WPaXrf2qIXHae4N10nTYhswCuwGnOKPzVcRpUh3XWfwI3F2iPFCyIcjvZ4BIc9fz3GSoN2E= 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 1785954375078470.1869920223661; Wed, 5 Aug 2026 11:26:15 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wrgJ4-0008VZ-Sr; Wed, 05 Aug 2026 14:25:36 -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 1wrgIq-0008V1-70 for qemu-devel@nongnu.org; Wed, 05 Aug 2026 14:25: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 1wrgIo-0007eC-5n for qemu-devel@nongnu.org; Wed, 05 Aug 2026 14:25:19 -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 675HSO5l3889483 for ; Wed, 5 Aug 2026 18:25:16 GMT Received: from mail-qk1-f198.google.com (mail-qk1-f198.google.com [209.85.222.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fv5x5sh5e-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 05 Aug 2026 18:25:16 +0000 (GMT) Received: by mail-qk1-f198.google.com with SMTP id af79cd13be357-92e63df032bso13969985a.0 for ; Wed, 05 Aug 2026 11:25:16 -0700 (PDT) Received: from QCOM-UWl2o8bcGT.qualcomm.com ([187.11.154.152]) by smtp.gmail.com with ESMTPSA id af79cd13be357-9364a3fc901sm209387885a.6.2026.08.05.11.25.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 05 Aug 2026 11:25:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=anJk7IJzL8d kdA7D3bKcodd/3jx315ie4Oya1yu88O8=; b=Ik9mpSSsPBA+wzvRND4J2FIpbAn aKONOgkQkB3F8ifmInkZdTXU8r6URZzlwVoTxO2kx192nFUgS0ShsBetFVP1F84G pgsqV9qULrozkJPyE2vDQbvIbSMKQH5jJWEHi8PUPh6OX/oZAHL733US+M1nQM4V jdbZ0MiRdBnPOa6bkYBlTB2TwsXslxNvtDmToFy/LxxZ8B9Zva5pSLC6/+ZU+Zxj J1GUa83GcfWtknyRf40oKgPDVu+oUn4AXYvn77OsQ9+eFp0cgyc6DdE6/hn7sJWA dxNxj2c2B2PBGKBr7ZePugKWz9eEE+Ir7OQtQIYD0747iMewSBGxgnaEcSg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1785954316; x=1786559116; 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:content-type; bh=anJk7IJzL8dkdA7D3bKcodd/3jx315ie4Oya1yu88O8=; b=kTq0Vca6PyWrMWuhHIMXk7EWt+uM7wtMpmc4JzArC8hlvM3A+QqyDSmW8Lg0Qeyjur IttTFegiUcHzk4+B5i2715vZ2L9I5+WmrdZWAVF7JKgPFYLziErxCOf1kO2d4bWByC2q EmsA+k6iRWMAeTg4si+gpZni2rb24tMQMWySo0nHZT5ds2mQNs1O825sMncCwc4V+Xaj KmudaV+pFlFGrR0uSNv5Hj0ayX+IhyRpMbhe5/3aHowIL3x5hqg0JtE4jL85TyRwfKNo Fk+xrq5Ty0hsncYV4YBIBWb7mxGiyDMRMHHDMGom9OSdZdwKr/uLZU0XaeFN2Dc6P2df G3Ag== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785954316; x=1786559116; 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:content-type; bh=anJk7IJzL8dkdA7D3bKcodd/3jx315ie4Oya1yu88O8=; b=cuDwk9nNRIqkKDHe+SU3RnPlFatHJ/34lAnK6noiVTP3mASfPAL37s6zUk8jcVuSdQ 5GmMXDK7ppMTtkoADC4NBQ1NcjJQIYUyf+cN308/SLD9vJOeQLClGzvqiI0kwPlgDq0c B5L6q4YrFm9JZ7WvPo3MTwFa1w66H/1i1jjRLLx1yO6MPQXjR58JBKSg+jNKv7aImLFc MO/qnO/Oe0v4lv8T+ugkY05OQzgKCTQ5WZamJgikNGTZNoDNnqnTcKURYMwsH7W1Wsra PkbaFXCi3uPSU4oK6ZpKqljHc5TQwhcBiiUOiVVfPqM3lprYrW89S1hdKlz6gHaNeRsh 4FSg== X-Gm-Message-State: AOJu0Yz28QmY3Y3Gj4kVFFr95QDAYq6V7OM5yW3vWeZcb9QlZBMaRHgQ 7L49PNLgHrovnPDe+vKOMzhybvYzuhBCdqxNaTyxh8L9Aqa3BuU0AAmz6Po+PFSV3o5Mxhu6OMj IIP3LvR2o6+7ACBzNfFbPd0UXwQStLuWtqcwH04eav/AGZtSkoerFAIKijoRaXefcwQ== X-Gm-Gg: AR+sD12xKrulByLeSATv+3FWH3DSaQqe9AUrh1VxHIjg3/4OG2nk5K8HcF58tWCv5pq 4Auh5o28DrCRN8YE0LPRem4ImkBaylS1DKmq/p4PD57XRpSNopZkZIvgPT5FKjOz3CZvRqaxDMf N+cQk+yn2SSdEGFml1yyDIrfIYcD7ru9Aq+0kQPagga6nVlR53r0vo4R56aDqCbzZ6UjHMeQNjP yNhNYDXmN4Ce0GQwQ+Rh4pxCXGvm32CpVgGjSMcDGeJWNsryBTA8hLS29v6TBJHgmyXTxFGBBMe OhZcyBceGgLzfuKC//GFHYNkR+1Sn6DZP+89cA+4n142MC8U56jyT6JmBdtVByRw9f5xe4XpcLQ Mp8XeW5CKSPSY4BbKdfg42pWs8JUtGUlbeg7wiw== X-Received: by 2002:a05:620a:1b98:b0:930:f285:5ee9 with SMTP id af79cd13be357-93659657e60mr132638085a.20.1785954315623; Wed, 05 Aug 2026 11:25:15 -0700 (PDT) X-Received: by 2002:a05:620a:1b98:b0:930:f285:5ee9 with SMTP id af79cd13be357-93659657e60mr132632585a.20.1785954315202; Wed, 05 Aug 2026 11:25:15 -0700 (PDT) From: Daniel Henrique Barboza To: qemu-devel@nongnu.org Cc: qemu-riscv@nongnu.org, alistair.francis@wdc.com, liwei1518@gmail.com, zhiwei_liu@linux.alibaba.com, chao.liu@processmission.com, Daniel Henrique Barboza , Palmer Dabbelt Subject: [PATCH 1/5] target/riscv: split 'debug' and 'sdtrig' flags Date: Wed, 5 Aug 2026 15:25:02 -0300 Message-ID: <20260805182506.2943757-2-daniel.barboza@oss.qualcomm.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260805182506.2943757-1-daniel.barboza@oss.qualcomm.com> References: <20260805182506.2943757-1-daniel.barboza@oss.qualcomm.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Authority-Analysis: v=2.4 cv=Xea5Co55 c=1 sm=1 tr=0 ts=6a73800c cx=c_pps a=qKBjSQ1v91RyAK45QCPf5w==:117 a=iMfxv9gflPUPBcmW7/Gq5Q==:17 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=3WHJM1ZQz_JShphwDgj5:22 a=EUspDBNiAAAA:8 a=tCBkaT3a_NPXoLf7wY0A:9 a=NFOGd7dJGGMPyQGDc5-O:22 X-Proofpoint-GUID: AOaqUYZzutAeMZlCZS3SRm20jgDunfAZ X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODA1MDE1MSBTYWx0ZWRfX37svSNjph0El WLhfqQeSBM07bmDUsDFDNI8a0pgLkHgdnKXKg1elv5ax708IMkoBZ7PefGEAfoM4NF/GFBo258U ZSBmKFotg3KmiKhTV6fi1oIwhzoOoSZ+zgnUzOWUBhCA1Chycbi+7U/36Y74N12a3C5wZbCRRT1 3oNCn4rxDXI5Fi0Jh7NI0EyOzhAQsGLLM0bWn/oeUeNVGHrLuC/SYbGsIoy/FIwk92wNjTn2Sp9 nvwsxVPcQVK7n5TTtcnRx656kFLIz9a1RqT6OQeNfDejtLrrjlMuJTEHi/EirX/3oB4mSmehymL LEV7WEwe1Op1f5mFZhspGRBVYyTYd2c9lzLTAQxu+yO1ZF9J/P98q+w9PQ44tnFvTtrDZgdD6V1 PCnVpumDJPUCziQnpZo9nEZXL2Pe3J3CBAcKQEQxMYinnWwMr/1cesW0rX4ZSqbM5cRBufnYOM7 lew3Z4/c+WAQKTIA21g== X-Proofpoint-Spam-Info: AW1haW4tMjYwODA1MDE1MSBTYWx0ZWRfX84vISkcyfXmF ppnDwwSj6S8EQbs06cuhSjw97Lr0UFrxxFVQgUXg18dM1bwBWZnQ+RRmmDgDnMNrBOHWg7+zrlQ PvMGGoJseM81IAGX0aZMvc3VNF15ifI= X-Proofpoint-ORIG-GUID: AOaqUYZzutAeMZlCZS3SRm20jgDunfAZ 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-08-05_05,2026-08-05_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 malwarescore=0 spamscore=0 lowpriorityscore=0 adultscore=0 priorityscore=1501 suspectscore=0 bulkscore=0 clxscore=1015 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608050151 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=daniel.barboza@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: 1785954377252158500 Content-Type: text/plain; charset="utf-8" We need to support modern debug extensions that happens to be dependencies of other things that we want to support (e.g. a riscv server spec board). These extensions, namely sdext, depends on Debug 1.0. At this moment we support Debug 0.13, and so it happens that 0.13 and 1.0 aren't backwards compatible, i.e. we need design changes to support both. The easier way is to deprecate the Debug 0.13 support, together with its legacy 'debug' flag and call it a day. But there's a demand to keep the 0.13 support around and this idea got scrapped. We're going to support both 0.13 and 1.0, where the 'debug' flag will refer to 0.13 and 'sdtrig' to 1.0. We need to split both in distinct flags first to handle the backend changes, so: - add a new cpu->cfg.ext_sdtrig flag; - all code that checks "if debug enabled" now checks for both debug and ext_sdtrig; - amend riscv_isa_string_ext() to keep adding 'sdtrig' in riscv,isa if we have just the 'debug' flag enabled. Signed-off-by: Daniel Henrique Barboza Reviewed-by: Alistair Francis --- target/riscv/cpu.c | 21 ++++++++++++++++----- target/riscv/cpu_cfg_fields.h.inc | 1 + target/riscv/machine.c | 2 +- target/riscv/tcg/csr.c | 2 +- target/riscv/tcg/tcg-cpu.c | 3 ++- 5 files changed, 21 insertions(+), 8 deletions(-) diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c index 5a82e6563b..db4f2b6459 100644 --- a/target/riscv/cpu.c +++ b/target/riscv/cpu.c @@ -247,7 +247,7 @@ const RISCVIsaExtData isa_edata_arr[] =3D { ISA_EXT_DATA_ENTRY(zvkt, PRIV_VERSION_1_12_0, ext_zvkt), ISA_EXT_DATA_ENTRY(zhinx, PRIV_VERSION_1_12_0, ext_zhinx), ISA_EXT_DATA_ENTRY(zhinxmin, PRIV_VERSION_1_12_0, ext_zhinxmin), - ISA_EXT_DATA_ENTRY(sdtrig, PRIV_VERSION_1_12_0, debug), + ISA_EXT_DATA_ENTRY(sdtrig, PRIV_VERSION_1_12_0, ext_sdtrig), ISA_INTERNAL_EXT_DATA_ENTRY(shcounterenw, PRIV_VERSION_1_12_0, has_priv_1_12), ISA_INTERNAL_EXT_DATA_ENTRY(sha, PRIV_VERSION_1_12_0, ext_sha), @@ -1079,7 +1079,7 @@ static void riscv_cpu_reset_hold(Object *obj, ResetTy= pe type) =20 #ifndef CONFIG_USER_ONLY #ifdef CONFIG_TCG - if (cpu->cfg.debug) { + if (cpu->cfg.debug || cpu->cfg.ext_sdtrig) { riscv_trigger_reset_hold(env); } #endif @@ -1241,7 +1241,7 @@ static void riscv_cpu_realize(DeviceState *dev, Error= **errp) riscv_cpu_register_gdb_regs_for_features(cs); =20 #if defined(CONFIG_TCG) && !defined(CONFIG_USER_ONLY) - if (cpu->cfg.debug) { + if (cpu->cfg.debug || cpu->cfg.ext_sdtrig) { riscv_trigger_realize(&cpu->env); } #endif @@ -1258,7 +1258,7 @@ static void riscv_cpu_unrealize(DeviceState *dev) #if defined(CONFIG_TCG) && !defined(CONFIG_USER_ONLY) RISCVCPU *cpu =3D RISCV_CPU(dev); =20 - if (cpu->cfg.debug) { + if (cpu->cfg.debug || cpu->cfg.ext_sdtrig) { riscv_trigger_unrealize(&cpu->env); } #endif @@ -2834,6 +2834,11 @@ RISCVCPUImpliedExtsRule *riscv_multi_ext_implied_rul= es[] =3D { }; =20 static const Property riscv_cpu_properties[] =3D { + /* + * The 'debug' flag enables support for the legacy Debug + * 0.13 spec. In case cpu->ext.ext_sdtrig is also enabled + * the CPU will enable Debug 1.0 instead. + */ DEFINE_PROP_BOOL("debug", RISCVCPU, cfg.debug, true), DEFINE_PROP_BOOL("big-endian", RISCVCPU, cfg.big_endian, false), =20 @@ -3055,7 +3060,13 @@ static void riscv_isa_string_ext(RISCVCPU *cpu, char= **isa_str, char *new =3D *isa_str; =20 for (edata =3D isa_edata_arr; edata && edata->name; edata++) { - if (isa_ext_is_enabled(cpu, edata->ext_enable_offset)) { + if (isa_ext_is_enabled(cpu, edata->ext_enable_offset) + /* + * We've been adding 'sdtrig' in riscv,isa for + * Debug 0.13 for awhile. Until we decide to + * move away from it we'll keep doing it. + */ + || (!g_strcmp0(edata->name, "sdtrig") && cpu->cfg.debug)) { new =3D g_strconcat(old, "_", edata->name, NULL); g_free(old); old =3D new; diff --git a/target/riscv/cpu_cfg_fields.h.inc b/target/riscv/cpu_cfg_field= s.h.inc index 9eb47af0a7..e32af40c90 100644 --- a/target/riscv/cpu_cfg_fields.h.inc +++ b/target/riscv/cpu_cfg_fields.h.inc @@ -105,6 +105,7 @@ BOOL_FIELD(ext_zvfbfmin) BOOL_FIELD(ext_zvfbfwma) BOOL_FIELD(ext_zvfh) BOOL_FIELD(ext_zvfhmin) +BOOL_FIELD(ext_sdtrig) BOOL_FIELD(ext_smaia) BOOL_FIELD(ext_ssaia) BOOL_FIELD(ext_smctr) diff --git a/target/riscv/machine.c b/target/riscv/machine.c index 0ab613a298..a744462d48 100644 --- a/target/riscv/machine.c +++ b/target/riscv/machine.c @@ -228,7 +228,7 @@ static bool debug_needed(void *opaque) { RISCVCPU *cpu =3D opaque; =20 - return cpu->cfg.debug; + return cpu->cfg.debug || cpu->cfg.ext_sdtrig; } =20 static int debug_post_load(void *opaque, int version_id) diff --git a/target/riscv/tcg/csr.c b/target/riscv/tcg/csr.c index 36f2004bc5..850fbf32fc 100644 --- a/target/riscv/tcg/csr.c +++ b/target/riscv/tcg/csr.c @@ -804,7 +804,7 @@ static RISCVException have_mseccfg(CPURISCVState *env, = int csrno) =20 static RISCVException debug(CPURISCVState *env, int csrno) { - if (riscv_cpu_cfg(env)->debug) { + if (riscv_cpu_cfg(env)->debug || riscv_cpu_cfg(env)->ext_sdtrig) { return RISCV_EXCP_NONE; } =20 diff --git a/target/riscv/tcg/tcg-cpu.c b/target/riscv/tcg/tcg-cpu.c index 4af5cd9c73..02bbdaef8e 100644 --- a/target/riscv/tcg/tcg-cpu.c +++ b/target/riscv/tcg/tcg-cpu.c @@ -182,7 +182,8 @@ static TCGTBCPUState riscv_get_tb_cpu_state(CPUState *c= s) ? EXT_STATUS_DIRTY : EXT_STATUS_DISABLED; } =20 - if (cpu->cfg.debug && !icount_enabled()) { + if ((cpu->cfg.debug || cpu->cfg.ext_sdtrig) + && !icount_enabled()) { flags =3D FIELD_DP32(flags, TB_FLAGS, ITRIGGER, env->itrigger_enab= led); } #endif --=20 2.43.0 From nobody Wed Aug 26 17:02:32 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=1785954409; cv=none; d=zohomail.com; s=zohoarc; b=XZ4eHIwM/iROcHwXSKXpAvFmVrR4XqgD/u/L9loU7IgjCr9oSwYplNxBrRgw3vYICo/v5dQU2TEZfRxwS5/ocWrBctgdwz/JQG9hrpfBbMHrIaDbaaCyNFP4fMdUQbxdCF1oP3f6fW+wpSfhdNjK0/yG9RkO8oAXWGDDrdbWui8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1785954409; h=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=zpTq8m8yansXiuzePHJBQKT4ihkudLV2rjyap1lEZfQ=; b=LhJW8Z7FqNQ6ZLQq/bdSruNAsZosikzkp+/gidR+JgYuh41VMi190jjfg2rlcxLGUTCOz7DdqIgT87o4XHFGrSAmU54dCXaC/DFparKxCJDMt8BosWCkP7iEvFJklkQLcfDvszUbeHjtVkV8l9Qzijuz+5EbvU0y2x2/it/Wc/4= 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 1785954409671525.1451855165826; Wed, 5 Aug 2026 11:26:49 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wrgJU-00009b-Fy; Wed, 05 Aug 2026 14:26:00 -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 1wrgIu-0008VN-9G for qemu-devel@nongnu.org; Wed, 05 Aug 2026 14:25: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 1wrgIq-0007ea-IE for qemu-devel@nongnu.org; Wed, 05 Aug 2026 14:25:23 -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 675HS6Kc3888539 for ; Wed, 5 Aug 2026 18:25:19 GMT Received: from mail-qk1-f197.google.com (mail-qk1-f197.google.com [209.85.222.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fv5x5sh5u-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 05 Aug 2026 18:25:19 +0000 (GMT) Received: by mail-qk1-f197.google.com with SMTP id af79cd13be357-930edb4362dso106774085a.3 for ; Wed, 05 Aug 2026 11:25:19 -0700 (PDT) Received: from QCOM-UWl2o8bcGT.qualcomm.com ([187.11.154.152]) by smtp.gmail.com with ESMTPSA id af79cd13be357-9364a3fc901sm209387885a.6.2026.08.05.11.25.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 05 Aug 2026 11:25:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=zpTq8m8yans XiuzePHJBQKT4ihkudLV2rjyap1lEZfQ=; b=FfP94iKZKYomcRKfZancagW0xjU gU7yhJEx+eVtes6b4vnVmQ48XqyV2gfwp7S/geEB7d5gly5ZDAeGZzTNaxu9K3Yw Ox/DBb4fZV7D5sLnOysdHQd6Qm8QUunRtXTygqzs9FEih3WrAAc6nMyue1PuL3ft RSxA2a8CpJtWhHnAtixCpV/J4bgmkGEWjrTo4T69DiazX3nuI0XywixkznnWziOk +g7GMeh0a+m/27buZoPrVMsiv10h3KZ3UHx0cvaW77F4ScLlI7xSQurxYeT7FvJZ 7A5ARfVS5ebjj2k3Lx+woUd6EJDGe8sLMZvDuLPRsE34z/OKnNg3sSwRv0A== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1785954319; x=1786559119; 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:content-type; bh=zpTq8m8yansXiuzePHJBQKT4ihkudLV2rjyap1lEZfQ=; b=SXzWHXCh3fz8jQFVrbxYoUgWYZMcOq0pvFuLn/4iFrbWErIMZtuDsbbhqtxwyVo6Rh ePDt3NYo9VzoTJpmJJIODSIi89tvWwRIDq2myFm85LXcP1v2sCDBgWrx2XKRHBLpp1iQ P6C7v0h34bJJRupTjd6nATzbFbXSGGXQ60d3LKJgZGx/JFWBri9il4ImgxDgtgYt2HZC Sxahu8hiGa9GDPaAHhCfke4I/EV/g4nVq8ubnPf99F+NeNC9RbvScHrAN/6tooDb5BFX nrAHMn8IiW7t2C/mdCVUyRDFNi0fUAqlgB1Fg/8bB50BgF/tcU7qS3F2bneFhc6S3MW6 NeWQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785954319; x=1786559119; 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:content-type; bh=zpTq8m8yansXiuzePHJBQKT4ihkudLV2rjyap1lEZfQ=; b=DsqOgZiovvugKssRICrm5jt5aLsVIsXCxrdJxem3CpEp9A1/Vq439ibwU1rCPKyvWs HzfKg45/86xJXaEFh6OSlXxofAVQl2rNqcIEmlwaWrqBi7F0GjZ20Lvk1DTjVn4IdN7n WlkxH6Ntu+ojVUufC8dciRMP4VAbUhjUby5D2Au3H7J+NumDJwUsuRjkdEQeHwi3Ynod xYbJfMbKBEEMslOBked6hGV4WSM5cNB45DvrTMLfrFCk8O+ueW42aHQvy6GlWxKzTZ6G ZHSGrLRWVGw+Nmueydwox2pa59VnLTuEWLZ800x51OJWadIZMvx7KGRrySDMvEnC/QOo lyeg== X-Gm-Message-State: AOJu0Yye5R1pyYV6hrUlWYTJQnrDRC2cyJduEyJSF/6wpIVUr1soelZq 2z/AF0biWRH56ZcLv8b+WLVd0qmzhUxX1In04+FHOaiaH2SMO2+wIw3XZlokmCrZdmrFlgrj5tD yhTW7x32iNs3ZHC7O2Vyq4GW9K0qWEU42U2fV7RAltQ/x7fQyOYEOa2MoPAT6ACuihA== X-Gm-Gg: AR+sD13c3hZdC41VGB8pQ/CyOD4FmTKTbxq0ECT9J/S448IGvozg5+APmhOelwWxIxJ zxIC0h8Ec2MqsPMaJjIKyYKDpJmEYsjHicxWVZ0EOh1z7eu06W//Jkq0gHjPZLV7cEBZVbxp+Kr ETgYquhnyDI1vcW4SqkB5YtjotfEieHBN4SRnPraa4tYbBCE/qD7iQq1z9YG5dXZrjP4UDQEPGf +CTexgdeeOVgi8QYzoTJiPZWmlOBHrtKFWGDdp4kiKQV7BDH5yUCot4RI3cgdzTaLUaJQi2Bzw7 hOVBmpWxts20GkMvJF/jFsACwaudogBpBuF5YJNECjiyG30baaSLUKCI4EfIto08/kWmjqSERZq lPdLOfb6lKfFxIZp6YjcCuwt9cvoPhs7tTOpaNA== X-Received: by 2002:a05:620a:2616:b0:92e:4927:1ff9 with SMTP id af79cd13be357-936491302dcmr860161885a.40.1785954318857; Wed, 05 Aug 2026 11:25:18 -0700 (PDT) X-Received: by 2002:a05:620a:2616:b0:92e:4927:1ff9 with SMTP id af79cd13be357-936491302dcmr860150985a.40.1785954317968; Wed, 05 Aug 2026 11:25:17 -0700 (PDT) From: Daniel Henrique Barboza To: qemu-devel@nongnu.org Cc: qemu-riscv@nongnu.org, alistair.francis@wdc.com, liwei1518@gmail.com, zhiwei_liu@linux.alibaba.com, chao.liu@processmission.com, Daniel Henrique Barboza , Palmer Dabbelt Subject: [PATCH 2/5] target/riscv/tcg/debug.c: add Debug 1.0 'pending' bit Date: Wed, 5 Aug 2026 15:25:03 -0300 Message-ID: <20260805182506.2943757-3-daniel.barboza@oss.qualcomm.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260805182506.2943757-1-daniel.barboza@oss.qualcomm.com> References: <20260805182506.2943757-1-daniel.barboza@oss.qualcomm.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Authority-Analysis: v=2.4 cv=Xea5Co55 c=1 sm=1 tr=0 ts=6a73800f cx=c_pps a=50t2pK5VMbmlHzFWWp8p/g==:117 a=iMfxv9gflPUPBcmW7/Gq5Q==:17 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=3WHJM1ZQz_JShphwDgj5:22 a=EUspDBNiAAAA:8 a=MeNw4mndUgOD9sKrnOsA:9 a=IoWCM6iH3mJn3m4BftBB:22 X-Proofpoint-GUID: 0DllCkLaz15FbG6IdDyHM2XdSVx0NFtk X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODA1MDE1MSBTYWx0ZWRfXy0NcTuKjrxqk XNN7f6q8ec7+Dgtv9IStqX/C/hWx2v1m4dGPSV/8PRNcaYG6dYF/SWHGGGcMPBTZNcNOzXDw5Kw vaNwy3ohff3pPieH/w7JQ37BvOE5vhnGb5s7PPk3x4MxBR1gFbZ5Ehno8IXQ/gR9oRX6pTeC+0J vKc+wLKCapvXEHIRLUQW0LaNiHxUG9lXqZ5bLx0QRJjTuAfZgxbSqV2bHUX/UsaRFdgFCQLx1WT BKB2uVAmDpFj9rdQH3Dc+K7KFOBW0DkDH4OCR2LizVatvWlTcyH//yeq3iUyuhW9t/It2k3wWvQ K004Mf3A7/ofHcIckRaQFg+9Cm5ODgHJ49H4B5NuQRs4Zh2kfivxBL4ed0s6FamV3xfUeko7ZSH OPSjpkTbNzD1lYJZyoKuAZs7MH/cwJ5kzoPNCC4DqF3bMWDnH2qff5SYozEPQzF0SLz34Af5JGa HaNZSFalRGb4VCsHM/Q== X-Proofpoint-Spam-Info: AW1haW4tMjYwODA1MDE1MSBTYWx0ZWRfX0T13YN9iIsmQ gOt/r3khhLqPOFdgNoKgmbnhb+irVlwPeTbQhhYxcJpH9CcDG/KfvERWstAGmyXRooe4xQl4ydz aUxh6noWO9ZciXMqr6GnS0B7ywWy9kc= X-Proofpoint-ORIG-GUID: 0DllCkLaz15FbG6IdDyHM2XdSVx0NFtk 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-08-05_05,2026-08-05_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 malwarescore=0 spamscore=0 lowpriorityscore=0 adultscore=0 priorityscore=1501 suspectscore=0 bulkscore=0 clxscore=1015 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608050151 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=daniel.barboza@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=unavailable 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: 1785954410940158500 Content-Type: text/plain; charset="utf-8" We need to set the 'pending' bit when 'count' reaches 0, clearing it right after the trigger fires. This is 1.0 exclusive behavior so no changes are needed when running Debug 0.13. Signed-off-by: Daniel Henrique Barboza Reviewed-by: Alistair Francis --- target/riscv/tcg/debug.c | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/target/riscv/tcg/debug.c b/target/riscv/tcg/debug.c index 3c0fe70101..2191928761 100644 --- a/target/riscv/tcg/debug.c +++ b/target/riscv/tcg/debug.c @@ -77,6 +77,11 @@ static int access_size[SIZE_NUM] =3D { [6 ... 15] =3D -1, }; =20 +static bool debug_trigger_version_1_0(CPURISCVState *env) +{ + return riscv_cpu_cfg(env)->ext_sdtrig; +} + static inline target_ulong extract_trigger_type(CPURISCVState *env, target_ulong tdata1) { @@ -684,6 +689,17 @@ itrigger_set_count(CPURISCVState *env, int index, int = value) ITRIGGER_COUNT, value); } =20 +static inline void +itrigger_set_pending(CPURISCVState *env, int index, int val) +{ + if (!debug_trigger_version_1_0(env)) { + return; + } + + env->tdata1[index] =3D set_field(env->tdata1[index], + ITRIGGER_PENDING, val); +} + static bool check_itrigger_priv(CPURISCVState *env, int index) { target_ulong tdata1 =3D env->tdata1[index]; @@ -735,8 +751,25 @@ void helper_itrigger_match(CPURISCVState *env) } itrigger_set_count(env, i, count--); if (!count) { + /* + * From the 1.0 spec: "When pending is set, the trigger + * fires just before any further instructions are executed + * in a mode where the trigger is enabled. As the trigger + * fires, pending is cleared." + * + * And: "This bit becomes set when count is decremented + * from 1 to 0. It is cleared when the trigger fires, + * which will happen just before executing the next + * instruction in one of the enabled modes". + * + * Note that itrigger_set_pending() is a no-op if we're + * running debug 0.13. + */ + itrigger_set_pending(env, i, 1); + env->itrigger_enabled =3D riscv_itrigger_enabled(env); do_trigger_action(env, i); + itrigger_set_pending(env, i, 0); } } } --=20 2.43.0 From nobody Wed Aug 26 17:02:32 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=1785954375; cv=none; d=zohomail.com; s=zohoarc; b=PHDC9/fw4t+GCX23DjK+xyvG0z3/veY/+Nqvwck4lrZ3C0ovqZJMQ9Ds86HJ93t+30LAL6wG2PeDLeRq96Oupsd8TOo/cC4a9TFnyye/gd31Z5qjlWKUKZiK3WkakjTZC3sSjfEyLZzCPcRCKaOafEZr9ioJ0Ncezbe7q8TosjM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1785954375; h=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=Fo9WcDAG0XWYO36L1JlqsbMEVdpKaz9zVMY7ExGggkc=; b=B3CGlqhGlam1n9e9U/d3Ef3NZEFFCTDwthd93+8RPKPmWyXL3x+kTk9MWx60DrY64M0il3Z1KvG0he9hW3Qns5iHsZoX57u6h4qj1Eu2zwWRsmG2gtZEGmCLHLGx+rhVZu56uTbomZPiKdv7/LbguljDyL29fzReXiHDQIrofkM= 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 1785954375078880.343378123104; Wed, 5 Aug 2026 11:26:15 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wrgJT-00008p-8f; Wed, 05 Aug 2026 14:26:00 -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 1wrgIw-0008VQ-Ll for qemu-devel@nongnu.org; Wed, 05 Aug 2026 14:25:29 -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 1wrgIs-0007fM-UV for qemu-devel@nongnu.org; Wed, 05 Aug 2026 14:25:24 -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 675HSHsu3889901 for ; Wed, 5 Aug 2026 18:25:22 GMT Received: from mail-qk1-f197.google.com (mail-qk1-f197.google.com [209.85.222.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fv14waxab-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 05 Aug 2026 18:25:21 +0000 (GMT) Received: by mail-qk1-f197.google.com with SMTP id af79cd13be357-9309af14fd7so132844685a.1 for ; Wed, 05 Aug 2026 11:25:21 -0700 (PDT) Received: from QCOM-UWl2o8bcGT.qualcomm.com ([187.11.154.152]) by smtp.gmail.com with ESMTPSA id af79cd13be357-9364a3fc901sm209387885a.6.2026.08.05.11.25.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 05 Aug 2026 11:25:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=Fo9WcDAG0XW YO36L1JlqsbMEVdpKaz9zVMY7ExGggkc=; b=ao8eh9FgDGFGYs/9DW2QV5Ajvpd EovEcxvfFB4m9ZWfMaWLx1BmohsJVRgWFT6w3L6YqqNEJ+/5+NYEdNed/NdZLq6D chPAjmjv5uGbZJRmKsQRMNyt5MmyE+oQpIXjnS+5STF5LyzcqQXufZ0oJS7tTSB9 PK4iXMoVAxQp8eSYhCmTKAT4euqTFAYCJZDi16CTr8zBWPN7x1m9XyCxjXYTCQhP WwZ6Y/10dUG5Gol1Yq5ku1Qu88lGRnPzH5Fm71U5O3yTQnyw7b702hBiTr5Kb8h4 +Czf+14uugOW5ILCkdDXukfhbjNzgFcoHbWoaqDPyvSTxWdM2gLS8JfvHsw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1785954321; x=1786559121; 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:content-type; bh=Fo9WcDAG0XWYO36L1JlqsbMEVdpKaz9zVMY7ExGggkc=; b=kuJ8gVZT/9xNcBIywXyFmM7CjgMejWH4w7WeO703X3MHBpEAdOkJ9kGnL+hPZ846Rk DX14MiZsBxPpYLSZxBWGM4ROYNTwNBlOEDf5IxGi5h195KPw7ZQKX62qZJHYkRoQvjAP Bi0YE9gUvSjig6fYYj2eXUY3BsiQ/rxJsF594pmcCI7iOBqA5YoghkTxuJu5hdcPiSg+ sCMY4bazMZ4ozVsbjtG+WRD8A0qmwyB4YYUa4EfBlzSwxGU0znOcT9BcVj6XZaqSB1yu LqB+/QBc/Tx2agC3bIKFps/J3oluPFhf1aNg2/dlGj/J9YkcjT5US5jXkRXRtyPKNPhP g/zg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785954321; x=1786559121; 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:content-type; bh=Fo9WcDAG0XWYO36L1JlqsbMEVdpKaz9zVMY7ExGggkc=; b=fIiFmrYzCnQv1rZwjnJ5dK8i3Zfbeha+o7UiIDUj9hhqgI9YdfW9/kyrVtOCEY4gpR DKL8HIVdgeig3cU3PmSDpbgOMQ2W9TQy6OZ2Xamjxy731REf4iiBO+tBsH18D7Cw3EWM BMvH42XvNROFMdZGMnMclRps/8aS3EYzKLT1ANdmLt15uUXwt8y23jleDtlYwWIUhqIP uqxcfHtRrh6mnqxdq01ALU8+aAX7oCBGivlbk87GFta68vk19ZJps8GVX/bNuQjqVojd Aa9L5K7y/Nrn004uiU9Di4+xFflpx8+Q2oTxzysz3SGlLpb7KMNlNOdvSACgTOJemt/E UpEQ== X-Gm-Message-State: AOJu0Yxm4+fs1dGjmsBrDJqWxUzulXgUncpWeh7WkMYOqJMHhDRqRFhk A1msX0n1QsB6zSy9wfKP6XZ5I40rkNs/jhdgAvuplJQX1Eh3q2/nK/NwIe+sY9XqXL3o8je6f5E 2SGPJ8WjKScrUhKexSLUV/+plr4Iq3BKycg2RRd0KBaWOyp7rQS4nIE31CMMajlliew== X-Gm-Gg: AR+sD10aSV15vTMcnBSMHSENQlRq2vxNCxcCaLXLW0PknD0j0skBwfO2ZhdlPKlC5aD QcGnfG1vqBsd6Q+p3L0SQi8zhxiZrG0sfcBLk1Jl3Qf3GOYC8TujEMWUupHRMg+ejiHrqgc88kr NGCIYOCJSm1CYIr/3zHJoO++powmKoHQCE7XkyLzicFDO3dLeIk3OhRTBF2laLwKPXbbom7FVz5 mZK/UJb+wsp+jsp+3loHwYKUzCaVqY2nWy0I+/fHQqU3GiwWoHCVJiJodWMnEy4v2BW8GCT6Rud 2rYt5qLiAma11ELRUxdJoRTbARBpDieh/rijxzFV5Wn+SzlsZMvCZTu+AOHZXloZCkt+xWvfiie AuqzeZpnh1+7mz1KmwuxJtAxSEWq7/3fnKQE3mw== X-Received: by 2002:a05:620a:260a:b0:934:9a26:eae9 with SMTP id af79cd13be357-9364910ad88mr902662585a.17.1785954321324; Wed, 05 Aug 2026 11:25:21 -0700 (PDT) X-Received: by 2002:a05:620a:260a:b0:934:9a26:eae9 with SMTP id af79cd13be357-9364910ad88mr902657285a.17.1785954320860; Wed, 05 Aug 2026 11:25:20 -0700 (PDT) From: Daniel Henrique Barboza To: qemu-devel@nongnu.org Cc: qemu-riscv@nongnu.org, alistair.francis@wdc.com, liwei1518@gmail.com, zhiwei_liu@linux.alibaba.com, chao.liu@processmission.com, Daniel Henrique Barboza , Palmer Dabbelt Subject: [PATCH 3/5] target/riscv/tcg/debug: adjust 'timing' bit for Debug 1.0 Date: Wed, 5 Aug 2026 15:25:04 -0300 Message-ID: <20260805182506.2943757-4-daniel.barboza@oss.qualcomm.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260805182506.2943757-1-daniel.barboza@oss.qualcomm.com> References: <20260805182506.2943757-1-daniel.barboza@oss.qualcomm.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Proofpoint-Spam-Info: AW1haW4tMjYwODA1MDE1MSBTYWx0ZWRfX2A1LjiIRXRV/ 9E6MOsSrPOo8/uVeCC+cJs7nUOlm999aPGIYfZTxuH5TMDpygB+EKFrcTHuJLKRInYt0uIlyfGL 02ecvZ3SQ0AoYnYfikj4ViKuApPg53k= X-Proofpoint-ORIG-GUID: OORPBCGb3cNjoWUQPk1ySfHyqbA7VLE2 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODA1MDE1MSBTYWx0ZWRfXxxtEd3wro7je tvdvZqGYksCf1hKEOC3RWNz/oT3mDXC6G7n0bJhemqnHnJXNAYYij0LDbSB6bMYwCfXP36wuQIE vqso11A7w/Y6GNCerFhLCbnlqnD1cqCj4cM1UQqFywXdOeieOYoaX2a+gYRLyeB0y0P+aVsuz8l v6sLCL4dzhDAdCjNogs09LdjaDLWS8iYAuorRU1cUZw6iZUuerNx1S23JZlTerx/iV3H5UuXjSZ cdfWo3a3YC7tu4OP3/tr56sYGHvwXL1mZqB8E1ZyDqm8VFxD+Jx05ljm8fgaoL04vGkg0J9VtJ8 +9E+HaOY5ycHIncA5UZPMQXHEEWJS+iHvCvrLOBUDCwB5AF1Mv8CQQr1GvtGwfwTu2FheZKlVOb HAS45ioWplrzM05sY8UsQ1eoTFjY5ULbhYt+is213Gb/8oz45/iuJBSfH4KRAtb4z4k2UQbZ9IU idbUvWrtRotil+HQOBA== X-Proofpoint-GUID: OORPBCGb3cNjoWUQPk1ySfHyqbA7VLE2 X-Authority-Analysis: v=2.4 cv=Cu+PtH4D c=1 sm=1 tr=0 ts=6a738011 cx=c_pps a=50t2pK5VMbmlHzFWWp8p/g==:117 a=iMfxv9gflPUPBcmW7/Gq5Q==:17 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_glEPmIy2e8OvE2BGh3C:22 a=EUspDBNiAAAA:8 a=hcgX7uFSkN2IqaP9zZIA:9 a=IoWCM6iH3mJn3m4BftBB: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-08-05_05,2026-08-05_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 clxscore=1015 malwarescore=0 spamscore=0 suspectscore=0 bulkscore=0 priorityscore=1501 adultscore=0 impostorscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608050151 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=daniel.barboza@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=unavailable 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: 1785954376972158500 Content-Type: text/plain; charset="utf-8" Version 1.0 changed the 'timing' bit. It is now bit 18. Signed-off-by: Daniel Henrique Barboza Reviewed-by: Alistair Francis --- target/riscv/tcg/debug.c | 7 ++++++- target/riscv/tcg/debug.h | 3 ++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/target/riscv/tcg/debug.c b/target/riscv/tcg/debug.c index 2191928761..8b23c8d045 100644 --- a/target/riscv/tcg/debug.c +++ b/target/riscv/tcg/debug.c @@ -584,10 +584,15 @@ static target_ulong type6_mcontrol6_validate(CPURISCV= State *env, warn_always_zero_bit(ctrl, TYPE6_MATCH, "match"); warn_always_zero_bit(ctrl, TYPE6_CHAIN, "chain"); warn_always_zero_bit(ctrl, TYPE6_ACTION, "action"); - warn_always_zero_bit(ctrl, TYPE6_TIMING, "timing"); warn_always_zero_bit(ctrl, TYPE6_SELECT, "select"); warn_always_zero_bit(ctrl, TYPE6_HIT, "hit"); =20 + if (debug_trigger_version_1_0(env)) { + warn_always_zero_bit(ctrl, TYPE6_TIMING, "timing"); + } else { + warn_always_zero_bit(ctrl, TYPE6_TIMING_0_13, "timing"); + } + /* validate size encoding */ size =3D extract32(ctrl, 16, 4); if (access_size[size] =3D=3D -1) { diff --git a/target/riscv/tcg/debug.h b/target/riscv/tcg/debug.h index a25d099b37..eb635bc277 100644 --- a/target/riscv/tcg/debug.h +++ b/target/riscv/tcg/debug.h @@ -98,7 +98,8 @@ typedef enum { #define TYPE6_CHAIN BIT(11) #define TYPE6_ACTION (0xf << 12) #define TYPE6_SIZE (0xf << 16) -#define TYPE6_TIMING BIT(20) +#define TYPE6_TIMING BIT(18) +#define TYPE6_TIMING_0_13 BIT(20) #define TYPE6_SELECT BIT(21) #define TYPE6_HIT BIT(22) #define TYPE6_VU BIT(23) --=20 2.43.0 From nobody Wed Aug 26 17:02:32 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=1785954393; cv=none; d=zohomail.com; s=zohoarc; b=BmahrOKM7uuD/RTnc++KpAchltGGCyTKC7UUxAklaHe9q44I1EK9E3rOlfb4/7lIxNOxwCS3GUyvwpGz61X7I7EW97lD9puhMIN+XRSoirbW3ZMa1cr5tdbSa8WtWWV16kqQwZciGL5zJ0S5yKQXYqr011i+q3HLt1QcdDEYWIU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1785954393; h=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=blTv4mizGpDGEZidjgr/H7vbQ68dRdp26PLrvP7to6A=; b=mfpYl7P7sLungO+wirYTmy+RdqBi9VYG+/V3GtAwMoF2VcRBlIxgq3H8cm+8guZsCQY5QIuXSqzvJxuxBl9xL4G2En5OCzz2/glEsKIqAjtggYlb5iEWqklyDYDIOpsm2CngzRCKlJ+z6K6E5ne3aarC5nM6Q0M7M86QB+iWXhA= 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 1785954393673265.9192352898988; Wed, 5 Aug 2026 11:26:33 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wrgJW-00009g-3w; Wed, 05 Aug 2026 14:26:02 -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 1wrgIz-0008VY-1L for qemu-devel@nongnu.org; Wed, 05 Aug 2026 14:25:29 -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 1wrgIw-0007fx-68 for qemu-devel@nongnu.org; Wed, 05 Aug 2026 14:25:27 -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 675HSIS83889922 for ; Wed, 5 Aug 2026 18:25:25 GMT Received: from mail-qk1-f200.google.com (mail-qk1-f200.google.com [209.85.222.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fv14waxam-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 05 Aug 2026 18:25:24 +0000 (GMT) Received: by mail-qk1-f200.google.com with SMTP id af79cd13be357-930dda91cbdso218758385a.3 for ; Wed, 05 Aug 2026 11:25:24 -0700 (PDT) Received: from QCOM-UWl2o8bcGT.qualcomm.com ([187.11.154.152]) by smtp.gmail.com with ESMTPSA id af79cd13be357-9364a3fc901sm209387885a.6.2026.08.05.11.25.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 05 Aug 2026 11:25:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=blTv4mizGpD GEZidjgr/H7vbQ68dRdp26PLrvP7to6A=; b=A07+AXgPi0qXTgKScvJC/Ll+ByC m0T97M3Oos517xUQuGt/d5M8w6Ogc840vSuVUHwxfPbVNXhUog0k7z1DY6v0ncJP dA6GkpV0fU8I81It2LHoWcYK0jJD6mS0RV6YD4npHSFHtoEOcEAoIuOtXQ8g3Gi4 8fFWaCkUlnoyXBb5bonomjEprlPUOg8As+//HrnDhiFVE9/oFTX7d5Emh1vhT5bB fIBPJmTK/A0wvC7jnGytsKnlXs6GO8Hf8Jelb8aARShwP4nmioLu4mzLyMXn0gOv Pz//A5UZTtHwFDexXOavoDM2XymlZB92zt3MlUq9YV+mh/W2VyNLqzeDnKg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1785954324; x=1786559124; 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:content-type; bh=blTv4mizGpDGEZidjgr/H7vbQ68dRdp26PLrvP7to6A=; b=AcjDD7e0cdIsVjtD4HoFiY/gJwIuJULqJMoFq/E6cchOcNShKqO8OebktPCoeNng1y gUjoISVDc9nArg2eWXnn8pTDE7JCmUhsg4PS6j2lSymVIVaJ7cJBTZ9BVv/EgISsOGdc rviB7+PRc4q1Y2/ZH7HBBaHmmSU54m+DQ/5yRJMoZ0xgL42xvaCu4zPvQnUUWVu1SDq0 zc71YJlYi+GeSp21Ac1xqCg9jKhrboFVS0Aminj48Z3vxfXhD62lL6tiElfo0FmeNqXe bG8QjlaBQ+dWkgXd2ibAq92v+uctbiQiClpD+cRZC7HHCAsX0gFlrswRww5anVDHaccS B57A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785954324; x=1786559124; 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:content-type; bh=blTv4mizGpDGEZidjgr/H7vbQ68dRdp26PLrvP7to6A=; b=fiEnNUi8ppK8v0f5/LAT4sdj3tQpDnMK16ttNVciAgGTnZyKhMe7lB4P29Y31Q+JBM biGYj4yOmi+AU3/JR/wA26ejM2qq3YbHY2MAPTtGRlsRSYC7FZ2OHL8xdO45esI5L+Fq P0oGWG4ZkIRlpWWqqbcGvHz2HoSdM01nKJfyvTxl5vy7tMNHxy9bIPAn6tsBQ/Cd2aj2 28iIY4k3njAGzui9RbCb0m9AVcwgILH/xd9U+m564Av/rKJutPIw/sPC7NjJMVHq82U8 vqSdPF+g0KL2Vvs+dRvwxPliER94SlgUw96/Urn+Yz6epM1gUV9R+whFKeFrE5HTcxgA 3c0g== X-Gm-Message-State: AOJu0Yz6MCfxHGzkhDlpzTDUKqCrKpmK+QwJ1O5k62eeLO/m1r+zTpz8 b6rak+IKwpL322XFI8NcMkUVSuGElcbjUdN/1wYxiiGsiUkF9wgcq/nGpx+QiC74ZqfeU1paTU7 Mhd0kexq1U+ZyN97I8At4NAtWzXa8FZto2U3l4e9YP8nSAl7KJhvL3q3O1w8flfNdaQ== X-Gm-Gg: AR+sD11FTQhGUYc+03LzdNVOsf/QKnbvZ39hCgz9m7ulzkTHUaWU/pGS8sJ80LWNaoL wmXkfM5r3hQv5W6l0hn440Ke+QARvLEq7jORVZuw8k3Lhl24fYpFSEL1fnw7hdAK9n6g0f6LKun NyuyBq6sjhVOnRzHnQcH9KWL9WWnm8bc34pof50UaYRt3fOjHnHI8lqFJI0e9v9Hcs0vra3k0S9 PdY9BKSTbQfNY2JNWDuzK5UTzp7hD79vCSunqoo35L+fLf5JT7imhtqcj/h4GMeISmUdi5q9bwc WHLk8t4ow1/FkuGCwPhckB/NE5O+9qWCAELwijXWJOPpfc//MsJcjbo95BQs/5oGwwR03HlrXkY wfWJ5xM4lb/8OsU1iIZOreYg/eSGRw3q7S929rA== X-Received: by 2002:a05:620a:8807:b0:92f:362:8097 with SMTP id af79cd13be357-936490579c2mr937407885a.8.1785954324260; Wed, 05 Aug 2026 11:25:24 -0700 (PDT) X-Received: by 2002:a05:620a:8807:b0:92f:362:8097 with SMTP id af79cd13be357-936490579c2mr937400585a.8.1785954323742; Wed, 05 Aug 2026 11:25:23 -0700 (PDT) From: Daniel Henrique Barboza To: qemu-devel@nongnu.org Cc: qemu-riscv@nongnu.org, alistair.francis@wdc.com, liwei1518@gmail.com, zhiwei_liu@linux.alibaba.com, chao.liu@processmission.com, Daniel Henrique Barboza , Palmer Dabbelt Subject: [PATCH 4/5] target/riscv/tcg/debug: set tinfo version if sdtrig enabled Date: Wed, 5 Aug 2026 15:25:05 -0300 Message-ID: <20260805182506.2943757-5-daniel.barboza@oss.qualcomm.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260805182506.2943757-1-daniel.barboza@oss.qualcomm.com> References: <20260805182506.2943757-1-daniel.barboza@oss.qualcomm.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Proofpoint-Spam-Info: AW1haW4tMjYwODA1MDE1MSBTYWx0ZWRfX5LXZmibsapzb sCZ1MF5kTyVvIRKiHXhsduJ3M18fVkww8/TGAaxW818bm9GjgV1OqVWawm+CoHraKa9rmObyA9c LB/eQ1bcbtHRMNYfoIkix5Xf5bqBCCg= X-Proofpoint-ORIG-GUID: zyblSl9PWidiuqFLo2uJ32C_NGejuBfe X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODA1MDE1MSBTYWx0ZWRfX2RjrmzqIUEOq aSwY//rcS93oAyM/42tkqCONK2jBGQfhy36iDFj4Iqu8KmJMzpX9B1ip1/SbGJZGvPk3ReDwKH+ COx7UncRixzK4v0QCnTGchF6sC06sURs3o+1Lxa99RQx9kSkrb4R5Imz/JwjHVAf+AUeecRv4EM QwToL54FT8dF4ylsLHskfK0bTV5q9aVFIbTy373qcq6OlLS7zRPAtT5mHE01EiMBXUA1ufVDDYv puSA2g4kPmztOxEzonisxiioeuq25ZeESvKqfOCjC26i/LFHmbJ5dif8sQCfPBR1+2XloxUmmut SpI18jTcqoE5qg3EPjhDZDq+1kBe6VIVB1bwKnrY8ViCKcmGHIplD5IclKk/WJzJkhpXRS1o5hZ R6YpBOpImjDuDpSZ95pRMD3EFRzdXwhTe9FuibOWrLX5GtcYhAh2XE+8HSf4p8yqPwtiUkB/NNH ZQXi4H+X37kVUd6Ifvg== X-Proofpoint-GUID: zyblSl9PWidiuqFLo2uJ32C_NGejuBfe X-Authority-Analysis: v=2.4 cv=Cu+PtH4D c=1 sm=1 tr=0 ts=6a738014 cx=c_pps a=hnmNkyzTK/kJ09Xio7VxxA==:117 a=iMfxv9gflPUPBcmW7/Gq5Q==:17 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_glEPmIy2e8OvE2BGh3C:22 a=EUspDBNiAAAA:8 a=9MmTmf_e1JsxRL0EyGgA:9 a=PEH46H7Ffwr30OY-TuGO: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-08-05_05,2026-08-05_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 clxscore=1015 malwarescore=0 spamscore=0 suspectscore=0 bulkscore=0 priorityscore=1501 adultscore=0 impostorscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608050151 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=daniel.barboza@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: 1785954394861158500 Content-Type: text/plain; charset="utf-8" Set 'version' to 1 if we're running Debug 1.0. Signed-off-by: Daniel Henrique Barboza Reviewed-by: Alistair Francis --- target/riscv/tcg/debug.c | 11 ++++++++--- target/riscv/tcg/debug.h | 3 +++ 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/target/riscv/tcg/debug.c b/target/riscv/tcg/debug.c index 8b23c8d045..06573c7b3f 100644 --- a/target/riscv/tcg/debug.c +++ b/target/riscv/tcg/debug.c @@ -957,9 +957,14 @@ void tdata_csr_write(CPURISCVState *env, int tdata_ind= ex, target_ulong val) =20 target_ulong tinfo_csr_read(CPURISCVState *env) { - /* assume all triggers support the same types of triggers */ - return BIT(TRIGGER_TYPE_AD_MATCH) | - BIT(TRIGGER_TYPE_AD_MATCH6); + target_ulong val =3D BIT(TRIGGER_TYPE_AD_MATCH) | + BIT(TRIGGER_TYPE_AD_MATCH6); + + if (debug_trigger_version_1_0(env)) { + val =3D deposit64(val, TINFO_VERSION_OFFSET, TINFO_VERSION_LEN, 1); + } + + return val; } =20 void riscv_cpu_debug_excp_handler(CPUState *cs) diff --git a/target/riscv/tcg/debug.h b/target/riscv/tcg/debug.h index eb635bc277..fcd92b768c 100644 --- a/target/riscv/tcg/debug.h +++ b/target/riscv/tcg/debug.h @@ -45,6 +45,9 @@ typedef enum { TRIGGER_TYPE_NUM } trigger_type_t; =20 +#define TINFO_VERSION_OFFSET 24 +#define TINFO_VERSION_LEN 8 + /* actions */ typedef enum { DBG_ACTION_NONE =3D -1, /* sentinel value */ --=20 2.43.0 From nobody Wed Aug 26 17:02:32 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=1785954382; cv=none; d=zohomail.com; s=zohoarc; b=CXJDXwR/FGeNQZML+cIxy95extzsdHPrPl2VkpTwnBtFAYE0ua2XV9B6lndUpRJHXPg+a3L4icBGnWhBquztcJWs88x4pkbB74l+mINCaVZLRYhTHJiBFxG64Ye0DN8TOLitnudR5ERoAZPMcxQ4Tj0Bvt5j0pxT1/PKSp3BEu4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1785954382; h=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=AWC3jvrWcnNmnr5H6oLP/K98MOvHsWoX9ZmIMuKsGLc=; b=impkZer26hpAidQOGRWuzey5w7BvDHbRC4TV3ZmTddnAlVq6/bO4k50syfjyh0zP+r2rMoWoia0FtF2vSVA81kGxVE6SSwzH4KvZyyyaCgmwlu6/3w+sEwu6I2hKL2MIhQX2NoTHstbNZDHne1cyEZSDkczs5w0l6sT2TVNkPi0= 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 1785954382724169.62384472386464; Wed, 5 Aug 2026 11:26:22 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wrgJP-00008C-B3; Wed, 05 Aug 2026 14:25:57 -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 1wrgJ9-00005h-J0 for qemu-devel@nongnu.org; Wed, 05 Aug 2026 14:25:40 -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 1wrgJ0-0007gQ-67 for qemu-devel@nongnu.org; Wed, 05 Aug 2026 14:25:33 -0400 Received: from pps.filterd (m0279863.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 675HSOeb3673620 for ; Wed, 5 Aug 2026 18:25:28 GMT Received: from mail-qk1-f200.google.com (mail-qk1-f200.google.com [209.85.222.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fv3w6a2jb-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 05 Aug 2026 18:25:28 +0000 (GMT) Received: by mail-qk1-f200.google.com with SMTP id af79cd13be357-92ea24a2db9so154884685a.0 for ; Wed, 05 Aug 2026 11:25:27 -0700 (PDT) Received: from QCOM-UWl2o8bcGT.qualcomm.com ([187.11.154.152]) by smtp.gmail.com with ESMTPSA id af79cd13be357-9364a3fc901sm209387885a.6.2026.08.05.11.25.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 05 Aug 2026 11:25:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=AWC3jvrWcnN mnr5H6oLP/K98MOvHsWoX9ZmIMuKsGLc=; b=b+YOsILjabdM+1Tsrd61FhW21Dw 0WSbI00nogBhzjKLLCCvFE1b1C1cJ9rAzyM5SJxXFwg5ELuJe+uZ2LnXQIi4sHgo DKBOqGZRwGXv7ZNLm/nJq4toQ1nLoFphZQoopqKc4z7BuyvDK8qulcrHkVS7jzy9 WhXzFp1W2bBpjcsSEd2alAZ3DFbBBGvn8ZRmOtG6MOd/tB9LDeeSOkw3ASMBwyOf kzT/0epObw/wfgdBRyDsF+OceE9GyvROZT0lCKUVQTOGjH5ujHzuqo/DgT5kZVBA URL+qswsM7ZKfHOy+Gz6XSZx9m2xTqbNNeHf13mC1rk4gpYa7wQEbKKB+KA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1785954327; x=1786559127; 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:content-type; bh=AWC3jvrWcnNmnr5H6oLP/K98MOvHsWoX9ZmIMuKsGLc=; b=Sjz2KGEJLWG2e8YW76/709sPhOmV/Yhp4NG75DQuMq/z78kcIyL/dSiSB9yf2cl1FG hXzjxQPvjSNj3/h404T3J+5YK97B7nVqw/nkEQD5s5Xgg9TX66eMeNVYmg6rf9YHXEDQ wJxQrB96SnoIIw9cQ6NWKvkpkGOx90cr0I4hor8FmAjXTbXfSjeDpjYSGiou1SfALiOe LMvMD7dkewaKXk+CkIs+4chpxtfjDd8DKVoZ7Xa4MWFZ9MIaQv4ew5vg96sTInXsBpao HL/yNje1n98MRiDljTBYzniJ8QtRiCLyvfW9d03t3IaTCdxSYxcVzW5C03pOEaKBNwmh xeOw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785954327; x=1786559127; 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:content-type; bh=AWC3jvrWcnNmnr5H6oLP/K98MOvHsWoX9ZmIMuKsGLc=; b=OuoHRRVwKq+lghM04YX9h5kEkmVzefNYH6tVc7RafDdtfQLNOS0KO+bs8jJGqUxTr6 QltnfARzHRiODJ7rCIuG4QbBX8SRDvn35FIKMcOgU6P3LOWYRGJ2Q2zCx1pCTNJh9YER WTyr1DMeSOksWct9yg4WcjwLAvRn2zxV4GMJ/u41gUk4FlPDeBKsy1EkCpu/WdoPXW5Y UuJqIW931TLBlIP40hz6M556VxBOsTNO8GLytfuPU97i8AizNnJqBPF92qn6H29CzkU2 UhSv+OHuhs3WRB8F3P2jicFHUkNRV07AwK/zpeBUSdh4PGxr3pr5oc9ZfRbQQxxNW2oc F0YQ== X-Gm-Message-State: AOJu0YwrbE1C2obftXx2+MBTVoWb9l295PRPgios0wjfSxz5ZmdF9vEG V7FXJltuwPBmyIKUbUUNKYYpmlXGL5SQXvRyoFOdqiioFZQUOqkcFvSDrgRi5ElvjXCuKvMs45+ SWfRFHw7refb9m3hVoTaGCB5P10IOb3V4UQxSHtql/JkmfJlE6jrRx/csFXgaZwcBHA== X-Gm-Gg: AR+sD11w5Yi1H02sUFuPZ0RjS5EgGrkTAiZMJSI60dLMomJ/rg4qdBb8W18b6fvqKrb e4Q8kxBpmtYOsdrCC1mB7N/D58RpVbHGvtyBrEU4Os31YLBuOf+rLgSCvJ37/gTo27MwVjIpxe1 A8Uh+LpOXj8kmrsr7cbPzWeOBT4NphDItAnioDKaUGpttuXsSO3tlISwZhy9Yx9S2ZH3SPn2+LG CV9eLtZoCt4dT+TAJeG/CPCyQBc5yQ8osEsiy5aLJsCGqtjPBYfgtYtdBxmdrJ984DPluO05CXb rUJw666YBSjtfk5B7ZLOhftp0PKOTpDmNyfcBfYjDeYoUOdmjyC/lWAhVWtD5Xd/yjgPX0XqXkj Xd/JhwgZFjjFlUy9/nERKq9eecZb5FrmTKD+wTw== X-Received: by 2002:a05:620a:a2dc:20b0:92e:8aed:4785 with SMTP id af79cd13be357-936490e7a4bmr661847485a.25.1785954326998; Wed, 05 Aug 2026 11:25:26 -0700 (PDT) X-Received: by 2002:a05:620a:a2dc:20b0:92e:8aed:4785 with SMTP id af79cd13be357-936490e7a4bmr661843685a.25.1785954326455; Wed, 05 Aug 2026 11:25:26 -0700 (PDT) From: Daniel Henrique Barboza To: qemu-devel@nongnu.org Cc: qemu-riscv@nongnu.org, alistair.francis@wdc.com, liwei1518@gmail.com, zhiwei_liu@linux.alibaba.com, chao.liu@processmission.com, Daniel Henrique Barboza , Pierrick Bouvier Subject: [PATCH 5/5] docs/specs: add RISC-V CPU Debug support info Date: Wed, 5 Aug 2026 15:25:06 -0300 Message-ID: <20260805182506.2943757-6-daniel.barboza@oss.qualcomm.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260805182506.2943757-1-daniel.barboza@oss.qualcomm.com> References: <20260805182506.2943757-1-daniel.barboza@oss.qualcomm.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Proofpoint-GUID: C0WOPJ-JVtn7YU48E-wUj8ruu21Bs879 X-Proofpoint-ORIG-GUID: C0WOPJ-JVtn7YU48E-wUj8ruu21Bs879 X-Authority-Analysis: v=2.4 cv=a48AM0SF c=1 sm=1 tr=0 ts=6a738018 cx=c_pps a=hnmNkyzTK/kJ09Xio7VxxA==:117 a=iMfxv9gflPUPBcmW7/Gq5Q==:17 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yOCtJkima9RkubShWh1s:22 a=HwFc7jivAAAA:8 a=EUspDBNiAAAA:8 a=hLHZJHzLvL1iQ8yadmQA:9 a=PEH46H7Ffwr30OY-TuGO:22 a=kr7TZk85JJIQSqC0cl8G:22 X-Proofpoint-Spam-Info: AW1haW4tMjYwODA1MDE1MSBTYWx0ZWRfX31FaBFBl8mXx 1rJRyAe8crAwuLbSU3Ax00rcQE/Qb7Y+eWglrDLXWAsulYnHjlWZm8jxQo6l69Qd8uL6eZA7oJZ MajHakFAwGblGXHzdiApg7iCAFuscgI= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODA1MDE1MSBTYWx0ZWRfXyH5SK/xkWm6h B++l535nPiFi8BpWtv60iDpzHL8G+9Lx6yTBKe8CDHOChrVICjkKYGIa/DG1a9pBd6U95Xd3oba 3oi4xh7eNPnMCNNYtvSNmlK7bg/QoUqM7DnRQ1f2o2MkyY7KYjF7goKfIkHdob4mEY8c3N2YZdT PJBkNNsmgiBo3OufnCC38inXZVJ3xD+VPcu/Aatpo57ZiYltsEyjoz+nTFESeNRGCq6LhOKSz91 OrUWrjJVTO4RmXblgvBRZgUQ3XpLh2nKHpu7ZbIswte375ODuVgwfiB5PWl+CEn4nAVu59Fj8x+ amCwYJ2qTIDa7M010ss1zf/NFD7RGe9ZCI2V3fzKWsrEaKtgLzVLBht/uD849ch9aRtOhCJ3wOq BBqKvIWaLy5ftubEKDvTJpJTWVHjMok4liXY/VWsnBHzj1kKasDdbgzUEv/GoFKgSwljHzeYvx4 WFM6dt/X0WKfWFiEviw== 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-08-05_05,2026-08-05_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 clxscore=1015 suspectscore=0 spamscore=0 phishscore=0 adultscore=0 malwarescore=0 lowpriorityscore=0 priorityscore=1501 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608050151 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=daniel.barboza@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: 1785954384793158500 Content-Type: text/plain; charset="utf-8" Add documentation regarding how QEMU handles Debug versions 0.13 and 1.0. Signed-off-by: Daniel Henrique Barboza Reviewed-by: Alistair Francis --- docs/specs/index.rst | 1 + docs/specs/riscv-debug.rst | 68 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 69 insertions(+) create mode 100644 docs/specs/riscv-debug.rst diff --git a/docs/specs/index.rst b/docs/specs/index.rst index b7909a108a..181773515d 100644 --- a/docs/specs/index.rst +++ b/docs/specs/index.rst @@ -38,5 +38,6 @@ guest hardware that is specific to QEMU. rocker riscv-iommu riscv-aia + riscv-debug aspeed-intc iommu-testdev diff --git a/docs/specs/riscv-debug.rst b/docs/specs/riscv-debug.rst new file mode 100644 index 0000000000..e6dcad7d38 --- /dev/null +++ b/docs/specs/riscv-debug.rst @@ -0,0 +1,68 @@ +.. SPDX-License-Identifier: GPL-2.0-or-later + +.. _riscv-debug: + +RISC-V Debug support for RISC-V CPUs +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D + +Up until QEMU version 11.1 RISC-V CPUs historically supports Debug version +0.13 via a "debug" flag that is enabled by default in the default rv64 +CPU. + +Starting on QEMU 11.2, RISC-V CPUs supports also Debug version 1.0, enabled +via the "sdtrig" flag like a regular extension. The default setting for r= v64 +is still Debug 0.13 (debug =3D on, sdtrig =3D off), + +The "sdtrig" flag precedes "debug", i.e. if both are enabled the CPU will +implement Debug 1.0. In short: + +.. list-table:: "debug" and "sdtrig" flags and enabled Debug version + :widths: 25 25 25 + :header-rows: 1 + + * - debug + - sdtrig + - Enabled Debug version + * - on + - off + - 0.13 + * - on + - on + - 1.0 + * - off + - on + - 1.0 + * - off + - off + - All Debug versions disabled + + +Debug 0.13 to 1.0 code/design changes +------------------------------------- + +The effort done in QEMU version 11.2 to support Debug versions 0.13 and +1.0 together was based in section 1.2.1.2 "Incompatible Changes from 0.13 +to 1.0" from the ratified `1.0 spec`_. Here's how the proposed changes in +that section were implemented in QEMU 11.2: + +Changes that aren't applicable due to either being SBI related or not pres= ent/supported in QEMU: + * "Make haltsum0 optional if there is only one hart." + * "System bus autoincrement only happens if an access actually takes p= lace (sbdata0)." + * "Require debugger to poll dmactive after lowering it." + +Already implemented in the legacy Debug 0.13 base code: + * "When a selected trigger is disabled, tdata2 and tdata3 can be writt= en with any value supported by any of the types this trigger supports." + * "tcontrol fields only apply to breakpoint traps, not any trap." + +All "hitN" fields are hardwired 0 thus no changes made: + * "If version is greater than 0, then hit0 (previously called mcontrol= 6.hit) now contains 0 when a trigger fires more than one instruction after = the instruction that matched. (This information is now reflected in hit1.)" + +QEMU doesn't support encoding sizes greater than 64 bit so no change made: + * "If version is greater than 0, then the encodings of size for sizes = greater than 64 bit have changed." + +Changes made in the 0.13 codebase to support Debug 1.0: + * "Add pending to icount." + * "If version is greater than 0, then bit 20 of mcontrol6 is no longer= used for timing information. (Previously the bit was called mcontrol6.timi= ng.)" + + +.. _1.0 spec: https://docs.riscv.org/reference/debug/v1.0/_attachments/ris= cv-debug-specification.pdf --=20 2.43.0