From nobody Sat May 30 19:21:50 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=1777005039; cv=none; d=zohomail.com; s=zohoarc; b=GmxE44E0pgqqnBwCG28eh07RZk6jkH+LpPBBBOOtpcWDDx5pLSMFLbFOBh71xpwqCpeN/E34QKD2Qvq2hu3pIvIZZl4YkWe4XgxWQapcy4ajbD6fQDe28Q3G6aAaneIKAQSiN3TinPTDxHhen8fEh7x0LPBgZsjDckkrvOus54M= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1777005039; 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=Iqc7VTbeyjOi8/9VHDPDSeLdUciW2u+roO8j+QjxNso=; b=f1eSULjbQAMDb8YH9LGdizt5gCXJsIUCakf3WQ21KJd/lxPUprXW4k89O8C2zM2zJ2OhMpqhVO6bVLfAql0yUIRKcN2Wo9ucROIvmRWqE0t85sNwrDX5fMHbr8LIO4KHcg8CiT2aacErLeF9IDEAHMSwSFSJISgiiOFW51UcWj4= 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 177700503908995.10890289620227; Thu, 23 Apr 2026 21:30:39 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wG8Ay-0005Oa-Us; Fri, 24 Apr 2026 00:30: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 1wG8Aw-0005Nm-WC for qemu-devel@nongnu.org; Fri, 24 Apr 2026 00:29:59 -0400 Received: from mail-pf1-x42d.google.com ([2607:f8b0:4864:20::42d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wG8Au-00028D-Qn for qemu-devel@nongnu.org; Fri, 24 Apr 2026 00:29:58 -0400 Received: by mail-pf1-x42d.google.com with SMTP id d2e1a72fcca58-82f69adeecbso3127410b3a.2 for ; Thu, 23 Apr 2026 21:29:56 -0700 (PDT) Received: from hsinchu16.internal.sifive.com ([210.176.154.34]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-82f8ebe92desm21712867b3a.44.2026.04.23.21.29.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Apr 2026 21:29:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; t=1777004995; x=1777609795; 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=Iqc7VTbeyjOi8/9VHDPDSeLdUciW2u+roO8j+QjxNso=; b=dxbB762t4j0udnGQ7lxFV1afKiO6rhywVks+CkwK+Q1/vTVbrz5/2b/UBsePyoCaIr dIs25D8nWy5dHV/KG+TCHd8bGLmw2I1oEpuJlmOFxH/JEc4KUQT/IbRwdFbjc/vzRlAb s9oZU8QZgmTXU2upMMHSvW6XvLNH/SGC3V8f+kzYwlVUMnwq5n4DnaSQIxfLWDbk8/Nj a9cBSFNA+aBR4x/PNdQc1m9ws2/l/LbIB0ZmIrXy54+oGhv9/8GHcaPFBwpWvMgda/P0 F0X0rqj8wsoNdpP5xF85v3ReFj3kk3dR23jCL7kR3oNqx7TvpPneLqup3BOzidyaYlS4 B+IQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777004995; x=1777609795; 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=Iqc7VTbeyjOi8/9VHDPDSeLdUciW2u+roO8j+QjxNso=; b=fXZKttxlLgV5dkPkIUV/EKWI0wKKwuJBAKghLq3W5PpaP/QQpIPvskWL72GPVf/7Ho mOB1Lzd902/h9hmsr9o2Iu+sRIcnXNBMcAeOo1tkbuPdHfjKKOq3Fjl4/8EyjixPQJks 54+/TmoYA9XwPrfiip4OynbrA2hIuuRm8SXj5pc4UKbntyeaRcYmVtYEe+YMsnjuCagP vYlUHXvrW/J06oP0v7DvMC22+IyIkDG7UPWJpaN0ZE0XgepyteCW5MsiI2gO+5frbrWw iauvgkB5Mla2kiri6Dh9QQWHr4H5Kz56N3wxQO9xu308ceuFNEdWAAJx9Mebu0YeV5hh wRxg== X-Gm-Message-State: AOJu0YzTh/e5wYZ2pWa57jhTfnNH7+AfglPCO97GLkIPPCWgkldCfLkD gSAY2je4bbJn9fXZQOlWc9/AjSNJNfL5A5ovB64BlCzdevuvdpEtlX7hYxBGD5ghXM8QANj6oAJ 18SgM3H0+qL+Suii4bOPFGnOWsUgKVuwZOrLStPUU5kbsu7WGSl7HAVM+L0DooEJFreAtObnbvZ g2LyU4DK049SiLRl9YHBtGfB6dt1svS/CbZMaL8K0FlMZ+JZnQ X-Gm-Gg: AeBDietPUud4YBTmkvnuiNSVZVbCNIaTOHEUNiCE7u9dt4cFETEaF982h5PY897r6J6 3lCivFOBj1iwg4WfNVJV0JXayDj1am52shuvDyJRrQ1c2YGoDhUj+EH0plNvMahCE2S1dRRIAdl n8z5eGrYJD+WDXhDQnp5EQb7iNVA+aE/aAtQVqzbzN24f5UUUdBXarUkZwf2MXrSxp7EPE9eAkh LbyI7UGJ/31vFZp+1skkYLRcl0o1TSSgTTjRFNF5ShEe1osMiunX9WhTNGedlQTgCY7uu9Xj6Xj M1E1h1DbTLLT94rPw9/J4LDfdncScQJiBi0lalBLKSDEXe1PtrUjLJ28vDk7jYUDoTJ0knXrm37 cKqaKVFD6sw9t6GCvkkFGK/AKnGTM6D25fWrUBmQyMZEEq5YglzK+iJzoU41ebbqzG6TH0OJbec hPVRrRze2e/GoyVICAjBILm8CZk4xPXmyQAFCYhUkCKG1n9Y3Z9CW52JQTboZ0 X-Received: by 2002:a05:6a00:1826:b0:82f:2384:212a with SMTP id d2e1a72fcca58-82f8c961ef5mr32139147b3a.26.1777004994884; Thu, 23 Apr 2026 21:29:54 -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 v3 1/2] target/riscv: Add the implied rule for G extension Date: Fri, 24 Apr 2026 12:29:45 +0800 Message-ID: <20260424042946.3875690-2-frank.chang@sifive.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260424042946.3875690-1-frank.chang@sifive.com> References: <20260424042946.3875690-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::42d; envelope-from=frank.chang@sifive.com; helo=mail-pf1-x42d.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: 1777005041714154100 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 ce15a17c37d..f806d0536a0 100644 --- a/target/riscv/cpu.c +++ b/target/riscv/cpu.c @@ -2248,6 +2248,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 { @@ -2635,7 +2647,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 f3f78088956..8247cf1b4c9 100644 --- a/target/riscv/tcg/tcg-cpu.c +++ b/target/riscv/tcg/tcg-cpu.c @@ -545,30 +545,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 19:21:50 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=1777005053; cv=none; d=zohomail.com; s=zohoarc; b=lexJdhKjKMxNKpaEmglAoE0StX74+0RwtJYNP6ZacnvH5+iS5EhrDjuJlO86XcV4Ij5RMsStko1AuTE91QaKJp60zM0nJPgOh9U01ZeP1n1p8uzm43curIf6sLcQlZ248qZ3X+eFdYsIehuGV1W/eG5X6lKiFa1E8A2TwahgeZY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1777005053; 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=U84UA1BQ7VqfrcfRfFgnZ2xkpsO6jNjW5chEwl65Yx0=; b=ixBe6PMEnk8VfiILRVxQReIUoLhjlJNZySYCW3smngkEhc6hStwEAqa/NoiD5Y2OGE54bHB0tBcBdmo8UVTPIWPBDJf3QCc6fJ3B4NbVEL/TvpJc0DCX8SGXtx/jZK0kk3E0wmfSfRg/t95evgPAbaND3hjwV0abwq0KwflAB+Y= 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 1777005053587796.8878667844859; Thu, 23 Apr 2026 21:30:53 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wG8B0-0005Pn-P9; Fri, 24 Apr 2026 00:30: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 1wG8Az-0005P5-Fw for qemu-devel@nongnu.org; Fri, 24 Apr 2026 00:30:01 -0400 Received: from mail-pf1-x42d.google.com ([2607:f8b0:4864:20::42d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wG8Ax-00028l-OR for qemu-devel@nongnu.org; Fri, 24 Apr 2026 00:30:01 -0400 Received: by mail-pf1-x42d.google.com with SMTP id d2e1a72fcca58-82d0b68837aso4706340b3a.2 for ; Thu, 23 Apr 2026 21:29:59 -0700 (PDT) Received: from hsinchu16.internal.sifive.com ([210.176.154.34]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-82f8ebe92desm21712867b3a.44.2026.04.23.21.29.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Apr 2026 21:29:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; t=1777004998; x=1777609798; 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=U84UA1BQ7VqfrcfRfFgnZ2xkpsO6jNjW5chEwl65Yx0=; b=NhClxl0sd6/OnrJAp6MEW0CBqPHNv7JGS/PgI74olr3HBt4dqDwoUdo9N1cK/A9ANd crNoaUF1Fh5eb5Fvnvxd5Lx6jMJI1iVUQKPzg32rN6ncdDJZXEoeDSbL8vWlL4aMJ+19 9twlR7RPJo7UwiUZVgKnBtyVBRChxJnwAJ79u/T6BeddrZZ9iyCMb6Tay9xtjsWVB4AB fgd9INuX/8B+PSxLlIggfJbj31+WXAg2TpTwsL+PRBFT0lD+NHyZnkA4llBiFsD4n+HK ILhcCGYPZogv0GpaWxCYouDzt3BkfORS18Ho290UjU/ZgsUjFXkG3jH2vv2wkOLYsQ12 oplQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777004998; x=1777609798; 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=U84UA1BQ7VqfrcfRfFgnZ2xkpsO6jNjW5chEwl65Yx0=; b=TdN9p9tjMy6HetFaIflPSOSjwSV3HuCqqTrQbVUzJdSycwVxZTShqaNvn6B8VGZ6AY P38EqtAbgQNVPIMnSh2G19XiiVw0jnsR1WLjNDWFC9oXDLDoMMBlzFq52IhmWaddaLmb l1ik3/V4l6WAnWg/YS7kGbfmKc2YcxUcJFVuxtmp1FUX3POdXykDpoi/rB2hudTgiNah LH8XpAUUUMSTfo1Y7qpeCKOEhJNdWLeqXUVYwrQshUmYAOs96EFqfMtk3FWPJe3HIUkK 1yU4JyAMH7H4kTFMx50IwJGeoy3DQg3LZtOewkY4AK6bVD3Ipp5i5CPcWdGJToYzCSXs is5g== X-Gm-Message-State: AOJu0YzdbEbkMEXwrHl7Js0lFe/ZlQ3qpxm2ukkxN5WGYbX30YGrSxxt EWFcw044WFg+WjNvNoPGARAL1/Uz1bvAm5Q9dYA7Hy7WAqsFwdxP1KxAREc7xh9TG5AKWHmlDJi OUV+8AEKar7GP08nN+8v1SubZtuj5+T+WLBqwWqXzmTuEi7VCgbPHeJ/fuVtyS5SS4lcOJex5ED EL0AJvEiwLto4vkmSX28s/lcz2VNEHKD6b86NgezQlBKvKDEWu X-Gm-Gg: AeBDiet7HVzNk0GUjxy7bqMY1DxLPMbXOuoSOfyv7s/t/ARNxhSlXZfxnKMTF8Ye17M S813OkyqMkqYyCUIsZBilfPjM8nZSvWwP/rkuk0m1H8hGvI68rD92Z+EdxP/ZEveYIQaESUqWqU +Km9cowoXgx3ewb63S1p58WOzLbQnK1CJGptKdXhLL24KPSCDJVKT1RFpXbaZmqt72/ZHmBWVn4 Xgb2xz1g+pv+wVSJm3xlvfi1rbrvAjLroVJPngPZm4vUlYqvHtsyXOJ4TjfYBgIpGoy1rD881GH HVOxq3vpJW5z+l8PgwVNOprfmP1P+ooJsIQOwoPihDfhsd2pVKfw0uCYCVdISue6YIqU9zef2/n MPtk/EXuEeWn4NphsD6EOZFqMki5LyOtgMAmUiBbC93fz6vk99H9iX13xESCF4ndCzuVCJFJ4Zx j4VhmH/r9j1K+iIvgt1Y0NEUG5JzIZd1s/FHz8WVr88kLq/syUS5hB1twoVVuI X-Received: by 2002:a05:6a00:80b:b0:82c:e5d0:5249 with SMTP id d2e1a72fcca58-82f8c7dd16emr32029291b3a.8.1777004997751; Thu, 23 Apr 2026 21:29:57 -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 v3 2/2] target/riscv: Add standard B extension implied rule Date: Fri, 24 Apr 2026 12:29:46 +0800 Message-ID: <20260424042946.3875690-3-frank.chang@sifive.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260424042946.3875690-1-frank.chang@sifive.com> References: <20260424042946.3875690-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::42d; envelope-from=frank.chang@sifive.com; helo=mail-pf1-x42d.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: 1777005054815158500 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 f806d0536a0..e87d1b6cd9a 100644 --- a/target/riscv/cpu.c +++ b/target/riscv/cpu.c @@ -2260,6 +2260,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 { @@ -2647,7 +2658,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 8247cf1b4c9..91751439752 100644 --- a/target/riscv/tcg/tcg-cpu.c +++ b/target/riscv/tcg/tcg-cpu.c @@ -564,27 +564,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