From nobody Mon Sep 21 18:57:41 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=none dis=none) header.from=linux.alibaba.com ARC-Seal: i=1; a=rsa-sha256; t=1784127528; cv=none; d=zohomail.com; s=zohoarc; b=Z7vBTnQXZOTWT/izlhe1/eBpAwuLDqhBcnxxeoyuqTAIvFuZ/iO7E+xlz7KhZZgPKC38FvKlClyaVCWUHwg7dFxWGko26RB8lvR4mxXqhrOoMfBYiUocpVJTI1KaJdserKXaJGfmWiwlwcwGQhM4kbJNVjEYKSqxFzNXo5xWiOU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1784127528; 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=XElf7ONkq4aM0PdLXg0kUHQWsfzNBDxV74P2o2CWCKQ=; b=c+l2VEjlOf8PbDReQSFjY4LD+y0jBxDenvhToTXojVt8xE3xU4LkhU/FOCA4uztGSqtxD+j2qX6WOMxhgpbUhlynJyLI3rNPnR5/h2hTkAS4gY9wtDujHN4aIdPRAfRoJ0h1pQkg1HF4NLAWX1VqviQ7zfHPp0BSlsdRDHjgWAU= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1784127527811914.2764240440066; Wed, 15 Jul 2026 07:58:47 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wk124-0006gf-57; Wed, 15 Jul 2026 10:56:20 -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 1wk11u-0006dm-3K; Wed, 15 Jul 2026 10:56:11 -0400 Received: from [115.124.30.97] (helo=out30-97.freemail.mail.aliyun.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wk11l-00052x-Pd; Wed, 15 Jul 2026 10:56:09 -0400 Received: from localhost.localdomain(mailfrom:zhiwei_liu@linux.alibaba.com fp:SMTPD_---0X79XjOy_1784127034 cluster:ay36) by smtp.aliyun-inc.com; Wed, 15 Jul 2026 22:50:34 +0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.alibaba.com; s=default; t=1784127347; h=From:To:Subject:Date:Message-Id:MIME-Version; bh=XElf7ONkq4aM0PdLXg0kUHQWsfzNBDxV74P2o2CWCKQ=; b=IXJTstiE7ZOXd0xBFpoltS7c2GN6dhU5fgnnPuYrdDVxb++98cl+Fzc633XzDs1LgLWSomno3Z5j+f1JeX4bha5p2pRd5VUh607LnrKGu9uxHpsx0k2vW2qQw8nBXq3IljXMvC0MMbzvrJ/XWWPMbFMK6ojCPGSRId16nkrWSY8= X-Alimail-AntiSpam: AC=PASS; BC=-1|-1; BR=01201311R361e4; CH=green; DM=||false|; DS=||; FP=0|-1|-1|-1|0|-1|-1|-1; HT=maildocker-contentspam033037033178; MF=zhiwei_liu@linux.alibaba.com; NM=1; PH=DS; RN=8; SR=0; TI=SMTPD_---0X79XjOy_1784127034; From: LIU Zhiwei To: qemu-devel@nongnu.org Cc: palmer@dabbelt.com, alistair.francis@wdc.com, daniel.barboza@oss.qualcomm.com, chao.liu.zevorn@gmail.com, liwei1518@gmail.com, qemu-riscv@nongnu.org, LIU Zhiwei Subject: [PATCH v7 07/11] target/riscv: Add disassembly for Smmpt instructions and CSRs Date: Wed, 15 Jul 2026 22:50:12 +0800 Message-Id: <20260715145016.17369-8-zhiwei_liu@linux.alibaba.com> X-Mailer: git-send-email 2.39.3 (Apple Git-146) In-Reply-To: <20260715145016.17369-1-zhiwei_liu@linux.alibaba.com> References: <20260715145016.17369-1-zhiwei_liu@linux.alibaba.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Host-Lookup-Failed: Reverse DNS lookup failed for 115.124.30.97 (deferred) 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=115.124.30.97; envelope-from=zhiwei_liu@linux.alibaba.com; helo=out30-97.freemail.mail.aliyun.com X-Spam_score_int: -166 X-Spam_score: -16.7 X-Spam_bar: ---------------- X-Spam_report: (-16.7 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, ENV_AND_HDR_SPF_MATCH=-0.5, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_PASS=-0.001, T_SPF_HELO_TEMPERROR=0.01, UNPARSEABLE_RELAY=0.001, USER_IN_DEF_DKIM_WL=-7.5, USER_IN_DEF_SPF_WL=-7.5 autolearn=no 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 @linux.alibaba.com) X-ZM-MESSAGEID: 1784127528875158500 Content-Type: text/plain; charset="utf-8" Add disassembly support to the RISC-V disassembler for the machine CSRs and fence instructions introduced by the Smmpt/Smsdid series: - CSRs: mmpt (0x382), msdcfg (0x74e) - Instructions: mfence.pa, minval.pa Note that CSR 0x382 was previously mapped to the obsolete "mibase" register from the removed base-and-bound draft; it is now reused by Smmpt for mmpt. Signed-off-by: LIU Zhiwei --- disas/riscv.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/disas/riscv.c b/disas/riscv.c index 7f1b262773..27770da097 100644 --- a/disas/riscv.c +++ b/disas/riscv.c @@ -990,6 +990,8 @@ typedef enum { rv_op_cbo_flush =3D 958, rv_op_cbo_zero =3D 959, rv_op_mnret =3D 960, + rv_op_mfence_pa =3D 961, + rv_op_minval_pa =3D 962, } rv_op; =20 /* register names */ @@ -2265,6 +2267,8 @@ const rv_opcode_data rvi_opcode_data[] =3D { { "cbo.flush", rv_codec_r, rv_fmt_rs1, NULL, 0, 0, 0 }, { "cbo.zero", rv_codec_r, rv_fmt_rs1, NULL, 0, 0, 0 }, { "mnret", rv_codec_none, rv_fmt_none, NULL, 0, 0, 0 }, + { "mfence.pa", rv_codec_r, rv_fmt_rs1_rs2, NULL, 0, 0, 0 }, + { "minval.pa", rv_codec_r, rv_fmt_rs1_rs2, NULL, 0, 0, 0 }, }; =20 /* CSR names */ @@ -2356,7 +2360,7 @@ static const char *csr_name(int csrno) case 0x0344: return "mip"; case 0x0380: return "mbase"; case 0x0381: return "mbound"; - case 0x0382: return "mibase"; + case 0x0382: return "mmpt"; case 0x0383: return "mibound"; case 0x0384: return "mdbase"; case 0x0385: return "mdbound"; @@ -2440,6 +2444,7 @@ static const char *csr_name(int csrno) case 0x03ed: return "pmpaddr61"; case 0x03ee: return "pmpaddr62"; case 0x03ef: return "pmpaddr63"; + case 0x074e: return "msdcfg"; case 0x0780: return "mtohost"; case 0x0781: return "mfromhost"; case 0x0782: return "mreset"; @@ -4053,6 +4058,7 @@ static void decode_inst_opcode(rv_decode *dec, rv_isa= isa) case 928: op =3D rv_op_wrs_sto; break; } break; + case 96: op =3D rv_op_minval_pa; break; case 256: switch ((inst >> 20) & 0b11111) { case 2: @@ -4089,6 +4095,7 @@ static void decode_inst_opcode(rv_decode *dec, rv_isa= isa) case 576: op =3D rv_op_dret; break; } break; + case 2144: op =3D rv_op_mfence_pa; break; } break; case 1: op =3D rv_op_csrrw; break; --=20 2.43.0