From nobody Sat May 30 17:32:00 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=sifive.com ARC-Seal: i=1; a=rsa-sha256; t=1779946982; cv=none; d=zohomail.com; s=zohoarc; b=jmFDVgNgpGhkTqGZJkbwBdcnCclYajtDFM9XT0tCeML2T3Kgq+ZIiAfTE2p9Cq2Ro24/guZveJtomhmyZHEcl0bLVQsHUfABBkQDlxRDniB3dSUK26bO80I52DWhSauYjk6NZ1TwUcdNGP+Ocj8b+yUcB+E+UJ0UsEOiWNlbijs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1779946982; 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=dpTeKWofDBjw7w+JDPclFTF8UMNevt5UsZhKC86KoUo=; b=LJAg1wLTJhuZFFrI+qjdkTfT+BZr4zLRY4aWAKvt9znOcDgq3BbC6Es90WttiGk90YIED3ffVGCG5CbUp6RjtRcmmkhqN/mnv+joQ4fLwlmP+TR1XUpMXSF6XUf4aFMiE7G1fpnPnotZpqA0oGpIpD+NjztVBfX+wYP5od2j6g0= 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 177994698192452.91319416685894; Wed, 27 May 2026 22:43:01 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wSTVr-0000yV-DK; Thu, 28 May 2026 01:42:35 -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 1wSTVl-0000xa-Il for qemu-devel@nongnu.org; Thu, 28 May 2026 01:42:29 -0400 Received: from mail-pl1-x62e.google.com ([2607:f8b0:4864:20::62e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wSTVi-0002Cz-RU for qemu-devel@nongnu.org; Thu, 28 May 2026 01:42:29 -0400 Received: by mail-pl1-x62e.google.com with SMTP id d9443c01a7336-2bd266f6fc0so61590395ad.2 for ; Wed, 27 May 2026 22:42:26 -0700 (PDT) Received: from hsinchu16.internal.sifive.com ([210.176.154.34]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2beca535bc1sm122275815ad.56.2026.05.27.22.42.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 27 May 2026 22:42:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; t=1779946945; x=1780551745; 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=dpTeKWofDBjw7w+JDPclFTF8UMNevt5UsZhKC86KoUo=; b=FBiJsnejVr+M69+NykoZb2JgELtaNIVDBZX8/HrvDALQrt2xo2U87/GPCMxcP++23E 0+ygS6PdLJDkKMqQc5Yu8nMlO6K1m1SCV+6unMDRDyORwC5Dh1upiLiHg7iHe5Swep36 jN2BMboyet19vbuf1zuddUq19A6oVHR62s/yJ/kuMq5fHnEC5pqDCaYLpRggZ1WzwunJ GrKXS78QM5ExaDAlM8MK1R32JLjh6ytAndig8DxtRO2yo9Z4kE0O/VXSt2ojz6kN/xxJ OPGyHdIPKewo7rZnuTMmBVWJusQPwOWsehdcvEcKvMtpU6SazdkwtesCiq8DXxKDLX9O pRLw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779946945; x=1780551745; 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=dpTeKWofDBjw7w+JDPclFTF8UMNevt5UsZhKC86KoUo=; b=tESlztFIaEtXaQzRmM+yYQPQx+fCg3Ktof9/pmLnlQkoGMUqY25C+Rp1+Zo/TjDKYn +nQZWkOZztsfSIKw4DDkNAWQS7Z0Th2K0CEKtTLKvoNrJG1Hg83xtPFDuT46HqV41/Dj gckHopgaMJESlZzJcLEcn3pWkRT4njGOFHf/gLU19KRRhAmfsYDQ1nT7+27faV+CtR+I 3gNeZD6wRUSdvkVrVnwzcG+vpCs5Piu+OOD6gf95jjncwP0pqwW4kqVsvhd2TS84mx/q JqQrc1zSiGZTleNW2c5LnHTLlR2wzWSMwdqVg81G2Xu03ZVkRZ8CQ85LMiw1Guwaj/TB uQnw== X-Gm-Message-State: AOJu0YyHW3xE7fktw5TyEH6Sqjyjn/7eb1//9g9vnM+C+43MzI+rh1c2 mB37ItluWL23qm+JSH04sxFayiuupy9dM1w+cy9CzOiwzOpQ8tR0j8KjbAVx+S2g1xxjA+C7nLj eCBoPY+tnaxHrXjQe8GRb7beutZ4Iw4E8w3g5b23huR8CpvQr3gNg+FuFnthduLdDAfW2XCZb+7 Nu84cTb/74JiROWL0Vc03H+nU6fLKW/OlYG5guYsl7wkzECxxN X-Gm-Gg: Acq92OGQPCMIgiCk4R1qDvRPqk5xjyTmcP2y/ZQ75nW+EdqtVlHuXIkXJdwd1ATBmku wwmDZiRABd+8dsDy0Lhal2WlGBlavzEk6rfIrewkIh3DZOQ3Qub9RUKcI0KapccRbgGUMvF6MqL IommtuBfRDShlLwrMtCEtcbMgYxePUE11UXJxM7yF21+J3zLUWOjth5hda7WyTYUOdV5VwByxBb ZXZeM1MHMS5EMr0O77DR1d/vgbHRPWLG5Jjsq6MEuk0rupU1fBH0rUqerrJJqaDueZqxRUcEHD4 W9DPtApdBVHz09nWbNyz5IwgHbUOXqlqA8AHiDQs57vqmbVqq/MpMqkvEO/x+tojox6pXBvMtwE 65OxeKER2Ttw/Sg+wg02vVrFT8nrSpucoTzYAn3E6jTK2ZGv7YD+1IKsB9RJHK48uEnmRfoQLok dVm2FbSQ25Yv6Qs45AXiDGOLvkuEuy8VJBldW2/6gLTDOhfl7IsVIViCr/HsiC X-Received: by 2002:a17:903:3c6b:b0:2b2:49a7:a5bc with SMTP id d9443c01a7336-2beb0715592mr279469515ad.39.1779946945113; Wed, 27 May 2026 22:42:25 -0700 (PDT) From: frank.chang@sifive.com To: qemu-devel@nongnu.org Cc: Palmer Dabbelt , Alistair Francis , Weiwei Li , Daniel Henrique Barboza , Liu Zhiwei , Chao Liu , qemu-riscv@nongnu.org (open list:RISC-V TCG CPUs), Jim Shu , Frank Chang Subject: [PATCH v4 1/2] target/riscv: Add the implied rule for G extension Date: Thu, 28 May 2026 13:42:12 +0800 Message-ID: <20260528054213.678458-2-frank.chang@sifive.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260528054213.678458-1-frank.chang@sifive.com> References: <20260528054213.678458-1-frank.chang@sifive.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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=2607:f8b0:4864:20::62e; envelope-from=frank.chang@sifive.com; helo=mail-pl1-x62e.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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_NONE=-0.0001, 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 @sifive.com) X-ZM-MESSAGEID: 1779946985473154100 Content-Type: text/plain; charset="utf-8" From: Jim Shu Add the missing implied rule from G to imafd_zicsr_zifencei. We can also remove the auto-enables in riscv_cpu_validate_g() as IMAFD, Zicsr, Zifencei extensions can be enabled by the implied rule. Signed-off-by: Jim Shu Reviewed-by: Frank Chang --- target/riscv/cpu.c | 14 +++++++++++++- target/riscv/tcg/tcg-cpu.c | 21 ++++----------------- 2 files changed, 17 insertions(+), 18 deletions(-) diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c index 952e34fdf55..4246fb87c64 100644 --- a/target/riscv/cpu.c +++ b/target/riscv/cpu.c @@ -2094,6 +2094,18 @@ static RISCVCPUImpliedExtsRule RVV_IMPLIED =3D { }, }; =20 +static RISCVCPUImpliedExtsRule RVG_IMPLIED =3D { + .is_misa =3D true, + .ext =3D RVG, + .implied_misa_exts =3D RVI | RVM | RVA | RVF | RVD, + .implied_multi_exts =3D { + CPU_CFG_OFFSET(ext_zicsr), + CPU_CFG_OFFSET(ext_zifencei), + + RISCV_IMPLIED_EXTS_RULE_END + }, +}; + static RISCVCPUImpliedExtsRule ZCB_IMPLIED =3D { .ext =3D CPU_CFG_OFFSET(ext_zcb), .implied_multi_exts =3D { @@ -2501,7 +2513,7 @@ static RISCVCPUImpliedExtsRule ZVFBFA_IMPLIED =3D { =20 RISCVCPUImpliedExtsRule *riscv_misa_ext_implied_rules[] =3D { &RVA_IMPLIED, &RVD_IMPLIED, &RVF_IMPLIED, - &RVM_IMPLIED, &RVV_IMPLIED, NULL + &RVM_IMPLIED, &RVV_IMPLIED, &RVG_IMPLIED, NULL }; =20 RISCVCPUImpliedExtsRule *riscv_multi_ext_implied_rules[] =3D { diff --git a/target/riscv/tcg/tcg-cpu.c b/target/riscv/tcg/tcg-cpu.c index 7e964e8f1aa..66ac011c54d 100644 --- a/target/riscv/tcg/tcg-cpu.c +++ b/target/riscv/tcg/tcg-cpu.c @@ -496,30 +496,17 @@ static void riscv_cpu_validate_g(RISCVCPU *cpu) continue; } =20 - if (!cpu_misa_ext_is_user_set(bit)) { - riscv_cpu_write_misa_bit(cpu, bit, true); - continue; - } - if (send_warn) { warn_report(warn_msg, riscv_get_misa_ext_name(bit)); } } =20 - if (!cpu->cfg.ext_zicsr) { - if (!cpu_cfg_ext_is_user_set(CPU_CFG_OFFSET(ext_zicsr))) { - cpu->cfg.ext_zicsr =3D true; - } else if (send_warn) { - warn_report(warn_msg, "zicsr"); - } + if (!cpu->cfg.ext_zicsr && send_warn) { + warn_report(warn_msg, "zicsr"); } =20 - if (!cpu->cfg.ext_zifencei) { - if (!cpu_cfg_ext_is_user_set(CPU_CFG_OFFSET(ext_zifencei))) { - cpu->cfg.ext_zifencei =3D true; - } else if (send_warn) { - warn_report(warn_msg, "zifencei"); - } + if (!cpu->cfg.ext_zifencei && send_warn) { + warn_report(warn_msg, "zifencei"); } } =20 --=20 2.43.0 From nobody Sat May 30 17:32:00 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=sifive.com ARC-Seal: i=1; a=rsa-sha256; t=1779947001; cv=none; d=zohomail.com; s=zohoarc; b=RrcmKm+6y3Fl7gRH1bBXOSVothbd/Zcy5/aNpVgDdB96ztUjFBzmCe0+/0yDxHkvv1kxUhea8K1ypZQPR902UG1MjExoyynoUcoqz+FfgWYNcbKCsVrxXI+I1UtZtMHSZTjRovUPs6evEFa8/LDmJl/B5XGyfrSBEpCMsap8msQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1779947001; 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=qrgn6fsAAhB+AN5e5tB2wnivr7mEESipyduN8RfVcu8=; b=lsa7ynn6F62/Rp9wziMkMCbjg+8eqP7oINCR9n1cSOkUIn1snWZc9WEqSxMErOn9jXnuKQI/x/cD6C3N8oe5ariYin4faNwdnZwZ90JKo7EFSb+ZB/G6/En1NusW8LEoJJDrnVMYI7/YZfqQ40ibIhT5ES/MmNgmcFynI//YiTs= 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 1779947001483489.9695310366476; Wed, 27 May 2026 22:43:21 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wSTVt-0000zH-Ss; Thu, 28 May 2026 01:42:37 -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 1wSTVp-0000y1-Af for qemu-devel@nongnu.org; Thu, 28 May 2026 01:42:33 -0400 Received: from mail-pl1-x62b.google.com ([2607:f8b0:4864:20::62b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wSTVn-0002Dq-JH for qemu-devel@nongnu.org; Thu, 28 May 2026 01:42:33 -0400 Received: by mail-pl1-x62b.google.com with SMTP id d9443c01a7336-2ba6485d219so95901865ad.3 for ; Wed, 27 May 2026 22:42:30 -0700 (PDT) Received: from hsinchu16.internal.sifive.com ([210.176.154.34]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2beca535bc1sm122275815ad.56.2026.05.27.22.42.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 27 May 2026 22:42:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; t=1779946950; x=1780551750; 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=qrgn6fsAAhB+AN5e5tB2wnivr7mEESipyduN8RfVcu8=; b=dYJzcsDOqUHZSzD3kkJ7J7bGeIIxh8L4d4ZLlvAo82WSP4E1zlzzCWo2SdFHjoVc23 8jg3a18Y8CYYqK8iqSSA6hRq3TyDs/y8kUGFL82e59AvIe86zzAWX9O+UVyB3q+BsUBe lrWX3lIeaVeGLX0ksHhLn6cxNA6jUzilvXoiovSN9m0LhrhjE/kOflBLBZ4xBHzYYCGG QdkmjJBU18vATJ9G1mLldjmGtb4N/0kNfnDSrBGF0fwNWbiynO+M87bGn2YyfXREctkA h7bJGfyHhW1lK6HSed7dFM7CQPJrPZ9967Hf36INJvz4CEpgpCQU5/dPhtQQT1wM1Nnt ykhA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779946950; x=1780551750; 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=qrgn6fsAAhB+AN5e5tB2wnivr7mEESipyduN8RfVcu8=; b=UV1vuQi0XHFGGrT2UkN79Ejbavd7QpJ/4fgyQl4UIwz05n2cbw4VzeX5N4evq5fRwh PVydCb+DSnm9P2pEGCsMMWw6qBXbBUOErXvAoGcKU9kIBjHjGvZQGWJLFLHV9achQq6/ Lcpoe4Eun3fsUzu0eJ03VVZR6hEjlHtkqwBOaEHzT7Pr4x0vn01gVVQl9oBs6797bi8g XHwbFvzW0EQA1lfH6joql0267JkcQ6Chv604XZA9WN1hZc2zY4Ar8SToFzwonQz1/I9B 45IUdaED7+3T9wFIXJEymkK1+gRRqB5Ewxvjzbb8tXYLQOKYF+r3EURwdy37EnfEZ0g1 ZmOA== X-Gm-Message-State: AOJu0YxHDLCfQSam+gewsqYG2tU0oUHTFzZkzN3pqyEPyMDZvvcqUDFr WLNGhpGw4X7x14LGwnbouCiBiEvaZ8HpVI6nfuiYuUjdxv/vi7am0rNFpnFA3d3HWON6RilO15x G17KtYFsu/PSFhFA1e6hueW8inEw0n0rl964vQMIN3YHXyIpBtkmhFMHuW+E9wMEWDtWTs2gTjS HvSqf6zUnKAB4lHTDgdkGSl9/xlLRoK50f2Hm53xbmQW3LesRA X-Gm-Gg: Acq92OF1wL6j6hKpThtXSsK+kqSnXsldjCjU7i6iF+sY71wBz8fUJv6KISO76zsuM5K wZky79AMU6wBxoNS4EDsrnmnkcuaI4zyiVTc+GWzbSnqPFqVyZMxeEe6uyuDIunicyw0DhC09nm SE9WlJAwEjimbK01Ew+no33T9aaGSj15U+Klsec6xRTOoeyQzgtJp6ySx1KfQ0f8WZzlNgX0C/X jJnCJaSM/FZI+AWpzoT6KxfDK43etCpCg3+nXFuA+w9LP/TqlrF3/5019LgjxCUEGAvpq3oj3db FirzBnmmV12aeMmx+sov1FdbYipeo25NuH0QfXUoophq9ATp6bq5kBV6Xosk+dEt6TovgfXiz4A 5zZpTSWAjDJXF96rUgnELXCTaDTDcYUJIetES+TQMXGVDhkmm00CCGmyKz04LCBVhtG5uqXuK3W y6BOYpQz6s39uLq6VUis167q/zq8Ch+cVqAYghOADGO/+Jl7yPW4k2OZG5156x X-Received: by 2002:a17:903:28d:b0:2b9:f55e:1c1b with SMTP id d9443c01a7336-2beb036aa31mr276620225ad.5.1779946949588; Wed, 27 May 2026 22:42:29 -0700 (PDT) From: frank.chang@sifive.com To: qemu-devel@nongnu.org Cc: Palmer Dabbelt , Alistair Francis , Weiwei Li , Daniel Henrique Barboza , Liu Zhiwei , Chao Liu , qemu-riscv@nongnu.org (open list:RISC-V TCG CPUs), Frank Chang , Jerry Zhang Jian , Jim Shu , Daniel Henrique Barboza Subject: [PATCH v4 2/2] target/riscv: Add standard B extension implied rule Date: Thu, 28 May 2026 13:42:13 +0800 Message-ID: <20260528054213.678458-3-frank.chang@sifive.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260528054213.678458-1-frank.chang@sifive.com> References: <20260528054213.678458-1-frank.chang@sifive.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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=2607:f8b0:4864:20::62b; envelope-from=frank.chang@sifive.com; helo=mail-pl1-x62b.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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_NONE=-0.0001, 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 @sifive.com) X-ZM-MESSAGEID: 1779947003489154100 Content-Type: text/plain; charset="utf-8" From: Frank Chang Add the missing implied rule for standard B extension. Standard B extension implies Zba, Zbb, Zbs extensions. We can also remove the auto-enables in riscv_cpu_validate_b() as Zba, Zbb, Zbs extensions can be enabled by the implied rule. RISC-V B spec: https://github.com/riscv/riscv-b Reviewed-by: Jerry Zhang Jian Reviewed-by: Jim Shu Reviewed-by: Alistair Francis Reviewed-by: Daniel Henrique Barboza Signed-off-by: Frank Chang Signed-off-by: Frank Chang --- target/riscv/cpu.c | 14 +++++++++++++- target/riscv/tcg/tcg-cpu.c | 18 +++--------------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c index 4246fb87c64..d1452d91f2a 100644 --- a/target/riscv/cpu.c +++ b/target/riscv/cpu.c @@ -2106,6 +2106,17 @@ static RISCVCPUImpliedExtsRule RVG_IMPLIED =3D { }, }; =20 +static RISCVCPUImpliedExtsRule RVB_IMPLIED =3D { + .is_misa =3D true, + .ext =3D RVB, + .implied_multi_exts =3D { + CPU_CFG_OFFSET(ext_zba), CPU_CFG_OFFSET(ext_zbb), + CPU_CFG_OFFSET(ext_zbs), + + RISCV_IMPLIED_EXTS_RULE_END + }, +}; + static RISCVCPUImpliedExtsRule ZCB_IMPLIED =3D { .ext =3D CPU_CFG_OFFSET(ext_zcb), .implied_multi_exts =3D { @@ -2513,7 +2524,8 @@ static RISCVCPUImpliedExtsRule ZVFBFA_IMPLIED =3D { =20 RISCVCPUImpliedExtsRule *riscv_misa_ext_implied_rules[] =3D { &RVA_IMPLIED, &RVD_IMPLIED, &RVF_IMPLIED, - &RVM_IMPLIED, &RVV_IMPLIED, &RVG_IMPLIED, NULL + &RVM_IMPLIED, &RVV_IMPLIED, &RVG_IMPLIED, + &RVB_IMPLIED, NULL }; =20 RISCVCPUImpliedExtsRule *riscv_multi_ext_implied_rules[] =3D { diff --git a/target/riscv/tcg/tcg-cpu.c b/target/riscv/tcg/tcg-cpu.c index 66ac011c54d..d26d9001bd2 100644 --- a/target/riscv/tcg/tcg-cpu.c +++ b/target/riscv/tcg/tcg-cpu.c @@ -515,27 +515,15 @@ static void riscv_cpu_validate_b(RISCVCPU *cpu) const char *warn_msg =3D "RVB mandates disabled extension %s"; =20 if (!cpu->cfg.ext_zba) { - if (!cpu_cfg_ext_is_user_set(CPU_CFG_OFFSET(ext_zba))) { - cpu->cfg.ext_zba =3D true; - } else { - warn_report(warn_msg, "zba"); - } + warn_report(warn_msg, "zba"); } =20 if (!cpu->cfg.ext_zbb) { - if (!cpu_cfg_ext_is_user_set(CPU_CFG_OFFSET(ext_zbb))) { - cpu->cfg.ext_zbb =3D true; - } else { - warn_report(warn_msg, "zbb"); - } + warn_report(warn_msg, "zbb"); } =20 if (!cpu->cfg.ext_zbs) { - if (!cpu_cfg_ext_is_user_set(CPU_CFG_OFFSET(ext_zbs))) { - cpu->cfg.ext_zbs =3D true; - } else { - warn_report(warn_msg, "zbs"); - } + warn_report(warn_msg, "zbs"); } } =20 --=20 2.43.0