From nobody Sat May 30 17:46:17 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=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1779408418; cv=none; d=zohomail.com; s=zohoarc; b=n1RFkOzIQ4R0fRnCJWbL6Ww2QZ2bzTlCV303ko68B8l7g5QrZKHs34Gp0XzaqdGqwxmTgp8tR6Bo2qMkossQYZ/WxE/OGIlpatQAmM0HXJRqb6olGXnVH6p6jX+Nr1N1+boNCyxEzkTTxWddEQvQWYt2r3nFHZSG2OKVT5S3WHg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1779408418; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=RVDuaf0uiJPSEZc00jK7jWeRO5ExDmx6hQRMkeQfRZQ=; b=Rof5rfdY2PQ7tfzuNfpb0dpBqAA4S3I+HBRPnTJx625RztzvnRaGUAr7hMEHMBQ/d5iGM6N0wiZBLibkAftDWZnMZn9HNO4HcEv4p6+W7lVGfqdywfLQ9Gk8xZJaLZ7QwDPSJiA0mKy+lz1TvWYfbqzQX5rrsADCt/B02BpY+FY= 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 1779408418798659.6221330389964; Thu, 21 May 2026 17:06:58 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wQDMm-0001U5-Ep; Thu, 21 May 2026 20:03:52 -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 1wQDMa-0001ST-Oh for qemu-devel@nongnu.org; Thu, 21 May 2026 20:03:44 -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 1wQDMZ-0003Cv-6e for qemu-devel@nongnu.org; Thu, 21 May 2026 20:03:40 -0400 Received: by mail-pl1-x62e.google.com with SMTP id d9443c01a7336-2bea7176c72so8592035ad.0 for ; Thu, 21 May 2026 17:03:38 -0700 (PDT) Received: from toolbx.alistair23.me ([2403:581e:fdf9:0:6209:4521:6813:45b7]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2beb114b54csm3915475ad.42.2026.05.21.17.03.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 May 2026 17:03:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779408218; x=1780013018; 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=RVDuaf0uiJPSEZc00jK7jWeRO5ExDmx6hQRMkeQfRZQ=; b=buPem7awAKc0S/woG+w9nVbxsfQBd+tQoh3tNaFecXIcQujllPymzW2alK3UNG0L5w 1kXFgWm1pylT09+aPC0b7jdben72816Psoufs8iBo4yh58OdCpHo28RYBLV69ofVdFT2 OLO2lkVvGkHRdoDlMxisEOQ1OYgGjT9D1Peb//1RuH59ON0kdODvTUhyrq3kIr+loDv0 u3hmPAksOduOtiqOTLqreHuCOgMQng12IFe8oX1qGmvXZg3KyIfjgviqO7wESBbAXcWX VoeYQZyrB0fVIO7QxLdDKeplInu7W6bDNO8ucAilZn82HxQDHMiPuZjkR/QJuU/h6767 jh+w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779408218; x=1780013018; 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=RVDuaf0uiJPSEZc00jK7jWeRO5ExDmx6hQRMkeQfRZQ=; b=Xh7czsZRORtUnm01o4oG1oRytQaY5OYHSa9ejl44m7uv4e9SCRzpNCVEviOEDAawVm /+qO25zD3IKss/MrNvhhbXgeyP8Y66nr6bx6jNfpNmQ6AZvDttJU0N+J0XTOuKAZaX7Y HK9okijjbm7ydCmgBcD/bjQVY68fRQeQ9tKY4cEhF3IDSNCFfLaFsBLZ/vRskT96bazc unhQpSJIW9sK+hsYl8A2ExJLLQ1jO5ql0UvlJnluHBs9rZoMi0jKj8V9/m89ZihcihOF ZfxnS0HG8Ydj/TBuH7ZKnUIkMXus3GsLa8YVxV9LMpNXWqm4JeoyE+LGZuZiszNq9qD5 Iu5w== X-Gm-Message-State: AOJu0YyZcW8TVL2lOR8T6aBnqKCljr0F8faP4QFUCdoE6BGbnKCWygQR 4X52qnFcnOFEJ1oZLWfB+He3Dl/n/LMEcFmsjFgQw8LLXmBhp+BF6N/VpTljt/gM X-Gm-Gg: Acq92OHV4OF3cLGj40Q/df0/BA2if1ziJFgXhPlFGVN/xcyqwUbcf+17vFWwJts7qP4 evsObWmPVzNxwUdBTRan0CX4uzZ8eIdKVjubAobbd8kCd7nJa7yQoRpXdxw+7LwdJaMw675OnL3 I8bsKV6LLJReHRbREy6qYUuWbbuKNpTLBX8ONUOd8TcZEE1BjzGBcR4vbLrQLLSRed3wSXQ8mOf gJuYc3HsYXT0Qqmxx3ZESHkJE1T1I6jLKNgxyEZTIsL9q1RPh1er6NzgnpwkaKclndGevJc90MX Ev47NPbdLZwGGA21w1W8mWV2kqs9vv1B0T+xWv8b1CBTUp3JJKt2dpLqNp/ffQ0hZ+sllasPnFN 1M2tDhRJPAYcs3UwF14vff1dQEVD25MAZ+8QXa98Ivxg5ioN6os/t9FbYjvxhSQRtRhAG58NJFg Bu5IOsHRODdRAnnLHUvEcFrzyfrzOScExISyw6C4VGGA== X-Received: by 2002:a17:902:f60f:b0:2b0:5795:9ead with SMTP id d9443c01a7336-2beb02cb6bamr11475155ad.0.1779408217720; Thu, 21 May 2026 17:03:37 -0700 (PDT) From: alistair23@gmail.com X-Google-Original-From: alistair.francis@wdc.com To: qemu-devel@nongnu.org Cc: alistair23@gmail.com, Alistair Francis , Daniel Henrique Barboza , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Chao Liu Subject: [PULL 01/48] target/riscv: Remove spike as default machine Date: Fri, 22 May 2026 10:02:37 +1000 Message-ID: <20260522000324.23255-2-alistair.francis@wdc.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260522000324.23255-1-alistair.francis@wdc.com> References: <20260522000324.23255-1-alistair.francis@wdc.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" 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=alistair23@gmail.com; helo=mail-pl1-x62e.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.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, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, 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 @gmail.com) X-ZM-MESSAGEID: 1779408420210158500 From: Alistair Francis In QEMU 10.0 we deprecated the default spike machine, let's finally remove spike as the default and require users to specify the machine. Signed-off-by: Alistair Francis Reviewed-by: Daniel Henrique Barboza Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Chao Liu Message-ID: <20260430052218.771358-2-alistair.francis@wdc.com> Signed-off-by: Alistair Francis --- docs/about/deprecated.rst | 18 ------------------ docs/about/removed-features.rst | 14 ++++++++++++++ hw/riscv/spike.c | 1 - 3 files changed, 14 insertions(+), 19 deletions(-) diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst index 95bf761329..7771b98b72 100644 --- a/docs/about/deprecated.rst +++ b/docs/about/deprecated.rst @@ -243,24 +243,6 @@ better reflects the way this property affects all rand= om data within the device tree blob, not just the ``kaslr-seed`` node. =20 =20 -RISC-V default machine option (since 10.0) -'''''''''''''''''''''''''''''''''''''''''' - -RISC-V defines ``spike`` as the default machine if no machine option is -given in the command line. This happens because ``spike`` is the first -RISC-V machine implemented in QEMU and setting it as default was -convenient at that time. Now we have 7 riscv64 and 6 riscv32 machines -and having ``spike`` as a default is no longer justified. This default -will also promote situations where users think they're running ``virt`` -(the most used RISC-V machine type in 10.0) when in fact they're -running ``spike``. - -Removing the default machine option forces users to always set the machine -they want to use and avoids confusion. Existing users of the ``spike`` -machine must ensure that they're setting the ``spike`` machine in the -command line (``-M spike``). - - Backend options --------------- =20 diff --git a/docs/about/removed-features.rst b/docs/about/removed-features.= rst index 2021e85f56..d1bea4d75b 100644 --- a/docs/about/removed-features.rst +++ b/docs/about/removed-features.rst @@ -1229,6 +1229,20 @@ firmware is available to boot it. It can be replaced= by the ``ast2700fc``, another multi-SoC machine based on the newer AST2700 SoCs which are excepted to receive better support in the future. =20 +RISC-V default machine (removed in 11.1) +'''''''''''''''''''''''''''''''''''''''' + +RISC-V used to define ``spike`` as the default machine if no machine option +was given via the command line. This happend because ``spike`` was the fi= rst +RISC-V machine implemented in QEMU and setting it as default was +convenient at that time. Now we have 7 riscv64 and 6 riscv32 machines +and having ``spike`` as a default is no longer justified. + +The default machine option has been removed, forcing users to always set t= he +machine they want to use to avoid confusion. Existing users of the ``spik= e`` +machine must ensure that they're setting the ``spike`` machine in the +command line (``-M spike``). + linux-user mode CPUs -------------------- =20 diff --git a/hw/riscv/spike.c b/hw/riscv/spike.c index 35c696f891..87fe0f242f 100644 --- a/hw/riscv/spike.c +++ b/hw/riscv/spike.c @@ -341,7 +341,6 @@ static void spike_machine_class_init(ObjectClass *oc, c= onst void *data) mc->desc =3D "RISC-V Spike board"; mc->init =3D spike_board_init; mc->max_cpus =3D SPIKE_CPUS_MAX; - mc->is_default =3D true; mc->default_cpu_type =3D TYPE_RISCV_CPU_BASE; mc->possible_cpu_arch_ids =3D riscv_numa_possible_cpu_arch_ids; mc->cpu_index_to_instance_props =3D riscv_numa_cpu_index_to_props; --=20 2.53.0 From nobody Sat May 30 17:46:17 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=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1779408662; cv=none; d=zohomail.com; s=zohoarc; b=nAjXyiJBdCWOF6rnSLLdGQF3Jm+fWRNpGFMuDXdFoEcOXlw/27lGS6O5EOiYQaOpwPVa0qRkBNn4wMV2pwJTSZ/5HHOMF2LZZlrDd3pmSK3ak4XB/55yTK0a1J5Zynmx4W8XKbSbdplsW1DxI4aPFjBVYskpxU6weJFiaFDgMoE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1779408662; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=yzmrb2//Q/gLCR3bz7IsBU8u2c8FQ+I54Hlj/vG+0N4=; b=Ro/v1AXx/4Jonq/YM4uwIxo+aUeZr+X7+G/WY3WQYs5nmnHq98viaDaIZoQQTHj/UDHhoE2V1DuZMaFK4D10lbIGhm81BGcIIZNb69HARMKDaLejgICY0CrYAH9En96kp/c81U6OKjHAgmQz8xHb5wYHa3vjkvNzY+H7SKVhXuM= 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 1779408662024881.7006588522348; Thu, 21 May 2026 17:11:02 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wQDMm-0001Tl-1h; Thu, 21 May 2026 20:03:52 -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 1wQDMg-0001Sq-Ee for qemu-devel@nongnu.org; Thu, 21 May 2026 20:03:47 -0400 Received: from mail-pl1-x62a.google.com ([2607:f8b0:4864:20::62a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wQDMd-0003DB-Jy for qemu-devel@nongnu.org; Thu, 21 May 2026 20:03:44 -0400 Received: by mail-pl1-x62a.google.com with SMTP id d9443c01a7336-2b9fcf7c91bso72358295ad.0 for ; Thu, 21 May 2026 17:03:42 -0700 (PDT) Received: from toolbx.alistair23.me ([2403:581e:fdf9:0:6209:4521:6813:45b7]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2beb114b54csm3915475ad.42.2026.05.21.17.03.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 May 2026 17:03:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779408222; x=1780013022; 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=yzmrb2//Q/gLCR3bz7IsBU8u2c8FQ+I54Hlj/vG+0N4=; b=ldNs4A1B3wFWC+GBAIJypjnJ3O3CFUZNmDKexL83NraCFD9QkU1Jm8o6CqHDJHLAQo xpzj2dHgq35GGAaBnzex7kwpMqD04wxWAQtw0LDz5CmUyulmOGufZN0cM77wZag6sczK IvMOrZKdxu/qMHiEXsHFR09IJNToFqwJ0oHEjTQHGA7J1wJTzsdPVRnR/ArCwe6xvq51 wo/LGT5HPcVI0OZR++tvCPICPKgkbfw///BuLsWy/mi4h5FsZI7iO1ZlaemnIeMzvkmS p5EKR1Qlve0KfAsI8S0GjF3lOFOW6ACB4b3sMxBBHQyaU43ITvBCvzpWoKWWMc+PPJau rFwg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779408222; x=1780013022; 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=yzmrb2//Q/gLCR3bz7IsBU8u2c8FQ+I54Hlj/vG+0N4=; b=ACwNUEmE3wmW+CeREFLvR6htRUJXR5zwpQiLUTVGgjrDpYR2EKmoa7ccp7yuVxzD/C QzdOA4i6loPS5PTsbsEdMgfDdkdf6R05u17fZqGHCT1DMwkJxkOdw/dKZTrC3y9YzHNc P7mTHwy8iDHLcCQ0C1RE6FE6VHrB+PqH0FoyxFrA+hi3nB13ruKdqxyPmZE4oNbQqjAQ qIzoSDj7Skb6YujIco/TQy6GwfjDd84nCduUUXcsbA5S1D5AfkBhTw+8CkHmu77xO5Zk Y6GAapWWPwZvBvq8AmDgtTflaB3YsZZS/xMH8pveJvbec2mbBs6nJRDAeGowOEOVjmtW hJaw== X-Gm-Message-State: AOJu0YwmXUhb2JmhyP0zsZLK1KaTuS9z0HG2eFS6YSU88kWLdVmGNJlr CQcyx+R8K1qhRU6YKRr07akC/OyJDORiE4W2nblJmWimUxvFraprhEqBTPYk6Whb X-Gm-Gg: Acq92OFsecae8UFaXARs1cMrolP/CcdWFXsRCljZrOjLMBHV9vEsIH0ChiS9o7uOhiw TSK4Wn22lONIkrC2CX9B8jjwPdbMCLJ/0sFkSHmBKMDKaQb1wpjYe9+SStytln6P/v1V0hqbTSK g4MPtInqMfyy40WvCSOvECZKABdBWJpTt3gx6Vl50X6kNB741M6xTBpetfIfMiihI4p8PpyeTtH +zMe8wcppS0BqGVy1wDB3de1H3AnjkiNOQYAinM1O/DlOYFKFM4ojuCOZ7EN1URK7E1feYoe94+ RkzsWiqNFkgpuHvylETj9J435dlAEYJoSGJZrPkmvXsgyXey2utG08t09J+D5cA7jXtk+ZBDMj8 rV39idboJjnR6EjdUutNZDu6sCvPEgvS9b0Tz9FjloVuntyv0WYRZx4SNzFDYugbEiWGIQxZ8cW bRHRkNUTb272bua6V+l5tzjq0df8Dmo7y488lVhJ3SOLmopZbAgmRF X-Received: by 2002:a17:902:ce92:b0:2b9:7ad1:bf2b with SMTP id d9443c01a7336-2beb06924e5mr11266125ad.29.1779408221570; Thu, 21 May 2026 17:03:41 -0700 (PDT) From: alistair23@gmail.com X-Google-Original-From: alistair.francis@wdc.com To: qemu-devel@nongnu.org Cc: alistair23@gmail.com, Alistair Francis , Daniel Henrique Barboza , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Richard Henderson , Chao Liu Subject: [PULL 02/48] target/riscv: Deprecate the shakti_c machine Date: Fri, 22 May 2026 10:02:38 +1000 Message-ID: <20260522000324.23255-3-alistair.francis@wdc.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260522000324.23255-1-alistair.francis@wdc.com> References: <20260522000324.23255-1-alistair.francis@wdc.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" 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::62a; envelope-from=alistair23@gmail.com; helo=mail-pl1-x62a.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.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, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, 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 @gmail.com) X-ZM-MESSAGEID: 1779408663972154100 From: Alistair Francis The RISC-V shakti_c machine hasn't had meaningful contributions since 2021 and is currently unmaintained. The machine is scheduled to be removed as it appears to have no users. Signed-off-by: Alistair Francis Reviewed-by: Daniel Henrique Barboza Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Reviewed-by: Chao Liu Message-ID: <20260430052218.771358-3-alistair.francis@wdc.com> Signed-off-by: Alistair Francis --- docs/about/deprecated.rst | 7 +++++++ hw/riscv/shakti_c.c | 1 + 2 files changed, 8 insertions(+) diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst index 7771b98b72..97750f5edc 100644 --- a/docs/about/deprecated.rst +++ b/docs/about/deprecated.rst @@ -242,6 +242,13 @@ deprecated; use the new name ``dtb-randomness`` instea= d. The new name better reflects the way this property affects all random data within the device tree blob, not just the ``kaslr-seed`` node. =20 +RISC-V Shakti machine (since 11.1) +'''''''''''''''''''''''''''''''''' + +The RISC-V ``shakti_c`` machine hasn't had meaningful contributions since = 2021 +and is currently unmaintained. The machine is scheduled to be removed as it +appears to have no users. + =20 Backend options --------------- diff --git a/hw/riscv/shakti_c.c b/hw/riscv/shakti_c.c index 49a39b3021..852d5b9797 100644 --- a/hw/riscv/shakti_c.c +++ b/hw/riscv/shakti_c.c @@ -83,6 +83,7 @@ static void shakti_c_machine_class_init(ObjectClass *klas= s, const void *data) mc->init =3D shakti_c_machine_state_init; mc->default_cpu_type =3D TYPE_RISCV_CPU_SHAKTI_C; mc->valid_cpu_types =3D valid_cpu_types; + mc->deprecation_reason =3D "Currently unmaintained with no known users= "; mc->default_ram_id =3D "riscv.shakti.c.ram"; } =20 --=20 2.53.0 From nobody Sat May 30 17:46:17 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=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1779408688; cv=none; d=zohomail.com; s=zohoarc; b=FWm80hoJBP0C/yU/+Zk+2kgM+OEwB2yfZLYF8ONQOaktZocVQPyef1fGOr+ybg8H94olx7XVCAHunxfq6ufb2ucu6i/ZZ9ixBL2zAXsGosIX7ZeAbKl926rdA5MeBjGzvYJgeF0escr/J+EP1NdGZBwSOYLMjPIVDd14vn0HpVA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1779408688; 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=rNkojL9uuqvWe7wcYdTzaSL3blOAtL9R1zlg72VqgO0=; b=ktSXvScIHJJ5lmneqoPOI2MYq7HGDRtIUMZMDn4/SLPMQmUwYQ26Q9GpepYj7vVybePXImeSFJouPUV6qPRXLQN5kXxoM+OTdK4olhuj1uVx8AoteF9Jz+fpHdkfReHfVf9ApiS0s9QUucJF9GF7AIBDoEZSLIEn6RaNf3610s4= 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 1779408687995647.4486313608251; Thu, 21 May 2026 17:11:27 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wQDMn-0001UJ-5G; Thu, 21 May 2026 20:03:53 -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 1wQDMk-0001TU-7j for qemu-devel@nongnu.org; Thu, 21 May 2026 20:03:51 -0400 Received: from mail-pg1-x532.google.com ([2607:f8b0:4864:20::532]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wQDMh-0003DT-Np for qemu-devel@nongnu.org; Thu, 21 May 2026 20:03:49 -0400 Received: by mail-pg1-x532.google.com with SMTP id 41be03b00d2f7-c801912c903so3071544a12.0 for ; Thu, 21 May 2026 17:03:46 -0700 (PDT) Received: from toolbx.alistair23.me ([2403:581e:fdf9:0:6209:4521:6813:45b7]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2beb114b54csm3915475ad.42.2026.05.21.17.03.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 May 2026 17:03:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779408225; x=1780013025; 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=rNkojL9uuqvWe7wcYdTzaSL3blOAtL9R1zlg72VqgO0=; b=L5P9p/y8FN4C5IwRVVXmf2TEmCN6JZlhyJGxPjyiIucc7vRm5T6vbQBlvT1ZD/dQ6+ of6SoOylnsXf5JDz7J/OL6lxgoRaQDZZ8zvjVfTCq6STeksFZBoQLBRufl6O3JsVVY33 KDuGn+pTGYYEQvUEeRy7YTB6bv7DeJXwozyPMAKEWqs91Qo9Zkv+utvP/sQN+GRs6IbA C06LbA6GEeGuGVZeXY5Xu/LSuKjxfHxgi159nrJ5EUBT81UNK6DsXQ93yOAuZeba04Ka Ax72lBrlDTKEdZNB7pW5ynSZfdltEm9xktKOKCBF5FHrVuVEblcf8l0XEQvyhfj/aHSR R3dw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779408225; x=1780013025; 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=rNkojL9uuqvWe7wcYdTzaSL3blOAtL9R1zlg72VqgO0=; b=nqRP49qib/5WwXZ+xlKUC16p+MBP0p9k0qVjpjUnM82J55OYBiywmaZ1rdMHu/KrcW fSS0yyZsCpxykaVlH9G1VsnG9goR0tV0aMpmrEHPUOag6GM12NRVVu/yCo2uZwC13On1 xBphpSAmHe4QxY+hwPY5d2aRGQYpOgHN9vFooqKmBFW9PGB896EWChh5nGvTG52uLBaP 6mQDuCFDUsS6PoenYNkueTcOKuvJ9Kadk1ktgfbeh+2Jw9QrCn6DmcuKIcUR3ZvJ2/u7 KlzGEaeoY0DF5bOpNquf+d5/MANNHsQMk1aqs+O5agCvHcL6VvgO40Pfw7cOtmb1cGEM 1sDg== X-Gm-Message-State: AOJu0YxZ76SJe1fm8a4HplDNko4J09jFlpR13F37FXda7BPZw0GMOtqZ Am+3wOblKedb46W0BQg2hMJIYPWDI20M68c6BFLNhbciJh8ArOK+9d1f+8uJhaIq X-Gm-Gg: Acq92OFzLcjccPI2sKT78v5SPyZmJ4Ul2jvsPSSyUhYj/OCMMiw1GhQe5g+NGCliZSO 1tQC2l6B4hpl6YYZJvtRo88JR9m/RV0YCrWB3bp3fSgxSyihWtw5c3fNwevs8bpI1V7kyB4+eEb HpNyLZF5wTBYQb8PpFhxjtjSQ51YuOPz77IXyXS7E8HMfRtb45AlrGNCXNmSgWcTuDccsjFnAWE WoDBlR00MXIjLB2KpfAFXSgCLiTGaxfZJLa+wK99zHMUvSVcq+vsaPdnkZnuxrunuEXKOEOvA3z 74FC4+QOrLt5mBZrE3RN9rGpfJo293mI8g34uXUGEjR0H3+tYfAXDBzssxcygg9nzIPM6BW9SEY Y4zGTVZHriuJKQj6wOrYeGBl6SVHK1U4rtWyfX28BUzVP0+MJUrJX9q/bMzsvBZZklWFw9uAHSI 4uJs4KGcKfWhIrN0JfdabLFvns7UcvXDJJc+uin4tHfg== X-Received: by 2002:a17:902:c950:b0:2b2:d09c:c07c with SMTP id d9443c01a7336-2beb0848f5bmr9521905ad.36.1779408224851; Thu, 21 May 2026 17:03:44 -0700 (PDT) From: alistair23@gmail.com X-Google-Original-From: alistair.francis@wdc.com To: qemu-devel@nongnu.org Cc: alistair23@gmail.com, Frank Chang , Max Chou , Alistair Francis Subject: [PULL 03/48] target/riscv: Update MISA.C for Zc* extensions Date: Fri, 22 May 2026 10:02:39 +1000 Message-ID: <20260522000324.23255-4-alistair.francis@wdc.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260522000324.23255-1-alistair.francis@wdc.com> References: <20260522000324.23255-1-alistair.francis@wdc.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::532; envelope-from=alistair23@gmail.com; helo=mail-pg1-x532.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.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, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, 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 @gmail.com) X-ZM-MESSAGEID: 1779408690403154100 Content-Type: text/plain; charset="utf-8" From: Frank Chang MISA.C is set if the following extensions are selected: * Zca and not F. * Zca, Zcf and F (but not D) is specified (RV32 only). * Zca, Zcf and Zcd if D is specified (RV32 only). * Zca, Zcd if D is specified (RV64 only). Therefore, MISA.C must be set according to the Zc* extension rules. Warn the user if RVC is explicitly disabled but MISA.C is required by the rules above. Signed-off-by: Frank Chang Reviewed-by: Max Chou Reviewed-by: Alistair Francis Message-ID: <20260424050509.3935180-2-frank.chang@sifive.com> Signed-off-by: Alistair Francis --- target/riscv/tcg/tcg-cpu.c | 39 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/target/riscv/tcg/tcg-cpu.c b/target/riscv/tcg/tcg-cpu.c index 02c98cc2db..216c5f9f76 100644 --- a/target/riscv/tcg/tcg-cpu.c +++ b/target/riscv/tcg/tcg-cpu.c @@ -1163,6 +1163,44 @@ static void riscv_cpu_enable_implied_rules(RISCVCPU = *cpu) } } =20 +/* + * MISA.C is set if the following extensions are selected: + * - Zca and not F. + * - Zca, Zcf and F (but not D) is specified on RV32. + * - Zca, Zcf and Zcd if D is specified on RV32. + * - Zca, Zcd if D is specified on RV64. + */ +static void riscv_cpu_update_misa_c(RISCVCPU *cpu) +{ + CPURISCVState *env =3D &cpu->env; + bool set_misa_c =3D false; + + if (riscv_has_ext(env, RVC)) { + return; + } + + if (cpu->cfg.ext_zca && !riscv_has_ext(env, RVF)) { + set_misa_c =3D true; + } else if (riscv_cpu_mxl(env) =3D=3D MXL_RV32 && + cpu->cfg.ext_zca && cpu->cfg.ext_zcf && + (riscv_has_ext(env, RVD) ? cpu->cfg.ext_zcd : + riscv_has_ext(env, RVF))) { + set_misa_c =3D true; + } else if (riscv_cpu_mxl(env) =3D=3D MXL_RV64 && + cpu->cfg.ext_zca && cpu->cfg.ext_zcd) { + set_misa_c =3D true; + } + + if (set_misa_c) { + if (cpu_misa_ext_is_user_set(RVC)) { + warn_report("RVC mandated by Zca/Zcf/Zcd extensions"); + return; + } + + riscv_cpu_set_misa_ext(env, env->misa_ext | RVC); + } +} + void riscv_tcg_cpu_finalize_features(RISCVCPU *cpu, Error **errp) { CPURISCVState *env =3D &cpu->env; @@ -1170,6 +1208,7 @@ void riscv_tcg_cpu_finalize_features(RISCVCPU *cpu, E= rror **errp) =20 riscv_cpu_init_implied_exts_rules(); riscv_cpu_enable_implied_rules(cpu); + riscv_cpu_update_misa_c(cpu); =20 riscv_cpu_validate_misa_priv(env, &local_err); if (local_err !=3D NULL) { --=20 2.53.0 From nobody Sat May 30 17:46:17 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=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1779408268; cv=none; d=zohomail.com; s=zohoarc; b=FVE3mCqfpHF37Y1pkb9ZUdKENdPgGZTZ5Tqc4en3OVd+Ka4DPJmjDSIOI7yU7LApDFD0rAvwvD+twJpVW+71M3qF4SC8YlX0LCOMPf0lYnvLs+1Ij+CNcWNcDyWqXbDAqC4i/sZZbRwcv4pfC69iM+UnmZJOrQu8PyJkfut/66A= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1779408268; 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=cxON0lSx6F4PleYxS1bR2jjXsUx8lGfM6B97HHIgUWA=; b=a7F3b3uYudzQOZGSVTQO9cXJJosHIWqy9YUPrsVcTgMPnA5pKgiYQgcB4pZPZEXJ3hBflp6eAdZhbBxVtxgh69PCxGsxDEogL1+OF4y+E3feSO5l75IHMxgJ0qskQqraEvOj51RuDYy3YzduPOw7r851ImILeikY1zAurY9EoCo= 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 1779408268977440.4463091148265; Thu, 21 May 2026 17:04:28 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wQDMo-0001Ue-5V; Thu, 21 May 2026 20:03:54 -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 1wQDMm-0001Tt-5Z for qemu-devel@nongnu.org; Thu, 21 May 2026 20:03:52 -0400 Received: from mail-pl1-x634.google.com ([2607:f8b0:4864:20::634]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wQDMj-0003EF-WC for qemu-devel@nongnu.org; Thu, 21 May 2026 20:03:51 -0400 Received: by mail-pl1-x634.google.com with SMTP id d9443c01a7336-2ba4a1a0325so42788685ad.0 for ; Thu, 21 May 2026 17:03:49 -0700 (PDT) Received: from toolbx.alistair23.me ([2403:581e:fdf9:0:6209:4521:6813:45b7]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2beb114b54csm3915475ad.42.2026.05.21.17.03.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 May 2026 17:03:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779408228; x=1780013028; 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=cxON0lSx6F4PleYxS1bR2jjXsUx8lGfM6B97HHIgUWA=; b=B5KojxNP6iEf8Mm2Hj9Ii7hmW1dzezY2omUirNJYyNVCyy/dCiaaWXoSgqasLlQqe2 1GbDGZ50HIC4bamaRd3gVg3rLQW8wI8aUvdnsPjYkZvPwpi8jWpy+g72E1ZGk6iWJHgv QyCH+49YeF5CN4TZl4tIfmfJfIfgV9wCE08W+t5cqM9r6IQR51Ddfm9p/oFm4OH9FnME gupn3pZpMf8lWu9ticbCfSlWQoOOE0Oc59tofKyQbtmcL3qHCIb9WWNhZwm/WHgwFc7e /nFhF+eC6XBFRSM7mdaMZwf+3LdCfX2OFwRMtpGnOQLVrKpX1nxT7Pjwn2iqgXGU/uPU bKfg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779408228; x=1780013028; 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=cxON0lSx6F4PleYxS1bR2jjXsUx8lGfM6B97HHIgUWA=; b=rtHzj40HVvzk2bHSXVvSlq4bVr6uIb37bVb887vrP+wq7lF9aqBFsYez7QR5J/Cd0b n+7NWbo+8YYfMmJ09igDGhg3mL8rBNJGlgFZhL2cpeTOe4zoLOvXPJ6GO55KiObrlYDM ZRaJ+/8eDpn3BZbE5iW0gYZzb3sX4F+FGxKLMyG5pdssLdgtCDAG3yGDCna9TaqLa3Tl mU8KQh5tJAXQwtBfTKCwyFWvV3qPowckPUzf6H+w1XpMbkxBgHC+WrtHcSw78i4Qxk+B 4Eh1BxK4oMbfxck0+iCCDDCeI0u8o44W1qOu3hvly7FVV4Ly4OBmiySI7ro6i0+iXzIO lwAQ== X-Gm-Message-State: AOJu0Yw9L4iZ7bgowuyTTut83bOUGeIQx5T+tt2sDfiZ4SsnALb2UdlM Jm9eaKF9tqiGCarCV4AHwpG+O5b573AjH22et6hAZY/g/2pWYEcvPmZ6NMvr1jqF X-Gm-Gg: Acq92OFCYzmca5eu+ySfYiiFhTIJS+bC4+CFDNBVQhI7bO9FOEDtS8Caq/FDcR/EmxZ L9fuLON9vdBUpDBqZWBzHBQH2i/T1Gtdxw/zGcxDBvUadd8ryPi+SqJ6y7wxfIuGExSe7oAqUx7 u9UwLG0eGjgr2zliyRFyFYWdlbh1QLbZkPKCntM2sHM7/4vJTlffs7EITnY51xF0hb89/KYc8BE mhfzMmcAcuyfpHBbS+w4SvtigFHnhzTq92pn3wkZAKwGHWd2HZGH7v2qkaeh4+oyf+kh3aD1Y0d 6ZHb6+xMZqnTiS+niy79UTC8E4QiE2I7JRHqc5HG06zG2QMpc971342lg9Yj0EHxp3Sh4dBwFRE qXQ70wO25xACL5z+h23qpAtUbk8gjErLpkmdwBcgdwaDpT5PozmQ3W/UYhxF7B1+PpDW4kh3LOe JEzOfU41Maxe6cpcMjbRXeCTNgwoDe7uaky17+1MY+zA== X-Received: by 2002:a17:903:2f03:b0:2bd:eeb6:ff28 with SMTP id d9443c01a7336-2beb0672a53mr12348765ad.12.1779408228331; Thu, 21 May 2026 17:03:48 -0700 (PDT) From: alistair23@gmail.com X-Google-Original-From: alistair.francis@wdc.com To: qemu-devel@nongnu.org Cc: alistair23@gmail.com, Frank Chang , Max Chou , Daniel Henrique Barboza , Alistair Francis Subject: [PULL 04/48] target/riscv: Update MISA.X for non-standard extensions Date: Fri, 22 May 2026 10:02:40 +1000 Message-ID: <20260522000324.23255-5-alistair.francis@wdc.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260522000324.23255-1-alistair.francis@wdc.com> References: <20260522000324.23255-1-alistair.francis@wdc.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::634; envelope-from=alistair23@gmail.com; helo=mail-pl1-x634.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.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, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, 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 @gmail.com) X-ZM-MESSAGEID: 1779408270122158500 Content-Type: text/plain; charset="utf-8" From: Frank Chang MISA.X is set if there are any non-standard extensions. We should set MISA.X when any of the vendor extensions is enabled. Signed-off-by: Frank Chang Reviewed-by: Max Chou Reviewed-by: Daniel Henrique Barboza Reviewed-by: Alistair Francis Message-ID: <20260424050509.3935180-3-frank.chang@sifive.com> Signed-off-by: Alistair Francis --- target/riscv/cpu.h | 1 + target/riscv/tcg/tcg-cpu.c | 15 +++++++++++++++ 2 files changed, 16 insertions(+) diff --git a/target/riscv/cpu.h b/target/riscv/cpu.h index fae839cade..45f895c1fd 100644 --- a/target/riscv/cpu.h +++ b/target/riscv/cpu.h @@ -69,6 +69,7 @@ typedef struct CPUArchState CPURISCVState; #define RVH RV('H') #define RVG RV('G') #define RVB RV('B') +#define RVX RV('X') =20 extern const uint32_t misa_bits[]; const char *riscv_get_misa_ext_name(uint32_t bit); diff --git a/target/riscv/tcg/tcg-cpu.c b/target/riscv/tcg/tcg-cpu.c index 216c5f9f76..a358d91ca5 100644 --- a/target/riscv/tcg/tcg-cpu.c +++ b/target/riscv/tcg/tcg-cpu.c @@ -1201,6 +1201,20 @@ static void riscv_cpu_update_misa_c(RISCVCPU *cpu) } } =20 +/* MISA.X is set when any of the non-standard extensions is enabled. */ +static void riscv_cpu_update_misa_x(RISCVCPU *cpu) +{ + CPURISCVState *env =3D &cpu->env; + const RISCVCPUMultiExtConfig *arr =3D riscv_cpu_vendor_exts; + + for (int i =3D 0; arr[i].name !=3D NULL; i++) { + if (isa_ext_is_enabled(cpu, arr[i].offset)) { + riscv_cpu_set_misa_ext(env, env->misa_ext | RVX); + break; + } + } +} + void riscv_tcg_cpu_finalize_features(RISCVCPU *cpu, Error **errp) { CPURISCVState *env =3D &cpu->env; @@ -1209,6 +1223,7 @@ void riscv_tcg_cpu_finalize_features(RISCVCPU *cpu, E= rror **errp) riscv_cpu_init_implied_exts_rules(); riscv_cpu_enable_implied_rules(cpu); riscv_cpu_update_misa_c(cpu); + riscv_cpu_update_misa_x(cpu); =20 riscv_cpu_validate_misa_priv(env, &local_err); if (local_err !=3D NULL) { --=20 2.53.0 From nobody Sat May 30 17:46:17 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=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1779408723; cv=none; d=zohomail.com; s=zohoarc; b=gsshUx9qFjZABvNLTkEWHD6LhEu669EvK5k2vfDH/+x/AR+q/5OX1tjqWgowoaaCPDjAUZDvCVCzTmXKZvtLxw2dSpfVc4KleA6xg/4zbBEvQ/eyu6LT2MAmzaFtjuIHbGBijnK8oluc4zh2NvwkKCY9fG+ZkGg8mIof2MvlCzk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1779408723; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=8PDGuQ2v76g5jAoiknd6c7KU2tqrx5VzNJSrO3FkLtI=; b=ELKtFP5DNQiY4c14aX0BSm/PE/dyT4Pb4pQCRedHROxHIcyVXOIQA6MJuSzB99NJnYKdV8mdCQygOkj2RtLaPLhKLI1Umiki4Ex+54QZnjFwDd5dfPmtWjFBArzdfZ80eRvsM+3jggUaJUrjYkXHHijAlh1ptRTgaaz8sWREC5k= 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 1779408723922357.8170381918908; Thu, 21 May 2026 17:12:03 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wQDMt-0001Vc-JU; Thu, 21 May 2026 20:03:59 -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 1wQDMq-0001V4-J5 for qemu-devel@nongnu.org; Thu, 21 May 2026 20:03:56 -0400 Received: from mail-pl1-x634.google.com ([2607:f8b0:4864:20::634]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wQDMo-0003En-79 for qemu-devel@nongnu.org; Thu, 21 May 2026 20:03:55 -0400 Received: by mail-pl1-x634.google.com with SMTP id d9443c01a7336-2ba1e9d3687so43973095ad.3 for ; Thu, 21 May 2026 17:03:52 -0700 (PDT) Received: from toolbx.alistair23.me ([2403:581e:fdf9:0:6209:4521:6813:45b7]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2beb114b54csm3915475ad.42.2026.05.21.17.03.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 May 2026 17:03:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779408231; x=1780013031; 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=8PDGuQ2v76g5jAoiknd6c7KU2tqrx5VzNJSrO3FkLtI=; b=UR6GV6NVGW/6Fb2SAmpAHuiU5X3ucSKLSkRRZZCWNnfgFDS3+rPC9pIF5Qouu6oNgF ydp+u3yWk0k+xUzmLt0SPyPTPG6UJ1kz7z3b+d7+wYVciK5bsED8sJBimpt8N29k1Vrm +Eiu4LAlO3nuGFwig2imaTbmxINwb9Y30+XI+ZNQfuWSnD+gGFMfsgJ7r8E8h8BWMnmu DknqlVFJogiuG/aM9CLKZO4J5WywIe9PUpl1G+acq2ZYl6Majb9bcMoeMG7q5GEE5sw4 yjPXacnHhBsHXS3tC4fn3gjV9zM95wrNdfYbpQT9D0fRUPNXWGs6xuv8QznuAU7tXHIj LuVg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779408231; x=1780013031; 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=8PDGuQ2v76g5jAoiknd6c7KU2tqrx5VzNJSrO3FkLtI=; b=G+BqyHg7M26F8qaUlZSueA8baD3BQpXi55dB8yj+o/+sGTvSaTR5UuWHgdu0+TV7cT /iShXQgKUoiA+FpRCKHZOQ/rFIoUq7Egr9YxHcaf+ANoiOCOk4q+0u6B7jjdH9NFxO7F /0VoobsoAVffqZwhaZsMRTu2cCHXeUJ3xQI/ksi8JFjiI/voiUXhvVw/LA/OlCKU0CD2 KhK6Wr3WU+IsgqDERcivwy02MBRfmdB5kzPi9QEA8YNFfQy/W7PJUJG8f7jfP9vJiNhH xqCXVLyCN4VlA+7imWGe6UCQ3SL+2x46xqoQxTcHV8d0oUV/JmVekFzU6hIQ9QmHkDvF 82gg== X-Gm-Message-State: AOJu0YzsHytxhtQf3NEGWJKtqRAF49dVIE35uqBqeveGjw1gG1ZyOU9q GmOzfkb4L8MPCVS7l1oqfZzZODpuva32UV1p6giAcvDy3D65/fs0ToibrY/LClBN X-Gm-Gg: Acq92OGmNwULvoBZCbK+1BVcDSpKZ0EtCs/9HIOK40v9sz4qfDtpTVSTwOubN/gPFVl TY4k8d15w4O/vgGPcGyeX4lkr7kOuKQ4mdPbWJQPoRtUDJ97EZMopmIQbjD4Etp6We5+hvm3Gq5 hM4UttqPCdRQv9W2ZuCKUeBHmgiIyRwWEPnZt8bvZWJkjW7aWl1A31pYMvw0uMsWcfUxVQ7i+jM pnJI5VwXZLpxBNHqhL/lg2yCr87uetV5ajcQc8ZBfcjuHF54XFtnhuCveotMCsqcM0MhiUBZPLQ 9C0DCbqXZ7X2s57pK7MSuh5mwQ78HTj45fPH0ihezUS9qMFA21C8m+nPAtejXgWDDyhcSiDsRGF Pdk4Q/GcCCRea6bCrrd81K8TzxOx4UiprG9tPhloU5ywPrdcq5TNwmFc51lrsYZZqNtZtT14I8O Fz74tqEnO19r/pcYajfb2x39bVWThGa8e7WtYPUeB42w== X-Received: by 2002:a17:903:24f:b0:2ba:4e84:966 with SMTP id d9443c01a7336-2beb06dc34dmr10809255ad.36.1779408231501; Thu, 21 May 2026 17:03:51 -0700 (PDT) From: alistair23@gmail.com X-Google-Original-From: alistair.francis@wdc.com To: qemu-devel@nongnu.org Cc: alistair23@gmail.com, Alistair Francis , Daniel Henrique Barboza , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PULL 05/48] MAINTAINERS: Maintain OpenSBI Firmware Date: Fri, 22 May 2026 10:02:41 +1000 Message-ID: <20260522000324.23255-6-alistair.francis@wdc.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260522000324.23255-1-alistair.francis@wdc.com> References: <20260522000324.23255-1-alistair.francis@wdc.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" 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::634; envelope-from=alistair23@gmail.com; helo=mail-pl1-x634.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.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, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, 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 @gmail.com) X-ZM-MESSAGEID: 1779408724812154100 From: Alistair Francis Mark the OpenSBI Firmware as maintained by me (Alistair Francis) and add Daniel Henrique Barboza as a reviewer. Signed-off-by: Alistair Francis Reviewed-by: Daniel Henrique Barboza Reviewed-by: Philippe Mathieu-Daud=C3=A9 Message-ID: <20260506234243.1873782-1-alistair.francis@wdc.com> Signed-off-by: Alistair Francis --- MAINTAINERS | 2 ++ 1 file changed, 2 insertions(+) diff --git a/MAINTAINERS b/MAINTAINERS index a90daf0308..cd5c4831e2 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -4055,6 +4055,8 @@ S: Supported F: hw/i386/amd_iommu* =20 OpenSBI Firmware +M: Alistair Francis +R: Daniel Henrique Barboza L: qemu-riscv@nongnu.org S: Supported F: pc-bios/opensbi-* --=20 2.53.0 From nobody Sat May 30 17:46:17 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=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1779408267; cv=none; d=zohomail.com; s=zohoarc; b=X8yUPfyqia4NOH/zFUmEPQEDA4FVIjuVicWD3ZIwx++w+AB6bQAM4R3XX+XSjMnT518bXTr9AJYXXXHQ7LSo5vNud3qzApAhR1b2I+TfxA3ywfXonNXHqDaIhmc/+yo1jNVQFxSeow15aoUflVhmHIDB8ReimGlYwqNysUABFG8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1779408267; 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=EbJviW16wrS9UjnUJMMPqymoz8aG3OXb4ujxYPloMrk=; b=g9X8ifvdKbEAawVzKFoAvDUrCgEkEWrvBiejMS5Z8fpp9IPYmb6EwG+WKpqgfk+7Q+b6/JIN31iRM0mv9Js1pmk5ukl0PFffnla+uFLPSl+hgRQ2iljdChOVbTLg8VmZIh5g3ZhtcwTsH5uZg/SWDXGb+MWagnlF/QoQUb/br1M= 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 1779408267770472.08356842594753; Thu, 21 May 2026 17:04:27 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wQDMv-0001WF-0e; Thu, 21 May 2026 20:04:01 -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 1wQDMt-0001Va-AB for qemu-devel@nongnu.org; Thu, 21 May 2026 20:03:59 -0400 Received: from mail-pl1-x62a.google.com ([2607:f8b0:4864:20::62a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wQDMq-0003FT-DU for qemu-devel@nongnu.org; Thu, 21 May 2026 20:03:59 -0400 Received: by mail-pl1-x62a.google.com with SMTP id d9443c01a7336-2ba17c8cfacso65840195ad.2 for ; Thu, 21 May 2026 17:03:55 -0700 (PDT) Received: from toolbx.alistair23.me ([2403:581e:fdf9:0:6209:4521:6813:45b7]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2beb114b54csm3915475ad.42.2026.05.21.17.03.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 May 2026 17:03:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779408234; x=1780013034; 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=EbJviW16wrS9UjnUJMMPqymoz8aG3OXb4ujxYPloMrk=; b=Ig5ENBcjPYrgpCO7xjUA9cqnNvSTeqmtRlg7BBrpkRI7k6axsZt4BJE+mXVfYYfMH1 /sfxdCwclvUZuiyhrnKNhkV+ONTNH8FOyjerhnQvvAUnUfUX8+eFMmMz/xk5SvQxoqN+ 6F3oEfQU+xpKf7CQrNqOeKj9uXUjOK1YBBh9I3nRJf0IWs8sktTquKr2ZCUzZEoN0Plq I7kLv+2hk8jh+xO6VlkQZnvGhrDOCoT/1fTZZVBU476TFXGUz73qoQoNVEoQlMOPWOWm waIpRaaFLGgmzBBP5z+0Fknyl3gmXWXjdYAV5Oy3NP6VovH701UfLUYXJ9QbuQnTY2e2 dhhw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779408234; x=1780013034; 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=EbJviW16wrS9UjnUJMMPqymoz8aG3OXb4ujxYPloMrk=; b=jZ+dfFU0V6sCkvN1AClm4z03fo80xQcagDYnN6h8w921DijmCbHyOcsvwIVbjSsQJa QBzNfkdQWqkHnzOhl7DoXE3WXvMRb9x9AcKQSVUyELiOnAQYIEa516XFBvFbTM/fwIBl rSvrkHvI+2hqxHbyH3lI8l0YtiBe6dr4296iO83RzUa4LbjENja49b3VGTXrN16i0HuS Qa+/RbavLQIpqTEVqDAidJxV22lq1xdbn2HLxd+NVs0JcEu4MYiWMr2DN0ZCJk+CUchK scCwGjO0/B7CyAjNQsIbWdf7nbHzSJpkDnbsNdM0MN0Crp1YxovflVpUkO3pLn2RmDNS Nrog== X-Gm-Message-State: AOJu0Yx+cobjAPH4irTWU5VK++VyVK9Z5cX8M9uUOinTk6cEofsCxiJH M5FhACn5qB9uvmLSH5rmzVsIRSMowF32hmACXPVXKrOcwhgJdgeQBPKpmSR3YO57 X-Gm-Gg: Acq92OFedJwc7B1WHQQRP4BLsGmx2/SGA5F0U8SreE+hP/cNTGcbCdYTBK/eHl34Fo3 u9+s8WO8x4X7WmsJo2xhmJ+jQX28YyNxFXSOwx/npNyFgzHxeKyEC0LN7WvxLyL2MT7nHpUEd2P rO2kSlh5s8A6hAFPrhEUdgNPE/fCFE5eqGQtE02IAPxw5sgO4IWEp32M5oJCoex1HIWMlRBAipu O68HzWscOUCzGEN3qZGhOXLFopxCzpZPYKmtiwwngVROuObDlO9Yqban4/aXoCQTHOsrDzOA0sg GztXW0ySIC7LETl84k90P78JZKdG2XcS+weD7+utCIwpl4Ia9rLErYrO54p2ifAdvvrUF/Tg3xh lgSYxZVyohQcp+kpxEjL2sBntodmKnqHJvsjNyljGmBrmZWN0KOFJltQIwzWe+9kuO5fQ1NIbPG HqhBNnNIzmH0oCLpQi/z9lggKmzvnJE0thKg6bE9lBRg== X-Received: by 2002:a17:903:3c2d:b0:2bc:7d4d:3520 with SMTP id d9443c01a7336-2beb067ac30mr9660525ad.40.1779408234366; Thu, 21 May 2026 17:03:54 -0700 (PDT) From: alistair23@gmail.com X-Google-Original-From: alistair.francis@wdc.com To: qemu-devel@nongnu.org Cc: alistair23@gmail.com, Daniel Henrique Barboza , Alistair Francis Subject: [PULL 06/48] roms/opensbi: Update to v1.8.1 Date: Fri, 22 May 2026 10:02:42 +1000 Message-ID: <20260522000324.23255-7-alistair.francis@wdc.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260522000324.23255-1-alistair.francis@wdc.com> References: <20260522000324.23255-1-alistair.francis@wdc.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::62a; envelope-from=alistair23@gmail.com; helo=mail-pl1-x62a.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.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, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, 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 @gmail.com) X-ZM-MESSAGEID: 1779408269920158500 Content-Type: text/plain; charset="utf-8" From: Daniel Henrique Barboza Update OpenSBI and the pre-built opensbi32 and opensbi64 images to version 1.8.1. We're going for the intermediate/bug fix release 1.8.1 directly due to a PMP related fix that was impacting QEMU profile CPUs. Changelog for v1.8.1: * Typo fix in comments of sbi_hartindex_to_hartid() * Fix hart protection abstraction for platforms without PMP Changelog for v1.8 includes, among other things: - IPI device ratings - SiFive CLINT v2 support - SiFive PL2 cache controller driver - SiFive Extensible Cache (EC) driver - SiFive TMC0 based HSM driver - SiFive SMC0 based system suspend driver - MPXY RPMI mailbox driver for voltage service group - MPXY RPMI mailbox driver for device power service group - MPXY RPMI mailbox driver for performance service group Check out the full release log at [1] for more info. [1] https://github.com/riscv-software-src/opensbi/releases/tag/v1.8 Signed-off-by: Daniel Henrique Barboza Reviewed-by: Alistair Francis Message-ID: <20260108160825.171794-1-daniel.barboza@oss.qualcomm.com> Signed-off-by: Alistair Francis --- .../opensbi-riscv32-generic-fw_dynamic.bin | Bin 268752 -> 270384 bytes .../opensbi-riscv64-generic-fw_dynamic.bin | Bin 273048 -> 275928 bytes roms/opensbi | 2 +- 3 files changed, 1 insertion(+), 1 deletion(-) diff --git a/pc-bios/opensbi-riscv32-generic-fw_dynamic.bin b/pc-bios/opens= bi-riscv32-generic-fw_dynamic.bin index 02be3a72a8..530709633c 100644 Binary files a/pc-bios/opensbi-riscv32-generic-fw_dynamic.bin and b/pc-bios= /opensbi-riscv32-generic-fw_dynamic.bin differ diff --git a/pc-bios/opensbi-riscv64-generic-fw_dynamic.bin b/pc-bios/opens= bi-riscv64-generic-fw_dynamic.bin index cce35c65c2..fea7d35cee 100644 Binary files a/pc-bios/opensbi-riscv64-generic-fw_dynamic.bin and b/pc-bios= /opensbi-riscv64-generic-fw_dynamic.bin differ diff --git a/roms/opensbi b/roms/opensbi index a32a910691..74434f2558 160000 --- a/roms/opensbi +++ b/roms/opensbi @@ -1 +1 @@ -Subproject commit a32a91069119e7a5aa31e6bc51d5e00860be3d80 +Subproject commit 74434f255873d74e56cc50aa762d1caf24c099f8 --=20 2.53.0 From nobody Sat May 30 17:46:17 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=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1779408402; cv=none; d=zohomail.com; s=zohoarc; b=N6DjzcnsduJP0owMVMt0vLw7NRfoKLOjD84dYHb0lJlXmyOVvSNk6NuHXlgVI23jyyITkI+P9yk2JNTWGhxlkrH1TU6Pxa5j+U98D7DOYztaOTX9/TpNz9OtKX8akvfjvmd6ZcoJ0PmOhCRDyAfJ1A/GyqDGbLai0cF8MQGJPmw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1779408402; 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=WC2iiKLLlqcGQYDTGH87Wu5VEUoCfQXRtJb1LZHx4HU=; b=kqpHnazzZ/ri42oHcgJalnvHJvRUFiZlpRg2zhNkAjasRmJ7zzuLRj9qBklhjKCs9ZfMSBAcf3YAjc7gmT8jP9NO52IMhEnakW5NHqG3gD6H6bkg4JCrCh9cxb5O+HJk4n7eFut4+gn/mhYiAd5rvVqpTAIkNaOR+JdjPB/NcbU= 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 1779408402672818.5947818553763; Thu, 21 May 2026 17:06:42 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wQDMw-0001Wi-D2; Thu, 21 May 2026 20:04: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 1wQDMu-0001Vk-91 for qemu-devel@nongnu.org; Thu, 21 May 2026 20:04:00 -0400 Received: from mail-pl1-x630.google.com ([2607:f8b0:4864:20::630]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wQDMs-0003G1-PG for qemu-devel@nongnu.org; Thu, 21 May 2026 20:04:00 -0400 Received: by mail-pl1-x630.google.com with SMTP id d9443c01a7336-2bd9c3b550aso46085925ad.2 for ; Thu, 21 May 2026 17:03:58 -0700 (PDT) Received: from toolbx.alistair23.me ([2403:581e:fdf9:0:6209:4521:6813:45b7]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2beb114b54csm3915475ad.42.2026.05.21.17.03.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 May 2026 17:03:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779408237; x=1780013037; 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=WC2iiKLLlqcGQYDTGH87Wu5VEUoCfQXRtJb1LZHx4HU=; b=Pjzn3fpeYHVRs5IS/F5gpwmsKO8ZNAqggtkLauJNm9RAtpN5eMoa6lWjVkvVqBRcDG +T9EGS4DMz7A7BGZR2qfoyzsW7yJe7A0pHGrJTIFcaCXrm9TrJCQE9OytLDkBlcPv18S eEl/+NEyoH0AiNcz65L4g2Cz4VKtoy6Taw3oKOepQbo9KJ3UnKqXVFe/ofV8KzwoF9vM KRYeD2blOFi3X2QInpP5o+IDF/36AV5CCGRB6aki/MIFqgr7+EA58ADKP/W77A4MsrZb XhHlILnSBFgJFKYghkfGFT7i7NZrJp6vOREa2iFjd+CtcNTX5UTERXZ4dyribNNqqtXV reSA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779408237; x=1780013037; 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=WC2iiKLLlqcGQYDTGH87Wu5VEUoCfQXRtJb1LZHx4HU=; b=CX9yKKwaYp+fyyU3SSzXwehcE/r9InhpP7AS3OIxZCU/jvgHGFNGPPMUXmYiPfXw3n C3Fv7bnOj+2cE6RM3rVchvpfxTA9hqwpsYMxCqozGIzvK65x7Zz5SNaQrF9ZRIK0tZgZ n3m22xyqQ6wPMNTDZPg6kymTPGokfjUGAZj7IugLGr/rqZVHwKSTNcUuxMAevCr+YlaO 1YOagnuv+ecj43F2usosBXWL/KW/zLCeVWeBMAsWs3cAeY8im38nU6i36nrxONc3UWAQ u6DpKCTU6hDXWnXSLrEJ9McLDXMyb8fN4jCHH2MhirDcymnoRjuuOb22nkTWzrZSqPR/ xZnQ== X-Gm-Message-State: AOJu0YwJxBCu5BL47e9bAHqfq8UgZgBIWP3vNl5q9dRGJuMwSdOz9CZ6 kMsRlSFQu0JX9gGa9vM+R+1D3iD3xWUaWplZnBLBgsbzUlHrtK+SHu2HcF2q31Gx X-Gm-Gg: Acq92OHDJJzPxWDkUErgO2wVQ/2TW1DHUxmZdGmFNCO17B1EjpYph3Mxz8M9ztEgCYm jdFN6tbrI/+WhCtU/jCnyAIgQdJKLvXxtJhHL6PaCLT/iAGCC7DCo/uCkqu/SSj25pNtgcSUEAy /nAuUDktV5UMfLnYSdTcN/VS1xKs3JN2CdPrs1VTFvexpTw3roXLB6oBbbyZEjpxRkheJ/GmY5U 42YXjytLlUgyiwjHI403fNlF5iHlIdJcGaEjA1FBabdt+Dp0eVEC1oPQTtzEuH8zNyGcq/dOc0q K8HAh7/2hCG4kalgM85DV2Ss/Occe3NDf3rMVm1xFlVy3yZ6J+Ec+Ov9UK19cZsD6CGeEwoGRzD lx0uBgTEK4FykJizNB+r6xYrPHIvjU/WRmNoxTHy+ZG2VFIVH+lbcTtb4PFHlbroxAPy1KyQGJX vYtrdE9dHOzKrcIOydmOFI7ooc23Z4V6+V3SiMO+y0qw== X-Received: by 2002:a17:903:f90:b0:2bc:dca9:f0ef with SMTP id d9443c01a7336-2beb0770a09mr10606495ad.36.1779408237348; Thu, 21 May 2026 17:03:57 -0700 (PDT) From: alistair23@gmail.com X-Google-Original-From: alistair.francis@wdc.com To: qemu-devel@nongnu.org Cc: alistair23@gmail.com, Mohamed Ayman , Alistair Francis Subject: [PULL 07/48] riscv: virt: avoid RISCVCPU copy in PMU FDT setup Date: Fri, 22 May 2026 10:02:43 +1000 Message-ID: <20260522000324.23255-8-alistair.francis@wdc.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260522000324.23255-1-alistair.francis@wdc.com> References: <20260522000324.23255-1-alistair.francis@wdc.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::630; envelope-from=alistair23@gmail.com; helo=mail-pl1-x630.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.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, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, 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 @gmail.com) X-ZM-MESSAGEID: 1779408404148158500 Content-Type: text/plain; charset="utf-8" From: Mohamed Ayman Use a pointer to the hart instead of copying RISCVCPU when passing pmu_avail_ctrs to riscv_pmu_generate_fdt_node(). Signed-off-by: Mohamed Ayman Reviewed-by: Alistair Francis Message-ID: <20260503180252.1122776-1-mohamedaymanworkspace@gmail.com> Signed-off-by: Alistair Francis --- hw/riscv/virt.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hw/riscv/virt.c b/hw/riscv/virt.c index 315049bc86..3d06c9c610 100644 --- a/hw/riscv/virt.c +++ b/hw/riscv/virt.c @@ -722,11 +722,11 @@ static void create_fdt_pmu(RISCVVirtState *s) { g_autofree char *pmu_name =3D g_strdup_printf("/pmu"); MachineState *ms =3D MACHINE(s); - RISCVCPU hart =3D s->soc[0].harts[0]; + RISCVCPU *hart =3D &s->soc[0].harts[0]; =20 qemu_fdt_add_subnode(ms->fdt, pmu_name); qemu_fdt_setprop_string(ms->fdt, pmu_name, "compatible", "riscv,pmu"); - riscv_pmu_generate_fdt_node(ms->fdt, hart.pmu_avail_ctrs, pmu_name); + riscv_pmu_generate_fdt_node(ms->fdt, hart->pmu_avail_ctrs, pmu_name); } =20 static void create_fdt_sockets(RISCVVirtState *s, --=20 2.53.0 From nobody Sat May 30 17:46:17 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=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1779408344; cv=none; d=zohomail.com; s=zohoarc; b=iIeBZ1FBvBMJmBR0vL968Q3xymTgUWKkzdtQwBUDg15QIcNK7PUuNKB+D41mFeoCsbjdze1IGkRPp3lfXOwYo1nepqfA6RMkelyxxhYYbxb2plwKsVMhJLvXwJUlsEcuofAO6C+E4juXEvUezdDBxrDGzZV29Vav4BCFkNYC1JM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1779408344; 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=ZwTQ3UjJgnhZeMCZxzlg6974M/fv9yFfvT11+V0MwTY=; b=k7ieMMIqUuVyruqIuN+PAmCt+Kl2mvtIITVG6YcS3OmXe7YnuZMV+InJWls+k2XoyuCpw2KZ0y3OZVSQA5EFWa+Iw+6UTeQ/idJwCIQL4Ul5InjUv3e0dFTcSw2kTJ1bCTObAnAMSsXGZYx+5KNmrgwY6LmWD3cuHh1W/xMLlUo= 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 1779408344980923.3692271890114; Thu, 21 May 2026 17:05:44 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wQDN0-0001XP-FD; Thu, 21 May 2026 20:04:06 -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 1wQDMy-0001X5-DA for qemu-devel@nongnu.org; Thu, 21 May 2026 20:04:04 -0400 Received: from mail-pl1-x635.google.com ([2607:f8b0:4864:20::635]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wQDMw-0003HB-AL for qemu-devel@nongnu.org; Thu, 21 May 2026 20:04:04 -0400 Received: by mail-pl1-x635.google.com with SMTP id d9443c01a7336-2bd80b3aa13so43713095ad.0 for ; Thu, 21 May 2026 17:04:01 -0700 (PDT) Received: from toolbx.alistair23.me ([2403:581e:fdf9:0:6209:4521:6813:45b7]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2beb114b54csm3915475ad.42.2026.05.21.17.03.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 May 2026 17:04:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779408241; x=1780013041; 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=ZwTQ3UjJgnhZeMCZxzlg6974M/fv9yFfvT11+V0MwTY=; b=gPE8rdI/Jze0MRJfEKW0zcyQU9knRdNqaxPpzW872pEgclFkTN8vsrq4geGCzRUASY whAha81DJ74GJx6y/+ihy1WOCX4aK+wRwnap6huDEP1i0YV1nRxmZrxkgjHVaPeteQdD FsRD9LYvPJkRHDXd+QqzGgexXt302PAWwQk5wm2A+Y2Qvsj7IZnYnW4XG1uHBsXKxCJj e/dmjZjdUDYTGIxp9c+IFNXj0GoGJOfwyMuts/m60rGon52YL+pU6+6uGYBsmqMIY7Kq PaO6+N2chZv8a9fa4cu8SqdtGK0IGDBinjxTmkIQg1Kd39Efuv5by57jhaulHHPuOeoc bvmg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779408241; x=1780013041; 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=ZwTQ3UjJgnhZeMCZxzlg6974M/fv9yFfvT11+V0MwTY=; b=fZIV8qfcPoEAj9g6qCOE8vyEwybFmxdy8xUnC1M3AyMoOuW7/iQ3eEnwaNGR40aa9/ apprZEGnEHaSRcH5HGef8q2Lc9MpodXGngaPtP/2qQFjEgAyCaWnXaLCx1c0w6wSZK71 PRu3ynBHC0Jrtml83EGaefh5b0S7fD4+X68n3Hq/vzH92EANK0wvYAgyXASSAwR2dSKk smYf5C+U2I3V2pfN+gZMS5Dq0eviZYK428BkmevKsiAI7pYaeg7IZGvFC2lGNr9EjQ4v n/EuKUo7wLSSyI6LwyLst0XxQXUFtrl9d7uFpUEebOpqNX+lSbL+5hDdcl8eIGZ+afzD Cgmw== X-Gm-Message-State: AOJu0YxrudNr+/m5I344Nbqr36PV3hLgMY/c+18rIR9Ns/SbLuXOSGfE Pi628rOiTo0ZNvjm4MYaPuc35OnAvIDJLr6qpLeAQc2wSTEm/4rTtyIak1ZtEqhq X-Gm-Gg: Acq92OEZmXyY9T5BHfB563Korg8gRk6kpSOwbu3g3/5Luuj27W3rS8vYtToYgr6t9d/ uGOPE3us1wKy1AQwnflge/KPEigamB3LjpJaSDVEh37N7Eld0iP5mRug5hx+2emsFFEvRO2vcNn zSogBCDsHMR+SKli1zpcTMEzzWOWXrBFwuKbsPMUAicKKyHAEtp915vIPQhC0JukaMZeTP1uzfp 239qdbgsrlxW0lOV9tkxgdYqoFdXQG/o43SokwYBJxAxj/MgnQ801197i/kXq/gHircCeevcFDw Xqp4Hxf9lwH0poDkBURnehPv2CoSUQ0io9yqIf+3xLLfUYRtsxog1SDDULya4Bwl/k7HTrZIddt jynbDdgIr3VS7m44/d9M9OrZkTUT8zSSB4u3ZihrMwQQ692yCa6xrZTnEl4rO700vK2K8wgjUTj oU2NWF6bvNuWaELns8SjSruTcxHIzdw4jGGjXUpcy/VqY301mYuYv4 X-Received: by 2002:a17:903:1b10:b0:2b2:4d36:7ba with SMTP id d9443c01a7336-2beb058078cmr9980315ad.0.1779408240931; Thu, 21 May 2026 17:04:00 -0700 (PDT) From: alistair23@gmail.com X-Google-Original-From: alistair.francis@wdc.com To: qemu-devel@nongnu.org Cc: alistair23@gmail.com, Zishun Yi , Chao Liu , Daniel Henrique Barboza , Alistair Francis Subject: [PULL 08/48] target/riscv: Allow mseccfg access based on ext_zicfilp Date: Fri, 22 May 2026 10:02:44 +1000 Message-ID: <20260522000324.23255-9-alistair.francis@wdc.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260522000324.23255-1-alistair.francis@wdc.com> References: <20260522000324.23255-1-alistair.francis@wdc.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::635; envelope-from=alistair23@gmail.com; helo=mail-pl1-x635.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.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, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, 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 @gmail.com) X-ZM-MESSAGEID: 1779408346670154100 Content-Type: text/plain; charset="utf-8" From: Zishun Yi The Zicfilp extension adds the MLPE field to the mseccfg CSR. According to the RISC-V Privileged Specification, mseccfg exists if any extension that adds a field to it is implemented. Currently, the `have_mseccfg()` predicate function checks for Smepmp, Zkr, and Smmpm, but misses Zicfilp. As a result, if a CPU is configured with `zicfilp=3Dtrue` but without the other extensions, accessing the mseccfg CSR will incorrectly raise an illegal instruction exception. This patch adds the missing check for `ext_zicfilp` to ensure the CSR is properly accessible when the Zicfilp extension is enabled. This issue was discovered and reported by SpecHunter, an AI-driven architecture specification analysis tool. Link: https://github.com/yizishun/rv-isa-sec/blob/master/output/riscv-isa-m= anual/pr-2561/qemu.txt Signed-off-by: Zishun Yi Reviewed-by: Chao Liu Reviewed-by: Daniel Henrique Barboza Reviewed-by: Alistair Francis Message-ID: <20260511072705.3015986-1-vulab@iscas.ac.cn> Signed-off-by: Alistair Francis --- target/riscv/csr.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/target/riscv/csr.c b/target/riscv/csr.c index da366cf562..e1cd4a299c 100644 --- a/target/riscv/csr.c +++ b/target/riscv/csr.c @@ -783,6 +783,9 @@ static RISCVException have_mseccfg(CPURISCVState *env, = int csrno) if (riscv_cpu_cfg(env)->ext_smmpm) { return RISCV_EXCP_NONE; } + if (riscv_cpu_cfg(env)->ext_zicfilp) { + return RISCV_EXCP_NONE; + } =20 return RISCV_EXCP_ILLEGAL_INST; } --=20 2.53.0 From nobody Sat May 30 17:46:17 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=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1779408593; cv=none; d=zohomail.com; s=zohoarc; b=UYzVJ4zqdKFohK1/76qBwjqzGAizp7NjGVJIzCv9kYmlhjuSCp965erAO3CrXmDq01Q+gV+O2v2tp85NNvkWht/wfwZB/lPvnDZJGEjLTJPXFxTKUrbKdT7Ywyg22QKh85NdeRxNvcG4hCR/FXtRT2SsexwCVJtwGlzQxkHlzfk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1779408593; 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=dWclSkJBFNBbgj7Bf7xZl/684YkVm+PSyCPH4svFOR4=; b=FlzXe6mfeqlmxBqv9G8qH1+yLJVHacMctvePVCvqtjyuyDk+iOcxDfJVAMUkDN0d1yXC5/cpfEetoJC3y/OLGkicV0bai5DgXliUrVGUDineRk0LMor/OcYRu16JySwXRB3X8gNBWpt4fdoTtMXmMOx33P3BwUq52Ww0dTrM8W4= 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 1779408593244886.4155099327592; Thu, 21 May 2026 17:09:53 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wQDN4-0001YF-2f; Thu, 21 May 2026 20:04:10 -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 1wQDN2-0001Xp-LN for qemu-devel@nongnu.org; Thu, 21 May 2026 20:04:08 -0400 Received: from mail-pl1-x62c.google.com ([2607:f8b0:4864:20::62c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wQDN0-0003IC-PH for qemu-devel@nongnu.org; Thu, 21 May 2026 20:04:08 -0400 Received: by mail-pl1-x62c.google.com with SMTP id d9443c01a7336-2ba856db1c0so49142775ad.3 for ; Thu, 21 May 2026 17:04:06 -0700 (PDT) Received: from toolbx.alistair23.me ([2403:581e:fdf9:0:6209:4521:6813:45b7]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2beb114b54csm3915475ad.42.2026.05.21.17.04.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 May 2026 17:04:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779408245; x=1780013045; 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=dWclSkJBFNBbgj7Bf7xZl/684YkVm+PSyCPH4svFOR4=; b=r1BsT1GwJmjv53whjfeThZHoDjwsjdsd0DLd18olaB6wQM3jI0wV4+WtYgNPXNpSVw jNbJPdOhflTh3oTtl0BtaAthDQ/LnyuxKku6SWjkqD/zvk+BSKXfSuBoTBg0fkD8eKnh kuqxSrJcUkwcPLR3FN4bW6JdKZwMfuPvkwBUfRB/jUWu68IbZVegfijJ42/q0tN+DhG3 vFmDZ6jwqKo20P94eZHK49K8Qlh75p9Gv/KnFL0A1lyzs7PJho/197J0v8CMePjV820A OAabdmS00GVSy2C4nCvm2aUtbGzPRLyjZG1Q+dmBuBtZMVJjE2jKTt7H97awuhgM9qRq IQPg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779408245; x=1780013045; 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=dWclSkJBFNBbgj7Bf7xZl/684YkVm+PSyCPH4svFOR4=; b=TXxwvbjShykcRpS8ish1mke4gb16UeQxyfGNPkIA1gTQS7jve5OEhQ6pxhEYYV2Jsw OUYGUkroATlali78vo8oNl+QLVwlxbEq3Z0gZKX2e8TmzJ2nd7GeR/ktkZdR7W1KnFHc g9h6BJ3B5Swu1pdGjrBxMShddE1Dg7AmpXGggXu1FyXESpsB+bE3jMN+Wv7wVgb4BS61 aAE+FjjbGJbApcQd+RU1LVDry/tIiuU2ofm3LtFHLiqI8kvB9oqMnO0ACwX79x8xV8bw RxpxTclusdsWXwXJNv959RbTW1FyHebnK4u4lv92ClESc+gwyvRzhSY0P1DQ0yXnqPXI mxXA== X-Gm-Message-State: AOJu0YzqMFS+1tPOeZzoJNmwjyydSlUrXXX0j44XiJMACRLzrY7JP9kv IvZM6m+nKherpWyrkfJxozTd94rtFNLKeqUuFL5V3GVqMKhig55e+5f0fGEU/6hb X-Gm-Gg: Acq92OHUVOTAhz4pKAqsuhWCLtqIeV4ImsFO3/KTxYdXeTxVypO0LAAVMD+IvzvtYtR xXfCQdH8alXtrWPu8yP9z6hoYT1As1wO9oIFT2LA1+Maq4svIWkY2NihyrqAu6MeiKXcCGC+29I vDb3JN6ZKI0z8+7dMvIJuydYXS50996u3Qn27tx45gQhE+43QF3hLsKCDNMs8vrEoSiG+8Ixc2Q /8cJI3lFlzdbcBzlpacx6l7FEWoyf5pFIz4slTsRkbvXIt90RPWYT5eiGxpBB/jLZVtVUssFn6F Hw/NLwrqR4/27ctNuJODKEt5/QLIt5MpcnR987xxQTTanU2u43L+/kHV5FpKG0Jlwh2z+UBh496 pv5iBQCKWlLdcjE6LodoJQwUpIZaGoXwkWBQ7c9gLjYN1mcPJsQkpq9kuD0EGFLjLL0vxCdKNKj u8ZOjgalAkqPxhcQa8wbe2ZouwQPBzIDYoea3E89OvxQ== X-Received: by 2002:a17:903:246:b0:2bd:8395:fed8 with SMTP id d9443c01a7336-2beb0722b38mr11003215ad.27.1779408245067; Thu, 21 May 2026 17:04:05 -0700 (PDT) From: alistair23@gmail.com X-Google-Original-From: alistair.francis@wdc.com To: qemu-devel@nongnu.org Cc: alistair23@gmail.com, Andrew Jones , qemu-stable@nongnu.org, Daniel Henrique Barboza , Nutty Liu , Tomasz Jeznach , Alistair Francis Subject: [PULL 09/48] hw/riscv/riscv-iommu: Fix Svnapot 64KB pages Date: Fri, 22 May 2026 10:02:45 +1000 Message-ID: <20260522000324.23255-10-alistair.francis@wdc.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260522000324.23255-1-alistair.francis@wdc.com> References: <20260522000324.23255-1-alistair.francis@wdc.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::62c; envelope-from=alistair23@gmail.com; helo=mail-pl1-x62c.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.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, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, 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 @gmail.com) X-ZM-MESSAGEID: 1779408594997154100 Content-Type: text/plain; charset="utf-8" From: Andrew Jones The Svnapot extension encodes a 64KB leaf PTE by setting PTE_N and storing bits [3:0] of the PPN as a NAPOT size indicator. The IOMMU model wasn't checking PTE_N and therefore was using the raw (NAPOT- encoded) PPN directly in the physical address, yielding an address 32 KB above the correct base. Fix both riscv_iommu_spa_fetch() and pdt_memory_read() by mirroring the Svnapot handling already present in target/riscv/cpu_helper.c: napot_bits =3D ctz64(ppn) + 1 /* 4 for 64KB */ napot_mask =3D (1 << napot_bits) - 1 /* 0xF */ phys_base =3D PPN_PHYS(ppn & ~napot_mask) page_offset =3D addr & (PPN_PHYS(napot_mask) | (TARGET_PAGE_SIZE - 1)) The spec only defines napot_bits =3D=3D 4 (64KB); any other value is treated as a reserved encoding. This is a fix, rather than new feature support, because the spec says "IOMMU implementations must support the Svnapot standard extension for NAPOT Translation Contiguity." Fixes: 0c54acb8243d ("hw/riscv: add RISC-V IOMMU base emulation") Cc: qemu-stable@nongnu.org Signed-off-by: Andrew Jones Reviewed-by: Daniel Henrique Barboza Reviewed-by: Nutty Liu Reviewed-by: Tomasz Jeznach Message-ID: <20260508205129.377032-1-andrew.jones@oss.qualcomm.com> Signed-off-by: Alistair Francis --- hw/riscv/riscv-iommu.c | 44 ++++++++++++++++++++++++++++++++++++++---- 1 file changed, 40 insertions(+), 4 deletions(-) diff --git a/hw/riscv/riscv-iommu.c b/hw/riscv/riscv-iommu.c index 25a356d1d3..eb09cc9748 100644 --- a/hw/riscv/riscv-iommu.c +++ b/hw/riscv/riscv-iommu.c @@ -237,6 +237,25 @@ static bool riscv_iommu_msi_check(RISCVIOMMUState *s, = RISCVIOMMUContext *ctx, return true; } =20 +/* Returns the NAPOT page mask, or 0 for reserved encodings. */ +static hwaddr riscv_iommu_napot_page_mask(hwaddr ppn, hwaddr addr, hwaddr = *out) +{ + int napot_bits =3D ctz64(ppn) + 1; + hwaddr napot_mask, page_mask; + + /* The spec only defines 64KB (napot_bits =3D=3D 4) */ + if (napot_bits !=3D 4) { + return 0; + } + + napot_mask =3D (1ULL << napot_bits) - 1; + page_mask =3D PPN_PHYS(napot_mask) | (TARGET_PAGE_SIZE - 1); + + *out =3D PPN_PHYS(ppn & ~napot_mask) | (addr & page_mask); + + return page_mask; +} + /* * RISCV IOMMU Address Translation Lookup - Page Table Walk * @@ -458,9 +477,20 @@ static int riscv_iommu_spa_fetch(RISCVIOMMUState *s, R= ISCVIOMMUContext *ctx, } else { /* Leaf PTE, translation completed. */ sc[pass].step =3D sc[pass].levels; - base =3D PPN_PHYS(ppn) | (addr & ((1ULL << va_skip) - 1)); - /* Update address mask based on smallest translation granulari= ty */ - iotlb->addr_mask &=3D (1ULL << va_skip) - 1; + + if (pte & PTE_N) { + hwaddr mask =3D riscv_iommu_napot_page_mask(ppn, addr, &ba= se); + + if (!mask) { + break; + } + iotlb->addr_mask &=3D mask; + } else { + base =3D PPN_PHYS(ppn) | (addr & ((1ULL << va_skip) - 1)); + /* Update address mask based on smallest translation granu= larity */ + iotlb->addr_mask &=3D (1ULL << va_skip) - 1; + } + /* Continue with S-Stage translation? */ if (pass && sc[0].step !=3D sc[0].levels) { pass =3D S_STAGE; @@ -997,7 +1027,13 @@ static MemTxResult pdt_memory_read(RISCVIOMMUState *s, return MEMTX_ACCESS_ERROR; /* Misaligned PPN */ } else { /* Leaf PTE, translation completed. */ - base =3D PPN_PHYS(ppn) | (addr & ((1ULL << va_skip) - 1)); + if (pte & PTE_N) { + if (!riscv_iommu_napot_page_mask(ppn, addr, &base)) { + return MEMTX_ACCESS_ERROR; + } + } else { + base =3D PPN_PHYS(ppn) | (addr & ((1ULL << va_skip) - 1)); + } break; } =20 --=20 2.53.0 From nobody Sat May 30 17:46:17 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=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1779408365; cv=none; d=zohomail.com; s=zohoarc; b=TkCIoAgP9//Itcq9kK3CxCHNafnhJRJnha7aspRrRChy5jviNGwVX+mcWFLjkV/BNs0+zEkSWAWkQ0xR396Kd81lJFZ6VK0HEp1R2MfWGoDy5KTkd1mPiF8HcElG3uPA9uV+u7/LqAWHEJiA/uAF3+2H+radJO06uQR2W0EQjOQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1779408365; 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=ck1FjH8gwZzYqjalWaxvd/wqR/65wgyMLNJS0gQeToE=; b=E1d7qeNNzK6f4MiOIQpSb9ndc2sO2phoaTX3anxqc+t5ue4+TQ3enyvWkoZuwP7eu/9s7R0w8VT4dn778ZKSAuOkwlZFPdDzHtNq7tGUXAhHUbN6OARnydBU80Z8ja/izLp+EF4I01RqBpHQ99JACVh4fjWn8NbJIH8br3Mpid8= 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 1779408365478784.1786541163457; Thu, 21 May 2026 17:06:05 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wQDNC-0001Z6-AA; Thu, 21 May 2026 20:04:18 -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 1wQDN5-0001Yh-7H for qemu-devel@nongnu.org; Thu, 21 May 2026 20:04:12 -0400 Received: from mail-pl1-x62d.google.com ([2607:f8b0:4864:20::62d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wQDN3-0003Ij-Dn for qemu-devel@nongnu.org; Thu, 21 May 2026 20:04:10 -0400 Received: by mail-pl1-x62d.google.com with SMTP id d9443c01a7336-2b9ea536877so42326475ad.1 for ; Thu, 21 May 2026 17:04:09 -0700 (PDT) Received: from toolbx.alistair23.me ([2403:581e:fdf9:0:6209:4521:6813:45b7]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2beb114b54csm3915475ad.42.2026.05.21.17.04.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 May 2026 17:04:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779408248; x=1780013048; 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=ck1FjH8gwZzYqjalWaxvd/wqR/65wgyMLNJS0gQeToE=; b=Mcc49hGjlo6ljJJSCEAMXzA51TFh48e6K/oinhAKqnc9UUkbwmadiUbIolOIbixlPI N69Cdmd/bG80mHYzWFkIgc7ZGNyKYgif6ugHqbwljr4eZTNNQZbVeHqhLa5JPS2rPYFs jsd6kUWRi+pfemooeoHYYj4XUKs05Og+jM7mZq0eLhW2KryFoRZNkWo/X7fDVsHIBfr2 wDNmUlBj6aWThOT70uLpP1XzZu+SkMWv8QcffhFe8EjC79+xSRkCpF8KQ8ll4U3b2y02 w85Xi3KLz28JRdwO9tWBj1jiaNFx+d5QEkQkZsSN+mFoR8gK4pBvylTxEhCxdZTbRMkI uxBA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779408248; x=1780013048; 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=ck1FjH8gwZzYqjalWaxvd/wqR/65wgyMLNJS0gQeToE=; b=qBVTEyYmjjC8tgHSzSpUkOWG1JBSnnyG95s2VItfFiD96/DEbr9eZu4OEA5fgGrOOY 1HggYnMcA4clWI5WbdzJc1QbIRuyHmwoFlBA5blqla0JldLGkZbsErHhpMEU9o5B19eB +FpRPlbE/SLV5DJlBHZdbkskjLr9iJ9Ogozcip2kqnvbPo/dLx8Vo/YnTlU1XvYy6iGO 2A85qD9cTCvPzhOU+/67VUbE0tvyvSEqubwPgVk13O2r0OdNzvjHJBJJHa7CNgbTVjcQ 3YfGgfljLL9yQ2xQ0+VftrYB0KHMq7HJpdK/BUzn68i0kuZ4MYM4gygCCsotPUkLKkZU kaDw== X-Gm-Message-State: AOJu0Yyf1v92/9z3Lw/gKmr3OeFUtOPKQ/B06xTZsk66EWKS0DcVM+ix HA0ODIkwu/MGg/m6PEUBFXmcQke2JXYvIcoW5ksVGpkBRNX4w0sPg9q5icPysYLZ X-Gm-Gg: Acq92OFyDbDD+K7hl7nsk7G1yc/GBqMb0s5faNtv4jsda5n2c9zqSDVexwUde2k50HG CU24YpJ62NZQP0tkdn3S3hlFtqJb4cqdXZqP0CeVv9xq+aouDExu9pJQ1Aiqveo7CudOMkuwkJ6 rjRHE89OY0Hu9sWVj8jizn+j8zVJClJLnbz2EPxvNkSqqv80M96upzp6DCXuhgEwux098N0D7TN 8PKS1KNo2cqoaP0eOll4/g/P3PzqaC4Dvj4kjXvbgaYVd1Tu/6bhTI9VEe09AkU99nuLAqnG5fK iOdubZ3396YxTb44alFHg+B8cy5HF6j0MKaELlfU3JHi48pVgWWyiwnL86r9sz6EgjVO6LPw3jA /8pK4gbfm7UYVO6ssnVJGxQ8p73jPXNYiEWy96h1JqDr1OaGkRQUz72Iybj1LTaNCNN2SPFgXx4 7O3N6RkvX2vmkJ3cbTFL5V7F99ZudohUMZb/ho/HFMTw== X-Received: by 2002:a17:903:234d:b0:2b9:cabe:ce37 with SMTP id d9443c01a7336-2bea20a2f33mr50739985ad.1.1779408247930; Thu, 21 May 2026 17:04:07 -0700 (PDT) From: alistair23@gmail.com X-Google-Original-From: alistair.francis@wdc.com To: qemu-devel@nongnu.org Cc: alistair23@gmail.com, Anton Blanchard , Alistair Francis Subject: [PULL 10/48] target/riscv: rvv: Handle source overlap of vector widening reduction instructions Date: Fri, 22 May 2026 10:02:46 +1000 Message-ID: <20260522000324.23255-11-alistair.francis@wdc.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260522000324.23255-1-alistair.francis@wdc.com> References: <20260522000324.23255-1-alistair.francis@wdc.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::62d; envelope-from=alistair23@gmail.com; helo=mail-pl1-x62d.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.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, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, 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 @gmail.com) X-ZM-MESSAGEID: 1779408365965158500 Content-Type: text/plain; charset="utf-8" From: Anton Blanchard Widening reductions read vs2 as a vector of SEW elements and vs1[0] as a scalar of 2*SEW. The ISA does not allow the same vector register to be read with different EEWs, so they must not overlap. vs1 is read as a scalar from element 0, so it is treated as a single vector register (independent of LMUL) when checking overlap. Resolves: https://gitlab.com/qemu-project/qemu/-/work_items/3208 Signed-off-by: Anton Blanchard Acked-by: Alistair Francis Message-ID: <20260417080328.31918-1-antonb@tenstorrent.com> Signed-off-by: Alistair Francis --- target/riscv/insn_trans/trans_rvv.c.inc | 1 + 1 file changed, 1 insertion(+) diff --git a/target/riscv/insn_trans/trans_rvv.c.inc b/target/riscv/insn_tr= ans/trans_rvv.c.inc index e65356eb7c..0b41cecb27 100644 --- a/target/riscv/insn_trans/trans_rvv.c.inc +++ b/target/riscv/insn_trans/trans_rvv.c.inc @@ -3283,6 +3283,7 @@ GEN_OPIVV_TRANS(vredxor_vs, reduction_check) static bool reduction_widen_check(DisasContext *s, arg_rmrr *a) { return reduction_check(s, a) && (s->sew < MO_64) && + !is_overlapped(a->rs1, 1, a->rs2, 1 << MAX(s->lmul, 0)) && ((s->sew + 1) <=3D (s->cfg_ptr->elen >> 4)); } =20 --=20 2.53.0 From nobody Sat May 30 17:46:17 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=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1779408297; cv=none; d=zohomail.com; s=zohoarc; b=BbfauI7tVW6X7YIoUJEcl831z+GWnzlMrWbJAOXUfNoach0NP+nX+hdAdUIQsmBQHNj4RilNJ+ee6eajLmVdVuKllcDVHBjPodVhV8wYz4h/y/kLczXkjNLznjY4FYoLswYV/p8hJg6rU6EpGFnJneyDMCEBLgtufzKINSu6J7A= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1779408297; 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=Orvef3Lr8ScCtwyYa/KmPBR8h6ryXFV894KyNRaZwAc=; b=UT0uf/eLiKwUXhkOZZw7oJYtsJUhpd8fRjmpCWpr2LOvZXWSEfSQXFE3H2OR+Uaxa5/RzacNIPQsyi+gz28Tbys+CocKqsLxgAaPtwMwa2LVu992pSif8U5emCt3I2BLaHV/DqHxhi8CECJxD6NHnBI3TZjA50c115igVCXO/UU= 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 1779408297491554.6620796063111; Thu, 21 May 2026 17:04:57 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wQDNE-0001ZU-Ej; Thu, 21 May 2026 20:04: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 1wQDN8-0001Ys-Mg for qemu-devel@nongnu.org; Thu, 21 May 2026 20:04:16 -0400 Received: from mail-pl1-x633.google.com ([2607:f8b0:4864:20::633]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wQDN7-0003JF-34 for qemu-devel@nongnu.org; Thu, 21 May 2026 20:04:14 -0400 Received: by mail-pl1-x633.google.com with SMTP id d9443c01a7336-2ba928852a5so46545005ad.1 for ; Thu, 21 May 2026 17:04:12 -0700 (PDT) Received: from toolbx.alistair23.me ([2403:581e:fdf9:0:6209:4521:6813:45b7]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2beb114b54csm3915475ad.42.2026.05.21.17.04.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 May 2026 17:04:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779408252; x=1780013052; 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=Orvef3Lr8ScCtwyYa/KmPBR8h6ryXFV894KyNRaZwAc=; b=QP1nRgmuFbzHkJmNmGOAgpkUVSYAG8BxleF2mdJ7iP1BgqxSVD+9HKd4pT94TYTVZV jH5bVujFwPj81B/llhWq/7njkejMkrp4BsTMLD90wbnzjtISOkQKdG2R8ldW5hpbmS2l m+hcN1HE1Z2MLDw75BeQcRhhqd2913aUlN5hdBIartzjnu293SXsUtH0fnJ3jeYzPShn ChI8Q4eUOu+LPjb4VOJJLNBimjk+1j4fXqHT2s90uaWUpxsMz5mIZnYW2Rh3ycNvLqo1 VB7U0NxaT6pRq0IWIjcg9h5Ysq8Dsxn/0qZQWofidtrqh7TGcia5oag5MNm9TUGynZ7W iD0A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779408252; x=1780013052; 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=Orvef3Lr8ScCtwyYa/KmPBR8h6ryXFV894KyNRaZwAc=; b=KIX/OEDxnsaRVcH2SA6IWm9eazL5J3nTFHbbdyUVQtQIrj+5nXSJlykrfxAoPCmYNP OxWWsSt21ZMJKFhntn471ICvBxD9dQRdd1D8FpiEiaahfMjdZByTcH+tZDRkxGCBr5YU fM/2u5vdQUMlY9hqziiQE3Ket+acEowfgnCYAHNV2kZ1V0Adymy1tpzy7+w0Hj3TaFMt +HioBZiv3Ktx6lJoSV24hqZP4JAT4Cv8DWYjXh28DPLbuO5ytgUJGFcTIs5OPN0zvqC3 D25aWp85Bd47aXjTsurw6ipD9usNWesxsx2Dh03kXALVuy3cdWE38Jrfd3OHm7rkKkBu KBHw== X-Gm-Message-State: AOJu0Yx0D9yy4HS1dWjTrpL834N9hiq0ep3fspL6KvQB83ydjpFFvUT9 tEO1/VhNZeUu6CdePpa2wDKAH5Ni9qws+w051M4nUshcb/UhshxoA/puokF+LJ/9 X-Gm-Gg: Acq92OFvWd/2nehe2n9kmVgnbkMG8und/XSoG83vDtuwDWvW71g3Uy9v7XpMGUxG6KT sw6pz1t/LganScrVaFFCe6q2WFsU8+QSqJAoGawcZumijbyD101i/W03eQnSgnLNfOgDX0AApsf Eg69FKoH1ZXZSaNLSsL3275BnYO25+cjmTvNBkA+xqGZvq8SPMP8j6LGZmw9+pKOmmyj4l/lbTz RFZXb6xX7YR15ONVDFP04h5zF3CzScJJ1vVhHVivhJa/9h0F3T8poBkyZjcNm87+8AWB61+jm3E FWC/QCMBZBlFX1WSo8VzqNQE2qxG3LhIBo7+pDVwvQF0stvFJPui130ppZ1NSgjV85Rhgh+1CI9 M4dElC8ePKiSO3YOU/NFSUp0VDhe5+DeEe5qJib7d5r2HTZc62c15+P9rw4+hermzURYPcNyxH9 +iN66XObCmDDPxV70PwpILvdzpYWnE2+8pG6CyKsr52A== X-Received: by 2002:a17:903:1b4f:b0:2bd:9b0f:5f2e with SMTP id d9443c01a7336-2beb07bac6amr9852185ad.22.1779408251768; Thu, 21 May 2026 17:04:11 -0700 (PDT) From: alistair23@gmail.com X-Google-Original-From: alistair.francis@wdc.com To: qemu-devel@nongnu.org Cc: alistair23@gmail.com, Frank Chang , Chao Liu , Jim Shu , Alistair Francis Subject: [PULL 11/48] hw/char: Check interrupt after txctrl register is written Date: Fri, 22 May 2026 10:02:47 +1000 Message-ID: <20260522000324.23255-12-alistair.francis@wdc.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260522000324.23255-1-alistair.francis@wdc.com> References: <20260522000324.23255-1-alistair.francis@wdc.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::633; envelope-from=alistair23@gmail.com; helo=mail-pl1-x633.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.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, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, 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 @gmail.com) X-ZM-MESSAGEID: 1779408300101154100 Content-Type: text/plain; charset="utf-8" From: Frank Chang It's possible that the transmit watermark level (txctrl.txcnt) is updated when the user writes to txctrl register, which may decrease the transmit watermark level to less than the number of entries in the transmit FIFO. In such a case, the interrupt should be raised so we need to call sifive_uart_update_irq() to check and update interrupt when txctrl register is written. Otherwise, the interrupt will have to be delayed until next TX FIFO transmission is processed. Suggested-by: Chao Liu Signed-off-by: Frank Chang Reviewed-by: Jim Shu Reviewed-by: Alistair Francis Message-ID: <20260513030503.3665414-1-frank.chang@sifive.com> Signed-off-by: Alistair Francis --- hw/char/sifive_uart.c | 1 + 1 file changed, 1 insertion(+) diff --git a/hw/char/sifive_uart.c b/hw/char/sifive_uart.c index b4de662d61..b9bbaaef59 100644 --- a/hw/char/sifive_uart.c +++ b/hw/char/sifive_uart.c @@ -213,6 +213,7 @@ sifive_uart_write(void *opaque, hwaddr addr, if (SIFIVE_UART_TXEN(s->txctrl) && !fifo8_is_empty(&s->tx_fifo)) { sifive_uart_trigger_tx_fifo(s); } + sifive_uart_update_irq(s); return; case SIFIVE_UART_RXCTRL: s->rxctrl =3D val64; --=20 2.53.0 From nobody Sat May 30 17:46:17 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=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1779408685; cv=none; d=zohomail.com; s=zohoarc; b=VrNBSTPUrt7kue5uv2NGPB5sXdDL1kAfebzFMFp9b8LYwp9pPhVwV1FvQqK1OfOzJl5NuCZ8cKUtb0dlidVwvDYj2hkpiPeFFAZ5w6JOGWPqwFzYWMk75Vs7agSgZrKQfXX2IdUky3+Fleph0VCTSRN1wgN8o6D4linHx7ciecg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1779408685; 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=/CcHQOvtc7Umj1MITx3VnehHvaArbjRWX5RBL4Qa01Q=; b=itA1NZHIm3ezFiQUDFPS1P4CelSewcz7mg+YwdWewmOO5YkYkU/w0VjO292r3URCW1vzAqL7xIDbaWzf++Z7WqOMfoyfSBK2VW0j1QzapvqBoltWsnW1oUuvgk8cv+tQUvKihJz5lW+rwTDcM3qr8ZWdlGIl/W8Nd9KT9VNtv0E= 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 1779408685569639.5061881715837; Thu, 21 May 2026 17:11:25 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wQDNI-0001Zf-Ha; Thu, 21 May 2026 20:04:24 -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 1wQDNB-0001Z8-Vt for qemu-devel@nongnu.org; Thu, 21 May 2026 20:04:18 -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 1wQDNA-0003Jh-5o for qemu-devel@nongnu.org; Thu, 21 May 2026 20:04:17 -0400 Received: by mail-pl1-x62e.google.com with SMTP id d9443c01a7336-2bccb978bd9so46067385ad.0 for ; Thu, 21 May 2026 17:04:15 -0700 (PDT) Received: from toolbx.alistair23.me ([2403:581e:fdf9:0:6209:4521:6813:45b7]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2beb114b54csm3915475ad.42.2026.05.21.17.04.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 May 2026 17:04:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779408255; x=1780013055; 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=/CcHQOvtc7Umj1MITx3VnehHvaArbjRWX5RBL4Qa01Q=; b=Yw8pmnOeKYgyLw/pBRLy45vAOgR3/j7GZ7G16ATon/emRyQnTsJm/tOmbBFHFAhXRF fSvIW/z3cnWJin0n9BcUugNou/l9GlWH2IxGHyQ3+dLyCO/JwHomvIp6u1aFSYv2L0tR pyOoMK7UKwpOgsYIFlOtcaPhyWQdB4KEz38BJtyaEmBpQaiRCt8SCQibIZCVbhIuZt6J PViNgOwvr0mtj3qSqALtHksQaRUNjdG9siSaFnbQHMClPfbS30Y2WkAWeevhiTFb5At1 fb35Vi3is425vPm0kyd49uEofYSAnQoElvWCzMHnlx2JzuBreXAGWBGh4Ll22EBuw7UI LrHQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779408255; x=1780013055; 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=/CcHQOvtc7Umj1MITx3VnehHvaArbjRWX5RBL4Qa01Q=; b=rWEcH/7wYks+btoDZdLLHRtU2E6z501917WLEMt9NUlXYrJRaNI02O1a5ClDyOsioW XpOUSHb1+EITG1QERPvfXGR4gXfJ8vqpLmB4vBwyA/rXJimrfXdcO34gIo4eK2E7OHzE tTPYKG8xt2EJFnbJgq8CmapoSh5cO07lLFkZoCovUlj+TlDS1CQTq4zielozfQsj+T03 6S4xrJIjzpJP7ES7fCMo81jwr8WgTqZM+fFn1/nO6CNy03vDJiLQDHDg+OUilX3JcOdQ lFvFxDlE5VdOBCrkQOKDka4tr1TODT9DSMG50oGDHnA9XfuZ3aEofHexd/E6ssa49gmy AhPQ== X-Gm-Message-State: AOJu0Yx3ZDQTZ9qgoBzMjWqbOViaRB7r20KNigUcTFt6JsoFL1Mos1E7 sWnOsL/29uncMVrv9vZ4IasKWRrynwEa72JGS59Du4FNk+FwjkFNeTM49ib8TUHv X-Gm-Gg: Acq92OHzSKXtXRkGtRmfOeSz7VrFnWwgoDs4CJH15iXsIseEo+yQxZyVxEY3Vv2Z1zk 8tdy2qoBE3oEmRFojKbbs1+yi9mGhz+c5v6c2NW4lB8sKILohq7oBHb2JwK1g5Z/KcVqDj4pGSm YzAhDWlAebmYia1X0txXOUT6AS5YfkoHuUKlg1/0qJqbmJTjYiye3CrungL5vF2VnLekPmyIS+p ItBadiFypeqibZ+9qkcsz3DnMc9Tbr58HQXY4asaVLJCt6fP0BSgmdwEPiWOoCuYc8pLg/l0Bz5 flClLq3WwFiWWSp3eyhwHtDNXJYUSKCm/7l2lkiykW2cCLm851N/7tU5OC1YT0TsfsxuaQY2hLJ 5LLZnBAwmqbxEJvDDkxEb2/pNjOmJLviZdjLUi6DhAs3uNC/A6YfnZvzKR6H+wuH64Pb4uIzKok qUbdWvnqJ3silogtCqR75Bh7AVBFR1oHKtc33b37rakw== X-Received: by 2002:a17:902:ce8f:b0:2bd:5ae4:26d1 with SMTP id d9443c01a7336-2bea229cbc2mr46152785ad.17.1779408254602; Thu, 21 May 2026 17:04:14 -0700 (PDT) From: alistair23@gmail.com X-Google-Original-From: alistair.francis@wdc.com To: qemu-devel@nongnu.org Cc: alistair23@gmail.com, Abhigyan Kumar <314abh@gmail.com>, Alistair Francis Subject: [PULL 12/48] target/riscv: Fix medeleg[11] read-only zero bit for M-mode ECALL Date: Fri, 22 May 2026 10:02:48 +1000 Message-ID: <20260522000324.23255-13-alistair.francis@wdc.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260522000324.23255-1-alistair.francis@wdc.com> References: <20260522000324.23255-1-alistair.francis@wdc.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=alistair23@gmail.com; helo=mail-pl1-x62e.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.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, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, 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 @gmail.com) X-ZM-MESSAGEID: 1779408688371154100 Content-Type: text/plain; charset="utf-8" From: Abhigyan Kumar <314abh@gmail.com> RISC-V Privileged Specification 3.1.8 (Machine Trap Delegation Registers (medeleg and mideleg)) mentions: "For exceptions that cannot occur in less privileged modes, the corresponding medeleg bits should be read-only zero. In particular, medeleg[11] is read-only zero." QEMU incorrectly included RISCV_EXCP_M_ECALL in DELEGABLE_EXCPS. It allowed the 11th bit to be written and read as set. Fixed by removing it from the DELEGABLE_EXCPS mask, adhering to the specification. Resolves: https://gitlab.com/qemu-project/qemu/-/work_items/3438 Signed-off-by: Abhigyan Kumar <314abh@gmail.com> Reviewed-by: Alistair Francis Message-ID: <20260427060849.749179-2-314abh@gmail.com> [ Changes by AF: - Remove comment ] Signed-off-by: Alistair Francis --- target/riscv/csr.c | 1 - 1 file changed, 1 deletion(-) diff --git a/target/riscv/csr.c b/target/riscv/csr.c index e1cd4a299c..60ac307012 100644 --- a/target/riscv/csr.c +++ b/target/riscv/csr.c @@ -1802,7 +1802,6 @@ static const uint64_t all_ints =3D M_MODE_INTERRUPTS = | S_MODE_INTERRUPTS | (1ULL << (RISCV_EXCP_U_ECALL)) | \ (1ULL << (RISCV_EXCP_S_ECALL)) | \ (1ULL << (RISCV_EXCP_VS_ECALL)) | \ - (1ULL << (RISCV_EXCP_M_ECALL)) | \ (1ULL << (RISCV_EXCP_INST_PAGE_FAULT)) | \ (1ULL << (RISCV_EXCP_LOAD_PAGE_FAULT)) | \ (1ULL << (RISCV_EXCP_STORE_PAGE_FAULT)) | \ --=20 2.53.0 From nobody Sat May 30 17:46:17 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=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1779408310; cv=none; d=zohomail.com; s=zohoarc; b=Zp4QdQFqDeXEe8xeG8jAV1sgzBVFPMRSfXJ/VpNv3rM2X0XUNopNbeYqRP/3y749utUC1SLfBzMhYLpTfIuXLu+YJ3hQ7kfstF0nTXwlRcbs5rKTqs+k2iIUMVjuuykA5cS35IlYUj6Uk3HsNn5w2bOZcOFTCH/z/sMkeasUyuU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1779408310; 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=voLNE+GP6MgaDC842wErmF2XBwpM8m0z5a8r1iEUN1w=; b=JiabbPefBGBOInXmTlZT5ZyCOukzUGEhAZgh+Y3TCEf41JERjzSIZfm5tex0zEnXhB8qoNEfanmJeESKFnxhUJgKoOXs/0WlSrznBIgoW5X2+eM2dDt8rDxkhrU73Dh6VZ46yqAVnXUtGIEz+Tb28v7KlQ5ycOVfTLZeJwTPkEw= 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 1779408310986828.5241487479553; Thu, 21 May 2026 17:05:10 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wQDNK-0001au-NL; Thu, 21 May 2026 20:04:26 -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 1wQDNI-0001aG-UC for qemu-devel@nongnu.org; Thu, 21 May 2026 20:04:25 -0400 Received: from mail-pg1-x52b.google.com ([2607:f8b0:4864:20::52b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wQDNG-0003Lr-VG for qemu-devel@nongnu.org; Thu, 21 May 2026 20:04:24 -0400 Received: by mail-pg1-x52b.google.com with SMTP id 41be03b00d2f7-c6dd5b01e14so3178005a12.0 for ; Thu, 21 May 2026 17:04:22 -0700 (PDT) Received: from toolbx.alistair23.me ([2403:581e:fdf9:0:6209:4521:6813:45b7]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2beb114b54csm3915475ad.42.2026.05.21.17.04.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 May 2026 17:04:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779408261; x=1780013061; 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=voLNE+GP6MgaDC842wErmF2XBwpM8m0z5a8r1iEUN1w=; b=aYrgZawLPOPuc8ct0plJ5Vi9KCSqgXICcZqH5xvzDBKGXiYsgM4cs7IU7hd+5tE6hS pSl8vf+j9BRQBU/EqBJ+hc1MU8kFPNrO7CI8QXJmJ82mvHW298ODbNS4fwxteDjPJ5x6 i+yR8CZc1i/G1EBdk20+fcLFcEY6M48CbxKBrK00drbzKVqkPM31NEZADEM2XL/d7oL0 Qmu1w5gop+ZP2gl6zBW/0QwKsdiYRfszDcO9IXl+Sr+f+r/1bCjZ/VxcstQ/LAv4YzT8 i0yAzRZAmTUfkfUwrDXNQyHCmTMkQ4e+MvKXKuLrIwaIj09EgQ6WYcynJOLAaHmJPO+p 8EWw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779408261; x=1780013061; 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=voLNE+GP6MgaDC842wErmF2XBwpM8m0z5a8r1iEUN1w=; b=iUB9eV0JnbZeZCNUZ6hNXNZ9OkBTzwkCeeuUL70BcPwjCFLxZhRB1S/rj385P1pxe9 P0BL9P0qVW+tacqU3rmmmyUVvb5x302C+jIuNRn1xb0nmSxJRFboCFW+nHXp+8Aey96h KWoBnc9aQGRdYeNfQH0LEUa9tYCRWfl7nJhvJzOBD9+xkWA3uBBecGJIOhOq6Jsq1aer e0NvCtAsaBu1kbKEzbdFlxJDRKaquVbady4syBoNS1W6BdnEwMtXYAb0xUVl2sfIqg8R a89VQjChyrCRZ/rk/NYRLXK5lKsf7l5IBhg3J0sy37bevcBgPy5FP8K3uqdbctx3gJXE b0Eg== X-Gm-Message-State: AOJu0Yxla59VxGm1lgnfGbzqA20gGIBuAQA33LJCY3jwfmMjhgls3AT/ fXhwioKpinXSK+iBdB2PdlyLTJiFPgLsintuVM1ComhPzvdO5jXj59E4ire3KQEu X-Gm-Gg: Acq92OFzro+o4xs/TC1WVbhBGG/YCZYXnjMmcvLRCVg8byqVGrnW2bcsoaGRloCWWVL RQItnNtWKLF+b2BpfU8++dSY+JO9rCmTjmMCDWUVZf8fYoSPHGp+aRPe8XdQkGocVpnOh5T1ZQj ejRW6wo5AIKKQahmr7BJL89w/Sy/KkRWPMpp3rK9uoMWlpmbKVYVdMAR1ECLHB7baj3uekw8je6 mTSXnBFnDTNSfigzssC1XdoUId484YvgTAsum4JZKf5duHfSlMazKC9nwORvjG6+VlYgEcufybY eKc0ndwOdUKyCCr7Myg4BP7AbL9q7eYPI/eK7qMYTie6lYjJPgsXeyPUUO8CbMfbSXH+tqo1Ala 8BzksiB1MUwTPfq2w6b0iENsvnbDVf0KIkMPlM3NSW8FU6pmr0wLwwqb2qMuPDqj711inOT2lvC CUAoPLIkhRxOWx+2/vMfqtd47fy0pZuHaX2QoA2MUgFA== X-Received: by 2002:a17:903:3905:b0:2b4:59bf:5728 with SMTP id d9443c01a7336-2beb05e4149mr12379355ad.25.1779408257472; Thu, 21 May 2026 17:04:17 -0700 (PDT) From: alistair23@gmail.com X-Google-Original-From: alistair.francis@wdc.com To: qemu-devel@nongnu.org Cc: alistair23@gmail.com, "chen.zhongyao@zte.com.cn" , Alistair Francis Subject: [PULL 13/48] target/riscv: Fix tail handling for vmv.s.x and vfmv.s.f Date: Fri, 22 May 2026 10:02:49 +1000 Message-ID: <20260522000324.23255-14-alistair.francis@wdc.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260522000324.23255-1-alistair.francis@wdc.com> References: <20260522000324.23255-1-alistair.francis@wdc.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::52b; envelope-from=alistair23@gmail.com; helo=mail-pg1-x52b.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.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, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, 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 @gmail.com) X-ZM-MESSAGEID: 1779408314428154100 Content-Type: text/plain; charset="utf-8" From: "chen.zhongyao@zte.com.cn" The risc-v vector spec defines vmv.s.x and vfmv.s.f as writing element 0 of the destination register while the remaining destination elements follow the current tail policy. When QEMU runs with rvv_ta_all_1s enabled, those elements must therefore become all 1s. QEMU handled both instructions as translation-time special cases that directly wrote vd[0] and skipped the usual tail processing. As a result, vmv.s.x and vfmv.s.f left the remaining destination elements unchanged instead of applying the configured tail policy. Fix this by routing both instructions through a helper that writes vd[0] and then treats the rest of the destination register as tail, reusing the existing agnostic-element fill logic. Signed-off-by: Zhongyao Chen Acked-by: Alistair Francis Message-ID: <202605061005.646A537u037157@mse-fl1.zte.com.cn> Signed-off-by: Alistair Francis --- target/riscv/helper.h | 4 +++ target/riscv/vector_helper.c | 18 ++++++++++ target/riscv/insn_trans/trans_rvv.c.inc | 44 ++++++++----------------- 3 files changed, 36 insertions(+), 30 deletions(-) diff --git a/target/riscv/helper.h b/target/riscv/helper.h index 36cdacfb0e..542b7c264f 100644 --- a/target/riscv/helper.h +++ b/target/riscv/helper.h @@ -662,6 +662,10 @@ DEF_HELPER_4(vmv_v_x_b, void, ptr, i64, env, i32) DEF_HELPER_4(vmv_v_x_h, void, ptr, i64, env, i32) DEF_HELPER_4(vmv_v_x_w, void, ptr, i64, env, i32) DEF_HELPER_4(vmv_v_x_d, void, ptr, i64, env, i32) +DEF_HELPER_4(vset_velem0_b, void, ptr, i64, env, i32) +DEF_HELPER_4(vset_velem0_h, void, ptr, i64, env, i32) +DEF_HELPER_4(vset_velem0_w, void, ptr, i64, env, i32) +DEF_HELPER_4(vset_velem0_d, void, ptr, i64, env, i32) =20 DEF_HELPER_6(vsaddu_vv_b, void, ptr, ptr, ptr, ptr, env, i32) DEF_HELPER_6(vsaddu_vv_h, void, ptr, ptr, ptr, ptr, env, i32) diff --git a/target/riscv/vector_helper.c b/target/riscv/vector_helper.c index 5a3554dd71..c4e150635e 100644 --- a/target/riscv/vector_helper.c +++ b/target/riscv/vector_helper.c @@ -2141,6 +2141,24 @@ GEN_VEXT_VMV_VX(vmv_v_x_h, int16_t, H2) GEN_VEXT_VMV_VX(vmv_v_x_w, int32_t, H4) GEN_VEXT_VMV_VX(vmv_v_x_d, int64_t, H8) =20 +#define GEN_VEXT_SET_VELEM0(NAME, ETYPE, H) \ +void HELPER(NAME)(void *vd, uint64_t s1, CPURISCVState *env, \ + uint32_t desc) \ +{ \ + uint32_t esz =3D sizeof(ETYPE); \ + uint32_t vlenb =3D riscv_cpu_cfg(env)->vlenb; \ + uint32_t vta =3D vext_vta(desc); \ + \ + *((ETYPE *)vd + H(0)) =3D (ETYPE)s1; \ + /* Treat every element past vd[0] as tail for scalar-to-vector moves. = */ \ + vext_set_elems_1s(vd, vta, esz, vlenb); \ +} + +GEN_VEXT_SET_VELEM0(vset_velem0_b, int8_t, H1) +GEN_VEXT_SET_VELEM0(vset_velem0_h, int16_t, H2) +GEN_VEXT_SET_VELEM0(vset_velem0_w, int32_t, H4) +GEN_VEXT_SET_VELEM0(vset_velem0_d, int64_t, H8) + #define GEN_VEXT_VMERGE_VV(NAME, ETYPE, H) \ void HELPER(NAME)(void *vd, void *v0, void *vs1, void *vs2, \ CPURISCVState *env, uint32_t desc) \ diff --git a/target/riscv/insn_trans/trans_rvv.c.inc b/target/riscv/insn_tr= ans/trans_rvv.c.inc index 0b41cecb27..9a86c6dcd4 100644 --- a/target/riscv/insn_trans/trans_rvv.c.inc +++ b/target/riscv/insn_trans/trans_rvv.c.inc @@ -3607,37 +3607,21 @@ static void vec_element_loadi(DisasContext *s, TCGv= _i64 dest, load_element(dest, tcg_env, endian_ofs(s, vreg, idx), s->sew, sign); } =20 -/* Integer Scalar Move Instruction */ +typedef void gen_helper_vset_velem0(TCGv_ptr, TCGv_i64, TCGv_env, TCGv_i32= ); =20 -static void store_element(TCGv_i64 val, TCGv_ptr base, - int ofs, int sew) +static void vec_element_storei_tail(DisasContext *s, int vreg, TCGv_i64 va= l) { - switch (sew) { - case MO_8: - tcg_gen_st8_i64(val, base, ofs); - break; - case MO_16: - tcg_gen_st16_i64(val, base, ofs); - break; - case MO_32: - tcg_gen_st32_i64(val, base, ofs); - break; - case MO_64: - tcg_gen_st_i64(val, base, ofs); - break; - default: - g_assert_not_reached(); - } -} + static gen_helper_vset_velem0 * const fns[4] =3D { + gen_helper_vset_velem0_b, gen_helper_vset_velem0_h, + gen_helper_vset_velem0_w, gen_helper_vset_velem0_d, + }; + TCGv_ptr dest =3D tcg_temp_new_ptr(); + uint32_t data =3D FIELD_DP32(0, VDATA, VTA, s->vta); + TCGv_i32 desc =3D tcg_constant_i32(simd_desc(s->cfg_ptr->vlenb, + s->cfg_ptr->vlenb, data)); =20 -/* - * Store vreg[idx] =3D val. - * The index must be in range of VLMAX. - */ -static void vec_element_storei(DisasContext *s, int vreg, - int idx, TCGv_i64 val) -{ - store_element(val, tcg_env, endian_ofs(s, vreg, idx), s->sew); + tcg_gen_addi_ptr(dest, tcg_env, vreg_ofs(s, vreg)); + fns[s->sew](dest, val, tcg_env, desc); } =20 /* vmv.x.s rd, vs2 # x[rd] =3D vs2[0] */ @@ -3684,7 +3668,7 @@ static bool trans_vmv_s_x(DisasContext *s, arg_vmv_s_= x *a) */ s1 =3D get_gpr(s, a->rs1, EXT_NONE); tcg_gen_ext_tl_i64(t1, s1); - vec_element_storei(s, a->rd, 0, t1); + vec_element_storei_tail(s, a->rd, t1); gen_set_label(over); tcg_gen_movi_tl(cpu_vstart, 0); finalize_rvv_inst(s); @@ -3741,7 +3725,7 @@ static bool trans_vfmv_s_f(DisasContext *s, arg_vfmv_= s_f *a) t1 =3D tcg_temp_new_i64(); do_nanbox(s, t1, cpu_fpr[a->rs1]); =20 - vec_element_storei(s, a->rd, 0, t1); + vec_element_storei_tail(s, a->rd, t1); =20 gen_set_label(over); tcg_gen_movi_tl(cpu_vstart, 0); --=20 2.53.0 From nobody Sat May 30 17:46:17 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=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1779408577; cv=none; d=zohomail.com; s=zohoarc; b=OR6stunZE+sxhlgcxVa4yDoOkiMmyVDig9xLdCD4NjoPwtCsfB8fJZ846cSrpWOiTDDMqYwTc1Dhp6k/GLxMI2dC0CuuzjzQf+BbSiRIllPxjGl1FnS+0/Zy40U8ffOGFWIGkoK1KQFfCRrtB5znwZCt4VecvZa+l58Tfy/9Q+g= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1779408577; 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=kytvezs7OB3qcRs3AvyEK68NIDmJYWzXOaWB19Zt0PI=; b=ZXUU9/gXGtHKtN+ZK1Mb6cvgx6Nirih3OfutnXmc53YwD84d3FidkJPs++KWkjN7UT6NiCWXCjqiPM+mMfroHFhzsHbzfgNRoTIjMMB0FTS3oqY9VyyNJiwr2Sn7gyEJzGmkOdSz1j2tUS5HrS64TfWZCsp/MkBw4eIbT3pWBqE= 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 17794085778631010.710435947777; Thu, 21 May 2026 17:09:37 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wQDNK-0001aR-Br; Thu, 21 May 2026 20:04:26 -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 1wQDNH-0001Zk-OO for qemu-devel@nongnu.org; Thu, 21 May 2026 20:04:24 -0400 Received: from mail-pl1-x634.google.com ([2607:f8b0:4864:20::634]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wQDNG-0003Kz-57 for qemu-devel@nongnu.org; Thu, 21 May 2026 20:04:23 -0400 Received: by mail-pl1-x634.google.com with SMTP id d9443c01a7336-2ba17c8cfacso65843335ad.2 for ; Thu, 21 May 2026 17:04:21 -0700 (PDT) Received: from toolbx.alistair23.me ([2403:581e:fdf9:0:6209:4521:6813:45b7]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2beb114b54csm3915475ad.42.2026.05.21.17.04.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 May 2026 17:04:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779408261; x=1780013061; 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=kytvezs7OB3qcRs3AvyEK68NIDmJYWzXOaWB19Zt0PI=; b=H+UiZNKT+QBKcFuyRMjF9nyooK1XYhvq4kF6s9aRoC50UZdcrq+0i9MOxO9kaseSd6 8qyczdxmGOzdSYsRTEmDzajeS9Nec7AErh7ftjp3C5Dip8tyHc1I/B6RkrEPuNGAdG6R TRD5AD3Ou0KPPOZj1/9dapvNt0VCJgViCHutDzkL+Rt4GQHWQKKdWyWsrgx8UWErBQOw GK5M7FWOOJ7j3sqpv+11WjLuSQJgzjlQIhu2kc7Dts3FznPpGdNFY3ZBt8fPC6O957zq xDL3Jp/lHxvb83ajDeHtfkLF5e51M/L89CYMyF7DWl2VPdC08uPhczAoe+MdaaDgdYUK 9gEg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779408261; x=1780013061; 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=kytvezs7OB3qcRs3AvyEK68NIDmJYWzXOaWB19Zt0PI=; b=SRZSun4P8wdWFzbQQagSb9vaBuBpn0idnkM8TqCxvJ1oETaI3iWS0tHRpq02VP8tPC TwZ57W0I92mPeFb7adB6S2GvxivmTa+8TBgFxJx9lGMnzSIobpc2/vEPdVde48pdNlKH kIStGiyPM6k2WEGdAKEZ+2TplucElOnEKTfZNTCEwuh7H2/+Mm0ZDBUxe9xJ5YuFUuwi K2znzVXaDk0gk3k29ogZd7qx4gvdw+JHLMEPbes94ZLWuXY5C46L12yKMLJDz1gCmneb jpLN/2woSpAYtAgpZckt4ZjUnmWOQmlEhNuzh5atxa8IoMOB2iJbi3K97FEHIeH+kXp7 s6cg== X-Gm-Message-State: AOJu0YxamAqd7wSqDZcNX/iJNAHejGt0pAzdgC+jUqCkeSkjxJoEsR3S 2sj79wRiSwIlOFRS/WGl/Mhr/qHsSJ485siy7MfmcdJp8Q9tZ0W73njSUrf+gV7z X-Gm-Gg: Acq92OH3K40SmD2rZs/1RoD8N84GWl6k7NHvSFB6JGOuC15mZRzs3Lm2iOpIHnivhOa 9ivdwDZEc35KHihE01prseXg2YGFPo4rcrkQL1KWnv99/GJNz+LOAAogCnEdR9y6KkhUs30Rv7A DXtH59LLlNO2p2Mt03tFdb7kab0enlz8w7h5qo4zDFRLLQ4WzePXP+k2if3NXFgjncDLqFNFnj+ bN3RA8efdjva3Gd18EYA3szguoq9LBoIJ8eI0n2XmzDu66ZJ7QOTdaSR93y+nr/pYqHWdXxFpbm 0inRq0JVudnAArpKOGKMfCGKQs2fKaq4A43AVNY7U6pdJkrnyHeSSqK4EOuOctS8Uxh/H4PTK72 VYYua0I2dlIdu+X+7WY30qhD/Ex9qPAdTu4/4/ZQd0s09kWDieF+AHzW+y0xYjkFUzpSbSKb30P QEUbonQZww28mi+UEtzhXn2ytYrON3pdQTcPK22hUM5g== X-Received: by 2002:a17:902:d4c3:b0:2bd:646b:2ddc with SMTP id d9443c01a7336-2beb0375f34mr11400945ad.12.1779408260816; Thu, 21 May 2026 17:04:20 -0700 (PDT) From: alistair23@gmail.com X-Google-Original-From: alistair.francis@wdc.com To: qemu-devel@nongnu.org Cc: alistair23@gmail.com, Zishun Yi , Daniel Henrique Barboza , Alistair Francis Subject: [PULL 14/48] target/riscv: add Zvknha as an implied extension for Zvknhb Date: Fri, 22 May 2026 10:02:50 +1000 Message-ID: <20260522000324.23255-15-alistair.francis@wdc.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260522000324.23255-1-alistair.francis@wdc.com> References: <20260522000324.23255-1-alistair.francis@wdc.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::634; envelope-from=alistair23@gmail.com; helo=mail-pl1-x634.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.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, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, 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 @gmail.com) X-ZM-MESSAGEID: 1779408578912154100 Content-Type: text/plain; charset="utf-8" From: Zishun Yi The RISC-V unpriv specification (zvk.adoc) states that "Zvknhb implies Zvknha". This means that enabling Zvknhb should automatically enable Zvknha. Add Zvknha to ZVKNHB_IMPLIED to ensure the dependency is correctly enforced. This issue was discovered and reported by SpecHunter, an AI-driven architecture specification analysis tool. Link:https://github.com/yizishun/rv-isa-sec/blob/master/output/riscv-isa-ma= nual/pr-2635/qemu.txt Signed-off-by: Zishun Yi Reviewed-by: Daniel Henrique Barboza Message-ID: <20260511051736.2916225-1-vulab@iscas.ac.cn> Signed-off-by: Alistair Francis --- target/riscv/cpu.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c index 506a018d52..8be06640e5 100644 --- a/target/riscv/cpu.c +++ b/target/riscv/cpu.c @@ -2542,7 +2542,7 @@ static RISCVCPUImpliedExtsRule ZVKNG_IMPLIED =3D { static RISCVCPUImpliedExtsRule ZVKNHB_IMPLIED =3D { .ext =3D CPU_CFG_OFFSET(ext_zvknhb), .implied_multi_exts =3D { - CPU_CFG_OFFSET(ext_zve64x), + CPU_CFG_OFFSET(ext_zve64x), CPU_CFG_OFFSET(ext_zvknha), =20 RISCV_IMPLIED_EXTS_RULE_END }, --=20 2.53.0 From nobody Sat May 30 17:46:17 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=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1779408377; cv=none; d=zohomail.com; s=zohoarc; b=Q8Rrtki2BUXnQXyAV/7JVeClUShmbZuJf6L0FT/B79NAFJxs3YWw+m1SIvN2QyMYk5IzYY6rWDjNrl2VGkSPWZfs96UbY4OHa+I783kq3AhpBkEe0SMFJhQH2+NOl90sEh33C4rvphNZjfN4tEyhlZ/xYvxrZynYEKPY8nRNVBg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1779408377; 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=+AsLKIKSjxv8nk05Qhrn0NmtTJ8lIc/gH0gx8e16TAU=; b=haBkVN8tpGPTCZNAAUgEzG13Q/f6SORciVkrMln3V67GBKDMai7AffLZesWvQ5uiu+KgOYfiCmSLsa/EkPioVKzJg0xNSQYgLGNwcl1lbVklGxcNnX0ApWksDMz7C64TYNIptkPLr/mIlPCO0iBfGxE08z4TYO28igsIIqbpEJk= 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 1779408377753799.0032339610045; Thu, 21 May 2026 17:06:17 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wQDNQ-0001jD-C1; Thu, 21 May 2026 20:04:32 -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 1wQDNL-0001fb-V0 for qemu-devel@nongnu.org; Thu, 21 May 2026 20:04:27 -0400 Received: from mail-pg1-x536.google.com ([2607:f8b0:4864:20::536]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wQDNK-0003O8-9J for qemu-devel@nongnu.org; Thu, 21 May 2026 20:04:27 -0400 Received: by mail-pg1-x536.google.com with SMTP id 41be03b00d2f7-c7980c060cfso2995649a12.2 for ; Thu, 21 May 2026 17:04:25 -0700 (PDT) Received: from toolbx.alistair23.me ([2403:581e:fdf9:0:6209:4521:6813:45b7]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2beb114b54csm3915475ad.42.2026.05.21.17.04.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 May 2026 17:04:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779408264; x=1780013064; 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=+AsLKIKSjxv8nk05Qhrn0NmtTJ8lIc/gH0gx8e16TAU=; b=T0DZ1U4QmJRz75hIYZPI+/Y5ovqLqwiSOv2nRZJW42D+Ejs9I6xvOnq5ktEmygl4f0 vgrvq4U0oVTK4zfGH4cu9GZEyvOh7/Uhw4rFJQoHMuxU52dy0VNY3do6nCASRD1of2rp EOY8WxuczZf1yykL/nxB3VO+7MsiI3HrU7S2LP0zlfohTRmXlJRPDESymPtx8G270RIg CxqWZg4/7vkqnn5Kznu5YhqmbVUM17R3u7+r83DeBADG5luAALhtUDgS/a0lnqfev4qB X82FIU13piYQfdVbPgjgpROcGYkHA9wUwnJpUeVIkTRFNz+fBXYA0RjWmGQQhLPfcn+8 tYuA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779408264; x=1780013064; 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=+AsLKIKSjxv8nk05Qhrn0NmtTJ8lIc/gH0gx8e16TAU=; b=KzyXHuakSGsPC/6PjwBDRbmdSqbVzHckqBY2NxmB6ixY/nqKRHAQTcZmW0XeRhKLUG KmcqUi7yKAoka8r+M3rYPnZU9i22+vqbPC0zZm+S90g9uWBnl4kjUMT9sDGcvONy6SaO Ob2TX0I6VbWoBHQ/MV5tk+lJSzPstXS9tDmRccXm56+MUuIaklrtlagKnExJmul+X1zw UGbHYsfjwVnJTy/X5MyD2Y6OkpgxLDb4cY8zmMNtGmOL0vmdEr6jUAUqjdLMdBEjKZQ0 Mwuk7nkm/I8ivcOWm1gqFrFze/NhWPiUAR1Ew2ME3ric6PR8dzz6vpjKw+L2d1S4uP8b F7IQ== X-Gm-Message-State: AOJu0YzMmKpuPFfzCHZRyZS4WF9lN8tmwj84p7jqSn54mRa6d1RwaAaS AIBYGUHae5QDLTTxyfHd+B6bLftoA+vBP+/FWFneHQup/H9Uqf1rnXGy3gQu9X3C X-Gm-Gg: Acq92OGxYA8i0F7J+n2yB0iljXh0yghlrtzLqsbYvEZYc5Mkvh6J1oQ/2D2iJ8gWh0G rDaNM65BnMpIBAZMIoFasJAx4ZCeQ9PuqfkzoXw+hpOATFDKRbACAulSjSwmdvoUcPqtIRx/287 HSB9Ngoh4+qHdptuanIXVshwySEY7qEqE1MjQO4/65Tz+gyjSSv30mTiz19/CmIokqjmzrYHJUk onj4D6MRlagr443abtZK/5PWvAT33aNc2nDzH/qDaUq7LQ8rxg+OaerdeLOuT6NiRYJh7lb2O+i tplbXhVcKIbCb09Rg76aJIp+ACme7/KNsKVSzox6c7wmxXeHN2Z+Z5AMw94YSCBkqA5ryj9fNwO DbeyGYRpD0WFD+PJHsU6TyIHkNa00pRJlVi/CjMG8F6WgeckwPjgDKas24ZdGK0M2giCh/b36WS xEJd3WtUPcLgAc2YG2pZoI+9sn7TRowznJAIJOp2k/Qg== X-Received: by 2002:a17:903:2290:b0:2bd:5a99:f293 with SMTP id d9443c01a7336-2beb0631928mr11253885ad.21.1779408264213; Thu, 21 May 2026 17:04:24 -0700 (PDT) From: alistair23@gmail.com X-Google-Original-From: alistair.francis@wdc.com To: qemu-devel@nongnu.org Cc: alistair23@gmail.com, Zishun Yi , Daniel Henrique Barboza , Alistair Francis Subject: [PULL 15/48] target/riscv: Remove unconditional MENVCFG_CDE from mask Date: Fri, 22 May 2026 10:02:51 +1000 Message-ID: <20260522000324.23255-16-alistair.francis@wdc.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260522000324.23255-1-alistair.francis@wdc.com> References: <20260522000324.23255-1-alistair.francis@wdc.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::536; envelope-from=alistair23@gmail.com; helo=mail-pg1-x536.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.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, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, 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 @gmail.com) X-ZM-MESSAGEID: 1779408379315154100 Content-Type: text/plain; charset="utf-8" From: Zishun Yi Currently, the MENVCFG_CDE (Counter Delegation Enable) bit is unconditionally included in the base write mask for CSR_MENVCFG. This make the subsequent conditional check `(cfg->ext_smcdeleg ? MENVCFG_CDE : 0)` completely ineffective, as a bitwise OR cannot clear a bit that is already set. Fix this by removing MENVCFG_CDE from the initial base mask. The bit will now only be writable when explicitly granted by the `ext_smcdeleg` configuration. This issue was discovered and reported by SpecHunter, an AI-driven architecture specification analysis tool. Link: https://github.com/yizishun/rv-isa-sec/blob/master/output/riscv-isa-m= anual/pr-2601/qemu.txt Signed-off-by: Zishun Yi Reviewed-by: Daniel Henrique Barboza Message-ID: <20260511040534.2862443-1-vulab@iscas.ac.cn> Signed-off-by: Alistair Francis --- target/riscv/csr.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/riscv/csr.c b/target/riscv/csr.c index 60ac307012..e041f5c16e 100644 --- a/target/riscv/csr.c +++ b/target/riscv/csr.c @@ -3177,7 +3177,7 @@ static RISCVException write_menvcfg(CPURISCVState *en= v, int csrno, { const RISCVCPUConfig *cfg =3D riscv_cpu_cfg(env); uint64_t mask =3D MENVCFG_FIOM | MENVCFG_CBIE | MENVCFG_CBCFE | - MENVCFG_CBZE | MENVCFG_CDE; + MENVCFG_CBZE; bool stce_changed =3D false; =20 if (riscv_cpu_mxl(env) =3D=3D MXL_RV64) { --=20 2.53.0 From nobody Sat May 30 17:46:17 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=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1779408291; cv=none; d=zohomail.com; s=zohoarc; b=Fxg7/qKSUF/jthF8zAWyJJ0u5qB3hLF3omrVv5//gqFWcwWwYWFjDsVeodqAR8Mfx8yjitdfg2eq/NTGyOB3Ff0u2iiX2Q934/d6X3CiKO4RZq4AMH7rd1ciha5lcvQ9VJso4wpcXhQogHWZ56U0nzXMgLnUzQWK0av0fdXyZG4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1779408291; 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=Fqcdit+PUKxccRcVTft913zAmTljnBCDO4kQsS13OPk=; b=QzIDqptrDCRhqDmfceepnHPcidQwYI/i6TxDq40tB0K9nxM/NnEfFf5t2gUfNEjQsUix7hncEGPqJMfRCKge98kfULFqYsJoZGdOydcMjqDTEt73y3eVY7w2Hyi1rS/SlaONUi1JfTJ1oAJumdeBi8Q6JU3YVvuhk7TMW32JllE= 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 1779408291464221.89485256836406; Thu, 21 May 2026 17:04:51 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wQDNS-0001lI-4D; Thu, 21 May 2026 20:04:34 -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 1wQDNQ-0001k9-Ha for qemu-devel@nongnu.org; Thu, 21 May 2026 20:04:32 -0400 Received: from mail-pl1-x632.google.com ([2607:f8b0:4864:20::632]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wQDNN-0003P3-LY for qemu-devel@nongnu.org; Thu, 21 May 2026 20:04:31 -0400 Received: by mail-pl1-x632.google.com with SMTP id d9443c01a7336-2ba1e9d3687so43975595ad.3 for ; Thu, 21 May 2026 17:04:28 -0700 (PDT) Received: from toolbx.alistair23.me ([2403:581e:fdf9:0:6209:4521:6813:45b7]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2beb114b54csm3915475ad.42.2026.05.21.17.04.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 May 2026 17:04:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779408267; x=1780013067; 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=Fqcdit+PUKxccRcVTft913zAmTljnBCDO4kQsS13OPk=; b=WSKq9JfYg2G53L4e5ItrhLv67gcwvEprhfH9r5JSjoU6QnHjf2mx4C7//BdaCLGbnC NBsx6XOnhPazK6jb7H4aVEnwT8p3bvUPlQe9KGVBFMsbB+JD5XnKwvmVOIgU35UtZWOe ViMY8RIiFHfASKMSTafEFxRMxnWbQNQsxvfQ/vqs2KYag1cWGDRYokVGgaZaqRfboJl9 FbJ3/Tyzbs4B+hNlfCUvTIar/MmgJGgSv3c5qJ9qtiyLAFJtoQg4YjoqcshbIe0yiDkl hSNEz3k8vqcUR2nGwfXfSHO6iViONOMKb1DLPi97SXkc1hO31yuZ9O/5avj5Mp6DV7aL LaAA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779408267; x=1780013067; 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=Fqcdit+PUKxccRcVTft913zAmTljnBCDO4kQsS13OPk=; b=RedEdCWnGS7IVznZ6zFNhPFbWB1MqN7dLw3uA/qBIWvwfGRezVIMMzfqm8T3nhZJgU 8RWdPcjhFP6xZum+7/eHLODzRJ0pPSOkARwhLF3hHBbkxBo/DflUM6or2rbK5lcxNefD w/gMKZ9X97NpWeawXRmR6aqu4CenO0M6l0w17bwNgyc/ejI/NCfVmLDAVs/DJf1emkJQ TCpS75F1pKR6iT9RnzEFB+bDw7Tx2HkzGUt+ONONPoYXdgi5Di4Kh52E9U3TNbzjgnuR 1eoum7e5dFXa1Gh+9z2WqBNr2cQCTrQdXFoIreCQo8CiZABQdTAGaoZPEyk8kRBeKJ/d 4FcA== X-Gm-Message-State: AOJu0Yz7ksjVkvEzF/n5jNfUjtHXpAXw44VdzGI0piFUFr6jhF1CXAD+ zL84hmGPswRQFkupStIo5Gscr9t0VHJlURp7Z7ySk3PxAreLjzQALeLjYhMnTK8X X-Gm-Gg: Acq92OHKUBU1kfZG51k/9fjmEwpDIufCIIT8GBS8r55Kz7Bd+HBTvshMSj/iJmLqh0h YXfWHhkzUcHnP3ZmhPaGkr4GrA81R7EjyDARieyJgvu47OTqvpJsg4c7MM+ppYEDnMu8b9oyEpk Q9mG9EYb3zR9PrRUunPeww8MDJNNttzVYaxNjvJ6TiDgCSPzqlpmb2G3EexbGzGpjHP/xLgLL00 TeWp1IJ1Xl8SgHsELe4lVYlC7QzhwD+pxZu0Os2xUIVy0XnM920PYFfag612XBEJxabxEiFVNGE K032q7MDfmoY2F2RjpqmMHpmiTbHheVcpcWnc3VXIyzlBBDseOez0eWLOtyq3RGTQZWni6TpOT1 okFqm/5QEkqXO1doTPI42WJwkatek/ZYt35jF9ASXxv5IMBvt3D60y2he4DrTrsvCnRsxRkMCpl btYibHmYPNoU/o8xyPpzhTV0BH+W+91+byYgXyEJD7Vg== X-Received: by 2002:a17:902:ef11:b0:2bd:d7b5:83ed with SMTP id d9443c01a7336-2beb07001camr11377495ad.39.1779408267352; Thu, 21 May 2026 17:04:27 -0700 (PDT) From: alistair23@gmail.com X-Google-Original-From: alistair.francis@wdc.com To: qemu-devel@nongnu.org Cc: alistair23@gmail.com, Zishun Yi , Daniel Henrique Barboza , Alistair Francis Subject: [PULL 16/48] target/riscv: Fix missing CDE check for scountinhibit Date: Fri, 22 May 2026 10:02:52 +1000 Message-ID: <20260522000324.23255-17-alistair.francis@wdc.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260522000324.23255-1-alistair.francis@wdc.com> References: <20260522000324.23255-1-alistair.francis@wdc.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::632; envelope-from=alistair23@gmail.com; helo=mail-pl1-x632.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.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, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, 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 @gmail.com) X-ZM-MESSAGEID: 1779408294001154100 Content-Type: text/plain; charset="utf-8" From: Zishun Yi According to the RISC-V smcdeleg specification: "When menvcfg.CDE=3D0, attempts to access scountinhibit raise an illegal-instruction exception." The current implementation of scountinhibit_pred() only checks the hardware extensions (ext_ssccfg, ext_smcdeleg) and virtualization status, but completely misses the runtime environment configuration check (menvcfg.CDE). This allows S-mode to access scountinhibit even when the M-mode has explicitly disabled counter delegation. This issue was discovered by the SpecHunter tool (https://github.com/yizishun/rv-isa-sec/blob/master/output/riscv-isa-manual= /pr-2571/qemu.txt). Fixes: 6247dc2ef70b ("target/riscv: Add counter delegation/configuration su= pport") Signed-off-by: Zishun Yi Reviewed-by: Daniel Henrique Barboza Message-ID: <20260508174917.371667-1-vulab@iscas.ac.cn> Signed-off-by: Alistair Francis --- target/riscv/csr.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/target/riscv/csr.c b/target/riscv/csr.c index e041f5c16e..7ba4f0383c 100644 --- a/target/riscv/csr.c +++ b/target/riscv/csr.c @@ -398,6 +398,10 @@ static RISCVException scountinhibit_pred(CPURISCVState= *env, int csrno) return RISCV_EXCP_ILLEGAL_INST; } =20 + if (!get_field(env->menvcfg, MENVCFG_CDE)) { + return RISCV_EXCP_ILLEGAL_INST; + } + if (env->virt_enabled) { return RISCV_EXCP_VIRT_INSTRUCTION_FAULT; } --=20 2.53.0 From nobody Sat May 30 17:46:17 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=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1779408361; cv=none; d=zohomail.com; s=zohoarc; b=c9POqpTPADX1NV8bKLXnE+USeplowXZl7BR3QR+kAzSTXOgEj1g6UvtF5VGB8GlpvyB0A4ZCvtV70HTQPQITqHIK65IpBLvtCyyPMuHuGeE3gyS8CG1pMv9IM2V+SJYrFtlfB2Y9uC3r5n2bnGeO97x6sn8++c0suySb/d1v4xI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1779408361; 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=Oexc3WaCAOy/tuwIEhfKj7IUvhj6ywE8pLBhOUrwZYI=; b=Or2o0rzTiz076AnbvkyAWHyoPMXHcsIvAReIYMJqKCkoEgaqp+WpgY3xYL6DTpKKj82oDi/enT3xDUqntL/KeGmZ81ED3QEyp+YOHojQunIoq6snRHVSIu8iZ8pi2GMa5v9Pm1vZB8c544W66MyCeAo9Cg6yY6TiJwtQS2bPang= 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 1779408361678312.0734034317627; Thu, 21 May 2026 17:06:01 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wQDNT-0001mC-K8; Thu, 21 May 2026 20:04: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 1wQDNR-0001l8-Um for qemu-devel@nongnu.org; Thu, 21 May 2026 20:04:33 -0400 Received: from mail-pl1-x62f.google.com ([2607:f8b0:4864:20::62f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wQDNQ-0003Pu-9H for qemu-devel@nongnu.org; Thu, 21 May 2026 20:04:33 -0400 Received: by mail-pl1-x62f.google.com with SMTP id d9443c01a7336-2ba17c8cfacso65844455ad.2 for ; Thu, 21 May 2026 17:04:31 -0700 (PDT) Received: from toolbx.alistair23.me ([2403:581e:fdf9:0:6209:4521:6813:45b7]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2beb114b54csm3915475ad.42.2026.05.21.17.04.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 May 2026 17:04:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779408270; x=1780013070; 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=Oexc3WaCAOy/tuwIEhfKj7IUvhj6ywE8pLBhOUrwZYI=; b=OF3wMNJGTygaP4i3rkV9xJklzWqLAZkhhs2aDFS13IGZdum+n+g/+BsO5KdEvlZUE6 dRHeGsXDoMAJG2pXPB0q7xg0lCiO7/oBliWSaWy6Yw3BZrGyHZz/L/OlzkfPMvPiN8iy AlSbX7mRUMtX8P+qgCjN9V7zWjwzy0O2Gi0yzUwOb0wb7zrKQTqlERDm4zezVP/NG5PJ yhjbVV4sjvIeS/4bPokXXtaOMsppTKFe6tkz0FMMq+Aolrhn3OCOzapbpiZ7TGfMAoTM jONntK+QjGgwEO/2DM1+YfTdgXbFLKO4T4ehqH4aJT0SRD+dbaMEMA3kujwkKFBl3sqU /DUw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779408270; x=1780013070; 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=Oexc3WaCAOy/tuwIEhfKj7IUvhj6ywE8pLBhOUrwZYI=; b=n8Af5TejrkGbkqdFkr0989qL0nBazfL0nXQVhU5ensOZmXZVoOXIdnnsv4d8nD+rTh ZZFe1VO3dDQVOan37bhLlPdKgo0+rDvHc4rMxYIrrYFC8VYaVQPHRKRcvEeqpaRVMDnp sFlKVebnMhdJuPCVmezSkekBUSnMJKqpoEUsULNiAL+Qc33gevr7G0mQgUS1XpywcD/C gS/yS6fjQMSH3voNmSTmp+00em8QZphLs9sxMj2+X9aYVpTgyEYGMIP7iAKW2phBsjLv PLfVlCqR2zcWyQKDCuYFffND+bfSZ6iStapATYTD4SFtgA1mHO54tkmHLUMOx4ORWAW6 PR2A== X-Gm-Message-State: AOJu0Yy5qOBhel+DFJo9jkQaF+551Xg8OdKFRHjLx4XNNoVL4pjWdakM QU6mPXkFze8QNb3uiepWob/i96+rpJ6fwN2SHVUtYB4upFP0+yobFjXwG/Batd03 X-Gm-Gg: Acq92OHepHOJtb3Ur8eoqAO+l1k1E91tE2AlS28JI1Wk94rElM3ImDuaqvWTt8TCNz/ QlqSDEpG7xhTdo8CZTu+MX5S/9TgfGoJNSEpBLzu7uF+OxznRWyyr0HdAZKdz2BIja8C+SpKEXZ 3KwAsv4p2PJAYwDdYtAq7bEFxYRYTXw50DDnjsUeuopEsPwxzZY+D92LogrdvUrcmgkyUnQzP7A CJpi4KlXIXraWvNiEA3rjCVYuoz9bed1Ie3syHb51R2hVrby9Q/Wp/5sot3FOsMjmTlbQmsq5xX 7S3YmEzGbTs2nboA0eHrDq6qnALpHYiVJEhjFfvnfaktZ3qXVMpUZwdCMU1TZBUet1W9m5UOwuu jJcvi/dEXZ9CZy1ltFCDd0/wgc5OBDyto+Xoc2AOiM+ozrSo0bdhtbxJGEZCn4pP00vHolTHwR3 OSIPRVK1peDiHHprjiRhGOqreE/rkAsePLHSBBpzurHg== X-Received: by 2002:a17:903:1ac3:b0:2bc:7d1d:b677 with SMTP id d9443c01a7336-2beb065f97fmr11187665ad.36.1779408270581; Thu, 21 May 2026 17:04:30 -0700 (PDT) From: alistair23@gmail.com X-Google-Original-From: alistair.francis@wdc.com To: qemu-devel@nongnu.org Cc: alistair23@gmail.com, Zishun Yi , Alistair Francis , Daniel Henrique Barboza Subject: [PULL 17/48] target/riscv/pmp: Fix integer overflow in TOR and NA4 address computation Date: Fri, 22 May 2026 10:02:53 +1000 Message-ID: <20260522000324.23255-18-alistair.francis@wdc.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260522000324.23255-1-alistair.francis@wdc.com> References: <20260522000324.23255-1-alistair.francis@wdc.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::62f; envelope-from=alistair23@gmail.com; helo=mail-pl1-x62f.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.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, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, 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 @gmail.com) X-ZM-MESSAGEID: 1779408362118158500 Content-Type: text/plain; charset="utf-8" From: Zishun Yi According to the RISC-V Privileged Manual: "The Sv32 page-based virtual-memory scheme described in sv32 supports 34-bit physical addresses for RV32, so the PMP scheme must support addresses wider than XLEN for RV32." However, the current QEMU implementation uses `target_ulong` (which resolves to `uint32_t` on RV32) for PMP address variables. When shifting these addresses left (e.g., `this_addr << 2`), an integer overflow occurs, truncating the high bits of the 34-bit physical address. Fix this issue by changing the types of PMP address variables (`this_addr` and `prev_addr`) to `hwaddr`. This issue was discovered and reported by SpecHunter, an AI-driven architecture specification analysis tool. Link: https://github.com/yizishun/rv-isa-sec/blob/master/output/riscv-isa-m= anual/pr-2472/qemu.txt Signed-off-by: Zishun Yi Reviewed-by: Alistair Francis Reviewed-by: Daniel Henrique Barboza Message-ID: <20260511102627.3120140-1-vulab@iscas.ac.cn> Signed-off-by: Alistair Francis --- target/riscv/pmp.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/target/riscv/pmp.c b/target/riscv/pmp.c index 5391caa59c..a71091a316 100644 --- a/target/riscv/pmp.c +++ b/target/riscv/pmp.c @@ -227,8 +227,8 @@ static void pmp_decode_napot(hwaddr a, hwaddr *sa, hwad= dr *ea) void pmp_update_rule_addr(CPURISCVState *env, uint32_t pmp_index) { uint8_t this_cfg =3D env->pmp_state.pmp[pmp_index].cfg_reg; - target_ulong this_addr =3D env->pmp_state.pmp[pmp_index].addr_reg; - target_ulong prev_addr =3D 0u; + hwaddr this_addr =3D env->pmp_state.pmp[pmp_index].addr_reg; + hwaddr prev_addr =3D 0u; hwaddr sa =3D 0u; hwaddr ea =3D 0u; int g =3D pmp_get_granularity_g(env); --=20 2.53.0 From nobody Sat May 30 17:46:17 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=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1779408401; cv=none; d=zohomail.com; s=zohoarc; b=CLJPM1XugvHvswkdD+0gqmOqVS0V8E5adO+XE0snTEU0wJEllpkHdUdVjrPl1tlfrCQUtMHpTmVTLLpBhIspYthQ1AQFi7mpKUQJVV9S0Zm7MyKXa+nZDNjmx3a4KR7lkCBYdox1ZSJxY5l5RH1io8sYtVv2KzpkcQ5QuT0BvUs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1779408401; 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=wTpzrp3v7OuPZr0RFgUjrkkB38tfHLGg+Gs3ZTn4bD8=; b=Ff97dQ3IvmMjWg/T3ooADu44FKSzNjlzh6O2tLVi0meBDTzl+iCCt2QW+jEz7PxN5ZcQZIqDCWkCtTPVK9k48zAxswG0FVX30Nk/8syVNlwHc6ezbYd9r4+gE3IPfZFLiI52mkeN1WI673TnxqX2a0q7Iq9DSCH9cPLzu6SyKqs= 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 1779408401805792.1208380796251; Thu, 21 May 2026 17:06:41 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wQDNX-0001mh-Km; Thu, 21 May 2026 20:04:45 -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 1wQDNU-0001mP-K6 for qemu-devel@nongnu.org; Thu, 21 May 2026 20:04:36 -0400 Received: from mail-pg1-x533.google.com ([2607:f8b0:4864:20::533]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wQDNT-0003Qq-1n for qemu-devel@nongnu.org; Thu, 21 May 2026 20:04:36 -0400 Received: by mail-pg1-x533.google.com with SMTP id 41be03b00d2f7-c8025aecc40so3387734a12.0 for ; Thu, 21 May 2026 17:04:34 -0700 (PDT) Received: from toolbx.alistair23.me ([2403:581e:fdf9:0:6209:4521:6813:45b7]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2beb114b54csm3915475ad.42.2026.05.21.17.04.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 May 2026 17:04:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779408273; x=1780013073; 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=wTpzrp3v7OuPZr0RFgUjrkkB38tfHLGg+Gs3ZTn4bD8=; b=AuZMVYr/hZW6ZiDzSn+Ei/ZS2PFmt6zPA8F1Yi7Au19+7vr5rzsU9FGqqVjk3O3p+J nQbX/xnYs6yyGFPZMpJtNzJW3rxgc13MR690yQ8nvVjWEqa8SiIQWl45oEAgIbv/CqOW 9jZQzeKwp8xwGtMhoQBPultH5GgqtJlSTWs+1azrCv0+juiONjG7EYD8boTmke0B+m7R jrroDRIMeEAX0L05s1yPvBwgYSWO9bS5AOPw/PzX448iA421jaKcm+ri4Xon9HRtAuUm pzYM3n8mCc8erzULTlRxVICQTkPGfVNDWNIH6BvcUH28cWf5op0ZDhVXqM4N0/CRDXlv tr+g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779408273; x=1780013073; 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=wTpzrp3v7OuPZr0RFgUjrkkB38tfHLGg+Gs3ZTn4bD8=; b=d1j189pPr8rhD9eEJdTt9zWvEogpMNMLotG2rn9/12AVfKQBocoA3tcGz7o0jCD/to slC5fJ40GYl37bFuKIkn4SScnf8vieuVkQHIgF8jVrooV9vL1TDKJNJQiyfvNGuXUXCz XkqsFcYR3BcvyiQEFN8x2V9rNxRrbdU+Fvm9sKczx56EOfjGUIocBXHXjCC4AUUMtfkp Rqm5pZyT/WcimXfJF3ie2Eh8htdUUNv1nUgRsUF6GZ/X64bABepGykDR/ibPFCGp24D+ HSj4brJFcsNfWaIqnwUP6VR/j5YevjhuxAwAOk71GOGd1Vqv/iZF0+9owIO/wwg0u47Y VQPg== X-Gm-Message-State: AOJu0Yx1HH1M6cw8lOKwuwXu0jTvOvZl+XA9UDO9nCmbFVb2kN5h6Ifc /CfOLyWcCuw0L7ciEFaY/DAfOeJrsGOateQdthxzRXwjCidUDD3TVMJ6imkJ/DkN X-Gm-Gg: Acq92OH++VJirRI4zBlfAPcWwoXMnnvxItGa7jwCspWl7zjkTa7Ow5JS+jCajjoIdQ/ xQig8y761Huo0nZmg9USY4uGhOxYLXZjJaZC5KITIN8e51axG8WobKqJ1rHv6Zx0Q9yoHBEZROz mJsj8x1FzG7GKCxDaZbGJQyPK04+0PNXTL2SBpJGV5ffmgOmmD2PFjLfB6GR1IR+OoLqWvM4lHv hvbf8km8goBm20/QlUFzAHoKhyaMk02IpZFuli3Y3Uk5ESymdtSh8RgKR/Aw29HJo6Ryl7+Zn5q PBPSUAhzIqCBCwxPSL6CidPLpf+suPqKujGHaVrKcdlRkcSLbM80IUrBPxrwiU4qkMzDuvjtL37 x51CFFCVfVuZGXI8vdC6cWgFXlgLDqCzqaV4c8/+0+y6AdXQnuOnVpAsCIYNDX8CpOB2SutG1BC w6XkHrcoDRpJg0FMAcL+wZQldCMD9cqCs2WxkZCmbGbQ== X-Received: by 2002:a17:903:110c:b0:2b0:4fb3:c771 with SMTP id d9443c01a7336-2bea20a161emr48763975ad.6.1779408273464; Thu, 21 May 2026 17:04:33 -0700 (PDT) From: alistair23@gmail.com X-Google-Original-From: alistair.francis@wdc.com To: qemu-devel@nongnu.org Cc: alistair23@gmail.com, Zishun Yi , Alistair Francis Subject: [PULL 18/48] target/riscv: Add mseccfg to VMStateDescription Date: Fri, 22 May 2026 10:02:54 +1000 Message-ID: <20260522000324.23255-19-alistair.francis@wdc.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260522000324.23255-1-alistair.francis@wdc.com> References: <20260522000324.23255-1-alistair.francis@wdc.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::533; envelope-from=alistair23@gmail.com; helo=mail-pg1-x533.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.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, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, 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 @gmail.com) X-ZM-MESSAGEID: 1779408403471154100 Content-Type: text/plain; charset="utf-8" From: Zishun Yi Currently, the Machine Security Configuration Register (mseccfg) was missing from the live migration state. This omission causes the register to be reset to zero on the destination host after migration. Fixed by adding vmstate_mseccfg subsection This vulnerability was discovered and reported by SpecHunter, an AI-driven architecture specification analysis tool. Link: https://github.com/yizishun/rv-isa-sec/blob/a22e4459cd026ae970791dfbd= 9cfe5d110fbd46b/output/riscv-isa-manual/pr-1879/qemu.txt#L121 Signed-off-by: Zishun Yi Reviewed-by: Alistair Francis Message-ID: <20260511124828.3210477-1-vulab@iscas.ac.cn> Signed-off-by: Alistair Francis --- target/riscv/machine.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/target/riscv/machine.c b/target/riscv/machine.c index 09c032a879..6776e7bf5a 100644 --- a/target/riscv/machine.c +++ b/target/riscv/machine.c @@ -423,6 +423,25 @@ static const VMStateDescription vmstate_sstc =3D { } }; =20 +static bool mseccfg_needed(void *opaque) +{ + RISCVCPU *cpu =3D opaque; + + return cpu->cfg.ext_smepmp || cpu->cfg.ext_zkr + || cpu->cfg.ext_smmpm || cpu->cfg.ext_zicfilp; +} + +static const VMStateDescription vmstate_mseccfg =3D { + .name =3D "cpu/mseccfg", + .version_id =3D 1, + .minimum_version_id =3D 1, + .needed =3D mseccfg_needed, + .fields =3D (const VMStateField[]) { + VMSTATE_UINTTL(env.mseccfg, RISCVCPU), + VMSTATE_END_OF_LIST() + } +}; + const VMStateDescription vmstate_riscv_cpu =3D { .name =3D "cpu", .version_id =3D 11, @@ -499,6 +518,7 @@ const VMStateDescription vmstate_riscv_cpu =3D { &vmstate_ssp, &vmstate_ctr, &vmstate_sstc, + &vmstate_mseccfg, NULL } }; --=20 2.53.0 From nobody Sat May 30 17:46:17 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=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1779408689; cv=none; d=zohomail.com; s=zohoarc; b=CyFV+71ov19rVVCZCMJ3pIoUTFgabZPJwtrU6G3ns4QdQEeUNy8u5dyxwrghs/NubzK8wDfOLBBFbjgoFNkjwwvPii7P+piUYBplikc/PHOUjZPUfiIR1Bh9pAID4eFXRKysIfvVP3NosbiPZPtwiKjpRUZIUZ7oQo/q9dA+MtE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1779408689; 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=A7alx0+02PMyVUgvsTRQOtKbrrppoNwd8llf9GqqSGY=; b=TRZ+03Ug+zeAMJfkukhN1gH+gYRfHO9N4IljtDQuZTkfnnY6+tzpU5SQ88ZSS5cczkW4S23rDyJ92jttTnFRumIh1hD2GbAHCOvoSRTjd8d7tfog/64O3l/UtlfSzTbiTE3HAT9PhmrxmuSFpM9EU2dU3SsSENBswbZssyU6aAw= 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 1779408689063583.0504903693121; Thu, 21 May 2026 17:11:29 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wQDNl-00024F-OV; Thu, 21 May 2026 20:04:53 -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 1wQDNX-0001n0-S3 for qemu-devel@nongnu.org; Thu, 21 May 2026 20:04:47 -0400 Received: from mail-pl1-x630.google.com ([2607:f8b0:4864:20::630]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wQDNV-0003TN-PG for qemu-devel@nongnu.org; Thu, 21 May 2026 20:04:39 -0400 Received: by mail-pl1-x630.google.com with SMTP id d9443c01a7336-2be1dd4af34so52051335ad.1 for ; Thu, 21 May 2026 17:04:37 -0700 (PDT) Received: from toolbx.alistair23.me ([2403:581e:fdf9:0:6209:4521:6813:45b7]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2beb114b54csm3915475ad.42.2026.05.21.17.04.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 May 2026 17:04:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779408276; x=1780013076; 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=A7alx0+02PMyVUgvsTRQOtKbrrppoNwd8llf9GqqSGY=; b=YUavIcy4KNEv826bmRhJryZ4SH8TxCYZY1iLxcpgSjaRpPrOBnMpxGdM3sf+3zXO3A AsHrLOoC/oSp1S9Ldrl6GSXIr7I/9WZXSNDO7ao5nTEM+9edVHNjqkZjQX3+Phul2TPJ gVIFaOmbqn9tw9kWMvcyvt/3Dc9b0Q48rhYLAXmfdTJyqyhTZqERIi8bOL3uQw20YR9B 6gwN9GI/LQZNaqRVvMq/Z54cQifrn6VAYMw38ZpF4+HTb8fA4AXAZq173r7BnYLS4ksG tc7z+WrZ1tEEp0vojV4FvwjxPcMmCw6L2rNN3W3HjkC0mweXMvVWBAl2tvYic32SPajF joRQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779408276; x=1780013076; 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=A7alx0+02PMyVUgvsTRQOtKbrrppoNwd8llf9GqqSGY=; b=isB9RWf6Viith8LbASBEhIfrzZMAJjcsmd2YQR4vMrHYw9pUnYhcKLDUM5aWsRSGfc 9lA5ExbeyDpfWB8NP4RXl7bh+Olpb6ykVcxb8e2AkgIpQTzAZOC9iRyESc9U9PJ3xO/T XOs0rEFnFUCdWBdzVMd2oHTmMYTXHtw6vv+vRJbx6+GIsKX/ta4RKO/H0xlGw+hMlhxk L/c04oO4JZIHiUEdgNZs64059rw/ZL1fqADCOprBMciH/YlYgGypiJVZ0+awMKQW0QOp R8/kSP+RxR5XlYLgPPPxDXRtwpdfCrN7yjkkIU24zEsy8/+bzFF6r980F1XaCSNjweXO LOvg== X-Gm-Message-State: AOJu0Yz/1uKonxKFkAmOq42OiKk4Fn7eKLr1UQi8YVIX6VLqe9KrBn8r OciKUjzNPU4ARlqmapT4QyElKU448eezXB8bvRPTbw1Ma+jBJY48X7woanamF9eZ X-Gm-Gg: Acq92OGKX4CT3mdUWhlHZ+wuZCDKdeSW/6+T+hvzIAklqDK1DDXapZMxkX03+Ku7oQa VloXdC1hxWVA/5F6lKA8XM4whWxZDf+4x90jQ5aT69Zp7pHJmRhGTOpaveXTHUmr/QTs6436fb4 qonessnyjiIosNmd3CWOJ7RNPy57wUQzo7URDkURpNfnUlMpI3JkUvNKn2MkXK2pS4vFCiRX+Pe ZtX1jJLkCkVZSYCEq+HHfyNHVQAY13UVbppTGv6RPy5pDUIqDo0C2tZBLuncmNZJTn70t7IuUJJ Z2z/77Fvr+Gj0Bvxd43E7cny0+uMHBsoowIw/uOzO0cAmiLRgH1VOb0npGhN0jUAILJblBBrhgk fqIWJQkiYaG2OqbRwtPW6n9yO20RR7pW2OLbepNyXeX592S3lJcmpI5g1n5U9z+LD5UDRyYOojC YAzDzzIGp7gbAa+MUr35xAzIcjzOH9al6kUrkRajUsTA== X-Received: by 2002:a17:903:298b:b0:2bd:2de3:51a4 with SMTP id d9443c01a7336-2beb0604f43mr11998635ad.27.1779408276462; Thu, 21 May 2026 17:04:36 -0700 (PDT) From: alistair23@gmail.com X-Google-Original-From: alistair.francis@wdc.com To: qemu-devel@nongnu.org Cc: alistair23@gmail.com, Alistair Francis , Daniel Henrique Barboza Subject: [PULL 19/48] target/riscv: Update the local interrupt mask Date: Fri, 22 May 2026 10:02:55 +1000 Message-ID: <20260522000324.23255-20-alistair.francis@wdc.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260522000324.23255-1-alistair.francis@wdc.com> References: <20260522000324.23255-1-alistair.francis@wdc.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::630; envelope-from=alistair23@gmail.com; helo=mail-pl1-x630.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.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, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, 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 @gmail.com) X-ZM-MESSAGEID: 1779408689231158500 Content-Type: text/plain; charset="utf-8" From: Alistair Francis The RISC-V spec describes bits 0-15 as standard fixed interrupts. The AIA spec on the other hand describes bits 0-12 as standard fixed interrupts. This conflict causes issues for us as we don't dynamically determine if AIA is enabled when setting the *delegable_ints consts. This means currently we incorrectly treat the LCOFIP bit as delegable, even if AIA is disabled, which is incorrect (see the issues mentioned below). The AIA spec indicates that implementations can determine which bits of 13-63 in mvien are writable, so let's just make it bits 15-63 to match the main spec. Resolves: https://gitlab.com/qemu-project/qemu/-/work_items/3133 Resolves: https://gitlab.com/qemu-project/qemu/-/work_items/3134 Resolves: https://gitlab.com/qemu-project/qemu/-/work_items/3135 Resolves: https://gitlab.com/qemu-project/qemu/-/work_items/3138 Resolves: https://gitlab.com/qemu-project/qemu/-/work_items/3140 Signed-off-by: Alistair Francis Reviewed-by: Daniel Henrique Barboza Message-ID: <20260513051841.1671987-1-alistair.francis@wdc.com> Signed-off-by: Alistair Francis --- target/riscv/csr.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/target/riscv/csr.c b/target/riscv/csr.c index 7ba4f0383c..b470d37050 100644 --- a/target/riscv/csr.c +++ b/target/riscv/csr.c @@ -1781,13 +1781,13 @@ static RISCVException write_stimecmph(CPURISCVState= *env, int csrno, #define VSTOPI_NUM_SRCS 5 =20 /* - * All core local interrupts except the fixed ones 0:12. This macro is for + * All core local interrupts except the fixed ones 0:15. This macro is for * virtual interrupts logic so please don't change this to avoid messing up * the whole support, For reference see AIA spec: `5.3 Interrupt filtering= and * virtual interrupts for supervisor level` and `6.3.2 Virtual interrupts = for * VS level`. */ -#define LOCAL_INTERRUPTS (~0x1FFFULL) +#define LOCAL_INTERRUPTS (~0xFFFFULL) =20 static const uint64_t delegable_ints =3D S_MODE_INTERRUPTS | VS_MODE_INTERRUPTS | MIP_LCOFIP; --=20 2.53.0 From nobody Sat May 30 17:46:17 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=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1779408688; cv=none; d=zohomail.com; s=zohoarc; b=CLbbVIh050cMqcgSKkvC7ezJN5RautN+v7oApSU9BTTCOXUKqzDPMakGvmdqfhnZwzXKHCpoKejFKdRJsmVbeDUVb2oWxIkt8tNjmgDi5GqoI9n/cHK3gFx4mY9fKL5SD69QOOsPMfJ4bzgGeDSdPgCVbj9QxTHyJ2e3o7RDK3g= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1779408688; 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=6dY4qsp6I25BpbHtaR7u0x/TdjhzZeRX0TyV/91M9Ho=; b=i8ti3rfc08gCLhXYJiRfDOfIfG+zYUChicr09PZb9/Y9qEOCsIXoB0lTi3X08MDO8HT6Gs9Jtw/WHBcueSYt+ASXzMJA7JqZJ1ZluQWrZ50V2lM+5TXh2vPUFx+vqRltC9DKiBqDelzmrxFy+GonhtZLbJxCG4f2gd9pfGJfvDI= 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 1779408688125352.6618037285522; Thu, 21 May 2026 17:11:28 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wQDNl-00023U-Na; Thu, 21 May 2026 20:04:53 -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 1wQDNf-0001w7-5c for qemu-devel@nongnu.org; Thu, 21 May 2026 20:04:47 -0400 Received: from mail-pj1-x102a.google.com ([2607:f8b0:4864:20::102a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wQDNd-0003Xy-Ec for qemu-devel@nongnu.org; Thu, 21 May 2026 20:04:46 -0400 Received: by mail-pj1-x102a.google.com with SMTP id 98e67ed59e1d1-3697f25d26eso3463229a91.1 for ; Thu, 21 May 2026 17:04:40 -0700 (PDT) Received: from toolbx.alistair23.me ([2403:581e:fdf9:0:6209:4521:6813:45b7]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2beb114b54csm3915475ad.42.2026.05.21.17.04.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 May 2026 17:04:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779408280; x=1780013080; 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=6dY4qsp6I25BpbHtaR7u0x/TdjhzZeRX0TyV/91M9Ho=; b=kzj2E9nPnheDke2EjGN9K8czvXdI2k51e71lYSLStEuEbNF1PFgSb4Bbsm4ojulAKb BJoIi7ZxCBFvrK90YycEjTWvtwo2/Au+VRkrbv+7nH2A9Vbbb1IPXWjdxFtFsbyAXGjG Zv1U+f1s6wqBifZWJkOhuaTsOvl/GpmRN5PjuFKh+QnDcp+QrrK8mh2rd8lJhBaeeSm5 E5EJ1CMuXBsVMmYbdwLlTtFpZ3r2nsLSh2MFZWtH25idw8aV+8oL4GMzNbJzNZi0oJiI /jI6ixkyQKRTGpQm4Vi6qwNiLZaSgpu+1H5zQwkD0520BSDOwDeMJCsup80DLDCDhKXy UrwA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779408280; x=1780013080; 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=6dY4qsp6I25BpbHtaR7u0x/TdjhzZeRX0TyV/91M9Ho=; b=JvEC8CAufUVgxcFsiD1OfmytzK+wnhXTaK4ibr3CkNmP0ye++x77CT7pfNUAAZ043u etDLufBQGmwY7LwT90PwO8o9xJ/0HuSR/KuAnCzA2IrhfupDMo5YTwBU1S70r64GlO/U RTJkl9CvDVwupzhgujO2eHdsbWPBRY7OhVAXOxJIL2AoSXebZDQbajpTskO6upoxi1DV kHNh5cYplgJyCnL/PCu5S3nqRBJv8oZ0qLoeuM/QVza0E5tm3RVHYZXuvXVN9vAvzfrV +BspE0/ZomQdR/3M4ovn7qm8Hyg9ih8E5flNFOdtc7emlfrzLb3bn+WM6UL9HI4Z3ot7 e/Qg== X-Gm-Message-State: AOJu0Yy9adqvMnciqjqqMG6Rn7wudIcAkWl7tT0QclFGfsVRmpJ1V9WP e2QDeuZluS4Phx5JVPP5BF+uuc2P7Qu3skiL8eUmpJjIUPrqQLKEIGaG6Xo1O5vJ X-Gm-Gg: Acq92OH1F/jbaW6Q/Pn/uZNJskGcmt81CR98jxFpn2r8d22aG5tVrv9vto/Eakt0PFl HEahRrcsGhJ3JGEojkVd0lKZgcEoYmMTgojR3TaqRDsjc2q+7nbrsALTKIgKQ/ptZXweW+L/hQW 3rpmElTsmFdidw3g9YkAESUxnHmTdpt3hS0nmad32F29V70B494oAOeZKG6xtNRaK89Y0pfEfaD byDLGfzstHssSQzY241sDtAyIBkt3m/FNsVfR0veaGlwKPx5wcJDftDkRC5ARL/iBizHaOjDK18 XNieaIMCOrLqHL+uZAN6PyrHcJQZC1jUu2V3FLQKZBgr76lEZtv5O1Dhk9uj4L0o456RTMnXAFp +K0UHAEnaXXsF0JcosDLDLSZh4UylXcMw5yIoM4PApLTMowmUSmjE6y/VBQS6VK89x+dXUys2hS JrBgd6/cZud/NkLuZBg7gwdLEhngQ/9js5binY7ZHnMQ== X-Received: by 2002:a17:902:cf4b:b0:2bd:ba44:6c07 with SMTP id d9443c01a7336-2beb0702610mr10739645ad.16.1779408279636; Thu, 21 May 2026 17:04:39 -0700 (PDT) From: alistair23@gmail.com X-Google-Original-From: alistair.francis@wdc.com To: qemu-devel@nongnu.org Cc: alistair23@gmail.com, Zishun Yi , Daniel Henrique Barboza , Alistair Francis Subject: [PULL 20/48] target/riscv: clear mseccfg on reset for all dependent extensions Date: Fri, 22 May 2026 10:02:56 +1000 Message-ID: <20260522000324.23255-21-alistair.francis@wdc.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260522000324.23255-1-alistair.francis@wdc.com> References: <20260522000324.23255-1-alistair.francis@wdc.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::102a; envelope-from=alistair23@gmail.com; helo=mail-pj1-x102a.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.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, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, 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 @gmail.com) X-ZM-MESSAGEID: 1779408690387154100 Content-Type: text/plain; charset="utf-8" From: Zishun Yi Currently, the `mseccfg` CSR is only cleared to 0 during reset if the `ext_smepmp` is enabled. However, this register is now shared by several other extensions such as `zkr`, `smmpm`, and `zicfilp`. Fix by clearing `mseccfg` if any dependent extension is present, and adjusting the relevant comments. This vulnerability was discovered and reported by SpecHunter, an AI-driven architecture specification analysis tool. Link: https://github.com/yizishun/rv-isa-sec/blob/master/output/riscv-svvpt= c/pr-134/qemu.txt Signed-off-by: Zishun Yi Reviewed-by: Daniel Henrique Barboza Message-ID: <20260512052240.330815-1-vulab@iscas.ac.cn> Signed-off-by: Alistair Francis --- target/riscv/cpu.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c index 8be06640e5..3f4fe71c80 100644 --- a/target/riscv/cpu.c +++ b/target/riscv/cpu.c @@ -756,10 +756,14 @@ static void riscv_cpu_reset_hold(Object *obj, ResetTy= pe type) =20 /* * Clear mseccfg and unlock all the PMP entries upon reset. - * This is allowed as per the priv and smepmp specifications - * and is needed to clear stale entries across reboots. + * This is required as per the priv, smepmp, and other security + * extension specifications that share this CSR, and is needed + * to clear stale entries across reboots. */ - if (riscv_cpu_cfg(env)->ext_smepmp) { + if (riscv_cpu_cfg(env)->ext_smepmp || + riscv_cpu_cfg(env)->ext_zkr || + riscv_cpu_cfg(env)->ext_smmpm || + riscv_cpu_cfg(env)->ext_zicfilp) { env->mseccfg =3D 0; } =20 --=20 2.53.0 From nobody Sat May 30 17:46:17 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=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1779408447; cv=none; d=zohomail.com; s=zohoarc; b=cKkFgPw786aJeD38oiX8wgDQ9uSTz/mZJVgk2H300GlqhKEfYJYpQ6c65aDdWUJD72vv48hOpJIV6NBG1QBpda1su5vuR7xmNQ3cRfRvwSFJUeFySIU5qElU6vDl0tnEOpamS45J7hiOqRNVT5qaw7AI3zIi4/KlXVHbpcJlCTc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1779408447; 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=cLkPtVdev/JOC/NRIei3L8ZewJsnH2MkRoBf5Bketn0=; b=ImjyHLAUAAWGyERgV+3C3iEVWQqWGuWRVVM96BKx1UryKBE00kvvXVlZo2myHgLPH4GQsOeXknnR13SnHGSlrSwWvtRBWye3XIk7EO46fCBdGA0Gm7oEuSIKpxBAG2n5mkIPVMZpbQa5yXywwKyJbwWBrYTlHhUcTA8e4DIXtoE= 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 1779408447051570.8977702252064; Thu, 21 May 2026 17:07:27 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wQDO5-0002XE-WC; Thu, 21 May 2026 20:05:14 -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 1wQDNk-00023s-7j for qemu-devel@nongnu.org; Thu, 21 May 2026 20:04:52 -0400 Received: from mail-pl1-x62f.google.com ([2607:f8b0:4864:20::62f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wQDNe-0003cq-7o for qemu-devel@nongnu.org; Thu, 21 May 2026 20:04:51 -0400 Received: by mail-pl1-x62f.google.com with SMTP id d9443c01a7336-2ba928852a5so46546815ad.1 for ; Thu, 21 May 2026 17:04:43 -0700 (PDT) Received: from toolbx.alistair23.me ([2403:581e:fdf9:0:6209:4521:6813:45b7]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2beb114b54csm3915475ad.42.2026.05.21.17.04.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 May 2026 17:04:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779408283; x=1780013083; 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=cLkPtVdev/JOC/NRIei3L8ZewJsnH2MkRoBf5Bketn0=; b=i6HwENcx8TAvgGaP6d6erFwhRSfYDllrG7cwmVqoFKQ4c0C+7OwbPq3g2Ntt32sDPP YqTvG2KzWc8Kr/VDFylH/baQcNAsJtd/Ya9etzwpQm4ZVjL48DA8LYvu1ZpsmVBjuqPz WUNUzGsRS+m5WOwPIZhaNcccknFY34aY9J9gIxiPxDXmjLksKTeeg1V7bTjVfJWizDVw 6MrXbI9uwKxbzbd6Af1LnkqcMYt6iDwwsDpuiI+6oQfa9DQhcbNtHpa6q+zhmQD72y5G LePAfziRVfhpp3BW5pjgvc0iJkCf8m6Yj2+esUxLhNZWguTR3h6CpKwJoI+s0PbAKO+Z +AjQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779408283; x=1780013083; 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=cLkPtVdev/JOC/NRIei3L8ZewJsnH2MkRoBf5Bketn0=; b=jVgb4aIzm0R7NjsGJV7ttS9A7TrmgGMjN1FQoMAfoF5zHy2tK9Y1suM1Gul3Lw/Kd9 fSX1/0H7MSpAU5Unxu5S8wTOvNs2mexO/XK7pQgSitocRNcz2YJ3GRi7SSl/ecD+c1zH DlM4GG9mIx/VuY3XclnVdC8uVh7ahiP/d9EPepfjAGG6pA2Q0O8KX+cvH9AJqX6Ca4fb rFif3I9b544U7iA8WQFa0WwPGqS72EwHrLGu6EmzmGa8xxik0yDqci48G8Z2Y0J2KkXk APT8kG9fhHIQTGu/Zkqfk+1Ku/Ck/Ma3L2Retp33L6HMIkfRWx3ASA+aPSU1RgMjRg+2 dNbQ== X-Gm-Message-State: AOJu0YxtApjhOEMapgjWo2Vh0/5msxVFmcC4adaowmJmhaRLORL5nfsS mGx5GP3chP4Nc5fS8ierQI9akIlZuhttUjsxnrHFlHPTNbL+3owTiqMl2Lblm9jR X-Gm-Gg: Acq92OFtmHbyrrzDHziDZ2iN9H2FSFPNU7lBZ1jaXmYrA3QlEWqPtQEMsB80dpvOZmS fMLhXXvFuNQkQcIVcmbMBnATtHcW08hxi2gpR64q0stUSlHPhu1XdBVuqKSXX4eWuaE5VgA49fH g0HJ3YubtwSswtBOwHerM5raeYZmaxMaUnuK+6xfz23DWZrTVkXMWxFYvbOw7pO0t6ubyZETlUk SFt/YnUDj/y4eeZkgbDPlqUQM3S3PDr/w4lacfnGdP9eCqeldcmELiyzCtRIS9E92k30OdAeyKL p2xyCWK1Xuj01lwE1sf8S163VRYyECu5YIRaY+HMmpQaeUa22ERR17strVWvTjuReUpqkBJUoQW NfWkYAw9NW+EPdF2n9ImqtMgBehBjrKv6VF5SyImhO75jq7CEYQ7o9Ti64r4qmHtai50PAopmi8 t8Jsnw+WOAowPFGrLX3JYCgOcoRa7nbBzA1dqAH0avBA== X-Received: by 2002:a17:903:1a2d:b0:2bd:5ddd:17ab with SMTP id d9443c01a7336-2beb080c8fdmr9113705ad.32.1779408282811; Thu, 21 May 2026 17:04:42 -0700 (PDT) From: alistair23@gmail.com X-Google-Original-From: alistair.francis@wdc.com To: qemu-devel@nongnu.org Cc: alistair23@gmail.com, Zongmin Zhou , Daniel Henrique Barboza , Alistair Francis Subject: [PULL 21/48] target/riscv/kvm: add KVM support for Zicbop extension Date: Fri, 22 May 2026 10:02:57 +1000 Message-ID: <20260522000324.23255-22-alistair.francis@wdc.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260522000324.23255-1-alistair.francis@wdc.com> References: <20260522000324.23255-1-alistair.francis@wdc.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::62f; envelope-from=alistair23@gmail.com; helo=mail-pl1-x62f.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.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, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, 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 @gmail.com) X-ZM-MESSAGEID: 1779408448396158500 Content-Type: text/plain; charset="utf-8" From: Zongmin Zhou When the Zicbop extension is available expose it to the KVM guest. Also read and validate cbop_blocksize from the host via KVM interface. Signed-off-by: Zongmin Zhou Reviewed-by: Daniel Henrique Barboza Message-ID: <9e388aa9984ea9d3d0c85e1630c9195023938952.1778653159.git.zhouzo= ngmin@kylinos.cn> Signed-off-by: Alistair Francis --- target/riscv/kvm/kvm-cpu.c | 34 ++++++++++++++++++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) diff --git a/target/riscv/kvm/kvm-cpu.c b/target/riscv/kvm/kvm-cpu.c index b047ffa9c0..608495630f 100644 --- a/target/riscv/kvm/kvm-cpu.c +++ b/target/riscv/kvm/kvm-cpu.c @@ -293,6 +293,7 @@ static void kvm_cpu_csr_set_u64(RISCVCPU *cpu, KVMCPUCo= nfig *csr_cfg, =20 static KVMCPUConfig kvm_multi_ext_cfgs[] =3D { KVM_EXT_CFG("zicbom", ext_zicbom, KVM_RISCV_ISA_EXT_ZICBOM), + KVM_EXT_CFG("zicbop", ext_zicbop, KVM_RISCV_ISA_EXT_ZICBOP), KVM_EXT_CFG("zicboz", ext_zicboz, KVM_RISCV_ISA_EXT_ZICBOZ), KVM_EXT_CFG("ziccrse", ext_ziccrse, KVM_RISCV_ISA_EXT_ZICCRSE), KVM_EXT_CFG("zicntr", ext_zicntr, KVM_RISCV_ISA_EXT_ZICNTR), @@ -439,6 +440,12 @@ static KVMCPUConfig kvm_cboz_blocksize =3D { .kvm_reg_id =3D KVM_REG_RISCV_CONFIG_REG(zicboz_block_size) }; =20 +static KVMCPUConfig kvm_cbop_blocksize =3D { + .name =3D "cbop_blocksize", + .offset =3D CPU_CFG_OFFSET(cbop_blocksize), + .kvm_reg_id =3D KVM_REG_RISCV_CONFIG_REG(zicbop_block_size) +}; + static KVMCPUConfig kvm_v_vlenb =3D { .name =3D "vlenb", .offset =3D CPU_CFG_OFFSET(vlenb), @@ -1293,6 +1300,10 @@ static void kvm_riscv_init_cfg(RISCVCPU *cpu, KVMScr= atchCPU *kvmcpu) kvm_riscv_read_cbomz_blksize(cpu, kvmcpu, &kvm_cbom_blocksize); } =20 + if (cpu->cfg.ext_zicbop) { + kvm_riscv_read_cbomz_blksize(cpu, kvmcpu, &kvm_cbop_blocksize); + } + if (cpu->cfg.ext_zicboz) { kvm_riscv_read_cbomz_blksize(cpu, kvmcpu, &kvm_cboz_blocksize); } @@ -2014,8 +2025,8 @@ void riscv_kvm_cpu_finalize_features(RISCVCPU *cpu, E= rror **errp) int ret; =20 /* short-circuit without spinning the scratch CPU */ - if (!cpu->cfg.ext_zicbom && !cpu->cfg.ext_zicboz && - !riscv_has_ext(env, RVV)) { + if (!cpu->cfg.ext_zicbom && !cpu->cfg.ext_zicbop && + !cpu->cfg.ext_zicboz && !riscv_has_ext(env, RVV)) { return; } =20 @@ -2062,6 +2073,25 @@ void riscv_kvm_cpu_finalize_features(RISCVCPU *cpu, = Error **errp) } } =20 + if (cpu->cfg.ext_zicbop && + riscv_cpu_option_set(kvm_cbop_blocksize.name)) { + + reg.id =3D KVM_RISCV_REG_ID_ULONG(KVM_REG_RISCV_CONFIG, + kvm_cbop_blocksize.kvm_reg_id); + reg.addr =3D (uint64_t)&val; + ret =3D ioctl(kvmcpu.cpufd, KVM_GET_ONE_REG, ®); + if (ret !=3D 0) { + error_setg_errno(errp, errno, "Unable to read cbop_blocksize"); + return; + } + + if (cpu->cfg.cbop_blocksize !=3D val) { + error_setg(errp, "Unable to set cbop_blocksize to a different " + "value than the host (%lu)", val); + return; + } + } + /* Users are setting vlen, not vlenb */ if (riscv_has_ext(env, RVV) && riscv_cpu_option_set("vlen")) { if (!kvm_v_vlenb.supported) { --=20 2.53.0 From nobody Sat May 30 17:46:17 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=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1779408332; cv=none; d=zohomail.com; s=zohoarc; b=C5Od4JQeRHljf6Yazu4m2BtGSu23fpTUG+lFbMMM7WJz2GppaYhEXViggNSJPPdPbr4H4NQsrDMtm1mERCw6XnuGmzrjnjD28RDQLy748ABJiAWVER3jCm2C8o9Cwsp5KY/HIDyT8jc7/UxHRgBV0H8FUco6PD+Q7N2MNseE2hg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1779408332; 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=MirGdvlp1h8clJvrvy1Hkb6T0OVMX8liN9iOwDmT8JU=; b=aCTiArt7IJbiJJOLMGpNIyTc/anpTg1LFTyDBcVhn8FG+zTSnJ3wMOWlTZJWMjcoknRH4Vw2/UhlEASJjeRywEF3mB/nzEeS1/fkzGkRO9OXjHhF43avuxNfArVAklPz8Cxlq4+Y+ybBhiopIQVYPfP7jZUkrZgU+RznoO+e+IM= 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 1779408332985621.0614385415996; Thu, 21 May 2026 17:05:32 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wQDNu-0002Dz-8v; Thu, 21 May 2026 20:05:03 -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 1wQDNj-00020n-Q6 for qemu-devel@nongnu.org; Thu, 21 May 2026 20:04:52 -0400 Received: from mail-pg1-x529.google.com ([2607:f8b0:4864:20::529]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wQDNg-0003hE-Tf for qemu-devel@nongnu.org; Thu, 21 May 2026 20:04:50 -0400 Received: by mail-pg1-x529.google.com with SMTP id 41be03b00d2f7-c80167f5716so3031502a12.2 for ; Thu, 21 May 2026 17:04:47 -0700 (PDT) Received: from toolbx.alistair23.me ([2403:581e:fdf9:0:6209:4521:6813:45b7]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2beb114b54csm3915475ad.42.2026.05.21.17.04.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 May 2026 17:04:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779408286; x=1780013086; 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=MirGdvlp1h8clJvrvy1Hkb6T0OVMX8liN9iOwDmT8JU=; b=Bhdv1TicT/ScZOBr9eEHe8LH8VamRdJT6J2Say2avJpLbYNYZa7a0WbABVXLrYXe+H 8fa89fRj9j6SlLC6/vXgba7a0f1fBBRZ1vlddIl8UrPguur+0s7jMAScBCA4ifaWGksP 3ZsA7LE6r6ORXrFxEYsuaZTSEj/VlMZhp6FQaM5+7wdlvgqhpoxDiuajMd/vZqOce2ah Fes5IMKIaUMOZOjszEhUmC6M4d4oQA6MSnJljYQwS9W9/LWU0Dgbm5kVkAIkKaKWDCiR SNUlpqiVWTG7wHHQND7W330YAoJ24TrFxBq2o7OEIwvleRJxXBPfk5Rcw97lS25WZ/Mn /3xA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779408286; x=1780013086; 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=MirGdvlp1h8clJvrvy1Hkb6T0OVMX8liN9iOwDmT8JU=; b=Dp/woI7/SBM6odWWIhfDGDij38iiqOZdyoZHTufOcOl3nhrlKxJ9dQyHJSNttApHEt +0yLj+G4+Cde9BkniulVZCbERUsJ9eXnIMl5T5FkMmwZkoB4zHqEWNXu7mQpZeVCVty6 499Y5eiR+nA8MRrCjz0amuZDeERA/XbqsfTRHj1awfKEW98PHDyRko27ttIWWLmNBkdl SN3Gj8YmRS617RVtS/0jKM+lMYTWlGDzrCmftgluNxdQ02BuE0ZnV7lKgyovpX6cWrFd 3zUSZikMt/rX0kg2kUC+3RQxEZHl4UPON5/ahkx992o18GNA53RNLGx5qpbk6obWmGZM SJSg== X-Gm-Message-State: AOJu0YxNc9dYLK5mCS+2haRuJvdMCvYCtXi6M56QD7fvRhUFY5wVMSFK Hu/KTTX62Fl7OGkK9ZxSmUsOqxn7PcDl9gXEXemjYb/r/YtGc6LJkqykN8v8NGTu X-Gm-Gg: Acq92OFFd6eDdodD9xCI3c0JUNdicy85RqyfvolLvDBBZGSubxoJeM6qWcVv/bSYIng b6lZtoa2KpJEEx34oM3R4bOPyNM2fdjDQdLWfslKSloZSRj0UvwT2i0VVV29PaSCpYDPgZGH5y7 eYmzruYGqoDk1XOr2Wy9S3WC5HiJpNqvFei+RyWkeIZVz7xGCZfbpiYFJHG2f8TAB5udMV1yJ0H K5w4UCcPpQvm0ZZGRm4tgqZE5mZ1jLhpxyCK3c8Y3pxxKNdoQvzwntZOV65NBFzZI3641PD3u00 IIeAJqMjZeTUBzbr0qPZ7gp4mpfmhjJq1laiCa9FaK2bEhcvDud5c8m4LHVSZmeanmoDiq2d3MZ f3BlMrVls5D372cF8Ce+fIRHM1cPYLd7svOiyHCCv06kX8Ps5hF3egLNF9pK4KvRCHOI5W+rTg0 dXjeggvdL0aQLgF+2lqU6vX5vfDc5EypLj+eTEuPKrvA== X-Received: by 2002:a17:903:3c6c:b0:2ba:6bd7:8f00 with SMTP id d9443c01a7336-2beb06e9eecmr9878965ad.5.1779408286550; Thu, 21 May 2026 17:04:46 -0700 (PDT) From: alistair23@gmail.com X-Google-Original-From: alistair.francis@wdc.com To: qemu-devel@nongnu.org Cc: alistair23@gmail.com, Zongmin Zhou , Daniel Henrique Barboza , Alistair Francis Subject: [PULL 22/48] target/riscv/kvm: Add BFloat16 extensions support Date: Fri, 22 May 2026 10:02:58 +1000 Message-ID: <20260522000324.23255-23-alistair.francis@wdc.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260522000324.23255-1-alistair.francis@wdc.com> References: <20260522000324.23255-1-alistair.francis@wdc.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::529; envelope-from=alistair23@gmail.com; helo=mail-pg1-x529.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.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, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, 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 @gmail.com) X-ZM-MESSAGEID: 1779408334828154100 Content-Type: text/plain; charset="utf-8" From: Zongmin Zhou Expose the BFloat16 extensions (Zfbfmin, Zvfbfmin, Zvfbfwma) to KVM guests when available in hardware. Signed-off-by: Zongmin Zhou Reviewed-by: Daniel Henrique Barboza Message-ID: <1258febb0eeb4ee286eb88f70b077a7f1ece507f.1778653159.git.zhouzo= ngmin@kylinos.cn> Signed-off-by: Alistair Francis --- target/riscv/kvm/kvm-cpu.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/target/riscv/kvm/kvm-cpu.c b/target/riscv/kvm/kvm-cpu.c index 608495630f..34f60bd80c 100644 --- a/target/riscv/kvm/kvm-cpu.c +++ b/target/riscv/kvm/kvm-cpu.c @@ -309,6 +309,7 @@ static KVMCPUConfig kvm_multi_ext_cfgs[] =3D { KVM_EXT_CFG("zacas", ext_zacas, KVM_RISCV_ISA_EXT_ZACAS), KVM_EXT_CFG("zawrs", ext_zawrs, KVM_RISCV_ISA_EXT_ZAWRS), KVM_EXT_CFG("zfa", ext_zfa, KVM_RISCV_ISA_EXT_ZFA), + KVM_EXT_CFG("zfbfmin", ext_zfbfmin, KVM_RISCV_ISA_EXT_ZFBFMIN), KVM_EXT_CFG("zfh", ext_zfh, KVM_RISCV_ISA_EXT_ZFH), KVM_EXT_CFG("zfhmin", ext_zfhmin, KVM_RISCV_ISA_EXT_ZFHMIN), KVM_EXT_CFG("zba", ext_zba, KVM_RISCV_ISA_EXT_ZBA), @@ -334,6 +335,8 @@ static KVMCPUConfig kvm_multi_ext_cfgs[] =3D { KVM_EXT_CFG("zvbc", ext_zvbc, KVM_RISCV_ISA_EXT_ZVBC), KVM_EXT_CFG("zvfh", ext_zvfh, KVM_RISCV_ISA_EXT_ZVFH), KVM_EXT_CFG("zvfhmin", ext_zvfhmin, KVM_RISCV_ISA_EXT_ZVFHMIN), + KVM_EXT_CFG("zvfbfmin", ext_zvfbfmin, KVM_RISCV_ISA_EXT_ZVFBFMIN), + KVM_EXT_CFG("zvfbfwma", ext_zvfbfwma, KVM_RISCV_ISA_EXT_ZVFBFWMA), KVM_EXT_CFG("zvkb", ext_zvkb, KVM_RISCV_ISA_EXT_ZVKB), KVM_EXT_CFG("zvkg", ext_zvkg, KVM_RISCV_ISA_EXT_ZVKG), KVM_EXT_CFG("zvkned", ext_zvkned, KVM_RISCV_ISA_EXT_ZVKNED), --=20 2.53.0 From nobody Sat May 30 17:46:17 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=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1779408365; cv=none; d=zohomail.com; s=zohoarc; b=SjuR/YhObm6lENmbK0vm7CEix+VkhJCa0t86KUgHqprflNbNlLS/Sdf5d4jrwoyblPdZB/LS7CD0kTeouFxVYeYXKpStchJlQymmX+yxJ5sZojzN9t0z0zEgBmO8DPOhiL4+MJN6BK/mYyOodDBwK1iQxsXKTeITPvTo+yOKAKk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1779408365; 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=lVQWbjWJNWGQBFqdKllYREvwvixFFOatWu8HImUdVmU=; b=YQdcqFkLGIghNGjqwfB67BQxWKZAFd6Q7Jhqp5+0gd86WUDm+RjUUgLvSfGWy6V0j2A0+8fBRIqEmSvjjEEcHEow8pA0RL+dWT9DmnM5175IIvZYlpCsM0SWE8KuSzNGbYnsQa0yyXisT7B2BYYbrbAYlSeN6yl7Y65BI7Rm7+U= 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 1779408365311489.6605535065313; Thu, 21 May 2026 17:06:05 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wQDO3-0002U2-P2; Thu, 21 May 2026 20:05:12 -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 1wQDNl-00024d-9z for qemu-devel@nongnu.org; Thu, 21 May 2026 20:04:53 -0400 Received: from mail-pl1-x631.google.com ([2607:f8b0:4864:20::631]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wQDNj-0003iS-IL for qemu-devel@nongnu.org; Thu, 21 May 2026 20:04:53 -0400 Received: by mail-pl1-x631.google.com with SMTP id d9443c01a7336-2ba6485d219so50682705ad.3 for ; Thu, 21 May 2026 17:04:51 -0700 (PDT) Received: from toolbx.alistair23.me ([2403:581e:fdf9:0:6209:4521:6813:45b7]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2beb114b54csm3915475ad.42.2026.05.21.17.04.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 May 2026 17:04:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779408290; x=1780013090; 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=lVQWbjWJNWGQBFqdKllYREvwvixFFOatWu8HImUdVmU=; b=J+8/P6qHEzCoF03i+i+M+rZ4oafwsRfHstOa1ExjPHeH3eFjdNgDkzMB35l234677x dtLYC8fWDc4q7gHZXKtYJQZSEqe7WVUsszPkzsidmlw6oDccS8Yx2srtSX3cd8y/LhCR c8wj8pfvhV4yH+iy9AIwt4nlGbieCd2ZPiOJQtHyTxmrgRsiVNIrFjvMD6NWgvz8PXip tuM6JkDL9JmdtWMiVD9LN0LyFmBo0vTSSNvRreHXGh3vW81X2Q4bXTcmD7DnhmuxruOr sMHiB/WnRapUlOpvA6K7iKfQ6M0TBMuzlebteaLMCiGGzKC1vczSgd+hyKOsMxCFQzbp w99Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779408290; x=1780013090; 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=lVQWbjWJNWGQBFqdKllYREvwvixFFOatWu8HImUdVmU=; b=qLgSR/IpV00lbeRbM94OOOPt0Q92geywpSREmCXgpz2ODbdizWSXoe80CHNJvqmcc5 PTq+6HLa1fHKgvingE2b+lN10Wc2QmZNc2VpfhXI92bWtEPijkAsSi2y8CiRHWVxQMOK AuX6lBahyesk7P/vWYZev9uZpNcdvOWuMOeKr3xfATzB9CsxJVeT7aKa9mRMq2w/poUm 5gIVD7jlsc/nICiTYwlIhUCCBH1DA1wkoldKXjY6C0OYQ0afSL4SkBMEK09PfNOlyGWS LmXPPw2amZD7gccntdGRqbw9KSKtqfmGbSIVixDRanF03LiDDh2oaHsbNzI9cjC/5ehU duHQ== X-Gm-Message-State: AOJu0YwT+3PI1lX0m8xo2Mj0QcuOMqyioO02N7MKTB0zCzOJm/Fc7F8m Y8ve6+jVXmYM1hC0qJe2k7n4MDox1UzZPc4IPDMoKNmWu/zTRjn4HuYzOH/YxCif X-Gm-Gg: Acq92OH31qTPBcItFunDkWAAKPF2uqpiprNFn4w9C9OUPu0lHX+CMGrvwRwgNgA3J5t Nh/nLmO/olLUak6W0K/1z4fIhUR/VVVxpYojo+2JasBEVYRchNxE6bJlQrf6tRP3eyEtF3iRS6y SFjwvTEEjts4lIoQzqsLb4NSEdYj2GFGghSNsDptfU368+KDaY6nTLlHMRYE+Ntikp0bAqykjaC rD00hnp6UVF0O9T3yShs8gs6T/hhk0msLhovncUBXIzqYvOzqZS0iFaXtdXbGJEBadFJTlliLNF jhjuPYKjYxoWHg8a9kxepsYXU/eJmuJsPqKc+3aQlMweVjfz7nzRgBtvzWrE88Nhq/NnkAfJQZQ HNybvNCn73pXRuKWLV6P1x1o//ZSU0HpjBEeEveL/Pr8jtylR30Cw12CyXl1pljp0BXNVxx1Hx7 ONpZ9DFdeoxSeovS3GgQ+316LTEastPHTcU8gZe7TrWVlHeE6KWIyt X-Received: by 2002:a17:902:fc85:b0:2bc:f202:54d7 with SMTP id d9443c01a7336-2beb069e6c7mr10573845ad.38.1779408289969; Thu, 21 May 2026 17:04:49 -0700 (PDT) From: alistair23@gmail.com X-Google-Original-From: alistair.francis@wdc.com To: qemu-devel@nongnu.org Cc: alistair23@gmail.com, Zishun Yi , Daniel Henrique Barboza , Alistair Francis Subject: [PULL 23/48] hw/riscv/riscv-iommu: fix FSC SV32 capability check Date: Fri, 22 May 2026 10:02:59 +1000 Message-ID: <20260522000324.23255-24-alistair.francis@wdc.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260522000324.23255-1-alistair.francis@wdc.com> References: <20260522000324.23255-1-alistair.francis@wdc.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::631; envelope-from=alistair23@gmail.com; helo=mail-pl1-x631.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.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, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, 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 @gmail.com) X-ZM-MESSAGEID: 1779408367180154100 Content-Type: text/plain; charset="utf-8" From: Zishun Yi Fix a mode-to-capability comparison error in riscv_iommu_validate_device_ctx. The code was comparing fsc_mode (a value) against a capability bitmask, making the SV32 support check ineffective. This issue was discovered and reported by SpecHunter, an AI-driven architecture specification analysis tool. Link: https://github.com/yizishun/rv-isa-sec/blob/master/output/riscv-iommu= /pr-694/qemu.txt Signed-off-by: Zishun Yi Reviewed-by: Daniel Henrique Barboza Message-ID: <20260511080904.3049446-1-vulab@iscas.ac.cn> Signed-off-by: Alistair Francis --- hw/riscv/riscv-iommu.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/riscv/riscv-iommu.c b/hw/riscv/riscv-iommu.c index eb09cc9748..c9c64be24f 100644 --- a/hw/riscv/riscv-iommu.c +++ b/hw/riscv/riscv-iommu.c @@ -807,7 +807,7 @@ static bool riscv_iommu_validate_device_ctx(RISCVIOMMUS= tate *s, } =20 if (ctx->tc & RISCV_IOMMU_DC_TC_SXL) { - if (fsc_mode =3D=3D RISCV_IOMMU_CAP_SV32 && + if (fsc_mode =3D=3D RISCV_IOMMU_DC_FSC_IOSATP_MODE_SV32 && !(s->cap & RISCV_IOMMU_CAP_SV32)) { return false; } --=20 2.53.0 From nobody Sat May 30 17:46:17 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=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1779408568; cv=none; d=zohomail.com; s=zohoarc; b=WssfuNvqA6rt9tyI6L5lggoyANw156qdI0coHwcFOXq+ThxZ/SOociUCZx8gZ168uuPvxILXheV+GLAd2PKyFvpiF+zhqS/uelWIXAR6ig09LVc8Viq66jizLhtzT9k6ErCQsIDxPvxx4WhcwMjCAn9CunI3tjoBhS54wDWr4xM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1779408568; 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=rXGc+Ljv8bnjFKr9c9Nd+ZT8vlEMtLZsyDj7VfaMAvc=; b=i9z0+rqQ10akjQ9cgUSsX+9uwypwepglj67JYOMmgglGZua7UaYpVac5HOOleUEWMk6LwObkL+/gqphxW8vdrTTYmZOlnidoru7539/Jdn7BDjzKEogaTWcnhcpIxraq0gmXjgXXmX4bY6aqdWRsWfK1YVd/YuHsK305bR2RWhI= 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 177940856830676.5976763334213; Thu, 21 May 2026 17:09:28 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wQDOA-0002Zv-Ch; Thu, 21 May 2026 20:05:23 -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 1wQDNo-0002C9-J4 for qemu-devel@nongnu.org; Thu, 21 May 2026 20:04:59 -0400 Received: from mail-pl1-x62c.google.com ([2607:f8b0:4864:20::62c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wQDNm-0003qg-Nq for qemu-devel@nongnu.org; Thu, 21 May 2026 20:04:56 -0400 Received: by mail-pl1-x62c.google.com with SMTP id d9443c01a7336-2b4583f0a1aso44351545ad.3 for ; Thu, 21 May 2026 17:04:54 -0700 (PDT) Received: from toolbx.alistair23.me ([2403:581e:fdf9:0:6209:4521:6813:45b7]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2beb114b54csm3915475ad.42.2026.05.21.17.04.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 May 2026 17:04:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779408293; x=1780013093; 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=rXGc+Ljv8bnjFKr9c9Nd+ZT8vlEMtLZsyDj7VfaMAvc=; b=a8Feke/MC7Ig/pJ7pc2stowazJfQc2Ki5spWzG3rC3Yu8iQZnBaZgdME+vCODu3tZZ q5Z9Yn1sHWMmVX4itiChFpI/AZfzw196+Q3igNd9ZvtqDWpp0UoZ4rKneFNcvhDFVr0m D7s/hjVy94CTqAnDnJQbG1dlAXprp9HlPTy4VUqzUDKLAzpml7OmFVULzeYDEcaUQs2x zaq49MkcYzlnhDC/JBmNto7TVUDGekBzq9gvIqq6TTIrjCM5JjMgDO+s4I+JZjUeLOZN he9eQuNLmCFTbOT686cs36GG7TRr+1dljMh44O+18s9gKsVe3fiqOHfYY3+6WD/Su14F aKRg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779408293; x=1780013093; 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=rXGc+Ljv8bnjFKr9c9Nd+ZT8vlEMtLZsyDj7VfaMAvc=; b=dlssyr38KRJRyMr0jGFx+gt3UVlJ9tq1tMZ7CQmrijs/rM2P26MmEqYk05fvRb7Oxu /Sxew4UglyF02bOuJ0IP1GvM2gEokU/vyI8l1Y/o+ftP94kK48xTnng3A1l5e4/K+abT xm2kA7ZXaKoOe1HRR+Vv3Pg5DizwKl1yOFEa2+G/Z+BJTG8pz2JHQxSDQaTrdx5hLhXn II7KJaad2lPbJe3zUm8WdfrAaSi3TXycSoyj5AL6I4BeOkKntXwN2YEvDAqF2JjwMk+n a3KIlMA1ryg6a1Z5yvkkjXscr4raEmh7pPcqvOE9f5wg8ERXcngusYlxBKaHozUVnCM6 cB8A== X-Gm-Message-State: AOJu0YzWM3WTd91MmXgmSgdrhxlMiNgGA3/ycpVpgJ2Lv6HeAx9q0cWs EnSa3taSeCs4c16JyvimAdtu7ImgWbfo2JVoN/DR0UfaQ0WGAYSQ5lNlkrhGUvfi X-Gm-Gg: Acq92OGh48CT/iOtWJoJIAHNDFehemDIKesy5M6VLewh5V1ZfKKeYfE6PeFQ7E3htyg QVHkhgD9iY2i7eR76jLk2Rw/rFdZDFTuiZEfZdyeE0FTKNgK9mm0rEJO3PPBwa6CDtu7CBySxN0 Ig1qKMPOCvftoXgf11OvaU2d/4nZ5AQe0sbsCFwzHXjwrtb8+BIX6RcAsQ4cip5NJr6gPSPAlzo eMsJSvj0XNtoQFQzZX71gnAzojHmNhuyERGC6og8zq1StNczH5TgVXuCTIGxYIerN3QQCkKSbdV ++C7tOHyhbk+JWSQSqCqaYXv1rRVs1XR8RFWLK0BZUdZ/O+plOoeo5YoUlNfb0/6NgvjjG02JWf UG4jknsqVCc83Jqo6KF69A9k2uysyIx8m0pTWH0sGHkn79SddFKRxEwpI7dGgwB+Q6d09qfjXfE w19IslZ3kA4KOmyo1+7h1cu/wfI7T4JGNFBlL2TCCvbQ== X-Received: by 2002:a17:902:cf0e:b0:2bd:ba87:40a1 with SMTP id d9443c01a7336-2beb07ffc75mr10586845ad.29.1779408293400; Thu, 21 May 2026 17:04:53 -0700 (PDT) From: alistair23@gmail.com X-Google-Original-From: alistair.francis@wdc.com To: qemu-devel@nongnu.org Cc: alistair23@gmail.com, Chengbo Gao , Daniel Henrique Barboza , Alistair Francis Subject: [PULL 24/48] hw/riscv/riscv-iommu: Avoid caching PCI device IDs Date: Fri, 22 May 2026 10:03:00 +1000 Message-ID: <20260522000324.23255-25-alistair.francis@wdc.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260522000324.23255-1-alistair.francis@wdc.com> References: <20260522000324.23255-1-alistair.francis@wdc.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::62c; envelope-from=alistair23@gmail.com; helo=mail-pl1-x62c.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.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, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, 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 @gmail.com) X-ZM-MESSAGEID: 1779408571128154100 Content-Type: text/plain; charset="utf-8" From: Chengbo Gao PCI bus numbers may still be unassigned when QEMU initializes a PCI device's bus-master address space. For devices behind bridges, pci_bus_num() can return 0 at that point because the guest has not yet programmed the bridge Secondary Bus Number register. The RISC-V IOMMU currently stores a fixed device_id in RISCVIOMMUSpace when the address space is created. If the guest later enumerates the device on a non-zero bus, DMA translation still uses the stale device_id and may look up the wrong device context in the DDT. Store the stable PCIBus pointer and devfn in RISCVIOMMUSpace instead, and compute the device_id from the current bus number when it is needed. This keeps DMA translation and ATS invalidation in sync with guest PCI bus enumeration. Signed-off-by: Chengbo Gao Reviewed-by: Daniel Henrique Barboza Message-ID: <20260514020637.2819308-1-gaochengbo@bosc.ac.cn> Signed-off-by: Alistair Francis --- hw/riscv/riscv-iommu.c | 40 +++++++++++++++++++++++++--------------- 1 file changed, 25 insertions(+), 15 deletions(-) diff --git a/hw/riscv/riscv-iommu.c b/hw/riscv/riscv-iommu.c index c9c64be24f..5bc2472a83 100644 --- a/hw/riscv/riscv-iommu.c +++ b/hw/riscv/riscv-iommu.c @@ -49,7 +49,8 @@ struct RISCVIOMMUSpace { IOMMUMemoryRegion iova_mr; /* IOVA memory region for attached device = */ AddressSpace iova_as; /* IOVA address space for attached device = */ RISCVIOMMUState *iommu; /* Managing IOMMU device state */ - uint32_t devid; /* Requester identifier, AKA device_id */ + PCIBus *bus; /* PCI bus of the requester */ + uint8_t devfn; /* Requester identifier, AKA device_id */ bool notifier; /* IOMMU unmap notifier enabled */ QLIST_ENTRY(RISCVIOMMUSpace) list; }; @@ -74,6 +75,15 @@ struct RISCVIOMMUEntry { /* IOMMU index for transactions without process_id specified. */ #define RISCV_IOMMU_NOPROCID 0 =20 +static uint32_t riscv_iommu_space_devid(RISCVIOMMUSpace *as) +{ + uint32_t devid =3D PCI_BUILD_BDF(pci_bus_num(as->bus), as->devfn); + + /* FIXME: PCIe bus remapping for attached endpoints. */ + devid |=3D as->iommu->bus << 8; + return devid; +} + static uint8_t riscv_iommu_get_icvec_vector(uint32_t icvec, uint32_t vec_t= ype) { switch (vec_type) { @@ -1379,15 +1389,13 @@ static void riscv_iommu_ctx_put(RISCVIOMMUState *s,= void *ref) } =20 /* Find or allocate address space for a given device */ -static AddressSpace *riscv_iommu_space(RISCVIOMMUState *s, uint32_t devid) +static AddressSpace *riscv_iommu_space(RISCVIOMMUState *s, PCIBus *bus, + int devfn) { RISCVIOMMUSpace *as; =20 - /* FIXME: PCIe bus remapping for attached endpoints. */ - devid |=3D s->bus << 8; - QLIST_FOREACH(as, &s->spaces, list) { - if (as->devid =3D=3D devid) { + if (as->bus =3D=3D bus && as->devfn =3D=3D devfn) { break; } } @@ -1397,10 +1405,11 @@ static AddressSpace *riscv_iommu_space(RISCVIOMMUSt= ate *s, uint32_t devid) as =3D g_new0(RISCVIOMMUSpace, 1); =20 as->iommu =3D s; - as->devid =3D devid; + as->bus =3D bus; + as->devfn =3D devfn; =20 snprintf(name, sizeof(name), "riscv-iommu-%04x:%02x.%d-iova", - PCI_BUS_NUM(as->devid), PCI_SLOT(as->devid), PCI_FUNC(as->devi= d)); + pci_bus_num(bus), PCI_SLOT(devfn), PCI_FUNC(devfn)); =20 /* IOVA address space, untranslated addresses */ memory_region_init_iommu(&as->iova_mr, sizeof(as->iova_mr), @@ -1410,8 +1419,8 @@ static AddressSpace *riscv_iommu_space(RISCVIOMMUStat= e *s, uint32_t devid) =20 QLIST_INSERT_HEAD(&s->spaces, as, list); =20 - trace_riscv_iommu_new(s->parent_obj.id, PCI_BUS_NUM(as->devid), - PCI_SLOT(as->devid), PCI_FUNC(as->devid)); + trace_riscv_iommu_new(s->parent_obj.id, pci_bus_num(bus), + PCI_SLOT(devfn), PCI_FUNC(devfn)); } return &as->iova_as; } @@ -1732,7 +1741,7 @@ static void riscv_iommu_ats(RISCVIOMMUState *s, pid =3D get_field(cmd->dword0, RISCV_IOMMU_CMD_ATS_PID); =20 QLIST_FOREACH(as, &s->spaces, list) { - if (as->devid =3D=3D devid) { + if (riscv_iommu_space_devid(as) =3D=3D devid) { break; } } @@ -2745,8 +2754,9 @@ static IOMMUTLBEntry riscv_iommu_memory_region_transl= ate( .addr_mask =3D ~0ULL, .perm =3D flag, }; + uint32_t devid =3D riscv_iommu_space_devid(as); =20 - ctx =3D riscv_iommu_ctx(as->iommu, as->devid, iommu_idx, &ref); + ctx =3D riscv_iommu_ctx(as->iommu, devid, iommu_idx, &ref); if (ctx =3D=3D NULL) { /* Translation disabled or invalid. */ iotlb.addr_mask =3D 0; @@ -2758,8 +2768,8 @@ static IOMMUTLBEntry riscv_iommu_memory_region_transl= ate( } =20 /* Trace all dma translations with original access flags. */ - trace_riscv_iommu_dma(as->iommu->parent_obj.id, PCI_BUS_NUM(as->devid), - PCI_SLOT(as->devid), PCI_FUNC(as->devid), iommu_= idx, + trace_riscv_iommu_dma(as->iommu->parent_obj.id, PCI_BUS_NUM(devid), + PCI_SLOT(devid), PCI_FUNC(devid), iommu_idx, IOMMU_FLAG_STR[flag & IOMMU_RW], iotlb.iova, iotlb.translated_addr); =20 @@ -2807,7 +2817,7 @@ static AddressSpace *riscv_iommu_find_as(PCIBus *bus,= void *opaque, int devfn) =20 /* Find first matching IOMMU */ while (s !=3D NULL && as =3D=3D NULL) { - as =3D riscv_iommu_space(s, PCI_BUILD_BDF(pci_bus_num(bus), devfn)= ); + as =3D riscv_iommu_space(s, bus, devfn); s =3D s->iommus.le_next; } =20 --=20 2.53.0 From nobody Sat May 30 17:46:17 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=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1779408672; cv=none; d=zohomail.com; s=zohoarc; b=Snl22O404/Qsgnsmqu3INi5VnC5gueE4UJ7g5kGzwpG3wVIL2iWuvf+KimE9HCSJn34ZGtOnlcZZ9JpsOptmSlxNxu3vLMljUiRhWGGZRElQ17UZVxUPrugzcZAUecJHNjsmLrzouRXpu/Vt2FCDK84O+AonnaHKHkE9ZvyRt4A= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1779408672; 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=UpKQmCzdzg3fotqF1bomQ3jmeLPsPlAsYk7oZ3kgloI=; b=KG9cnS9ASEUuInwDJ2Soq7m5unxZeGUvQx0b6CvT79CyLpOVIaVX1i0Ij/b/A0DWZW3Ad6DGZYPJAEz3IFlxcr4w327Hc4sEmgUMiL8ixSy7bL/L66wqfwDzLrpL7wUHoO+TkbFpCTklxRaRKSdK8tafxlo66G141vcv4I+shdA= 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 1779408672442757.6541246536206; Thu, 21 May 2026 17:11:12 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wQDOl-00031c-3U; Thu, 21 May 2026 20:05:58 -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 1wQDNy-0002PH-90 for qemu-devel@nongnu.org; Thu, 21 May 2026 20:05:09 -0400 Received: from mail-pl1-x634.google.com ([2607:f8b0:4864:20::634]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wQDNq-00040B-QR for qemu-devel@nongnu.org; Thu, 21 May 2026 20:05:00 -0400 Received: by mail-pl1-x634.google.com with SMTP id d9443c01a7336-2ba1e9d3687so43977795ad.3 for ; Thu, 21 May 2026 17:04:57 -0700 (PDT) Received: from toolbx.alistair23.me ([2403:581e:fdf9:0:6209:4521:6813:45b7]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2beb114b54csm3915475ad.42.2026.05.21.17.04.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 May 2026 17:04:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779408297; x=1780013097; 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=UpKQmCzdzg3fotqF1bomQ3jmeLPsPlAsYk7oZ3kgloI=; b=qViZkPcxX1n50i62vMwNlbV40XF5v8yFfFte2kKxyMxXP5D/tJWUarFaATxvZefcZZ RE/U+XpnHGgYsWoX0uppabVrB8MdSzi90NCifgRBSeYpMdDVnkwsab7adiHNBq3iW8iC giGS5th24lELRX+EpGQ/Aua7qwXNjkiEZlM8iZnXK0t3Nf1f+q3R7fcp9pzVxnIt0bK7 Q6wIobHicMi9ez38fkhTujkWHbsg2Nf/KJMZWMjOxI6jifq4Zlw+1HaF7Ji2gG3+KYR6 1puVAN/UA9sAQzWmYDgIq82u5gaB5GgP34tPjdiB+vNIClbw4YkHL7tTGfl5P0z+YnNb +QGg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779408297; x=1780013097; 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=UpKQmCzdzg3fotqF1bomQ3jmeLPsPlAsYk7oZ3kgloI=; b=ZLO3+oxgH31mXCbs3pSyJMqPE2HSI7iasTKzEvTBeaL5lQJ9XKG8XruQ3alRZY/b0o 70JOu5jeMZsVjDNBz8JCtEOlVZg+gUjSSZnnAYDj/cgevNZ9xU5Rq4Oh9iJ3cnndYvgq XNPYAG110vf3Gy3/ric7aoYGenaMQxQsyCtDgaCw3dWluJU1G8zwjI3Blkb6YCl2CMYS 6T2sJOn77FH3QEZCFUkOVteiFCsJHelfd4rycU5n6FzP/AdMTk574AMBR5yEWfKsA7oz sXAp3kIfCD0I8tx+pb2ksb7G4lpmmg2BTzRBM+iGPrzonYy7Lw0GdWJiL5fWmX6JcSqK 2V2g== X-Gm-Message-State: AOJu0Ywl0HY42e5iacSmQSBwuAdefcnc+5QTwf9+Bl5zO/GRAkkT1ydA U17fjMoiV/Ze/xrhsWYjcA1zZIwFy5wSOWWanBOjTaoz+9CWeXmnhv23wePtYUjS X-Gm-Gg: Acq92OHHNCfR0x0qZ4WHutM6TDgVy/aSZ2LH9T/YLO987N/T4qJL1+n7RT2HKbcFYUI eIYFbiArciYFej3bPkDHVQbyiAO4tkB/5GRERkZXSjw7QwoVglKS55ITZpiC37JyGvBgwF70pLo Zko5G40N+EKCI2U0SRWWvJC/q7hz1JU7IBVHIpjL53YhDMm/Y0gz4LXgk1HUnt/2RqpIRp/5mA9 MaT/P8gPJ2Z6E177gflDyqEEu5nsz+58D+hGDqvj5wdmc/9trQBTbsKDWLtl4UNCpYY3b9vfCXM d6cP/B+m9KXWVWcGfWhAOE5qtYrlAsedumroC+cTy0cqJBWFU8orwNwxkvyGLpq7oGrDEpr79A2 yKo+N/Ty8b4mQ9BRf4AcT34SmgHYgvNfoV2w/4UmqhukeYEURyChzv1SyAvoMi/umDsmsoADSGH TYGhLbeTlljeMM7IEoH7H0dbpe/O4e5WhRllkRd7ef4A== X-Received: by 2002:a17:903:3bcf:b0:2ba:df8c:11d3 with SMTP id d9443c01a7336-2beb06c0336mr10893845ad.32.1779408296946; Thu, 21 May 2026 17:04:56 -0700 (PDT) From: alistair23@gmail.com X-Google-Original-From: alistair.francis@wdc.com To: qemu-devel@nongnu.org Cc: alistair23@gmail.com, Guenter Roeck , Conor Dooley , Alistair Francis Subject: [PULL 25/48] hw: misc: Implement Microchip mpfs ioscb PLLs and sysreg clock dividers Date: Fri, 22 May 2026 10:03:01 +1000 Message-ID: <20260522000324.23255-26-alistair.francis@wdc.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260522000324.23255-1-alistair.francis@wdc.com> References: <20260522000324.23255-1-alistair.francis@wdc.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::634; envelope-from=alistair23@gmail.com; helo=mail-pl1-x634.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.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, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, 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 @gmail.com) X-ZM-MESSAGEID: 1779408673280158500 Content-Type: text/plain; charset="utf-8" From: Guenter Roeck Minimal clock register configuration required to boot Linux without backtraces in the clock code. Signed-off-by: Guenter Roeck Signed-off-by: Conor Dooley Acked-by: Alistair Francis Message-ID: <20260514-reference-overhand-749149e36a88@spud> [ Changes by AF: - Fixup checkpatch errors ] Signed-off-by: Alistair Francis --- include/hw/misc/mchp_pfsoc_ioscb.h | 2 ++ hw/misc/mchp_pfsoc_ioscb.c | 47 +++++++++++++++++++++++++++++- hw/misc/mchp_pfsoc_sysreg.c | 13 +++++++++ 3 files changed, 61 insertions(+), 1 deletion(-) diff --git a/include/hw/misc/mchp_pfsoc_ioscb.h b/include/hw/misc/mchp_pfso= c_ioscb.h index eaaa2ac5d9..9687ea25b1 100644 --- a/include/hw/misc/mchp_pfsoc_ioscb.h +++ b/include/hw/misc/mchp_pfsoc_ioscb.h @@ -35,6 +35,8 @@ typedef struct MchpPfSoCIoscbState { MemoryRegion mailbox; MemoryRegion cfg; MemoryRegion ccc; + MemoryRegion pll_nw_0; + MemoryRegion pll_nw_1; MemoryRegion pll_mss; MemoryRegion cfm_mss; MemoryRegion pll_ddr; diff --git a/hw/misc/mchp_pfsoc_ioscb.c b/hw/misc/mchp_pfsoc_ioscb.c index 05538d012a..09b702e520 100644 --- a/hw/misc/mchp_pfsoc_ioscb.c +++ b/hw/misc/mchp_pfsoc_ioscb.c @@ -53,6 +53,8 @@ #define IOSCB_MAILBOX_BASE 0x07020800 #define IOSCB_CFG_BASE 0x07080000 #define IOSCB_CCC_BASE 0x08000000 +#define IOSCB_PLL_NW0_BASE 0x08100000 +#define IOSCB_PLL_NW1_BASE 0x08200000 #define IOSCB_PLL_MSS_BASE 0x0E001000 #define IOSCB_CFM_MSS_BASE 0x0E002000 #define IOSCB_PLL_DDR_BASE 0x0E010000 @@ -92,6 +94,16 @@ static const MemoryRegionOps mchp_pfsoc_dummy_ops =3D { /* All PLL modules in IOSCB have the same register layout */ =20 #define PLL_CTRL 0x04 +#define PLL_REF_FB 0x08 +#define PLL_DIV_0_1 0x10 +#define PLL_DIV_2_3 0x14 +#define PLL_CTRL2 0x18 +#define PLL_CAL 0x1c +#define PLL_PHADJ 0x20 +#define SSCG_REG_0 0x24 +#define SSCG_REG_1 0x28 +#define SSCG_REG_2 0x2c +#define SSCG_REG_3 0x30 =20 static uint64_t mchp_pfsoc_pll_read(void *opaque, hwaddr offset, unsigned size) @@ -103,6 +115,22 @@ static uint64_t mchp_pfsoc_pll_read(void *opaque, hwad= dr offset, /* PLL is locked */ val =3D BIT(25); break; + case PLL_DIV_0_1: + case PLL_DIV_2_3: + val =3D 0x01000100; /* return valid post divider values */ + break; + case PLL_CTRL2: + val =3D 0x00001110; + break; + case PLL_REF_FB: + val =3D 0x00000100; /* RFDIV :=3D 1 */ + break; + case SSCG_REG_2: + val =3D 0x00000001; /* INTIN :=3D 1 */ + break; + case PLL_PHADJ: + val =3D 0x00000401; + break; default: qemu_log_mask(LOG_UNIMP, "%s: unimplemented device read " "(size %d, offset 0x%" HWADDR_PRIx ")\n", @@ -113,9 +141,18 @@ static uint64_t mchp_pfsoc_pll_read(void *opaque, hwad= dr offset, return val; } =20 +static void mchp_pfsoc_pll_write(void *opaque, hwaddr offset, + uint64_t value, unsigned size) +{ + qemu_log_mask(LOG_UNIMP, "%s: unimplemented device write " + "(size %d, value 0x%" PRIx64 + ", offset 0x%" HWADDR_PRIx ")\n", + __func__, size, value, offset); +} + static const MemoryRegionOps mchp_pfsoc_pll_ops =3D { .read =3D mchp_pfsoc_pll_read, - .write =3D mchp_pfsoc_dummy_write, + .write =3D mchp_pfsoc_pll_write, .endianness =3D DEVICE_LITTLE_ENDIAN, }; =20 @@ -240,6 +277,14 @@ static void mchp_pfsoc_ioscb_realize(DeviceState *dev,= Error **errp) "mchp.pfsoc.ioscb.ccc", IOSCB_CCC_REG_SIZE); memory_region_add_subregion(&s->container, IOSCB_CCC_BASE, &s->ccc); =20 + memory_region_init_io(&s->pll_nw_0, OBJECT(s), &mchp_pfsoc_pll_ops, s, + "mchp.pfsoc.ioscb.pll_nw_0", IOSCB_SUBMOD_REG_SI= ZE); + memory_region_add_subregion(&s->container, IOSCB_PLL_NW0_BASE, &s->pll= _nw_0); + + memory_region_init_io(&s->pll_nw_1, OBJECT(s), &mchp_pfsoc_pll_ops, s, + "mchp.pfsoc.ioscb.pll_nw_1", IOSCB_SUBMOD_REG_SI= ZE); + memory_region_add_subregion(&s->container, IOSCB_PLL_NW1_BASE, &s->pll= _nw_1); + memory_region_init_io(&s->pll_mss, OBJECT(s), &mchp_pfsoc_pll_ops, s, "mchp.pfsoc.ioscb.pll_mss", IOSCB_SUBMOD_REG_SIZ= E); memory_region_add_subregion(&s->container, IOSCB_PLL_MSS_BASE, &s->pll= _mss); diff --git a/hw/misc/mchp_pfsoc_sysreg.c b/hw/misc/mchp_pfsoc_sysreg.c index f190ecc78e..1d9154280a 100644 --- a/hw/misc/mchp_pfsoc_sysreg.c +++ b/hw/misc/mchp_pfsoc_sysreg.c @@ -29,6 +29,8 @@ #include "hw/misc/mchp_pfsoc_sysreg.h" #include "system/runstate.h" =20 +#define CLOCK_CONFIG_CR 0x8 +#define RTC_CLOCK_CR 0xc #define MSS_RESET_CR 0x18 #define ENVM_CR 0xb8 #define MESSAGE_INT 0x118c @@ -39,6 +41,17 @@ static uint64_t mchp_pfsoc_sysreg_read(void *opaque, hwa= ddr offset, uint32_t val =3D 0; =20 switch (offset) { + case CLOCK_CONFIG_CR: + /* Icicle kit reference design cpu/axi/ahb divider setting */ + val =3D 0x24; + break; + case RTC_CLOCK_CR: + /* + * Bit 16 enables the RTC clock, 0x7d is the required divider + * setting for a 125 MHz reference. + */ + val =3D BIT(16) | 0x7d; + break; case ENVM_CR: /* Indicate the eNVM is running at the configured divider rate */ val =3D BIT(6); --=20 2.53.0 From nobody Sat May 30 17:46:17 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=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1779408576; cv=none; d=zohomail.com; s=zohoarc; b=LFrKR/+QpdIU/W36vXdHWk6r8sDldUTrPVlbp7RSMpIIfIGnm+9odyw0o2gi1E1AvvWVvwC6Puf0TPWA8xF3xdP5qzH+k8cHaI8JJvtN7ME2J16DqxpHFRXni19EsK/OszH9uLUwfJhBs8TStuGCQsnXtKAnh8OY4TM4GXQOFnw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1779408576; 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=sLP3w59uPI1h+5Tg9DYeBVDTctFHrTCt4UXdYP49vr4=; b=Q49zRz2Axv8rsAa1TtSr+iONOQh9r/l7Y/bPGlkrwVYvXPmiOcYtdKjxIMr95koD9bJSv9Q9mOQPYy6vkFYBGNnSUIt+ssA9mHU8yhJxC6ioBgqXDrTgv6hKv6H0fbzC4wPbcvev8h/6wLVdXejSMuQsSXlKsQQ5FX5jdNkiqEA= 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 1779408576036470.28369465019455; Thu, 21 May 2026 17:09:36 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wQDP0-0003Ju-FS; Thu, 21 May 2026 20:06:11 -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 1wQDO3-0002TC-BC for qemu-devel@nongnu.org; Thu, 21 May 2026 20:05:11 -0400 Received: from mail-pl1-x635.google.com ([2607:f8b0:4864:20::635]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wQDNu-00046l-Lh for qemu-devel@nongnu.org; Thu, 21 May 2026 20:05:08 -0400 Received: by mail-pl1-x635.google.com with SMTP id d9443c01a7336-2b788a98557so42120205ad.2 for ; Thu, 21 May 2026 17:05:00 -0700 (PDT) Received: from toolbx.alistair23.me ([2403:581e:fdf9:0:6209:4521:6813:45b7]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2beb114b54csm3915475ad.42.2026.05.21.17.04.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 May 2026 17:04:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779408300; x=1780013100; 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=sLP3w59uPI1h+5Tg9DYeBVDTctFHrTCt4UXdYP49vr4=; b=sat+WW6gQ2hmxxKcSFOYTehqmJ2XsosZWDSMrXgCqBxdk2m7FnRBTm+Wb39VJevl3Y AFF+cRxXt1lMfwVutVnH/XO9L/OJ1T45e1WJdVC91oZEmOoWRrez6gttlfAGnH2KyeE0 0ZjhgTTnyWGxGcYgXb980NKoHMEcvVJeQRLLgRTUGvrMFR+xXOHqEa7H4dJL2P7Az91l TLD5ruZo2ZAWs0CF0MhtQ8ypXL6OGfkRsCzLu08HM0M7kVOOALEU6X0RV5Hsz+ORVt75 gtAjkJIsICINgPCAFruSQlWbrDVwlWVCXwIa2V2D4YFLHXr4tgNqtdamtFNqMd/Cn1O4 vO4w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779408300; x=1780013100; 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=sLP3w59uPI1h+5Tg9DYeBVDTctFHrTCt4UXdYP49vr4=; b=dmw/9R7L09B9AvNjP55xtGMwJK09OuZW6LrQHIWMIeve6uM04QMNql4RzJkoyFJgR8 PVf4uD+0aIx/YgV5/VqUR2FOHzmM1Vy05g5ydHBm04AIX09kXtk5wMorsO2KtnNlvZv/ 75Yc+6O52oPTSO6m6cdax7arytTnPiSisYeVY57zt7tmuwgQ5oVpU+5GuDyEqG6UdkDN /mEDcC5aSus3ejtPoz1KahAq/DM3rdwCGYNpf4k0zyljpjZmABJhtHeL7C5VG78nKGoK Py8UPWKl0vdkm0hVFpsZ1yHhALxTzSNiD9JnU6vvUmu6wTlSwajDQZ3akBLLZkBdqFV5 Asnw== X-Gm-Message-State: AOJu0Yx7bbxBcrx1OIYPoaT6EUDJOYe4kwcD2nOSSSa8WdXKRGPk6Zb/ nvT8anAq4BqP+lmxZLbxLgugJBnYcDe/bXoW1p2doNnHSJUeuyIcjK/CnCrm/0ko X-Gm-Gg: Acq92OGFrRvYsRhC+sTS8pMTYHk0FtqHsdh/BP4WMNAPYq8xW8/SwMqLqrZYO1b7BFL r8g813K6Crsg/iFzkxNXiS6IuI68u/rJnLvnIm9MtPLFihsINygRP+D9mD3hWO6z7QyKBoOIwVw JYvzDLQZw3S375MM4ZTbDMJUwvhg2CE9O9GfZxE7n8l4eOb1bJRkGJAUqzcOniD6rqTCF7tykL/ Xk5tEqwBvcQQ4U8PL32YBH7MT4MowXaQTFB/FoGiyox7h5RYaOdQe/FaeBQe1QXRZhYIWfKoTjS kXeQaKs012Ud6wGXGKjfoIuTZEa7P/iHtxt/ITH12h3kLxA6R+xvfdNs2yTZ4/oBupn8n6LQcpj fPz8TjjHuByVh0RQGJCw5hUqWTcwF7Lso5wjlOGEyVus5KzipNaeQk5uCvKUAiC49v8Q6JRIABm LW+qHvBNRU4f/yq/aa6Aywu0XX+NpbHpYvwaGfQZ7rxjtP7YHe/eKa X-Received: by 2002:a17:902:da8b:b0:2ba:6bd7:8efc with SMTP id d9443c01a7336-2beb06d173bmr10664265ad.40.1779408299902; Thu, 21 May 2026 17:04:59 -0700 (PDT) From: alistair23@gmail.com X-Google-Original-From: alistair.francis@wdc.com To: qemu-devel@nongnu.org Cc: alistair23@gmail.com, Daniel Henrique Barboza , Alistair Francis Subject: [PULL 26/48] target/riscv/cpu.c: add xlrbr isa_edata_arr[] entry Date: Fri, 22 May 2026 10:03:02 +1000 Message-ID: <20260522000324.23255-27-alistair.francis@wdc.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260522000324.23255-1-alistair.francis@wdc.com> References: <20260522000324.23255-1-alistair.francis@wdc.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::635; envelope-from=alistair23@gmail.com; helo=mail-pl1-x635.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.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, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, 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 @gmail.com) X-ZM-MESSAGEID: 1779408576739154100 Content-Type: text/plain; charset="utf-8" From: Daniel Henrique Barboza The entry was missing from isa_edata_arr[]. Fixes: 32bbab666 ("target/riscv: add draft RISC-V Zbr ext as xbr0p93") Signed-off-by: Daniel Henrique Barboza Reviewed-by: Alistair Francis Message-ID: <20260512032926.1978818-2-daniel.barboza@oss.qualcomm.com> Signed-off-by: Alistair Francis --- target/riscv/cpu.c | 1 + 1 file changed, 1 insertion(+) diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c index 3f4fe71c80..f8a3b3ef4a 100644 --- a/target/riscv/cpu.c +++ b/target/riscv/cpu.c @@ -255,6 +255,7 @@ const RISCVIsaExtData isa_edata_arr[] =3D { ISA_EXT_DATA_ENTRY(svrsw60t59b, PRIV_VERSION_1_13_0, ext_svrsw60t59b), ISA_EXT_DATA_ENTRY(svukte, PRIV_VERSION_1_13_0, ext_svukte), ISA_EXT_DATA_ENTRY(svvptc, PRIV_VERSION_1_13_0, ext_svvptc), + ISA_EXT_DATA_ENTRY(xlrbr, PRIV_VERSION_1_13_0, ext_xlrbr), ISA_EXT_DATA_ENTRY(xmipscbop, PRIV_VERSION_1_12_0, ext_xmipscbop), ISA_EXT_DATA_ENTRY(xmipscmov, PRIV_VERSION_1_12_0, ext_xmipscmov), ISA_EXT_DATA_ENTRY(xmipslsp, PRIV_VERSION_1_12_0, ext_xmipslsp), --=20 2.53.0 From nobody Sat May 30 17:46:17 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=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1779408402; cv=none; d=zohomail.com; s=zohoarc; b=LG8B7yAvTpvKoVPCC2ZRQKSv8ATD1y5RCu6yJzoOW0YByoN61uUuNY/z+Yt/msBTdV23EFeoq3KdEzi65f5nahybwTHyvIz9ANHps3eOHloHxEHps+tzxL5NRH/PtKuDS3D8JWxRNvgAPo7MRIYDWOJx4lrvLA/yuYv26fxQYHs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1779408402; 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=kMMqLaKrCoP1vDhVq3vdZXjM2VTYqU1Msqxk/7vrSmo=; b=K9OGOdeh+HPNKqpe43oipJZKGB8O+NJ4L4m23G4zMxxaW2W5UHBuFjDZQqbPI2XODM3oJ6IXVNJDE9gC0tENdBnOG2malZttdJj+6eJDR8tjL3XseGDsNXvAw73XbgPnDxg9vGwo82d9OSSwReaCqbr56lrVa2zpua0rEX8yPIo= 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 1779408402778579.9836664083613; Thu, 21 May 2026 17:06:42 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wQDPS-0003vk-Vb; Thu, 21 May 2026 20:06:39 -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 1wQDO5-0002YN-12 for qemu-devel@nongnu.org; Thu, 21 May 2026 20:05:13 -0400 Received: from mail-pl1-x633.google.com ([2607:f8b0:4864:20::633]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wQDO1-0004B4-FL for qemu-devel@nongnu.org; Thu, 21 May 2026 20:05:12 -0400 Received: by mail-pl1-x633.google.com with SMTP id d9443c01a7336-2b458ca2296so48485345ad.0 for ; Thu, 21 May 2026 17:05:04 -0700 (PDT) Received: from toolbx.alistair23.me ([2403:581e:fdf9:0:6209:4521:6813:45b7]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2beb114b54csm3915475ad.42.2026.05.21.17.05.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 May 2026 17:05:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779408303; x=1780013103; 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=kMMqLaKrCoP1vDhVq3vdZXjM2VTYqU1Msqxk/7vrSmo=; b=d3XPh9psDEPSioIcAuNkB2mMXTHY4mr46mFORPgi9JPX1/H5w37P4dg+A8H13zxPRg hXGBVxH4nxBbzybwHfK+lboIIqx1XiPnaYcuMQSJ5RUVxW4N/tqk0BveUUgnhYQybx9o d13pYzV2eptoB+RnyAQ5khETkO/FUbY406WcOo5XgxXZ4fkUaQb6L5rXz1XhTsxqluE4 HtEtXwpsi/7+B5KA3npPq08lCWNPiMTOQNLDG230s1tqwLefP822Lx9j8X6Pi/KEK8o6 9qhRs4VogEMNQnvSXWzTp15JIZvKFyijIPqFb8/yylz5braSsqzPoSV5WoooskeMIIbn T1Rw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779408303; x=1780013103; 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=kMMqLaKrCoP1vDhVq3vdZXjM2VTYqU1Msqxk/7vrSmo=; b=XLMyPsmDiNb47v8W8BOQ3bhTd8iA6wMVVrpVUFyihAmXd6+nPeWutK8R9GE4lUaEvS qam0EZlDFCHYp7pZAgvq+uGlPJMBt0d3sSP6zX8F0haM3NLe6jVK7gEXKRfvLI8HXZvK 5fQdH510wyYxBmnpUDHLGlWfcVG7JvMbVCJ8uIhyulo+jRsHtq5bWLEWvoS2FSJjPBxp 5J+SquLa+fXBtkdDv5wh84jQmtHm5uQC4po36JzMAy+r2rPl99XXYjIqztdbBW7zbsTy ugZr2lFfHRAisafAvAdgInv/wZvmDeOTs46Rvo4gjh37Fu18ZesLssyVGuici4fWR4WC avFA== X-Gm-Message-State: AOJu0YzMaJaYp7tIhdx6eYE6CRH4kjbfHrPoMeQQ9MkKYmeCyJ62FE5i N8p2+45jVPUY26I17Nl5OKCi/cOHetBZ9qb/dMTNs84gWe5rnoELw/R0pebfve6D X-Gm-Gg: Acq92OG9m2Ta+f7IBKUSEfkpJPVX2zDRgrNaVvIk5kUnGlZbjCyiUNOzJQ1kcgdr8Qk fxt3OLefxbvpDkyN6g9HlArvLbMSZzjyuVgfrWfOWnfXp3GRjxJkEYh4RhJ9jd9+i6/5a0dRFFb RQjd2O6JbsTbcz7SfLYceNGlba1h12ahqzBbLnCj6NwGr9zhCobzotIkMhmgI5pUPTSoAHvjk4i lA2AVi+QJm2S+LxcSmR3TzeFWH8udqnqkEY8E6TS0OeQfog/5JrPxpSKvj9ix3s93z9cBHYSmgW TyybmpENh5Googy+sxiVhKU2E+HrLLxLmYXwqwXR50aOZtEx98B8zTREhBmjlCLkoSkfuitMBei NbRDPLhZ5TQW5ntPVx4QKGjhcgmPGysGHUeBoYf3Eqv+PkVerrMR3OKdatFv/i2lbcgcc6j/F1Z xphP6TQephbuehvNs/b6So0o4Osj8nJBo5v0sPLlEtAQ== X-Received: by 2002:a17:902:d50c:b0:2bd:105c:91cb with SMTP id d9443c01a7336-2beb059e13fmr11581135ad.15.1779408303288; Thu, 21 May 2026 17:05:03 -0700 (PDT) From: alistair23@gmail.com X-Google-Original-From: alistair.francis@wdc.com To: qemu-devel@nongnu.org Cc: alistair23@gmail.com, Daniel Henrique Barboza , Alistair Francis Subject: [PULL 27/48] target/riscv/cpu.c: fix smctr/ssctr isa_edata_arr[] order Date: Fri, 22 May 2026 10:03:03 +1000 Message-ID: <20260522000324.23255-28-alistair.francis@wdc.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260522000324.23255-1-alistair.francis@wdc.com> References: <20260522000324.23255-1-alistair.francis@wdc.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::633; envelope-from=alistair23@gmail.com; helo=mail-pl1-x633.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.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, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, 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 @gmail.com) X-ZM-MESSAGEID: 1779408404139158500 Content-Type: text/plain; charset="utf-8" From: Daniel Henrique Barboza Noticed when realizing that 'svadu' was too far apart from 'svade'. Signed-off-by: Daniel Henrique Barboza Reviewed-by: Alistair Francis Message-ID: <20260512032926.1978818-3-daniel.barboza@oss.qualcomm.com> Signed-off-by: Alistair Francis --- target/riscv/cpu.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c index f8a3b3ef4a..0a56dc61bc 100644 --- a/target/riscv/cpu.c +++ b/target/riscv/cpu.c @@ -222,6 +222,7 @@ const RISCVIsaExtData isa_edata_arr[] =3D { ISA_EXT_DATA_ENTRY(smcdeleg, PRIV_VERSION_1_13_0, ext_smcdeleg), ISA_EXT_DATA_ENTRY(smcntrpmf, PRIV_VERSION_1_12_0, ext_smcntrpmf), ISA_EXT_DATA_ENTRY(smcsrind, PRIV_VERSION_1_13_0, ext_smcsrind), + ISA_EXT_DATA_ENTRY(smctr, PRIV_VERSION_1_12_0, ext_smctr), ISA_EXT_DATA_ENTRY(smdbltrp, PRIV_VERSION_1_13_0, ext_smdbltrp), ISA_EXT_DATA_ENTRY(smepmp, PRIV_VERSION_1_12_0, ext_smepmp), ISA_EXT_DATA_ENTRY(smpmpmt, PRIV_VERSION_1_12_0, ext_smpmpmt), @@ -235,6 +236,7 @@ const RISCVIsaExtData isa_edata_arr[] =3D { ISA_EXT_DATA_ENTRY(sscofpmf, PRIV_VERSION_1_12_0, ext_sscofpmf), ISA_EXT_DATA_ENTRY(sscounterenw, PRIV_VERSION_1_12_0, has_priv_1_12), ISA_EXT_DATA_ENTRY(sscsrind, PRIV_VERSION_1_12_0, ext_sscsrind), + ISA_EXT_DATA_ENTRY(ssctr, PRIV_VERSION_1_12_0, ext_ssctr), ISA_EXT_DATA_ENTRY(ssdbltrp, PRIV_VERSION_1_13_0, ext_ssdbltrp), ISA_EXT_DATA_ENTRY(ssnpm, PRIV_VERSION_1_13_0, ext_ssnpm), ISA_EXT_DATA_ENTRY(sspm, PRIV_VERSION_1_13_0, ext_sspm), @@ -246,8 +248,6 @@ const RISCVIsaExtData isa_edata_arr[] =3D { ISA_EXT_DATA_ENTRY(ssu64xl, PRIV_VERSION_1_12_0, has_priv_1_12), ISA_EXT_DATA_ENTRY(supm, PRIV_VERSION_1_13_0, ext_supm), ISA_EXT_DATA_ENTRY(svade, PRIV_VERSION_1_11_0, ext_svade), - ISA_EXT_DATA_ENTRY(smctr, PRIV_VERSION_1_12_0, ext_smctr), - ISA_EXT_DATA_ENTRY(ssctr, PRIV_VERSION_1_12_0, ext_ssctr), ISA_EXT_DATA_ENTRY(svadu, PRIV_VERSION_1_12_0, ext_svadu), ISA_EXT_DATA_ENTRY(svinval, PRIV_VERSION_1_12_0, ext_svinval), ISA_EXT_DATA_ENTRY(svnapot, PRIV_VERSION_1_12_0, ext_svnapot), --=20 2.53.0 From nobody Sat May 30 17:46:17 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=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1779408623; cv=none; d=zohomail.com; s=zohoarc; b=YkTQI/FB1lWb+N/IgFMMVMTGnrfjn6cCS0/5o4VVpC9orAtT1+ofKTKPiNXuqG1ZbhK5gxl3B7QmZB15WC+h8nFwk4wg/3/VK5rz6wmT70s3t42lhTsLvbsuxkiT0YRee90ecijoUmj6Oj53yPHAblA77ExIo6vSx+H/i/LyfA8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1779408623; 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=Uc2gxz3IuB97uJGUW2Y1feZ1aLzZkDjNjQtPqhO6gNo=; b=CwFjCBNxJfwVWsj68fwTjIlZ7vMXwWOree/Mu84ZFFcSgQW0j8hAHehmaluXx2pTWXpL3n3DI5kCGkD2cMMmCDiWLQu+lVjlexzcywQCduRX57jqaqUyneT1JG3lPbpTfVpVWYb8+zFWkrZ1YHird4w56ihcfVmNFcIekX0gjxM= 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 1779408623268727.4747590734338; Thu, 21 May 2026 17:10:23 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wQDQA-0005EA-Kq; Thu, 21 May 2026 20:07:24 -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 1wQDO6-0002af-Uz for qemu-devel@nongnu.org; Thu, 21 May 2026 20:05:16 -0400 Received: from mail-pl1-x62a.google.com ([2607:f8b0:4864:20::62a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wQDO3-0004JU-0F for qemu-devel@nongnu.org; Thu, 21 May 2026 20:05:14 -0400 Received: by mail-pl1-x62a.google.com with SMTP id d9443c01a7336-2bccb978bd9so46069605ad.0 for ; Thu, 21 May 2026 17:05:07 -0700 (PDT) Received: from toolbx.alistair23.me ([2403:581e:fdf9:0:6209:4521:6813:45b7]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2beb114b54csm3915475ad.42.2026.05.21.17.05.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 May 2026 17:05:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779408306; x=1780013106; 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=Uc2gxz3IuB97uJGUW2Y1feZ1aLzZkDjNjQtPqhO6gNo=; b=rRYMZG+HYh9ALaOSE9vb6BSFKKa7YQJu7ugPs7QKuvQjhOKRSWc2l7UVfg7Oj4rn9D 5zutDOyP7ASt0ndt46ROHPnt11DNVfgZ/ubVtQ89nVc6ndtKVcnqMOi8XKb8xswcvBkj Y+ttBdqk3IkOyjTRN/6hJvO4HSqrxYrq1bpfewsKR8r+zHzWjNxAS5rk8mjbU4nTqwpR SZ3R9Ijqx6iNDi25Ldg2FjBeH+pHqILsRI/1lDOSlyangFYRrsz/A+e6d2Tp3jqsMNVf ldH2iafjXarE47ctYL9SwXhoAlGUFChfslPnh/drnNI5tAKh8pPFa5ZDNEW4jAOgsYgZ QgWA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779408306; x=1780013106; 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=Uc2gxz3IuB97uJGUW2Y1feZ1aLzZkDjNjQtPqhO6gNo=; b=bP2xiljGz7I0xGoBI42vWlh84Gn3sl4dZ256deKXMnVKCrzn/QfmdqxTCuzCfbdDJQ HNpFhG2bVA9/7W+xNuYk3dyJ/9yl5hQQrBlK6BBtmUbZW3lP7m69lym7P/fpuxK7TEA+ 8ri14rqlWq04IK65WS02EO6W79QTm2cTNnOyoNiLrTAKbC5gX+heCgkNgLX8COKDztQS aQpF3cF17MM/DqHPQihplHISQuoonkNhauDS90bIobqfyWRseOWIZMYUpFG3s3ehH5VG BS1fr8t5/1zYCtFV1X2n+hB+mrwlb3MLYnMJ+COrN6xer2lv9FLftgI4GPsMQxhcXsFC iolg== X-Gm-Message-State: AOJu0YzgU++11PX3HhrazT7eackdoOBjU9E9peaCklD0A9zGPlhd8e78 kXV9yQxasq6Zmb3EQfsS/fgH9G+qc/EvgePdvR+Lma+apJk3fb1/H/AyZnf9XHK/ X-Gm-Gg: Acq92OGaB1hR/ohviNXcLbnG3znFcBOhpDJ9YZE0kZ+9/+OOrbqnwtVC75lYuhnrj7r O6DveItde1Fk5Ey0PMV6NSQpXMyxc3N6WnhIIGF1fn7pRq9vjSOfvM1fykT8NZIYyeR1bYHPxyH GUZ5PwLlwXW/+FlCCTaWDOW7yUNXRl1lqxo9l8sdBYHsCRy45s1stE58oP9lxkdooGB+Xi+HYd0 XeQBZPCxVViXLSrqbzV9yHljd4dLHHnmaDkxfTfJHqzm3CN09EhjEoT7qc422/v5yamP8OiNQe6 GDJgGRwScoSJ2PGRamHAeGUQRCoGbD16YQAi+zN+CzhZS9RsM2xeCYM9U+XQXDwKQ3seN5YE2CM Gd7UA11qGnZE+JAGkZnemoIF5ZvOJ7dYhhWsvUOkCVL+6ocXwLBMiFJ+wFZ8rQgqh4T4h+WSjLL 7rTPRE1ABaJq4xKLXWNOwh7ysobnmLM5eOS8seylSG6w== X-Received: by 2002:a17:902:ccca:b0:2ba:4086:ef93 with SMTP id d9443c01a7336-2bea2221e87mr45514665ad.10.1779408306301; Thu, 21 May 2026 17:05:06 -0700 (PDT) From: alistair23@gmail.com X-Google-Original-From: alistair.francis@wdc.com To: qemu-devel@nongnu.org Cc: alistair23@gmail.com, Daniel Henrique Barboza , Alistair Francis Subject: [PULL 28/48] target/riscv: make riscv-qmp-cmds use isa_data_arr[] Date: Fri, 22 May 2026 10:03:04 +1000 Message-ID: <20260522000324.23255-29-alistair.francis@wdc.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260522000324.23255-1-alistair.francis@wdc.com> References: <20260522000324.23255-1-alistair.francis@wdc.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::62a; envelope-from=alistair23@gmail.com; helo=mail-pl1-x62a.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.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, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, 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 @gmail.com) X-ZM-MESSAGEID: 1779408624961158500 Content-Type: text/plain; charset="utf-8" From: Daniel Henrique Barboza We want to reduce the usage of the riscv_cpu_* arrays in target/riscv/cpu.c, centering everything in isa_edata_arr[] instead, to reduce data duplication and make our lives a bit easier when adding new extensions. To do that we'll have to make isa_edata_arr[] do what the other arrays are currently doing, not breaking existing semantics in the process. The riscv_cpu_* arrays have a few exclusive uses: - set default extensions for rv32 and rv64; - create user CPU properties; - misc uses around tcg-cpu.c and kvm-cpu.c. We'll slowly make isa_edata_arr[] supersede these arrays. Start by adding a new 'prop_name' field in RISCVIsaExtData. This field is needed because not all extensions have properties and not all properties match the riscv,isa string name. Create two additional macros and reclassify existing isa_edata_arr[] entries as follows: - ISA_EXT_DATA_ENTRY creates an entry where prop_name =3D=3D riscv,isa. Most of our regular extensions fall into this category; - ISA_EXPERIMENTAL_EXT_DATA_ENTRY: same as above but add a "x-" to the prop name, i.e. prop_name =3D=3D "x-" + riscv,isa; - ISA_INTERNAL_EXT_DATA_ENTRY: used to declared internal extensions. By 'internal' we mean users/management can't set them on or off. With these new macros we can start our simplification by changing riscv-qmp-cmds to use isa_edata_arr[]. We'll just scroll through it once and gather what we need. Signed-off-by: Daniel Henrique Barboza Acked-by: Alistair Francis Message-ID: <20260512032926.1978818-4-daniel.barboza@oss.qualcomm.com> Signed-off-by: Alistair Francis --- target/riscv/cpu.h | 1 + target/riscv/cpu.c | 60 +++++++++++++++++++++++------------ target/riscv/riscv-qmp-cmds.c | 30 ++++-------------- 3 files changed, 47 insertions(+), 44 deletions(-) diff --git a/target/riscv/cpu.h b/target/riscv/cpu.h index 45f895c1fd..f93d80ef22 100644 --- a/target/riscv/cpu.h +++ b/target/riscv/cpu.h @@ -996,6 +996,7 @@ extern const RISCVCPUMultiExtConfig riscv_cpu_named_fea= tures[]; =20 typedef struct isa_ext_data { const char *name; + const char *prop_name; int min_version; int ext_enable_offset; } RISCVIsaExtData; diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c index 0a56dc61bc..0f8ddeb42e 100644 --- a/target/riscv/cpu.c +++ b/target/riscv/cpu.c @@ -97,8 +97,24 @@ static void riscv_cpu_cfg_merge(RISCVCPUConfig *dest, co= nst RISCVCPUConfig *src) #include "cpu_cfg_fields.h.inc" } =20 +/* Use this for regular user facing extensions */ #define ISA_EXT_DATA_ENTRY(_name, _min_ver, _prop) \ - {#_name, _min_ver, CPU_CFG_OFFSET(_prop)} + {#_name, #_name, _min_ver, CPU_CFG_OFFSET(_prop)} + +/* + * Same as above but for experimental extensions. We'll add a + * "x-" right after "_name" when creating the user property. + */ +#define ISA_EXPERIMENTAL_EXT_DATA_ENTRY(_name, _min_ver, _prop) \ + {#_name, "x-" #_name, _min_ver, CPU_CFG_OFFSET(_prop)} + +/* + * Internal extensions are extensions we will declare in the + * riscv,isa DT but they don't have an user property, i.e. + * users/management can't enable/disable them. + */ +#define ISA_INTERNAL_EXT_DATA_ENTRY(_name, _min_ver, _prop) \ + {#_name, NULL, _min_ver, CPU_CFG_OFFSET(_prop)} =20 /* * Here are the ordering rules of extension naming defined by RISC-V @@ -121,13 +137,13 @@ static void riscv_cpu_cfg_merge(RISCVCPUConfig *dest,= const RISCVCPUConfig *src) * instead. */ const RISCVIsaExtData isa_edata_arr[] =3D { - ISA_EXT_DATA_ENTRY(zic64b, PRIV_VERSION_1_12_0, ext_zic64b), + ISA_INTERNAL_EXT_DATA_ENTRY(zic64b, PRIV_VERSION_1_12_0, ext_zic64b), ISA_EXT_DATA_ENTRY(zicbom, PRIV_VERSION_1_12_0, ext_zicbom), ISA_EXT_DATA_ENTRY(zicbop, PRIV_VERSION_1_12_0, ext_zicbop), ISA_EXT_DATA_ENTRY(zicboz, PRIV_VERSION_1_12_0, ext_zicboz), - ISA_EXT_DATA_ENTRY(ziccamoa, PRIV_VERSION_1_11_0, has_priv_1_11), - ISA_EXT_DATA_ENTRY(ziccif, PRIV_VERSION_1_11_0, has_priv_1_11), - ISA_EXT_DATA_ENTRY(zicclsm, PRIV_VERSION_1_11_0, has_priv_1_11), + ISA_INTERNAL_EXT_DATA_ENTRY(ziccamoa, PRIV_VERSION_1_11_0, has_priv_1_= 11), + ISA_INTERNAL_EXT_DATA_ENTRY(ziccif, PRIV_VERSION_1_11_0, has_priv_1_11= ), + ISA_INTERNAL_EXT_DATA_ENTRY(zicclsm, PRIV_VERSION_1_11_0, has_priv_1_1= 1), ISA_EXT_DATA_ENTRY(ziccrse, PRIV_VERSION_1_11_0, ext_ziccrse), ISA_EXT_DATA_ENTRY(zicfilp, PRIV_VERSION_1_12_0, ext_zicfilp), ISA_EXT_DATA_ENTRY(zicfiss, PRIV_VERSION_1_13_0, ext_zicfiss), @@ -141,7 +157,7 @@ const RISCVIsaExtData isa_edata_arr[] =3D { ISA_EXT_DATA_ENTRY(zilsd, PRIV_VERSION_1_12_0, ext_zilsd), ISA_EXT_DATA_ENTRY(zimop, PRIV_VERSION_1_13_0, ext_zimop), ISA_EXT_DATA_ENTRY(zmmul, PRIV_VERSION_1_12_0, ext_zmmul), - ISA_EXT_DATA_ENTRY(za64rs, PRIV_VERSION_1_12_0, has_priv_1_12), + ISA_INTERNAL_EXT_DATA_ENTRY(za64rs, PRIV_VERSION_1_12_0, has_priv_1_12= ), ISA_EXT_DATA_ENTRY(zaamo, PRIV_VERSION_1_12_0, ext_zaamo), ISA_EXT_DATA_ENTRY(zabha, PRIV_VERSION_1_13_0, ext_zabha), ISA_EXT_DATA_ENTRY(zacas, PRIV_VERSION_1_12_0, ext_zacas), @@ -211,13 +227,14 @@ const RISCVIsaExtData isa_edata_arr[] =3D { 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(shcounterenw, PRIV_VERSION_1_12_0, has_priv_1_12), - ISA_EXT_DATA_ENTRY(sha, PRIV_VERSION_1_12_0, ext_sha), - ISA_EXT_DATA_ENTRY(shgatpa, PRIV_VERSION_1_12_0, has_priv_1_12), - ISA_EXT_DATA_ENTRY(shtvala, PRIV_VERSION_1_12_0, has_priv_1_12), - ISA_EXT_DATA_ENTRY(shvsatpa, PRIV_VERSION_1_12_0, has_priv_1_12), - ISA_EXT_DATA_ENTRY(shvstvala, PRIV_VERSION_1_12_0, has_priv_1_12), - ISA_EXT_DATA_ENTRY(shvstvecd, PRIV_VERSION_1_12_0, has_priv_1_12), + 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), + ISA_INTERNAL_EXT_DATA_ENTRY(shgatpa, PRIV_VERSION_1_12_0, has_priv_1_1= 2), + ISA_INTERNAL_EXT_DATA_ENTRY(shtvala, PRIV_VERSION_1_12_0, has_priv_1_1= 2), + ISA_INTERNAL_EXT_DATA_ENTRY(shvsatpa, PRIV_VERSION_1_12_0, has_priv_1_= 12), + ISA_INTERNAL_EXT_DATA_ENTRY(shvstvala, PRIV_VERSION_1_12_0, has_priv_1= _12), + ISA_INTERNAL_EXT_DATA_ENTRY(shvstvecd, PRIV_VERSION_1_12_0, has_priv_1= _12), ISA_EXT_DATA_ENTRY(smaia, PRIV_VERSION_1_12_0, ext_smaia), ISA_EXT_DATA_ENTRY(smcdeleg, PRIV_VERSION_1_13_0, ext_smcdeleg), ISA_EXT_DATA_ENTRY(smcntrpmf, PRIV_VERSION_1_12_0, ext_smcntrpmf), @@ -232,20 +249,21 @@ const RISCVIsaExtData isa_edata_arr[] =3D { ISA_EXT_DATA_ENTRY(smstateen, PRIV_VERSION_1_12_0, ext_smstateen), ISA_EXT_DATA_ENTRY(ssaia, PRIV_VERSION_1_12_0, ext_ssaia), ISA_EXT_DATA_ENTRY(ssccfg, PRIV_VERSION_1_13_0, ext_ssccfg), - ISA_EXT_DATA_ENTRY(ssccptr, PRIV_VERSION_1_11_0, has_priv_1_11), + ISA_INTERNAL_EXT_DATA_ENTRY(ssccptr, PRIV_VERSION_1_11_0, has_priv_1_1= 1), ISA_EXT_DATA_ENTRY(sscofpmf, PRIV_VERSION_1_12_0, ext_sscofpmf), - ISA_EXT_DATA_ENTRY(sscounterenw, PRIV_VERSION_1_12_0, has_priv_1_12), + ISA_INTERNAL_EXT_DATA_ENTRY(sscounterenw, PRIV_VERSION_1_12_0, + has_priv_1_12), ISA_EXT_DATA_ENTRY(sscsrind, PRIV_VERSION_1_12_0, ext_sscsrind), ISA_EXT_DATA_ENTRY(ssctr, PRIV_VERSION_1_12_0, ext_ssctr), ISA_EXT_DATA_ENTRY(ssdbltrp, PRIV_VERSION_1_13_0, ext_ssdbltrp), ISA_EXT_DATA_ENTRY(ssnpm, PRIV_VERSION_1_13_0, ext_ssnpm), ISA_EXT_DATA_ENTRY(sspm, PRIV_VERSION_1_13_0, ext_sspm), - ISA_EXT_DATA_ENTRY(ssstateen, PRIV_VERSION_1_12_0, ext_ssstateen), - ISA_EXT_DATA_ENTRY(ssstrict, PRIV_VERSION_1_12_0, has_priv_1_12), + ISA_INTERNAL_EXT_DATA_ENTRY(ssstateen, PRIV_VERSION_1_12_0, ext_ssstat= een), + ISA_INTERNAL_EXT_DATA_ENTRY(ssstrict, PRIV_VERSION_1_12_0, has_priv_1_= 12), ISA_EXT_DATA_ENTRY(sstc, PRIV_VERSION_1_12_0, ext_sstc), - ISA_EXT_DATA_ENTRY(sstvala, PRIV_VERSION_1_12_0, has_priv_1_12), - ISA_EXT_DATA_ENTRY(sstvecd, PRIV_VERSION_1_12_0, has_priv_1_12), - ISA_EXT_DATA_ENTRY(ssu64xl, PRIV_VERSION_1_12_0, has_priv_1_12), + ISA_INTERNAL_EXT_DATA_ENTRY(sstvala, PRIV_VERSION_1_12_0, has_priv_1_1= 2), + ISA_INTERNAL_EXT_DATA_ENTRY(sstvecd, PRIV_VERSION_1_12_0, has_priv_1_1= 2), + ISA_INTERNAL_EXT_DATA_ENTRY(ssu64xl, PRIV_VERSION_1_12_0, has_priv_1_1= 2), ISA_EXT_DATA_ENTRY(supm, PRIV_VERSION_1_13_0, ext_supm), ISA_EXT_DATA_ENTRY(svade, PRIV_VERSION_1_11_0, ext_svade), ISA_EXT_DATA_ENTRY(svadu, PRIV_VERSION_1_12_0, ext_svadu), @@ -253,7 +271,7 @@ const RISCVIsaExtData isa_edata_arr[] =3D { ISA_EXT_DATA_ENTRY(svnapot, PRIV_VERSION_1_12_0, ext_svnapot), ISA_EXT_DATA_ENTRY(svpbmt, PRIV_VERSION_1_12_0, ext_svpbmt), ISA_EXT_DATA_ENTRY(svrsw60t59b, PRIV_VERSION_1_13_0, ext_svrsw60t59b), - ISA_EXT_DATA_ENTRY(svukte, PRIV_VERSION_1_13_0, ext_svukte), + ISA_EXPERIMENTAL_EXT_DATA_ENTRY(svukte, PRIV_VERSION_1_13_0, ext_svukt= e), ISA_EXT_DATA_ENTRY(svvptc, PRIV_VERSION_1_13_0, ext_svvptc), ISA_EXT_DATA_ENTRY(xlrbr, PRIV_VERSION_1_13_0, ext_xlrbr), ISA_EXT_DATA_ENTRY(xmipscbop, PRIV_VERSION_1_12_0, ext_xmipscbop), diff --git a/target/riscv/riscv-qmp-cmds.c b/target/riscv/riscv-qmp-cmds.c index 8a1856c50e..93e6b7fa68 100644 --- a/target/riscv/riscv-qmp-cmds.c +++ b/target/riscv/riscv-qmp-cmds.c @@ -90,27 +90,14 @@ static void riscv_obj_add_qdict_prop(Object *obj, QDict= *qdict_out, } } =20 -static void riscv_obj_add_multiext_props(Object *obj, QDict *qdict_out, - const RISCVCPUMultiExtConfig *arr) +static void riscv_obj_add_multiext_props(Object *obj, QDict *qdict_out) { - for (int i =3D 0; arr[i].name !=3D NULL; i++) { - riscv_obj_add_qdict_prop(obj, qdict_out, arr[i].name); - } -} + const RISCVIsaExtData *edata; =20 -static void riscv_obj_add_named_feats_qdict(Object *obj, QDict *qdict_out) -{ - const RISCVCPUMultiExtConfig *named_cfg; - RISCVCPU *cpu =3D RISCV_CPU(obj); - QObject *value; - bool flag_val; - - for (int i =3D 0; riscv_cpu_named_features[i].name !=3D NULL; i++) { - named_cfg =3D &riscv_cpu_named_features[i]; - flag_val =3D isa_ext_is_enabled(cpu, named_cfg->offset); - value =3D QOBJECT(qbool_from_bool(flag_val)); - - qdict_put_obj(qdict_out, named_cfg->name, value); + for (edata =3D isa_edata_arr; edata && edata->name; edata++) { + if (edata->prop_name) { + riscv_obj_add_qdict_prop(obj, qdict_out, edata->prop_name); + } } } =20 @@ -220,10 +207,7 @@ CpuModelExpansionInfo *qmp_query_cpu_model_expansion(C= puModelExpansionType type, =20 qdict_out =3D qdict_new(); =20 - riscv_obj_add_multiext_props(obj, qdict_out, riscv_cpu_extensions); - riscv_obj_add_multiext_props(obj, qdict_out, riscv_cpu_experimental_ex= ts); - riscv_obj_add_multiext_props(obj, qdict_out, riscv_cpu_vendor_exts); - riscv_obj_add_named_feats_qdict(obj, qdict_out); + riscv_obj_add_multiext_props(obj, qdict_out); riscv_obj_add_profiles_qdict(obj, qdict_out); =20 /* Add our CPU boolean options too */ --=20 2.53.0 From nobody Sat May 30 17:46:17 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=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1779408474; cv=none; d=zohomail.com; s=zohoarc; b=iDk1afZTOCnJW+EG4+Q1jvTsGN7Znlr/o4w9Qe1qmrGjmDxCtdwd6eCY0qngZcQHXbEZz8twnhHFZlX3rib77pVD3y9PenFYB1Nc8+g6BNhRzSP0vkv6GKcuy9VV5ta/XLZSqD8EEJchn0CIx6jwiMDK9aDFZ7BDeNwDo53nqoI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1779408474; 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=f4aaVUDqVD+Ykh6MuOiNf7dl0cw463M1lQleLrswrGY=; b=RA18y3o2iCiNsTM2l4xOkqZjuZwAp3y/KNpLL7OpgC3vlbVzWmYAeMQyEATL2dS13yIAiWrqnh0oz4kn8rP+ZzYHk/GTD2pXdya2PT/ymq5/sJhS/RUldi++DBb8Nf+lZHTA4fAaF4T8MBcCioQ+q4F+U8bXoK7iyzJrsWxpSMs= 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 177940847402550.451052276518794; Thu, 21 May 2026 17:07:54 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wQDQC-0005HS-Fl; Thu, 21 May 2026 20:07:24 -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 1wQDO6-0002ab-Rj for qemu-devel@nongnu.org; Thu, 21 May 2026 20:05:15 -0400 Received: from mail-pl1-x630.google.com ([2607:f8b0:4864:20::630]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wQDO3-0004Mo-7Z for qemu-devel@nongnu.org; Thu, 21 May 2026 20:05:14 -0400 Received: by mail-pl1-x630.google.com with SMTP id d9443c01a7336-2ba856db1c0so49148595ad.3 for ; Thu, 21 May 2026 17:05:10 -0700 (PDT) Received: from toolbx.alistair23.me ([2403:581e:fdf9:0:6209:4521:6813:45b7]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2beb114b54csm3915475ad.42.2026.05.21.17.05.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 May 2026 17:05:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779408309; x=1780013109; 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=f4aaVUDqVD+Ykh6MuOiNf7dl0cw463M1lQleLrswrGY=; b=M3271byTEW3yI8YWgnZWcwPSMBLhxlb9l3EIbmG75StK/Ofy+stZoQUWoQMxLsUAq1 Kyck81TspP91ay5TbeHCv5yX0ZHoSAfnCrhrCe07IcyPa4i4pUt38NpMfItoH7UTjkEU 9bYnSVhd/dxrndlmRMPBaL2MtTBS8cBYwGDE8XnWSIDp9tFD34Hy/SWCb0kvESeFvjxm OFuoU+kObPOpNoYCw6yxI17yIjcn/ADn5++ASrfwsCoj5xddjXmt0w7oTniRvsO7pGfM WGGV78DkgXha1VdHAJn7+NIyK6FrTDX9cx7CnnTxmeDXzRQKT2gco4LDui4O2sDgGYNE FZzQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779408309; x=1780013109; 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=f4aaVUDqVD+Ykh6MuOiNf7dl0cw463M1lQleLrswrGY=; b=ESmsbPSOyo4MaQveaoLD9mjU5OyY5LXAsoKpVgOtjbtiGyl7WjAIJuB1RgJ3+eo+9F XgD8lOSZhlSvoApnnj9baP/6WktRidsEoj3CADDMBdsdqIGP0JJaiN24L4xYYz3GvD70 Icbt7YYET682IsBfQ8m9t7A39urAqYyTFrwHSED7lSIa6kACI3GWbSKtSyLHBMupxykP x62PoXKVC4H6Q2xy/WKiA1A9ArwlvhT4HJySBvsQEYkmlffQ2USfLZ88/NxKynvn15KB MIQ8zSJftvBaD2J+5PLOP7O7IMf7UuQqEunY1Ktwxk/1WkMp70loE7JVXij9n1l465pT prbg== X-Gm-Message-State: AOJu0Yx1Jf7xN9faXz4f3Av/qPFh/gLvgKuILJm26Rkn099DInXRWfA6 jXSj7CLPWfQ2aHkZgRvFG0nriFHqNPZhLbliM9dc/4TAmcukHnq0oRFRK49YBxFz X-Gm-Gg: Acq92OHxhd/fMVHEAQNmwBDcMpAtG1GBPnCuLaKOszVn9Pcn9OIzcAxTiRs899GFeK3 CJn3T/4csNZ/NpvUPW8GyJ1rbihSJdK1i9cvMkmQhMZvx+7MwcaF1T8+MKEfh7Cm76zO317QPW6 5UIxGZ1cezg/Kph3QxUgBdismgufZTnv6GrKREHH4JHRwInB9yb93msz/d/L00ODA1plpf1kpFu 02dnwqk98XJeQZfN9ziOMCcPsfkC/Wl//H6J0QiaDM1aso6ZhJZTg4Osu1k+js3DZpR4QqZmWj6 YqDrZ8ySA6sRMztbWdPkAASGA9NNsFyQ1x/S+NwPZz72HYbHTftayKqy7ifCW+whwM8phEMLZxc QkppTIBg0lGXgdDE2RcltlLqoLJjU/fy/v3rP44x1ww6YUeljyJThdh3tyIfgEQzGjy1wloPfny 8C7VZS7a23KT7hDLgEkMXpz1XFzjXrFFEULvP2fhJG6g== X-Received: by 2002:a17:902:d4c9:b0:2bc:dd58:3dc4 with SMTP id d9443c01a7336-2beb0758026mr10468275ad.32.1779408309456; Thu, 21 May 2026 17:05:09 -0700 (PDT) From: alistair23@gmail.com X-Google-Original-From: alistair.francis@wdc.com To: qemu-devel@nongnu.org Cc: alistair23@gmail.com, Daniel Henrique Barboza , Alistair Francis Subject: [PULL 29/48] target/riscv/tcg: treat all exts equally in cpu_disable_priv_spec_isa_exts Date: Fri, 22 May 2026 10:03:05 +1000 Message-ID: <20260522000324.23255-30-alistair.francis@wdc.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260522000324.23255-1-alistair.francis@wdc.com> References: <20260522000324.23255-1-alistair.francis@wdc.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::630; envelope-from=alistair23@gmail.com; helo=mail-pl1-x630.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.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, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, 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 @gmail.com) X-ZM-MESSAGEID: 1779408474354158500 Content-Type: text/plain; charset="utf-8" From: Daniel Henrique Barboza Commit 7e4f75cadf ("target/riscv/tcg: hide warn for named feats when disabling via priv_ver") changed the design of disable_priv_spec_isa_exts to not warn when disabling what we were calling "named features" at that time. Back in that time we were adding RVA22 profile support and we were dealing with a RVI innovation: named features. These can be define as cute names for pre-existing behavior/parameters, e.g. 'zic64b' means all cache blocks must have 64 bytes. They do get inserted in the riscv,isa but they are not "real" extensions because users shouldn't be setting them in the command line, or so we thought back then, and we attempted to model that by calling it "named features". This didn't age that well: ziccrse is a so called named feature as far as TCG goes, but then KVM had to treat it as a regular extension that can be user set and we made an exception: ziccrse is a named feature that is user set by KVM. "Named features" are regular extensions that might or might not be user set, and might or might not warrant special handling during realize() by setting other parameters. And we'll being treating them as such, which will culminate in the end of riscv_cpu_named_features[] array in the end. This reverts commit 7e4f75cadf44ee67809c7ca82645a289a5268966. Signed-off-by: Daniel Henrique Barboza Acked-by: Alistair Francis Message-ID: <20260512032926.1978818-5-daniel.barboza@oss.qualcomm.com> Signed-off-by: Alistair Francis --- target/riscv/tcg/tcg-cpu.c | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/target/riscv/tcg/tcg-cpu.c b/target/riscv/tcg/tcg-cpu.c index a358d91ca5..92406bf41f 100644 --- a/target/riscv/tcg/tcg-cpu.c +++ b/target/riscv/tcg/tcg-cpu.c @@ -484,15 +484,6 @@ static void riscv_cpu_disable_priv_spec_isa_exts(RISCV= CPU *cpu) } =20 isa_ext_update_enabled(cpu, edata->ext_enable_offset, false); - - /* - * Do not show user warnings for named features that users - * can't enable/disable in the command line. See commit - * 68c9e54bea for more info. - */ - if (cpu_cfg_offset_is_named_feat(edata->ext_enable_offset)) { - continue; - } #ifndef CONFIG_USER_ONLY warn_report("disabling %s extension for hart 0x%" PRIx64 " because privilege spec version does not match", @@ -520,9 +511,11 @@ static void riscv_cpu_update_named_features(RISCVCPU *= cpu) cpu->cfg.has_priv_1_13 =3D true; } =20 + /* zic64b is 1.12 or later */ cpu->cfg.ext_zic64b =3D cpu->cfg.cbom_blocksize =3D=3D 64 && cpu->cfg.cbop_blocksize =3D=3D 64 && - cpu->cfg.cboz_blocksize =3D=3D 64; + cpu->cfg.cboz_blocksize =3D=3D 64 && + cpu->cfg.has_priv_1_12; =20 cpu->cfg.ext_ssstateen =3D cpu->cfg.ext_smstateen; =20 --=20 2.53.0 From nobody Sat May 30 17:46:17 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=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1779408406; cv=none; d=zohomail.com; s=zohoarc; b=l5CNsJ+QnUhuOOotp8iWu0Yb7dSkBOBFo/p8xpcIPujOpFS1FkUq/4gSmL6W/kTSz5xZ2htyZBdtKx0B5XjO34QDVBNwwGuVgxPC/y0EUsC0WXO9CcFUIQzpwrqfMUpLAvTE2vyZepFUqrwPd575AJ5nG/OwnnQP9DCzo0EuQxQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1779408406; 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=/jv05LzEaUCaPr20CESUtrgQ1PrLUWrCj+7ROrvB4U0=; b=VnNG+wupxeXrKMtFyBPxuiO6DwcfBtACJojIx/dEAPAT8GH2MvTA5LA188F0ficoJickuMPIAA8NsdhE40EsxPBFP1vrCnrVYdGlIwWwhn91GDG+hywV9QHkMl4KKfOW+zD64NdM7p18QePA104siAsj1k+hXv8C4PzjuUCrsP0= 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 1779408406421625.69741861916; Thu, 21 May 2026 17:06:46 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wQDPT-00041r-CH; Thu, 21 May 2026 20:06:39 -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 1wQDO8-0002c6-JO for qemu-devel@nongnu.org; Thu, 21 May 2026 20:05:18 -0400 Received: from mail-pl1-x62c.google.com ([2607:f8b0:4864:20::62c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wQDO5-0004Wm-Pz for qemu-devel@nongnu.org; Thu, 21 May 2026 20:05:15 -0400 Received: by mail-pl1-x62c.google.com with SMTP id d9443c01a7336-2baca4df358so40636665ad.2 for ; Thu, 21 May 2026 17:05:13 -0700 (PDT) Received: from toolbx.alistair23.me ([2403:581e:fdf9:0:6209:4521:6813:45b7]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2beb114b54csm3915475ad.42.2026.05.21.17.05.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 May 2026 17:05:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779408312; x=1780013112; 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=/jv05LzEaUCaPr20CESUtrgQ1PrLUWrCj+7ROrvB4U0=; b=UwfMsJ3Af6IJ3rSoTjpjq975Jv6UzrtiUhzYYii/9UQeWa4+l34UmPG6Pjy6mM35ek geiNIUt8GCl/rAEklD5ARNcnkv8fppKPKLZ8c5+WAWxAorEyiTRGZAW5WfyPFE1ZhlVW 3xcpHa2ALKGHnGAGbULRXB0GdyU4qT+uq1IfOumsAbLRoMKJb8DnhtM2QIJOjQSWihSW WY/ZamHt2Pl8ksMduk5SN59G7veMjKbZG2FgWsnK2d0vER6Z7n8tmMDeWGK7A1nk9c60 l0aYAOcGZ7FC5cuLYG+qljvK+PSX4OkSbc2mmibckNHGSWyNytd7+M5MAtK9is23mtW+ b6qg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779408312; x=1780013112; 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=/jv05LzEaUCaPr20CESUtrgQ1PrLUWrCj+7ROrvB4U0=; b=hOmdptShA/YzzO58hLMcBuQkmIYqgGC2JoHF01fcfZAqn/QikUfKat/IPGsWFHWVlI 7fS+UjnUZKHxedJmFnSaoURFnci1B5VB9zEuWoHZ+jWM23gKy9Zwne8dAvEzVqtpMjYu eBO5vmNoXzFoufrCYtuWmj+GU7dfnrKc/mwPjzElRrlUu9itBnrqzIeNwgUo0yK6i426 ramtE7ehIVwZd6PsToL2Gd+0iG3Oe2hb3U7pEoky4au3yYicbqcGp42Xsds0bx/tDLwc IE2jN58s+0xr2Qbx0OHwFA4WAl2hsvQGhcJ5tCPFyOXEe0xAlI3Qwd0ea/3YBlSZB0GV hNaA== X-Gm-Message-State: AOJu0YyMoxEsH6qZ2h3Qsa6Yc82qv/TQ2IHDBnGW2+mHnIofml5qC9tg ZnV7EL1f0wFvUvXVbgPbCdvyModatmIUF8CEe+asL/aNdVcfjH+KLn0R1q3sQA7v X-Gm-Gg: Acq92OG3V1JgtAYn5NNVhXHt4+7Q84xnZkB1aLp6ztwHz6YPkQNEBsiGYRvgDwt5QY1 7WqdU7l4rRDYwGS3iu+T+fmAiteOcJnVNjk/69F8N+c0qDXBONOAgzARl+zXf/VXyV1/Z0J8hKG 3eIEh+CnAaK6LN/LhwXwCPJIi/k/MM0yL+gQnoWHg2OsdREWEnSiVvQ7cyb6J4ionRAsxThEwwI zUowzO6QdcDv+ERM5/QPg9pQ/dj0A7V1dGTPvKpIqsqoP2NuOuJfJzPI2LYSxpEZDaXKJNNxZPX tknhRzPKNUB5Fg/ZZNgGMd+s/eFEBiRzHlNk3Xpdz2OdNnf9kny/Kq7rmFuPyOoQVwZAHlmVsAO 85UvTYHL+yNMQZUyaGBw4xqt4+NORNHpWboFBWJR4FpCQIVHNkGgCKdRBIDtJVAq2Bd2U5aOzfF m9Es4Bd+Po1r+TIf+w19C8+O+vk1EYE5p3dCUIJB/ZIbJl4JcMVr4Q59MXGxrWYKQ= X-Received: by 2002:a17:902:ef10:b0:2b0:5ae9:ee4 with SMTP id d9443c01a7336-2beb069c65fmr10828575ad.5.1779408312322; Thu, 21 May 2026 17:05:12 -0700 (PDT) From: alistair23@gmail.com X-Google-Original-From: alistair.francis@wdc.com To: qemu-devel@nongnu.org Cc: alistair23@gmail.com, Daniel Henrique Barboza , Alistair Francis Subject: [PULL 30/48] target/riscv/tcg: use only isa_edata_arr[] in cpu_cfg_ext_get_name() Date: Fri, 22 May 2026 10:03:06 +1000 Message-ID: <20260522000324.23255-31-alistair.francis@wdc.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260522000324.23255-1-alistair.francis@wdc.com> References: <20260522000324.23255-1-alistair.francis@wdc.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::62c; envelope-from=alistair23@gmail.com; helo=mail-pl1-x62c.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.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, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, 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 @gmail.com) X-ZM-MESSAGEID: 1779408408127158500 Content-Type: text/plain; charset="utf-8" From: Daniel Henrique Barboza We're using both isa_edata_arr[] and riscv_cpu_named_features[] to find an extension name based on a cfg offset. This is reminiscent of a past where isa_edata_arr[] didn't include entries for internal extensions. At this point we can use just isa_edata_arr[]. Signed-off-by: Daniel Henrique Barboza Acked-by: Alistair Francis Message-ID: <20260512032926.1978818-6-daniel.barboza@oss.qualcomm.com> Signed-off-by: Alistair Francis --- target/riscv/tcg/tcg-cpu.c | 7 ------- 1 file changed, 7 deletions(-) diff --git a/target/riscv/tcg/tcg-cpu.c b/target/riscv/tcg/tcg-cpu.c index 92406bf41f..704105d3df 100644 --- a/target/riscv/tcg/tcg-cpu.c +++ b/target/riscv/tcg/tcg-cpu.c @@ -311,7 +311,6 @@ static int cpu_cfg_ext_get_min_version(uint32_t ext_off= set) =20 static const char *cpu_cfg_ext_get_name(uint32_t ext_offset) { - const RISCVCPUMultiExtConfig *feat; const RISCVIsaExtData *edata; =20 for (edata =3D isa_edata_arr; edata->name !=3D NULL; edata++) { @@ -320,12 +319,6 @@ static const char *cpu_cfg_ext_get_name(uint32_t ext_o= ffset) } } =20 - for (feat =3D riscv_cpu_named_features; feat->name !=3D NULL; feat++) { - if (feat->offset =3D=3D ext_offset) { - return feat->name; - } - } - g_assert_not_reached(); } =20 --=20 2.53.0 From nobody Sat May 30 17:46:17 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=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1779408662; cv=none; d=zohomail.com; s=zohoarc; b=eCotbQ6iuNpVNkCgbIjoUTgJOysvC3Wi2dVGynlBZ0Ov8DbI6Bgh7vkiPLRABnNfFV+2VOKeq9fpdbEg961ZRr+xaXAzH8n75rNJw8i/x0iXfdbnX5C2FOFs/sfhCp/9NAbudTcWgtn/VdEb4pNn9lFCt5oa2pA26pb53gvmQpk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1779408662; 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=iRaz1TlypKE5ho+rp9KhYgTc5x2rHfXcx74X3Pi8EsI=; b=TiOwVmtu8WS1Rf4lgoct27b55F1283vunKHHMGumIX5RmXPUCrXRunDMXuFj2LNt87nMgwHJwtttTfKgKhdim6MlAqrzoTeQNBu7dToIUgO8gbve9xGgUx42gc4VpQmQYwvdKcMhBmMFIXFUVGAsOJTWewiVqAXjgN5P6MqRZTE= 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 1779408662826901.0125929270218; Thu, 21 May 2026 17:11:02 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wQDQO-0005kS-Oz; Thu, 21 May 2026 20:07:38 -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 1wQDOB-0002dF-Hh for qemu-devel@nongnu.org; Thu, 21 May 2026 20:05:26 -0400 Received: from mail-pg1-x532.google.com ([2607:f8b0:4864:20::532]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wQDO9-0004dY-FV for qemu-devel@nongnu.org; Thu, 21 May 2026 20:05:19 -0400 Received: by mail-pg1-x532.google.com with SMTP id 41be03b00d2f7-c801b30188dso3153389a12.3 for ; Thu, 21 May 2026 17:05:16 -0700 (PDT) Received: from toolbx.alistair23.me ([2403:581e:fdf9:0:6209:4521:6813:45b7]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2beb114b54csm3915475ad.42.2026.05.21.17.05.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 May 2026 17:05:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779408315; x=1780013115; 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=iRaz1TlypKE5ho+rp9KhYgTc5x2rHfXcx74X3Pi8EsI=; b=Mr4SvUin/jgMwj1ukjbLtXGxeBrIFF5PooHxFl5rZHyYEx9donZ1BKihT9tlvwNFh9 dIrWtMvmzhjPQrfbobXLYzAIhY9W2FHorxi8E9t8wnxFsz069XUUDqffHq9lVlzg46zc USlxZmBXFEe4ztFqMNb/jMDLgihBsQGWDlOd0d0jEgjDux5q1Im7KeQJQK0UFKdviczA oC0jBk+tR+lGEWjJUtpBhNBKwS4c7N0YM5Ds1ep7zdoFLLRGrOoKlx/SD4FyURxB8qpJ q0BDO538dwsAJPpqeYQdjP0EyXTCWb2FT3H6NBvNwexaV6uocwCHbjJc9Y2MNCWUBIJR gPwg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779408315; x=1780013115; 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=iRaz1TlypKE5ho+rp9KhYgTc5x2rHfXcx74X3Pi8EsI=; b=sagjIY99zuYN0L0MA/+vWkTK8siwlN/0u3FhMlVVlVBpNTUbri0mKr4Yz4nWWfwwvh JsOWgjl3ba+5nIEfZOBvamwIuHk3aItwCMWAdDoAqISGs5BLqlE850r6hSYe+8FUEPnL jotjhmoXeh31SK5y0K+vvUTIVRcqhZtYzV7mvEf1yBntQh0/tVrmX2HsCc13+v8i9WrB paH49JdQ/2iX07Gk2s/8huvvDLRl/A9IsoZ1XwnNOVx86mX+i3Y3WDATGPK+QjrlL+0C 195GX3OEL7WFWA7XHQU0PpjuQ3Q3LliiXSQbfI/yJx84Bzxgvh9R++Xlie96ee1ioEGn HGVg== X-Gm-Message-State: AOJu0YxyY5Eft3jHTkiJkK5hwWzQVXt5M4ElrgNk1IsMrUMUUf1qRaKZ aDLXgxg5edXb0ktYqFC0qM9deqh+jLSMynriUybVUaU6o+kamvIaTItXd/4pWIZK X-Gm-Gg: Acq92OG7carDsKLnBsNYbvGjXfCqf/7lU87/TU9IdIVaR4vU0QsW+Nb5pZ3FovK7aJu HufdRh3uVYNwFLP0yzzWRnIBsX0ZMx+43bF8YtPhuoWjszI2XP+0888lnqtgKsKCvV4Ksg8+WhP BshzMQPCclVye1FG3EgKEKKIU/DgJFybOwpwA50WMTI2fV0QJs0Q/P59FR53Lc9nLwPObyo+RxM 2FafONVHakwvFah5B1vV7IO3bwO51/7NMggOzc0p/KLPGtz2hvA8OoqEdSJLElD+Dm9UiJ6tlvR 5R8yT1CXNSbLbJ8ZV9Dnc6nVoABD/og1tAcl8CM59zFLXvhRVojBvryH96E9xov/HWFo/TWaWHU IF4NZiQzpWDVfcD00zdYjhK2/TLHvnhnkRKEN2WmkwL6iSSgIBCY6Ozwhn9UzjUN4MyzOC4KIUw sy/ee15Y66TavrDFEjE+45sSQDeLTMVetlxBJc+ceCmOIGwxJI11v+ X-Received: by 2002:a17:903:1a10:b0:2bd:2430:eb7b with SMTP id d9443c01a7336-2beb06cbf6cmr11040485ad.12.1779408315556; Thu, 21 May 2026 17:05:15 -0700 (PDT) From: alistair23@gmail.com X-Google-Original-From: alistair.francis@wdc.com To: qemu-devel@nongnu.org Cc: alistair23@gmail.com, Daniel Henrique Barboza , Alistair Francis Subject: [PULL 31/48] target/riscv/cpu.c: remove riscv_cpu_enable_named_feat() Date: Fri, 22 May 2026 10:03:07 +1000 Message-ID: <20260522000324.23255-32-alistair.francis@wdc.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260522000324.23255-1-alistair.francis@wdc.com> References: <20260522000324.23255-1-alistair.francis@wdc.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::532; envelope-from=alistair23@gmail.com; helo=mail-pg1-x532.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.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, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, 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 @gmail.com) X-ZM-MESSAGEID: 1779408663192158500 Content-Type: text/plain; charset="utf-8" From: Daniel Henrique Barboza Deprecate riscv_cpu_enable_named_feat() by creating implied rules for 'sha' and 'ssstateen'. 'zic64' is always true given that our default block size is set to 64. With this change we homogeneize extension handling when enabling profiles. Signed-off-by: Daniel Henrique Barboza Acked-by: Alistair Francis Message-ID: <20260512032926.1978818-7-daniel.barboza@oss.qualcomm.com> Signed-off-by: Alistair Francis --- target/riscv/cpu.c | 25 ++++++++++++++++++++++-- target/riscv/tcg/tcg-cpu.c | 40 -------------------------------------- 2 files changed, 23 insertions(+), 42 deletions(-) diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c index 0f8ddeb42e..ecf31599c5 100644 --- a/target/riscv/cpu.c +++ b/target/riscv/cpu.c @@ -2599,6 +2599,17 @@ static RISCVCPUImpliedExtsRule ZVKSG_IMPLIED =3D { }, }; =20 +static RISCVCPUImpliedExtsRule SHA_IMPLIED =3D { + .ext =3D CPU_CFG_OFFSET(ext_sha), + .implied_misa_exts =3D RVH, + .implied_multi_exts =3D { + CPU_CFG_OFFSET(ext_smstateen), + CPU_CFG_OFFSET(ext_ssstateen), + + RISCV_IMPLIED_EXTS_RULE_END + }, +}; + static RISCVCPUImpliedExtsRule SSCFG_IMPLIED =3D { .ext =3D CPU_CFG_OFFSET(ext_ssccfg), .implied_multi_exts =3D { @@ -2647,6 +2658,15 @@ static RISCVCPUImpliedExtsRule SSCTR_IMPLIED =3D { }, }; =20 +static RISCVCPUImpliedExtsRule SSSTATEEN_IMPLIED =3D { + .ext =3D CPU_CFG_OFFSET(ext_ssstateen), + .implied_multi_exts =3D { + CPU_CFG_OFFSET(ext_smstateen), + + RISCV_IMPLIED_EXTS_RULE_END + }, +}; + static RISCVCPUImpliedExtsRule ZVFBFA_IMPLIED =3D { .ext =3D CPU_CFG_OFFSET(ext_zvfbfa), .implied_multi_exts =3D { @@ -2673,8 +2693,9 @@ RISCVCPUImpliedExtsRule *riscv_multi_ext_implied_rule= s[] =3D { &ZVFBFA_IMPLIED, &ZVFBFMIN_IMPLIED, &ZVFBFWMA_IMPLIED, &ZVFH_IMPLIED, &ZVFHMIN_IMPLIED, &ZVKN_IMPLIED, &ZVKNC_IMPLIED, &ZVKNG_IMPLIED, &ZVKNHB_IMPLIED, - &ZVKS_IMPLIED, &ZVKSC_IMPLIED, &ZVKSG_IMPLIED, &SSCFG_IMPLIED, - &SUPM_IMPLIED, &SSPM_IMPLIED, &SMCTR_IMPLIED, &SSCTR_IMPLIED, + &ZVKS_IMPLIED, &ZVKSC_IMPLIED, &ZVKSG_IMPLIED, &SHA_IMPLIED, + &SSCFG_IMPLIED, &SUPM_IMPLIED, &SSPM_IMPLIED, &SMCTR_IMPLIED, + &SSCTR_IMPLIED, &SSSTATEEN_IMPLIED, NULL }; =20 diff --git a/target/riscv/tcg/tcg-cpu.c b/target/riscv/tcg/tcg-cpu.c index 704105d3df..c3e354b0ae 100644 --- a/target/riscv/tcg/tcg-cpu.c +++ b/target/riscv/tcg/tcg-cpu.c @@ -322,42 +322,6 @@ static const char *cpu_cfg_ext_get_name(uint32_t ext_o= ffset) g_assert_not_reached(); } =20 -static bool cpu_cfg_offset_is_named_feat(uint32_t ext_offset) -{ - const RISCVCPUMultiExtConfig *feat; - - for (feat =3D riscv_cpu_named_features; feat->name !=3D NULL; feat++) { - if (feat->offset =3D=3D ext_offset) { - return true; - } - } - - return false; -} - -static void riscv_cpu_enable_named_feat(RISCVCPU *cpu, uint32_t feat_offse= t) -{ - /* - * All other named features are already enabled - * in riscv_tcg_cpu_instance_init(). - */ - switch (feat_offset) { - case CPU_CFG_OFFSET(ext_zic64b): - cpu->cfg.cbom_blocksize =3D 64; - cpu->cfg.cbop_blocksize =3D 64; - cpu->cfg.cboz_blocksize =3D 64; - break; - case CPU_CFG_OFFSET(ext_sha): - if (!cpu_misa_ext_is_user_set(RVH)) { - riscv_cpu_write_misa_bit(cpu, RVH, true); - } - /* fallthrough */ - case CPU_CFG_OFFSET(ext_ssstateen): - cpu->cfg.ext_smstateen =3D true; - break; - } -} - static void cpu_bump_multi_ext_priv_ver(CPURISCVState *env, uint32_t ext_offset) { @@ -1327,10 +1291,6 @@ static void riscv_cpu_set_profile(RISCVCPU *cpu, ext_offset =3D profile->ext_offsets[i]; =20 if (profile->enabled) { - if (cpu_cfg_offset_is_named_feat(ext_offset)) { - riscv_cpu_enable_named_feat(cpu, ext_offset); - } - cpu_bump_multi_ext_priv_ver(&cpu->env, ext_offset); } =20 --=20 2.53.0 From nobody Sat May 30 17:46:17 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=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1779408438; cv=none; d=zohomail.com; s=zohoarc; b=OW+bF6rEEoxNRzAKeNpzUKsFU9/F1r18AmVTElxNSZ16CBzjnT5vjExbam6h2I2YPJzbHMVerCC9DbQaIEUnmj5QI8tqu5rmWj6CQW3VibRUT7Hz/RJsQh9Iksa8wXUqHoNvzzzMZTliuSL3PlI2P+rDS2Qh0uKcZG7EnugayaM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1779408438; 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=TgSVB8hbB12ipCIv+wwkqgZJqTEdlVVSjL31mZweUX8=; b=dOIJGKKeRKSMUNIv7xgg6MGh9ZfWDmGuvVPa1ro3KBEAtiBfBzxgl86DJAtAz7VzuAJssqiriB3hkTjTQ3QUZ+eN7oudiEKiDY1ye/oMDCvPjdPMGiAtA6B5aY98G4fGXBDX0Dis3FOnHaVveWW+6zpnrMe+yYiZYSVI6x/k3ms= 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 1779408438568540.9964403310142; Thu, 21 May 2026 17:07:18 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wQDPT-00042D-Fr; Thu, 21 May 2026 20:06:39 -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 1wQDOE-0002du-47 for qemu-devel@nongnu.org; Thu, 21 May 2026 20:05:28 -0400 Received: from mail-pl1-x62c.google.com ([2607:f8b0:4864:20::62c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wQDOB-0004iu-W4 for qemu-devel@nongnu.org; Thu, 21 May 2026 20:05:21 -0400 Received: by mail-pl1-x62c.google.com with SMTP id d9443c01a7336-2ba21d32776so49060235ad.2 for ; Thu, 21 May 2026 17:05:19 -0700 (PDT) Received: from toolbx.alistair23.me ([2403:581e:fdf9:0:6209:4521:6813:45b7]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2beb114b54csm3915475ad.42.2026.05.21.17.05.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 May 2026 17:05:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779408319; x=1780013119; 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=TgSVB8hbB12ipCIv+wwkqgZJqTEdlVVSjL31mZweUX8=; b=HAN0fD+avTi5R/pQnyyahlXk63L30y1EcvxD5V2anC4I8O1usgApuJcJ0gADXdsQku 2HrYYMNLX0UWEoEBcsURqpg3kw7CeGk46SzPBQpb8VSGkAl6AdJ4N6MkAf6LeL4DJBHn y8AoTpqGebvl7U23v6oJWaCwPZxyI6nhGVPJrxdb4jWzgPCq6bDVbZ8feVUKgwYOX+uU YJeGDrG566TUifOCS11xNsXakB58nfPBPwDIyachfPtOfnD68xT4T7eUIb9v2MxeE1fF /xof8aX0x+KYTbahUy+2MHfD0qHbLTXC8EXhKXckvneWyGJyO9iiHCeT2i5daSydyP54 trMA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779408319; x=1780013119; 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=TgSVB8hbB12ipCIv+wwkqgZJqTEdlVVSjL31mZweUX8=; b=jm7XzRk8qCiKCRMVgu5UC6INGZe+agqx/jsLbEE51x9QMGPltKnpssW6caG5g9GBm/ dSCiwTqLdJdsUFRrvZN7XzXIfof5uunAr+jiKUxiP5dGCQikQEEwBa7p/Ooi5VJ7uzz5 nPgLsIc1r5AhDwEXCkSbmJ/fJpSPM0VxTUYuVShbh1GRwnCaUaJQaWXxmcH26eZyZllT tTkKsWsGK0UvKFaCr59cMdAYLlXdkUA1ANce8ZgwWkXbX88xEjcrsbNbb2WE+8+KQZlx peXJgujwRZxz0CzCNYB19OoBImzy18iohfYQY3TccZRXg4iKchEpxC/9NXJO+1SbeypW U6vg== X-Gm-Message-State: AOJu0YwEQQ2rYBbFQeHDrT6NTkDZAUNyL2u7Op4zoB3+bYYvWEiyzH0m i5kDOdY5v6BzMuv+vk7rZO3Dyf/pp7geWlp4wx3SKaPINL5n6VDvwn14JDynq1Sv X-Gm-Gg: Acq92OF7eXAYeggfTb4QbmhAhSKrZPbWi8YSE3qpZgUT+Cx/5mSFv1nQBI8ubu+l2ti qm7q7RhgwtUc6V+AGveQS4A8BuuKu9rnB7g57z4SF5QCSZ396cNgq1wNaofIGWWyfNSoZP1V3TR xG/Y8sAgqn0kggZd58Jkkaemo6gYOgWSvyl/OzjSW28+VIGG6rGv4DQfPKiUJNhf+IB6EBBl37Q wEU5cghRBGdohRzZXYY2LARzPjj+XjI6Nd5U3I01IVWrJctPRO4RgEDzNvTX0E3JBCIxcOAQxFK /nBPWnrC5deyufVSvbJiJDbtsU99KPwKkVjLKc5YrLbEZSydJD0vYREsXu3CVflxP0Yw6myOjnB CuPbW9yc1d8Svs06Ivhbw2N1YppK8VAXln2vbpqOV4HvrGvFSsMAsCr1sAdQ/GuJJL/ph6N80WN m5RTnYNd57GbiEIzD47NenuubvL+7M9acbJagv1Tk+Sw== X-Received: by 2002:a17:903:244c:b0:2bd:7ff4:ab0b with SMTP id d9443c01a7336-2beb06552bbmr11009045ad.39.1779408318707; Thu, 21 May 2026 17:05:18 -0700 (PDT) From: alistair23@gmail.com X-Google-Original-From: alistair.francis@wdc.com To: qemu-devel@nongnu.org Cc: alistair23@gmail.com, Daniel Henrique Barboza , Alistair Francis Subject: [PULL 32/48] target/riscv: remove riscv_cpu_named_features[] Date: Fri, 22 May 2026 10:03:08 +1000 Message-ID: <20260522000324.23255-33-alistair.francis@wdc.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260522000324.23255-1-alistair.francis@wdc.com> References: <20260522000324.23255-1-alistair.francis@wdc.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::62c; envelope-from=alistair23@gmail.com; helo=mail-pl1-x62c.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.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, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, 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 @gmail.com) X-ZM-MESSAGEID: 1779408440217158500 Content-Type: text/plain; charset="utf-8" From: Daniel Henrique Barboza This array has no uses left. Signed-off-by: Daniel Henrique Barboza Acked-by: Alistair Francis Message-ID: <20260512032926.1978818-8-daniel.barboza@oss.qualcomm.com> Signed-off-by: Alistair Francis --- target/riscv/cpu.h | 1 - target/riscv/cpu.c | 26 -------------------------- target/riscv/tcg/tcg-cpu.c | 4 ++-- 3 files changed, 2 insertions(+), 29 deletions(-) diff --git a/target/riscv/cpu.h b/target/riscv/cpu.h index f93d80ef22..b1bd69d4a9 100644 --- a/target/riscv/cpu.h +++ b/target/riscv/cpu.h @@ -992,7 +992,6 @@ typedef struct RISCVCPUMultiExtConfig { extern const RISCVCPUMultiExtConfig riscv_cpu_extensions[]; extern const RISCVCPUMultiExtConfig riscv_cpu_vendor_exts[]; extern const RISCVCPUMultiExtConfig riscv_cpu_experimental_exts[]; -extern const RISCVCPUMultiExtConfig riscv_cpu_named_features[]; =20 typedef struct isa_ext_data { const char *name; diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c index ecf31599c5..64e3fa4ef0 100644 --- a/target/riscv/cpu.c +++ b/target/riscv/cpu.c @@ -1411,32 +1411,6 @@ const RISCVCPUMultiExtConfig riscv_cpu_experimental_= exts[] =3D { { }, }; =20 -/* - * 'Named features' is the name we give to extensions that we - * don't want to expose to users. They are either immutable - * (always enabled/disable) or they'll vary depending on - * the resulting CPU state. - * - * Some of them are always enabled depending on priv version - * of the CPU and are declared directly in isa_edata_arr[]. - * The ones listed here have special checks during finalize() - * time and require their own flags like regular extensions. - * See riscv_cpu_update_named_features() for more info. - */ -const RISCVCPUMultiExtConfig riscv_cpu_named_features[] =3D { - MULTI_EXT_CFG_BOOL("zic64b", ext_zic64b, true), - MULTI_EXT_CFG_BOOL("ssstateen", ext_ssstateen, true), - MULTI_EXT_CFG_BOOL("sha", ext_sha, true), - - /* - * 'ziccrse' has its own flag because the KVM driver - * wants to enable/disable it on its own accord. - */ - MULTI_EXT_CFG_BOOL("ziccrse", ext_ziccrse, true), - - { }, -}; - static void cpu_set_prop_err(RISCVCPU *cpu, const char *propname, Error **errp) { diff --git a/target/riscv/tcg/tcg-cpu.c b/target/riscv/tcg/tcg-cpu.c index c3e354b0ae..8dea22bae5 100644 --- a/target/riscv/tcg/tcg-cpu.c +++ b/target/riscv/tcg/tcg-cpu.c @@ -454,7 +454,7 @@ static void riscv_cpu_disable_priv_spec_isa_exts(RISCVC= PU *cpu) } } =20 -static void riscv_cpu_update_named_features(RISCVCPU *cpu) +static void riscv_cpu_update_cfg(RISCVCPU *cpu) { if (cpu->env.priv_ver >=3D PRIV_VERSION_1_11_0) { cpu->cfg.has_priv_1_11 =3D true; @@ -1181,7 +1181,7 @@ void riscv_tcg_cpu_finalize_features(RISCVCPU *cpu, E= rror **errp) return; } =20 - riscv_cpu_update_named_features(cpu); + riscv_cpu_update_cfg(cpu); riscv_cpu_validate_profiles(cpu); =20 if (cpu->cfg.ext_smepmp && !cpu->cfg.pmp) { --=20 2.53.0 From nobody Sat May 30 17:46:17 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=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1779408510; cv=none; d=zohomail.com; s=zohoarc; b=b4SufmTuw1egOXCcQVIrZTVmojA6gojaFjKN3vVZ0yrRNhZP2WLxz/3GrfRcQKh79UM9oA6vT1Ucd8ymYf7PXAIFZVqsBGnq9j1v8XPn2Mz/OpdY8ijiWKRDehy+EtS2ELnOQibaEdGLFGD3WWY/4335cFJZRQ3cor8DE98PRGI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1779408510; 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=yD8fWSpMvnt/ynUYd2DzfjQir4S3kdV8v5Qh3BFmA/Q=; b=XH5NyesouTDJzTy1k/dPhlzxyMHA43ADdKMHDuZA/Sfej2aZ6v1FcHqJqbX7dXUolDEjFG/WZ3MWzYAEyyvvcQ/0y54EzNkURxl5h8sFnh7CFryeXVSJjVydwXv2cFApTC2RST3s1XJiWrOVCr5Jd5QrUqAQOOV6xnJKZT8CdCY= 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 1779408510470239.93530668601045; Thu, 21 May 2026 17:08:30 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wQDP3-0003TE-QB; Thu, 21 May 2026 20:06:16 -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 1wQDOH-0002hx-Iv for qemu-devel@nongnu.org; Thu, 21 May 2026 20:05:30 -0400 Received: from mail-pl1-x62d.google.com ([2607:f8b0:4864:20::62d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wQDOF-0004jb-36 for qemu-devel@nongnu.org; Thu, 21 May 2026 20:05:24 -0400 Received: by mail-pl1-x62d.google.com with SMTP id d9443c01a7336-2b45cb89f7eso45756525ad.0 for ; Thu, 21 May 2026 17:05:22 -0700 (PDT) Received: from toolbx.alistair23.me ([2403:581e:fdf9:0:6209:4521:6813:45b7]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2beb114b54csm3915475ad.42.2026.05.21.17.05.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 May 2026 17:05:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779408322; x=1780013122; 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=yD8fWSpMvnt/ynUYd2DzfjQir4S3kdV8v5Qh3BFmA/Q=; b=Xi5u5V0sU9QX9pcKUMSpCIoKI7xze5EGCyIPAfleNPCU5ut4PzlCGqxig5V9KDKkBG YJ5B0B5HLv5dwMkV/qVxHcWyl/577/Lwi01UONe58D7EXA3mfqjWOt/20ggdd+TZC4R2 lb+Dv226tcV1LdIFrSvfmKAYleM4FqGxFgdFr9cSv/d0MWBkFqSklkqA9PC24E22H423 MlRiMzdD7jWYAeRza48tcCxwV/9JNqiSgXkEZeQnvoki+3dSueDV5rtQ5WareS1ObgZT 7BNl6OE05APNs67P94SwLTrvNFV7Hmul7FdPBH8IHIeRpeoT6ckHl/gCPCnegAvDHaph j2HA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779408322; x=1780013122; 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=yD8fWSpMvnt/ynUYd2DzfjQir4S3kdV8v5Qh3BFmA/Q=; b=pmS1XGD5c/1a6WO7zGtzHWuiogH7Dnq0BylyLzxds6rJQYPRl8tP2LBMwyp+CBXFJk D0my4z0YBVr+Q2v1ub3E6FDNPcCAIjWygrI836DCdYS+qr3znfcJinvGuq/rc29bySWm aNWIqemfmlME89l07GOJhWv3EkbEe4HCDEKKsoTyjYq8yNuzXcQHK/ss/CIr5GT7Ia5P Mz3/v5SIgLcxSXDhtWBC6jsaHivywOuFyhznxWoeCTW1Pcc9/Du1JeVpX3kGUy1aw2hF RhbjyXYOZVZuWHvaZerQAPtyuKMyHUnJMgq/ObYMcTYipb6Usb18MfSMcEp2scHbRxGS tvhw== X-Gm-Message-State: AOJu0YzqIwlXtFJyfProH6zgsTnfGiJSz8JUF3H/B7eESerNnvDWPJgJ HoWaGS8qH8MQYe/u8c14SfnZCHCq+6Q44qTx586lTvDgDdP2r5S34oeAfTBffaUn X-Gm-Gg: Acq92OHBDDhEpWrY9DEsdWKQF8PMxqaBXsSk5lgpkUW/m6vzcajWCigAE+Mg/2GP6Bc /iT5ZdIK+73H5/H/6MqjNZy/ILne96bXRhIJ1hXmkY6d9W3FzYq9GlscqZk2tKmSb4eCqBiSVNf rqTz+c9D2wKeostMMR1rHrRszOJG+vdY3G17mbgd2KYcBBMJXUaeh7yQPBvLUUKq8NDXkEUfWQk DsLQEn9eQssn1V5b+QWsCMNFoCGkb5rXKyJuudSVIqxcnPSPwm+zmaED0HffIggTz9lYOBeMiPC 9cElb3WWunXJVAIGTwae9OE2LACRqoP+zIZwbRxEzuNtoizW2p7ReNKxetXtSaigBpY9lvr+1Fp l0N2qUUZupI0f63y3Y+W1Ng2ihfwtVEz/T/quh2F3KyyYZ4q1EI+HJdyaNrdMyaOreoJT7Js4mD XhLV+j6wjreT0i6mGyles7JrPBVOa0jNxWwcN+W2WqGw== X-Received: by 2002:a17:902:e78e:b0:2bd:657f:3a1b with SMTP id d9443c01a7336-2beb065d2b3mr9730595ad.40.1779408321639; Thu, 21 May 2026 17:05:21 -0700 (PDT) From: alistair23@gmail.com X-Google-Original-From: alistair.francis@wdc.com To: qemu-devel@nongnu.org Cc: alistair23@gmail.com, Daniel Henrique Barboza , Alistair Francis Subject: [PULL 33/48] target/riscv/tcg: use isa_edata_arr[] in riscv_cpu_update_misa_x() Date: Fri, 22 May 2026 10:03:09 +1000 Message-ID: <20260522000324.23255-34-alistair.francis@wdc.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260522000324.23255-1-alistair.francis@wdc.com> References: <20260522000324.23255-1-alistair.francis@wdc.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::62d; envelope-from=alistair23@gmail.com; helo=mail-pl1-x62d.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.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, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, 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 @gmail.com) X-ZM-MESSAGEID: 1779408512537158500 Content-Type: text/plain; charset="utf-8" From: Daniel Henrique Barboza The non-standard extensions, in this particular function the vendor extensions, are all riscv,isa names that starts with 'x'. In theory this is a bit slower than using riscv_cpu_vendor_exts (isa_edata_arr is longer) but riscv_cpu_update_misa_x() is executed only once during finalize(), i.e. not a hot path. We're accepting a tiny performance hit as as a tradeoff for the code simplication we'll have later by removing all riscv_cpu_* arrays. Signed-off-by: Daniel Henrique Barboza Acked-by: Alistair Francis Message-ID: <20260512032926.1978818-9-daniel.barboza@oss.qualcomm.com> Signed-off-by: Alistair Francis --- target/riscv/tcg/tcg-cpu.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/target/riscv/tcg/tcg-cpu.c b/target/riscv/tcg/tcg-cpu.c index 8dea22bae5..b7d59f40f2 100644 --- a/target/riscv/tcg/tcg-cpu.c +++ b/target/riscv/tcg/tcg-cpu.c @@ -1155,10 +1155,11 @@ static void riscv_cpu_update_misa_c(RISCVCPU *cpu) static void riscv_cpu_update_misa_x(RISCVCPU *cpu) { CPURISCVState *env =3D &cpu->env; - const RISCVCPUMultiExtConfig *arr =3D riscv_cpu_vendor_exts; + const RISCVIsaExtData *edata; =20 - for (int i =3D 0; arr[i].name !=3D NULL; i++) { - if (isa_ext_is_enabled(cpu, arr[i].offset)) { + for (edata =3D isa_edata_arr; edata && edata->name; edata++) { + if (edata->name[0] =3D=3D 'x' + && isa_ext_is_enabled(cpu, edata->ext_enable_offset)) { riscv_cpu_set_misa_ext(env, env->misa_ext | RVX); break; } --=20 2.53.0 From nobody Sat May 30 17:46:17 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=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1779408593; cv=none; d=zohomail.com; s=zohoarc; b=Vydl0RTYV2oqcNMxgbMiXtpt9CG6B6ZwLAaaZLtLT/w4aO3s9MzGIGFr2i9ccXIgWUkzqRTjovL0Jw4llUrZLLbya853ty2+Y114WWy/FNcHKuJ6fnVQIJQYJF5WW//IZoAUQhQt1VaBrC3P0kfGIsbse+wDcK5JLbrarSrKPL0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1779408593; 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=j+87QTMcfFX2FyZwbh4AAcXaUu5KgnVrJc22KYW3tTY=; b=BUda4EdPRRACu0cg41X7w1AG4eBdMb8DT7ETwaT6rdncMH6SFvv+tR/RjMFmMbvzY0+DWDZUKDTjmasz1GZCHv/BKGuKegwQGHfEMo0nFtFFYGA5mUqVO+VEB/wVxMkvbS+XxVFAzCQgNY6+D3adGnEajN2EDqUwZLn2VGFrnWE= 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 1779408593397539.3137383112277; Thu, 21 May 2026 17:09:53 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wQDPd-0004Zz-TF; Thu, 21 May 2026 20:06:59 -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 1wQDOP-0002xW-5I for qemu-devel@nongnu.org; Thu, 21 May 2026 20:05:40 -0400 Received: from mail-pl1-x62a.google.com ([2607:f8b0:4864:20::62a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wQDOH-0004k2-P4 for qemu-devel@nongnu.org; Thu, 21 May 2026 20:05:27 -0400 Received: by mail-pl1-x62a.google.com with SMTP id d9443c01a7336-2bc763e2ba8so32886155ad.3 for ; Thu, 21 May 2026 17:05:25 -0700 (PDT) Received: from toolbx.alistair23.me ([2403:581e:fdf9:0:6209:4521:6813:45b7]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2beb114b54csm3915475ad.42.2026.05.21.17.05.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 May 2026 17:05:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779408324; x=1780013124; 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=j+87QTMcfFX2FyZwbh4AAcXaUu5KgnVrJc22KYW3tTY=; b=onDoiNjBTDlyw+L4pgnjz60zk10aAuRMuRcr8IE6u8xuFFM02rGflkxnJ5/G3gU3gB +75I5YGzEK1ZmYH50jrnBXztYagXihYnUM6KuMx9MsufFJAo6veta+GcaBpsRjovKDa7 Jrx0b6sdJJMcHqIf/o4CqU+0ol6voVdA3qwdZNhYlBT/7dtdMqWfZ0H+QMKLjX1AxAsa U7k/ZQArFvyGLQxmCGo5AiBadPF9R6bCaRlKDBBmgsEYj/jx6TptxpnGQElgRDLgCHIO pfwW7lR6pz/mt2NAdq6fKYWRCPtKN88x2YjkZmxfidvnTabp8/ad84I/s77eGoXMfCdl qc+w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779408324; x=1780013124; 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=j+87QTMcfFX2FyZwbh4AAcXaUu5KgnVrJc22KYW3tTY=; b=aeIixnHqu48o0wIPw6jGNT7YvyuHWyHgcwOOK0yUd3tDBjj9sKBg+zKdo2UL3PqqvE ck9e0DsOBZmZi7ijlJaH/Ke/OxOhd30KevO09q4D/wadx91qewItIo/bg7jK38J+ZTlt EgITFYENqk5ZgoPjxnlelV+/1wD1RFto9cjDaBhDxr/4+GP3ZV/jRdwgqeVQrJFF/39x Nw16fs8RaDPN+78nkm7d70yW+XK1Ys0GNFoyLp1VG02O4f0xvTpZMtXnxT51eZG1sIRX JP0hoq1xCWhccjNBlnIxZoZ+ghsCPTzwNA0W0UpLt/ZFFD9n3hQFswiAkbxE0RNqg3C6 IeVA== X-Gm-Message-State: AOJu0YwEoKlwdSL0QW+CpgdNIoSEoF+etazlVIs9RBTdoZfJDcx5FaEA XlXw65XRpabTNFqDUDiGdHuiP/v3kyZjE8LW1f026ETCSH1BMl11dG5RMwqIASla X-Gm-Gg: Acq92OHyN+veulQ1nxWzchZNUwyVsvTd1q2SnCcSu/RSZvPJgpHRlGJ5IJlFtXws8NG Yxv/zW228snmAssI8Vst+IpKgD7JF+WwPQ+9mL0CEJFSSIW9f3N0r1Lh6zHF1rO3vFeVpcAjxVH O/ymvgBDFtP7X9GvRU8WlpPl2eKAqvuDb295Gge2RdzNCK6j7g0tTxtm7u8+og9CiJ0bYnPzmMF EJu1C1GYTfnfje/vlqGXPf/zrtyw8gklH4K5SpxaUdblJFy6VwFO1GnnxP59lLaADtL4NJ437gV PVdXfgLa4z1g7miUoNBzOSpxtryIBwReM7lBj4QE4qqBlL+nnTMcb9DM+BSTS10hzgf8NH+dYI6 rwUGTLETPa1ANbL9A6B9pe0bzfZXysvKYTTpUnlMq0bHjKXMO32RnSpIQG9CyFY2w/jK+7HvSQ6 hjf3A0LirBJSKHGZA0zbHKL1z01zdlk1veLwe8Vw9OsOrFFMBz/HSf X-Received: by 2002:a17:902:e74f:b0:2b2:58c7:2ce1 with SMTP id d9443c01a7336-2beb07da2dcmr9938835ad.36.1779408324479; Thu, 21 May 2026 17:05:24 -0700 (PDT) From: alistair23@gmail.com X-Google-Original-From: alistair.francis@wdc.com To: qemu-devel@nongnu.org Cc: alistair23@gmail.com, Daniel Henrique Barboza , Alistair Francis Subject: [PULL 34/48] target/riscv/kvm: use isa_edata_arr[] for unavailable props Date: Fri, 22 May 2026 10:03:10 +1000 Message-ID: <20260522000324.23255-35-alistair.francis@wdc.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260522000324.23255-1-alistair.francis@wdc.com> References: <20260522000324.23255-1-alistair.francis@wdc.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::62a; envelope-from=alistair23@gmail.com; helo=mail-pl1-x62a.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.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, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, 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 @gmail.com) X-ZM-MESSAGEID: 1779408594894158500 Content-Type: text/plain; charset="utf-8" From: Daniel Henrique Barboza Use isa_edata_arr[] directly instead of going through 3 different arrays to populate the unavailable KVM properties. Signed-off-by: Daniel Henrique Barboza Acked-by: Alistair Francis Message-ID: <20260512032926.1978818-10-daniel.barboza@oss.qualcomm.com> Signed-off-by: Alistair Francis --- target/riscv/kvm/kvm-cpu.c | 25 ++++++++++--------------- 1 file changed, 10 insertions(+), 15 deletions(-) diff --git a/target/riscv/kvm/kvm-cpu.c b/target/riscv/kvm/kvm-cpu.c index 34f60bd80c..17ba38403a 100644 --- a/target/riscv/kvm/kvm-cpu.c +++ b/target/riscv/kvm/kvm-cpu.c @@ -535,20 +535,9 @@ static void riscv_cpu_add_kvm_unavail_prop(Object *obj= , const char *prop_name) NULL, (void *)prop_name); } =20 -static void riscv_cpu_add_kvm_unavail_prop_array(Object *obj, - const RISCVCPUMultiExtConfig *arra= y) -{ - const RISCVCPUMultiExtConfig *prop; - - g_assert(array); - - for (prop =3D array; prop && prop->name; prop++) { - riscv_cpu_add_kvm_unavail_prop(obj, prop->name); - } -} - static void kvm_riscv_add_cpu_user_properties(Object *cpu_obj) { + const RISCVIsaExtData *edata; int i; =20 riscv_add_satp_mode_properties(cpu_obj); @@ -582,9 +571,15 @@ static void kvm_riscv_add_cpu_user_properties(Object *= cpu_obj) NULL, multi_cfg); } =20 - riscv_cpu_add_kvm_unavail_prop_array(cpu_obj, riscv_cpu_extensions); - riscv_cpu_add_kvm_unavail_prop_array(cpu_obj, riscv_cpu_vendor_exts); - riscv_cpu_add_kvm_unavail_prop_array(cpu_obj, riscv_cpu_experimental_e= xts); + /* + * Mark all isa_edata_arr properties that collides with + * a KVM property as unavailable. + */ + for (edata =3D isa_edata_arr; edata && edata->name; edata++) { + if (edata->prop_name) { + riscv_cpu_add_kvm_unavail_prop(cpu_obj, edata->prop_name); + } + } =20 /* We don't have the needed KVM support for profiles */ for (i =3D 0; riscv_profiles[i] !=3D NULL; i++) { --=20 2.53.0 From nobody Sat May 30 17:46:17 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=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1779408512; cv=none; d=zohomail.com; s=zohoarc; b=MpnPAhemDS60QO5EwXMvvxS6+veIS+NUmfyAhv5t/WIRc/rzCzXIpB24w7z7FNFOmM082rCcm+hmu1uCcH7dlvL+gBrHKTaGsjasFiOsQX6GnrJbdkujG4ewzOHNwXXZOwAjBDqShS2nWUjOOGi9/+xM7fO5O9IPnwak6c6OpjA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1779408512; 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=U9JBdFb8MfQaCnWXCpU/y4W6ZpR7jAtIYTHy49SGUZA=; b=bg8YDO1Zkd7VFh0Z+9rMGu5Kc6JaQziiniKjG+5LRZ4MKu6yr8eC55ghFLsIL7LGAbJtMQkBfeU7j0nBiv3TtpWtpdG9LCUqi5aF/tIQWgb/LMU1/P9Rn9aEmUkznofg72TZGrtTjk/S9Qx1d+DKffHx1JUGcyhQrByswmCNfxw= 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 1779408512384620.0594665000222; Thu, 21 May 2026 17:08:32 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wQDQe-0006Df-1t; Thu, 21 May 2026 20:07:55 -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 1wQDOQ-0002xc-CF for qemu-devel@nongnu.org; Thu, 21 May 2026 20:05:40 -0400 Received: from mail-pl1-x630.google.com ([2607:f8b0:4864:20::630]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wQDOL-0004kf-P0 for qemu-devel@nongnu.org; Thu, 21 May 2026 20:05:34 -0400 Received: by mail-pl1-x630.google.com with SMTP id d9443c01a7336-2bccb978bd9so46070475ad.0 for ; Thu, 21 May 2026 17:05:28 -0700 (PDT) Received: from toolbx.alistair23.me ([2403:581e:fdf9:0:6209:4521:6813:45b7]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2beb114b54csm3915475ad.42.2026.05.21.17.05.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 May 2026 17:05:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779408327; x=1780013127; 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=U9JBdFb8MfQaCnWXCpU/y4W6ZpR7jAtIYTHy49SGUZA=; b=sm8E5sL8WwD1Fh7OSiC0/rLDpZgFVdrsghnYRwS/EhkPIGiGC+vgSwevX/Ng+JAn7s yGjFZlZkM2JXL5SHuzXYGZwfrar85ft9yXdUsK8Hamye7Qm3LPCQ2LT2uqunEspIpKgQ WTpgR+PEJGdQeQ0DwGgzSbsaZUfjoKMqAEB53nuEMM0qjiaQx1C5acRdUhtO+bo/YoAw KDIVFG4fapl2pUwfpAAypOP5/87m5eZsx/DH7930DGQuC3Hn5MPDbeqPgxHKK8XB6Z38 9/25UcGvPKx3eGRfVvYg56zxede+jmBElEK1g4RJPtR7701h9w+QbIJueYsgZvL4kvnK 7EtQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779408327; x=1780013127; 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=U9JBdFb8MfQaCnWXCpU/y4W6ZpR7jAtIYTHy49SGUZA=; b=FTZso4y5iQhKBZeu4iCV4uK1chABCE8XIu887n/HI6jXwBL9rM+zZpZYHaSDnC1s8C /i6VBGSvu8Q+GsFOQTE4SxhvIVNI2bBZ+SLCTXml1MsJUsxlAadIgb2euhts2hgjeRN2 v0WxKRJhw3CrLfrDkh2GB1VQJLUQlOa2uYcy0g2S66s6EGO7/F/31+aUuc3njWip0DQ3 4yIXIvJYvkef6c3zU361dVm1Y7XlyI+5jFhXCvJ8BeNjLkduZN9Fl6XpYsNIHA6Xo7Er ek6Sp1tc/ryVROAuusSaCsamADUFP1fRP/t9pCbkBB14CvY1imEb9/jKXFIlS7Eca2XM FV4g== X-Gm-Message-State: AOJu0YwysJ/ioqMGSrvYU25x++vP36+201nCNdoHcq85RhEVCQT3WKPn DgO2u8Gvc1PC2xsuu/hCxNapaV3cdzyafSop/ANjHVGGC13BWKFRP85JY4U7OySu X-Gm-Gg: Acq92OGiAgPQSXw7qTwC3QQnh4WzS7yLVW62cLXgYYN15whh4EAdNEythTWjh98tuy/ XcZDHEXAWZucT4r56Twlnmn6Yc6gpL53lWJI94pWG+xLBqho3zRaZfJprHvoU6+tb5/u0S4HxbE 0aCmkdr9BJrAFEvs0JVn/9yZn8DqjjzPxUb7LdQP8BTU1IMK9wWux/gSEgRu44oPVPKrjj+eg/N 0S8hPXJu8XRICuodFgcgxaUmbu3UsPMQYl+rX3fz/0iyArTu4HM5WG5VsLJM5ohdnZt2/AE/Ozz ZDLb7XJET5U3m+92fO+DBqb7Z3LuOvZLPfzQ2nnZ3CcPZ9X7lJ4+01mYlsUr1CtejZ355fdeOBS 1VPPrVUORhkC2krDki2INC89oaAq3T/aiR8bj8YD/q86KgbL8DIK8x/pGVeI+La2KfJd57T+OVL g7FtclEG49haQwgiHICrh+kVDosZ+Dr3qWk1pJek1X1TTb6vuyR+A4 X-Received: by 2002:a17:902:e78e:b0:2bc:977b:846d with SMTP id d9443c01a7336-2beb07b5161mr7131415ad.5.1779408327346; Thu, 21 May 2026 17:05:27 -0700 (PDT) From: alistair23@gmail.com X-Google-Original-From: alistair.francis@wdc.com To: qemu-devel@nongnu.org Cc: alistair23@gmail.com, Daniel Henrique Barboza , Alistair Francis Subject: [PULL 35/48] target/riscv/tcg: use isa_edata_arr[] to enable max exts Date: Fri, 22 May 2026 10:03:11 +1000 Message-ID: <20260522000324.23255-36-alistair.francis@wdc.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260522000324.23255-1-alistair.francis@wdc.com> References: <20260522000324.23255-1-alistair.francis@wdc.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::630; envelope-from=alistair23@gmail.com; helo=mail-pl1-x630.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.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, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, 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 @gmail.com) X-ZM-MESSAGEID: 1779408512514158500 Content-Type: text/plain; charset="utf-8" From: Daniel Henrique Barboza Use isa_edata_arr[] to enable all feasible extensions. Filter experimental and vendor extensions by checking if the riscv,isa or the prop name starts with 'x'. Signed-off-by: Daniel Henrique Barboza Acked-by: Alistair Francis Message-ID: <20260512032926.1978818-11-daniel.barboza@oss.qualcomm.com> Signed-off-by: Alistair Francis --- target/riscv/tcg/tcg-cpu.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/target/riscv/tcg/tcg-cpu.c b/target/riscv/tcg/tcg-cpu.c index b7d59f40f2..eb48a76a6d 100644 --- a/target/riscv/tcg/tcg-cpu.c +++ b/target/riscv/tcg/tcg-cpu.c @@ -1614,13 +1614,18 @@ static void riscv_init_max_cpu_extensions(Object *o= bj) { RISCVCPU *cpu =3D RISCV_CPU(obj); CPURISCVState *env =3D &cpu->env; - const RISCVCPUMultiExtConfig *prop; + const RISCVIsaExtData *edata; =20 /* Enable RVG and RVV that are disabled by default */ riscv_cpu_set_misa_ext(env, env->misa_ext | RVB | RVG | RVV); =20 - for (prop =3D riscv_cpu_extensions; prop && prop->name; prop++) { - isa_ext_update_enabled(cpu, prop->offset, true); + for (edata =3D isa_edata_arr; edata && edata->name; edata++) { + if (edata->name[0] =3D=3D 'x' + || (edata->prop_name && edata->prop_name[0] =3D=3D 'x')) { + continue; + } + + isa_ext_update_enabled(cpu, edata->ext_enable_offset, true); } =20 /* --=20 2.53.0 From nobody Sat May 30 17:46:17 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=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1779408716; cv=none; d=zohomail.com; s=zohoarc; b=cRV9LCsO5JQmJTwtfRUoNG/ObsvnMZwaOhW370o+hQMp9XsQllDgSWPB5qGM2OqdJLnyHn8+aDLJwMVGJfptPPmi5XnYibM1qwTgb3/ji4AbeIVfnlElcfY1lIKEum5Utp/l4wNZIXOEASetYwVidpuyZj+GVIJMW6JDhzaQ9T0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1779408716; 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=HMTCEA+VZyNulHLWiJGLsQAKOr4i9pEs4NabySUgtM8=; b=cYwhwbRkb83zsENKyP8wY7SJAIKRwzs9ynpjpx089BQNzPRmxkobfqL7gNaLj6t8mkn+1JoUjJK0iRa7N50E2NDFWpqZEq/+wb652MNQbaXVWIVtIyHbBi7/u1tJ46f1TY6UlUcFbWv2Xd0FnljGyUUhFfXkgoJOcuwSldD2mmg= 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 1779408716682321.6694584694534; Thu, 21 May 2026 17:11:56 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wQDQy-0006fn-EB; Thu, 21 May 2026 20:08:15 -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 1wQDOV-0002ya-1R for qemu-devel@nongnu.org; Thu, 21 May 2026 20:05:41 -0400 Received: from mail-pl1-x62f.google.com ([2607:f8b0:4864:20::62f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wQDOP-0004kw-DJ for qemu-devel@nongnu.org; Thu, 21 May 2026 20:05:37 -0400 Received: by mail-pl1-x62f.google.com with SMTP id d9443c01a7336-2be75f658f3so22072575ad.1 for ; Thu, 21 May 2026 17:05:31 -0700 (PDT) Received: from toolbx.alistair23.me ([2403:581e:fdf9:0:6209:4521:6813:45b7]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2beb114b54csm3915475ad.42.2026.05.21.17.05.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 May 2026 17:05:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779408330; x=1780013130; 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=HMTCEA+VZyNulHLWiJGLsQAKOr4i9pEs4NabySUgtM8=; b=rJurYL6YRlXGwGFuJgGXOKb5fUZHGXTgqUEazziTLZ7ZKtmr1tvou599IVvS7euV+E hEudYEWx1sJNxjsM9MfKB8Z68NWryNhKWnrVM9zcEa10LkxUS2MF34HvIB47FQ4JqEl9 QhnDAOJgG2OZO/ygTkfZjVlDErlhoew/QuztRTpmTsRJ/gymcqPrsTp7kHvtLFJT0b0Y qJl8aOYXEC4C6jj1INr0+Xymh+5j6QLSvaImcFUB/bGlJgEo01XH2h+4Op6cIjUhLbsn o9T0Ji4ZWKEqlVMJr+PtMJqQ02M+29da4o5k8pe0EgAs1ich3Tyibmj1ACXTXpYGwhW8 wOgw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779408330; x=1780013130; 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=HMTCEA+VZyNulHLWiJGLsQAKOr4i9pEs4NabySUgtM8=; b=LyiM8mUNE9DWQcYN2a+gC63yeai5yTk8XOt4x/A/KwVCHViORzEQE3WsrpTnS/loXN 3UOE9wPBnupq7Qa5s8WPJfpMNT9N9DMFywe7TRcOZO+HbD9RDH58lJNNyOJ4/8dnmQpK wa1O4OFflu7JDB2U4BIho7vp+KielBzkWOLtTvZXkDPAaFHH9ElUTyMByYsNSRSh7WoL RAYnJj4WaXvORjYCpkaOkAcdmzohHe/uzyc9Ub5yd3raKs0Rt16AuSblPShXdZvXZCoO 171cjET7cr2yVhSLPs8oRCFF8z4XeHj16SJz470Apd9o7WDW1qGVYwjQ+7dBAqyNuVQk w7Bw== X-Gm-Message-State: AOJu0Yx1ZloTxzCwrayVYG7j+REfgQngO1/OkApAmuP8afMsy8aIxBSC uDIWxWzfV2yvPhgWDRUjqooCa7iyKwfyNz28lh+WfIYui8sgMsgSqQjAVh0dxWWv X-Gm-Gg: Acq92OH94DZFxJN81F2ZfZlJXFh3m5k+pHETZL4pKbP+Btl/lgJRfFe6dVZEF8vH0SV RPIJiguurVjtPX3co8aqb5p/J0ynGwmcKZ1pH0G6fflIq013Gn8V5+jKIhL2l5AFu1hVW1xhmYy IjS5FzPQq3GW684Ap4CXrfFMaifRJR1DzKSPZgFFZtWiSDHLXZ/psi4GwQXMh3v5U27jaR6azuL ZazdTN5KfO+yVX3OGH7nieNnIsoj7SYcxkyP9KgGUyC/VrIpinE6fKedcNiXTM+Ycb8ueE0Rxvt rg0ZXwDITsViN3mPfeRoxcSXAPoeTpy2zpFNR7RebCDeYjaSPmO3uhtRTlg7O7EvwTq8UBsFqqF PiD+S3ks3gEU0Of8OwiPaPD1iMawxG1yqwHfE/50vIFd9s46VbMNT+GyXBDlyjLF3EqwXdKaHEL 63Cxyqk/zH5WfenZ8dkWVcK+F4seIDikqt7tA2rJ9QNQ== X-Received: by 2002:a17:902:e74b:b0:2ba:359a:9b8e with SMTP id d9443c01a7336-2beb06bddd3mr10398135ad.10.1779408330569; Thu, 21 May 2026 17:05:30 -0700 (PDT) From: alistair23@gmail.com X-Google-Original-From: alistair.francis@wdc.com To: qemu-devel@nongnu.org Cc: alistair23@gmail.com, Daniel Henrique Barboza , Alistair Francis Subject: [PULL 36/48] target/riscv/tcg: use cfg_offset as cpu_set_multi_ext cb opaque Date: Fri, 22 May 2026 10:03:12 +1000 Message-ID: <20260522000324.23255-37-alistair.francis@wdc.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260522000324.23255-1-alistair.francis@wdc.com> References: <20260522000324.23255-1-alistair.francis@wdc.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::62f; envelope-from=alistair23@gmail.com; helo=mail-pl1-x62f.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.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, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, 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 @gmail.com) X-ZM-MESSAGEID: 1779408717372158500 Content-Type: text/plain; charset="utf-8" From: Daniel Henrique Barboza The cpu_get_multi_ext_cfg/cpu_set_multi_ext_cfg callbacks are using a RISCVCPUMultiExtConfig pointer as opaque, but internally we're just using multi_ext_cfg->offset. Use multi_ext_cfg->offset as opaque instead. Signed-off-by: Daniel Henrique Barboza Acked-by: Alistair Francis Message-ID: <20260512032926.1978818-12-daniel.barboza@oss.qualcomm.com> Signed-off-by: Alistair Francis --- target/riscv/tcg/tcg-cpu.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/target/riscv/tcg/tcg-cpu.c b/target/riscv/tcg/tcg-cpu.c index eb48a76a6d..50d9218a75 100644 --- a/target/riscv/tcg/tcg-cpu.c +++ b/target/riscv/tcg/tcg-cpu.c @@ -1510,8 +1510,8 @@ static void riscv_cpu_add_profiles(Object *cpu_obj) static void cpu_set_multi_ext_cfg(Object *obj, Visitor *v, const char *nam= e, void *opaque, Error **errp) { - const RISCVCPUMultiExtConfig *multi_ext_cfg =3D opaque; RISCVCPU *cpu =3D RISCV_CPU(obj); + uint32_t cfg_offset =3D *(uint32_t *)opaque; bool vendor_cpu =3D riscv_cpu_is_vendor(obj); bool prev_val, value; =20 @@ -1519,9 +1519,9 @@ static void cpu_set_multi_ext_cfg(Object *obj, Visito= r *v, const char *name, return; } =20 - cpu_cfg_ext_add_user_opt(multi_ext_cfg->offset, value); + cpu_cfg_ext_add_user_opt(cfg_offset, value); =20 - prev_val =3D isa_ext_is_enabled(cpu, multi_ext_cfg->offset); + prev_val =3D isa_ext_is_enabled(cpu, cfg_offset); =20 if (value =3D=3D prev_val) { return; @@ -1535,17 +1535,17 @@ static void cpu_set_multi_ext_cfg(Object *obj, Visi= tor *v, const char *name, } =20 if (value) { - cpu_bump_multi_ext_priv_ver(&cpu->env, multi_ext_cfg->offset); + cpu_bump_multi_ext_priv_ver(&cpu->env, cfg_offset); } =20 - isa_ext_update_enabled(cpu, multi_ext_cfg->offset, value); + isa_ext_update_enabled(cpu, cfg_offset, value); } =20 static void cpu_get_multi_ext_cfg(Object *obj, Visitor *v, const char *nam= e, void *opaque, Error **errp) { - const RISCVCPUMultiExtConfig *multi_ext_cfg =3D opaque; - bool value =3D isa_ext_is_enabled(RISCV_CPU(obj), multi_ext_cfg->offse= t); + uint32_t cfg_offset =3D *(uint32_t *)opaque; + bool value =3D isa_ext_is_enabled(RISCV_CPU(obj), cfg_offset); =20 visit_type_bool(v, name, &value, errp); } @@ -1558,7 +1558,7 @@ static void cpu_add_multi_ext_prop(Object *cpu_obj, object_property_add(cpu_obj, multi_cfg->name, "bool", cpu_get_multi_ext_cfg, cpu_set_multi_ext_cfg, - NULL, (void *)multi_cfg); + NULL, (void *)&multi_cfg->offset); =20 if (!generic_cpu) { return; --=20 2.53.0 From nobody Sat May 30 17:46:17 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=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1779408580; cv=none; d=zohomail.com; s=zohoarc; b=TDnZLaxNXzNzTDxnBtuUwDmyx8F6FTQhiZdXFBc9JmLLMSoH0LiP+5Ujrjzgz7OdR/ytPoWAKCiYQWcY3hekntFkigq26lK0/k9gIc1B3omSInT3aGrJbXmY315eniFaNVeRMC8j533UGR1E4qrPpupAdwJXrnNWGy8oFF534M4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1779408580; 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=AdRCTKqwYjAfoCGZfOYovk2SgjN3/GdS8UdccC2w3yQ=; b=SfSmtuw2HovNN9BPo/dgRLcD+4o59kQVX9Xw1CAR4xp4qum83uaY7ybIlkGQ4qSB8Sss/gwy2d8tLXs6CQx1KNk9mWArbSdJtcvISQJL99+pRo1N6JNbX0O4YHlnJVd2qtl2Fkoe51/Hnz5gcdniKX6GFBAbkleGlxoU9Krb2HU= 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 1779408580220137.70006996378288; Thu, 21 May 2026 17:09:40 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wQDQQ-0005oY-Af; Thu, 21 May 2026 20:07:38 -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 1wQDOZ-00031Q-QY for qemu-devel@nongnu.org; Thu, 21 May 2026 20:05:47 -0400 Received: from mail-pg1-x533.google.com ([2607:f8b0:4864:20::533]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wQDOU-0004lU-QH for qemu-devel@nongnu.org; Thu, 21 May 2026 20:05:41 -0400 Received: by mail-pg1-x533.google.com with SMTP id 41be03b00d2f7-c82de129a40so2968004a12.1 for ; Thu, 21 May 2026 17:05:34 -0700 (PDT) Received: from toolbx.alistair23.me ([2403:581e:fdf9:0:6209:4521:6813:45b7]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2beb114b54csm3915475ad.42.2026.05.21.17.05.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 May 2026 17:05:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779408334; x=1780013134; 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=AdRCTKqwYjAfoCGZfOYovk2SgjN3/GdS8UdccC2w3yQ=; b=Y67NNsT57fp6oFVEnTmeytgOZq6QtFqFyMI16OdRIwpuBEnNsatAJEFqLIzYXiAbeW Xz9idmyENphg42CNOgH3AxUbbYPl4Lw6W88lECoRHWlDrSlHM8McrriavZIL4XnD7kEv deCHz+bfz8/fimseKfHTUPJReGenFsu2IkQofPLjzt/kTOiDJsbBCnBna9g3/XCea9TW gZJ7DNWgT/Y7LrK91lzNCyYaXUQbad/uv7+43rrmBDRwNUbHGFzgfzP+zzcuV9pJHQYU A9c7QP1UCq3GjVcwQsYrSo6WHXKtLU6e5b5KuCIV3JFbPJHGJvSuonYwDVdHLsW/0yKH 5saA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779408334; x=1780013134; 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=AdRCTKqwYjAfoCGZfOYovk2SgjN3/GdS8UdccC2w3yQ=; b=sauQczkIbKgzik0gX+ZHvhHCi3NfqTOMS6GrKTCH3YYwBOzHpWrxzt+DNCzf3G5mAv 7rS4xn8e7730XoxB5mU2JjFv7CngJorzjTbksp5hnJdS2ltLK/mx3ppxLYsnhk5vM0Ni MtTSvUqU5/TEtjmYWatkurIfn2WHP7uj1zSAfod/uwytChIeLfglP1i7Srbd7lb+6sXn 13raXhEXu/ADzeNi8Ed4pGG56ak8UNJtkTkFLU0LYZpvAS7q2dtjjtyUf9kK9o+ahlcR fAvA5Pg9j0TzZCfMP0zMz/kJZ1phW0lc6ejlYaSa22V35HRF7U5Lu5lg/FC7WCLXg5lc 9iug== X-Gm-Message-State: AOJu0YyQLmqA/FPnzAQbvmB3yOO0KsOSeNP3FXFczTywTodrzXj7pANQ TdGnlkE8K+fyBr6O/yTalRJtVEijAYjls3mT2ZC+CulE+8qlL4YsmJos8s7Sdj76 X-Gm-Gg: Acq92OGgedcVPPEldeDJjOqir8WeZdm/gRoSJJR3HsupAtfNki8jIJrl+C3SgA198xO 0/c8BEkU1U30Ls2WER25KZ3ODA7L/cnm+kWKi7qlK+IhQTa6fIq+ReRMRL75JBLJTgFEPmiRtIQ //xVyL5acZ+oFtOQHm2ucmlgKy7gX9HTri7DcgrK8ppF65CykDocCXNvbdSl+CgrYk3ZtUeH8kt ilXky0bUVrUu5y4FfmNivGdF4ddHlt/RCuduldDdlgAX6odn+VGuyc45HfFk3Chh9t+xapDQ4UB 6YFTeYg5358qxRQR5E+R4E0X0vmfVqoSf48zuZP53rPqrkMGZRFBZBOeLLyAdnN5e94dOoWqmWD obT+58KCT+XwXQOZL3f+fvFA7wH7USz/dvvUNt6METKHKXFGErYX9AvwtNwGbOsp+bhQKsNGisz 4yj8ShXWfNRsYuJG9RG7dlFiWx8TAy3EoxJ5OPXwcHzmI/l2kS4T7v X-Received: by 2002:a17:903:2b0c:b0:2ae:825b:49a5 with SMTP id d9443c01a7336-2beb0582ba0mr10821545ad.0.1779408333838; Thu, 21 May 2026 17:05:33 -0700 (PDT) From: alistair23@gmail.com X-Google-Original-From: alistair.francis@wdc.com To: qemu-devel@nongnu.org Cc: alistair23@gmail.com, Daniel Henrique Barboza , Alistair Francis Subject: [PULL 37/48] target/riscv: do not set defaults in cpu prop callback Date: Fri, 22 May 2026 10:03:13 +1000 Message-ID: <20260522000324.23255-38-alistair.francis@wdc.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260522000324.23255-1-alistair.francis@wdc.com> References: <20260522000324.23255-1-alistair.francis@wdc.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::533; envelope-from=alistair23@gmail.com; helo=mail-pg1-x533.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.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, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, 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 @gmail.com) X-ZM-MESSAGEID: 1779408582817158500 Content-Type: text/plain; charset="utf-8" From: Daniel Henrique Barboza Do not rely on riscv_cpu_* arrays to set rv32/rv64 CPU defaults - add them to the CPU definition like we do with all other CPUs (aside from 'max'). Signed-off-by: Daniel Henrique Barboza Acked-by: Alistair Francis Message-ID: <20260512032926.1978818-13-daniel.barboza@oss.qualcomm.com> Signed-off-by: Alistair Francis --- target/riscv/cpu.c | 40 ++++++++++++++++++++++++++++++++++++++ target/riscv/tcg/tcg-cpu.c | 14 ------------- 2 files changed, 40 insertions(+), 14 deletions(-) diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c index 64e3fa4ef0..5d3383f335 100644 --- a/target/riscv/cpu.c +++ b/target/riscv/cpu.c @@ -3076,6 +3076,26 @@ static const TypeInfo riscv_cpu_type_infos[] =3D { DEFINE_RISCV_CPU(TYPE_RISCV_CPU_BASE32, TYPE_RISCV_DYNAMIC_CPU, .cfg.max_satp_mode =3D VM_1_10_SV32, .misa_mxl_max =3D MXL_RV32, + + /* Default extensions as of QEMU 11.1. */ + .cfg.ext_zicbom =3D true, + .cfg.ext_zicbop =3D true, + .cfg.ext_zicboz =3D true, + .cfg.ext_zicntr =3D true, + .cfg.ext_zicsr =3D true, + .cfg.ext_zifencei =3D true, + .cfg.ext_zihintntl =3D true, + .cfg.ext_zihintpause =3D true, + .cfg.ext_zihpm =3D true, + .cfg.ext_zawrs =3D true, + .cfg.ext_zfa =3D true, + .cfg.ext_zba =3D true, + .cfg.ext_zbb =3D true, + .cfg.ext_zbc =3D true, + .cfg.ext_zbs =3D true, + .cfg.ext_sstc =3D true, + .cfg.ext_svadu =3D true, + .cfg.ext_svvptc =3D true, ), =20 DEFINE_RISCV_CPU(TYPE_RISCV_CPU_IBEX, TYPE_RISCV_VENDOR_CPU, @@ -3128,6 +3148,26 @@ static const TypeInfo riscv_cpu_type_infos[] =3D { DEFINE_RISCV_CPU(TYPE_RISCV_CPU_BASE64, TYPE_RISCV_DYNAMIC_CPU, .cfg.max_satp_mode =3D VM_1_10_SV57, .misa_mxl_max =3D MXL_RV64, + + /* Default extensions as of QEMU 11.1. */ + .cfg.ext_zicbom =3D true, + .cfg.ext_zicbop =3D true, + .cfg.ext_zicboz =3D true, + .cfg.ext_zicntr =3D true, + .cfg.ext_zicsr =3D true, + .cfg.ext_zifencei =3D true, + .cfg.ext_zihintntl =3D true, + .cfg.ext_zihintpause =3D true, + .cfg.ext_zihpm =3D true, + .cfg.ext_zawrs =3D true, + .cfg.ext_zfa =3D true, + .cfg.ext_zba =3D true, + .cfg.ext_zbb =3D true, + .cfg.ext_zbc =3D true, + .cfg.ext_zbs =3D true, + .cfg.ext_sstc =3D true, + .cfg.ext_svadu =3D true, + .cfg.ext_svvptc =3D true, ), =20 DEFINE_RISCV_CPU(TYPE_RISCV_CPU_SIFIVE_E51, TYPE_RISCV_CPU_SIFIVE_E, diff --git a/target/riscv/tcg/tcg-cpu.c b/target/riscv/tcg/tcg-cpu.c index 50d9218a75..7575884d7e 100644 --- a/target/riscv/tcg/tcg-cpu.c +++ b/target/riscv/tcg/tcg-cpu.c @@ -1553,24 +1553,10 @@ static void cpu_get_multi_ext_cfg(Object *obj, Visi= tor *v, const char *name, static void cpu_add_multi_ext_prop(Object *cpu_obj, const RISCVCPUMultiExtConfig *multi_cfg) { - bool generic_cpu =3D riscv_cpu_is_generic(cpu_obj); - object_property_add(cpu_obj, multi_cfg->name, "bool", cpu_get_multi_ext_cfg, cpu_set_multi_ext_cfg, NULL, (void *)&multi_cfg->offset); - - if (!generic_cpu) { - return; - } - - /* - * Set def val directly instead of using - * object_property_set_bool() to save the set() - * callback hash for user inputs. - */ - isa_ext_update_enabled(RISCV_CPU(cpu_obj), multi_cfg->offset, - multi_cfg->enabled); } =20 static void riscv_cpu_add_multiext_prop_array(Object *obj, --=20 2.53.0 From nobody Sat May 30 17:46:17 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=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1779408645; cv=none; d=zohomail.com; s=zohoarc; b=OooqXlpD65l9ZAceP4nkwLFjSBRFBZpeRg94IIytZcS1qRDSbgufrrY07JeZn6wfsX6g2xzm7gZQfKXiv7aDxkd9XOda55g15O5OPQyalyGUrrZadreZKkKi8D487tWnW4BEoLXtoEQctHvdOziQbEsQ9MGGkxvF9nKiFmVaEsk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1779408645; 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=f9iTbzlI41JSlt4+yiHQ0Q6TI9ZFzV/ZAd4qULhbdxM=; b=cnACPYQpHGXNhZgKsrx0UetpOCMoxnBZ4pzgZFlzwme0TIJthhxWqykZHQcXdshxCxBDDS+U+pYq4sPYqaTpuKDw7vkyHN1xAXOAH9G2J8NV8cg5ttT12kXU4C8f3OLu5nAAo9u9XxRHSzUXxWfD5HFhhk9W8lwCu6pBfdFSiwQ= 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 1779408645689743.4285601096985; Thu, 21 May 2026 17:10:45 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wQDPV-0004NU-I5; Thu, 21 May 2026 20:06:42 -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 1wQDOZ-00031R-RR for qemu-devel@nongnu.org; Thu, 21 May 2026 20:05:47 -0400 Received: from mail-pl1-x631.google.com ([2607:f8b0:4864:20::631]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wQDOU-0004ms-QN for qemu-devel@nongnu.org; Thu, 21 May 2026 20:05:41 -0400 Received: by mail-pl1-x631.google.com with SMTP id d9443c01a7336-2b788a98557so42122825ad.2 for ; Thu, 21 May 2026 17:05:38 -0700 (PDT) Received: from toolbx.alistair23.me ([2403:581e:fdf9:0:6209:4521:6813:45b7]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2beb114b54csm3915475ad.42.2026.05.21.17.05.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 May 2026 17:05:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779408337; x=1780013137; 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=f9iTbzlI41JSlt4+yiHQ0Q6TI9ZFzV/ZAd4qULhbdxM=; b=XfMYkQUKtx0z4KVHNM6E31u7h0wwTRsMa7jfrpnvRRnzOsGonEz6VGHi1IqcV8ZuA8 fnkTGhvFisC/2Sk4jaldee/9U+txsbnernfqTsy4PJiEk6nCx+/e9R+R8wA1hwz6kFLl MOwkc0rug1rNqDw058ns13SMxb4otmJ4AkDqGsupT0sID3rm+/OlDFN4j9OeN8O0dXI/ T3pBSR2/lB64VdYEiLlu4AJZfO7F34e+U1Z0r+10xanLGdT4XVN4qhwVqRysXe8CAVJ9 c4zdRXWtzx1JHL0fRlyjOYSY57TC9mEFTW2ApwQ99yh8GcFazODcRzPB+vbM8xhB3Q+l +4hA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779408337; x=1780013137; 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=f9iTbzlI41JSlt4+yiHQ0Q6TI9ZFzV/ZAd4qULhbdxM=; b=iHWJn+g8dwUheNhLXfhT9V0Yee66hfFh9UCEjT9E2BHK3JidWRsZgk/4yB9YuJKJFN rFwa+svcXviP43fsVy0mTgl7HXXTKI1LejBvTBAl9zJCToenln23BJfMoGk7DhJVkLkK lYxrhSDq0yxU3uXTckGerxTsQ6AUd+avsjNJlfhJa+sVJRL0jQZO9Udlmdusc8k1x4wj yLPWrDNRV12L5flGjUPGIDFBApKYS+q6YeojzjDHc26EHxMKDn/ulUn5p8FcYbjT36Wm sksNrYKWeyKuZ9eSIMiIp4xwM31VNZWi2NvdKwMmlVvMqTg+pmY+oxiKuMXc0WNZ20YK Myng== X-Gm-Message-State: AOJu0Yztd+BnF20uUrrMTAmOj6sJtEmbQJ6tigImpih75TIin57W8DpR +uMaV68CcybcRB4IBPnz5RCRw/i+OTjbYT/sd67Sf9gHYBycV0iKE63QNYi95ukD X-Gm-Gg: Acq92OHvlbfNnLEk/zHwbrdJpc+SzP36qCacNrz80QdDM8BG2CL2RLXaO6CDLUzSrkS IJG7ciqZSM+elWm5KdlZuD8AnEkVnDWZz4yVvBcjqDDg4o/PbzP0hzbcTIhfrPYSQzAoHPFJm/N llQrXfF8gvIJ9uYctXRJmH7hBi+p7a6gslMD3cxNnMAdLO+RDVT7DfmaEgbroi5BwRAL2m8JIJ/ JzBLzBZUd1XGlLjDjuvGlYtdg8t3eFcxyyAgZjnnY7P9mczLO6KZEM/T/pJRfhZjFOd6WVpLJgc rWm3g7/hWKufaj/J8htpMmpMMHboerv4inCuk93YWTK9mc85OkizNIp/4EIw5Tqh+6deJC1NE+y 5/NrAMFcnNefcQM5puAlKx0PM8X4+Ke26X6rXDjacZeIw8lGoxLU2hkbIWpJeABE/ewozg3BHG9 dP0CJFGJ6J9eA3DKyok+LhtVdz79ezLapI9nkncQ+iaMKZvlqsaS8U X-Received: by 2002:a17:902:fc48:b0:2b0:c45a:bc2 with SMTP id d9443c01a7336-2beb059cebcmr11522315ad.16.1779408337123; Thu, 21 May 2026 17:05:37 -0700 (PDT) From: alistair23@gmail.com X-Google-Original-From: alistair.francis@wdc.com To: qemu-devel@nongnu.org Cc: alistair23@gmail.com, Daniel Henrique Barboza , Alistair Francis Subject: [PULL 38/48] target/riscv/tcg: use isa_edata_arr[] to create user props Date: Fri, 22 May 2026 10:03:14 +1000 Message-ID: <20260522000324.23255-39-alistair.francis@wdc.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260522000324.23255-1-alistair.francis@wdc.com> References: <20260522000324.23255-1-alistair.francis@wdc.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::631; envelope-from=alistair23@gmail.com; helo=mail-pl1-x631.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.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, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, 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 @gmail.com) X-ZM-MESSAGEID: 1779408647880154100 Content-Type: text/plain; charset="utf-8" From: Daniel Henrique Barboza This change has been done twice now: one in riscv-qmp-cmds, another in the KVM. We're now ready to do it for TCG. Signed-off-by: Daniel Henrique Barboza Acked-by: Alistair Francis Message-ID: <20260512032926.1978818-14-daniel.barboza@oss.qualcomm.com> Signed-off-by: Alistair Francis --- target/riscv/tcg/tcg-cpu.c | 34 ++++++++++------------------------ 1 file changed, 10 insertions(+), 24 deletions(-) diff --git a/target/riscv/tcg/tcg-cpu.c b/target/riscv/tcg/tcg-cpu.c index 7575884d7e..3e22e7ed53 100644 --- a/target/riscv/tcg/tcg-cpu.c +++ b/target/riscv/tcg/tcg-cpu.c @@ -1550,27 +1550,6 @@ static void cpu_get_multi_ext_cfg(Object *obj, Visit= or *v, const char *name, visit_type_bool(v, name, &value, errp); } =20 -static void cpu_add_multi_ext_prop(Object *cpu_obj, - const RISCVCPUMultiExtConfig *multi_cfg) -{ - object_property_add(cpu_obj, multi_cfg->name, "bool", - cpu_get_multi_ext_cfg, - cpu_set_multi_ext_cfg, - NULL, (void *)&multi_cfg->offset); -} - -static void riscv_cpu_add_multiext_prop_array(Object *obj, - const RISCVCPUMultiExtConfig *arra= y) -{ - const RISCVCPUMultiExtConfig *prop; - - g_assert(array); - - for (prop =3D array; prop && prop->name; prop++) { - cpu_add_multi_ext_prop(obj, prop); - } -} - /* * Add CPU properties with user-facing flags. * @@ -1579,15 +1558,22 @@ static void riscv_cpu_add_multiext_prop_array(Objec= t *obj, */ static void riscv_cpu_add_user_properties(Object *obj) { + const RISCVIsaExtData *edata; + #ifndef CONFIG_USER_ONLY riscv_add_satp_mode_properties(obj); #endif =20 riscv_cpu_add_misa_properties(obj); =20 - riscv_cpu_add_multiext_prop_array(obj, riscv_cpu_extensions); - riscv_cpu_add_multiext_prop_array(obj, riscv_cpu_vendor_exts); - riscv_cpu_add_multiext_prop_array(obj, riscv_cpu_experimental_exts); + for (edata =3D isa_edata_arr; edata && edata->name; edata++) { + if (edata->prop_name) { + object_property_add(obj, edata->prop_name, "bool", + cpu_get_multi_ext_cfg, + cpu_set_multi_ext_cfg, + NULL, (void *)&edata->ext_enable_offset); + } + } =20 riscv_cpu_add_profiles(obj); } --=20 2.53.0 From nobody Sat May 30 17:46:17 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=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1779408584; cv=none; d=zohomail.com; s=zohoarc; b=n+HwCTYDsg4liJmEOBNmQdsajY68V6FGeFoYMNHa9dNqep8FGcOuRVM+zTvO1rSoHA0AW/Cnaw1EysykKgpm8ceUurrQQXVVFzpL1bvJxjsZN37BaEndt56BdHCwFQUtbHeoSOtUJsAWmyPucQSJ09ogPHKpOLraBvIrUkLGkrc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1779408584; 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=VvgQ3SIrPPZ8T0yCu4IDyagYFjJlOwUgr4MgN5+Ms4o=; b=CGIwrhk+GemCMQvUwvXFHIzrYBUE+vCAkZr5ugOzE9AECTxml/SufCqWwLqfVLjUHVPWxiXqVEdcNC5CP7OfnaKELyAisu31jIsoDu3uFFHWeSQtXkB023G6tfJZSBCI8UEC9YfZc2Em2PRZqfMjE4WLYevhHuOyfDqlyFLrJ6U= 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 1779408584595666.7362615643723; Thu, 21 May 2026 17:09:44 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wQDR2-0006lP-5U; Thu, 21 May 2026 20:08:21 -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 1wQDOb-00036v-KS for qemu-devel@nongnu.org; Thu, 21 May 2026 20:05:51 -0400 Received: from mail-pl1-x62d.google.com ([2607:f8b0:4864:20::62d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wQDOY-0004nU-1L for qemu-devel@nongnu.org; Thu, 21 May 2026 20:05:45 -0400 Received: by mail-pl1-x62d.google.com with SMTP id d9443c01a7336-2b4583f0a1aso44354365ad.3 for ; Thu, 21 May 2026 17:05:41 -0700 (PDT) Received: from toolbx.alistair23.me ([2403:581e:fdf9:0:6209:4521:6813:45b7]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2beb114b54csm3915475ad.42.2026.05.21.17.05.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 May 2026 17:05:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779408340; x=1780013140; 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=VvgQ3SIrPPZ8T0yCu4IDyagYFjJlOwUgr4MgN5+Ms4o=; b=mEyK5lqteRAjjQM+DMGPbw55N0b5FOz4JzYKl/Bnd2rAdSeaGju7PAW2RxiVjY+cD3 HUhx5Au01YCDAfcBF+7WtOQSetYKmMfZ/33E9C9Lh/xXKxgcvLZAoVwfT7N8MJiAwQ8p eZkfc1xOdczwUWyOZE3cUa7wGTlEHldkFDZVDkTZAiurSiYCNieGnN3nSW12pxnX/gDe /QTfuDzbEYyt86bBgil5LXbGxM5306Wb0kQX1PaQsmMuIlO+6ONAJ/NZnGT0m+zYiYJZ zZsx7NWzs4DanajOq1wBvh15J6k1WozRUBwWLWEaMoPHZfKdN6t6NxW8yebjEeGZImH0 VH2A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779408340; x=1780013140; 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=VvgQ3SIrPPZ8T0yCu4IDyagYFjJlOwUgr4MgN5+Ms4o=; b=JrdbotB+tseAf+EGjbfPKfQ62+9ppztU3qomQoOtWaMYC6p5D5oVA7O+/Ti7XfeC7A oTsZU+b1PCIc7VaD/VuA5qr49lc0dZmKDs0HlGoLXs9FGkt493iCPpA4lLvkIf/oi6mi xfTYzPU3hyQNDx9S/FWNhvxrrEeVg8ypex4hsURwfl2swxOrfIK4HNeoWgniVYOo03wx Cy9WHayW7jqsg5Y7DGa+FNxRjmBkjZgyF1PC5pD7FzDMh0tGWx9Yb+sL6yiY6YEyaKof hZI4zhkp6XK6/WMN84efvXG75mb2Wg9mQoxBrl+VRlmJGVMlIUWtA7Az7zmDBqzDTzyp D9ug== X-Gm-Message-State: AOJu0Yzf2V077vTB7+MZ8S2L46/19/qcvHAn1C97TWWSZiDlOo4PMouP JWFduImzp6EdGy9/FztHppZyq+CcHLYaIWfj8YSxc5/PhQBNhAv3DJLOsDeIc+1Y X-Gm-Gg: Acq92OEqIk511Jz0lXGPRzsJYLnNDq5lp/Ezl5FVyAWjFmqldiVqGhgio5MdNdGHEGK ezoJ5InX7T6MxBmPz/I14GGirDeo/4eEN2CBYCz6uVVM2IBHPoTd4jwvuqh+2V59X+6L2DtXvym kvdA7cNEpUm++/nBhJ5xwBBJif+ZCXpIrb25TEee4Ml1NGTpoRR1SJuiFlL9AWIduQJAC5D5Od9 yV+1RG2vyq+YOqV196X39D9Zptv22211lbHGbPECu5fZGPmuPzGpPTSXD+xqbGbuXONL2ddGV8W gEhhn3xNJ5XgIsmQgTHiVm5CODt+4UJzd1b0Vi/o7GSL4sNqaSOi9cm/CBaQh2bNEZYNwZsHvlr we/6mGw5tjX0azkzAd+58BTR/rr1fOkmaT7rHfgp+DIgf/9YH86K7jKBiz7PZu9ew3t9QG9AGZ+ Iz1MMwalmUZgLVFP3Gcv0tBce3oLDxnsdj3Pu6Sx7mcA== X-Received: by 2002:a17:903:17cc:b0:2b9:cd2d:6f13 with SMTP id d9443c01a7336-2beb0722d9amr10920965ad.10.1779408340012; Thu, 21 May 2026 17:05:40 -0700 (PDT) From: alistair23@gmail.com X-Google-Original-From: alistair.francis@wdc.com To: qemu-devel@nongnu.org Cc: alistair23@gmail.com, Daniel Henrique Barboza , Alistair Francis Subject: [PULL 39/48] target/riscv/cpu: remove riscv_cpu_* arrays Date: Fri, 22 May 2026 10:03:15 +1000 Message-ID: <20260522000324.23255-40-alistair.francis@wdc.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260522000324.23255-1-alistair.francis@wdc.com> References: <20260522000324.23255-1-alistair.francis@wdc.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::62d; envelope-from=alistair23@gmail.com; helo=mail-pl1-x62d.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.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, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, 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 @gmail.com) X-ZM-MESSAGEID: 1779408586793158500 Content-Type: text/plain; charset="utf-8" From: Daniel Henrique Barboza There is no more uses left for these arrays. isa_edata_arr[] is doing everything we need, making our lives a little easier when adding new extensions. Signed-off-by: Daniel Henrique Barboza Acked-by: Alistair Francis Message-ID: <20260512032926.1978818-15-daniel.barboza@oss.qualcomm.com> Signed-off-by: Alistair Francis --- target/riscv/cpu.h | 10 --- target/riscv/cpu.c | 159 --------------------------------------------- 2 files changed, 169 deletions(-) diff --git a/target/riscv/cpu.h b/target/riscv/cpu.h index b1bd69d4a9..7d79c7a5a7 100644 --- a/target/riscv/cpu.h +++ b/target/riscv/cpu.h @@ -983,16 +983,6 @@ bool isa_ext_is_enabled(RISCVCPU *cpu, uint32_t ext_of= fset); void riscv_cpu_set_misa_ext(CPURISCVState *env, uint32_t ext); bool riscv_cpu_is_vendor(Object *cpu_obj); =20 -typedef struct RISCVCPUMultiExtConfig { - const char *name; - uint32_t offset; - bool enabled; -} RISCVCPUMultiExtConfig; - -extern const RISCVCPUMultiExtConfig riscv_cpu_extensions[]; -extern const RISCVCPUMultiExtConfig riscv_cpu_vendor_exts[]; -extern const RISCVCPUMultiExtConfig riscv_cpu_experimental_exts[]; - typedef struct isa_ext_data { const char *name; const char *prop_name; diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c index 5d3383f335..862834b480 100644 --- a/target/riscv/cpu.c +++ b/target/riscv/cpu.c @@ -1252,165 +1252,6 @@ const char *riscv_get_misa_ext_description(uint32_t= bit) return val; } =20 -#define MULTI_EXT_CFG_BOOL(_name, _prop, _defval) \ - {.name =3D _name, .offset =3D CPU_CFG_OFFSET(_prop), \ - .enabled =3D _defval} - -const RISCVCPUMultiExtConfig riscv_cpu_extensions[] =3D { - /* Defaults for standard extensions */ - MULTI_EXT_CFG_BOOL("sscofpmf", ext_sscofpmf, false), - MULTI_EXT_CFG_BOOL("smcntrpmf", ext_smcntrpmf, false), - MULTI_EXT_CFG_BOOL("smcsrind", ext_smcsrind, false), - MULTI_EXT_CFG_BOOL("smcdeleg", ext_smcdeleg, false), - MULTI_EXT_CFG_BOOL("sscsrind", ext_sscsrind, false), - MULTI_EXT_CFG_BOOL("ssccfg", ext_ssccfg, false), - MULTI_EXT_CFG_BOOL("smctr", ext_smctr, false), - MULTI_EXT_CFG_BOOL("ssctr", ext_ssctr, false), - MULTI_EXT_CFG_BOOL("zifencei", ext_zifencei, true), - MULTI_EXT_CFG_BOOL("zicfilp", ext_zicfilp, false), - MULTI_EXT_CFG_BOOL("zicfiss", ext_zicfiss, false), - MULTI_EXT_CFG_BOOL("zicsr", ext_zicsr, true), - MULTI_EXT_CFG_BOOL("zihintntl", ext_zihintntl, true), - MULTI_EXT_CFG_BOOL("zihintpause", ext_zihintpause, true), - MULTI_EXT_CFG_BOOL("zimop", ext_zimop, false), - MULTI_EXT_CFG_BOOL("zcmop", ext_zcmop, false), - MULTI_EXT_CFG_BOOL("zacas", ext_zacas, false), - MULTI_EXT_CFG_BOOL("zama16b", ext_zama16b, false), - MULTI_EXT_CFG_BOOL("zabha", ext_zabha, false), - MULTI_EXT_CFG_BOOL("zaamo", ext_zaamo, false), - MULTI_EXT_CFG_BOOL("zalasr", ext_zalasr, false), - MULTI_EXT_CFG_BOOL("zalrsc", ext_zalrsc, false), - MULTI_EXT_CFG_BOOL("zawrs", ext_zawrs, true), - MULTI_EXT_CFG_BOOL("zfa", ext_zfa, true), - MULTI_EXT_CFG_BOOL("zfbfmin", ext_zfbfmin, false), - MULTI_EXT_CFG_BOOL("zfh", ext_zfh, false), - MULTI_EXT_CFG_BOOL("zfhmin", ext_zfhmin, false), - MULTI_EXT_CFG_BOOL("zve32f", ext_zve32f, false), - MULTI_EXT_CFG_BOOL("zve32x", ext_zve32x, false), - MULTI_EXT_CFG_BOOL("zve64f", ext_zve64f, false), - MULTI_EXT_CFG_BOOL("zve64d", ext_zve64d, false), - MULTI_EXT_CFG_BOOL("zve64x", ext_zve64x, false), - MULTI_EXT_CFG_BOOL("zvfbfa", ext_zvfbfa, false), - MULTI_EXT_CFG_BOOL("zvfbfmin", ext_zvfbfmin, false), - MULTI_EXT_CFG_BOOL("zvfbfwma", ext_zvfbfwma, false), - MULTI_EXT_CFG_BOOL("zvfh", ext_zvfh, false), - MULTI_EXT_CFG_BOOL("zvfhmin", ext_zvfhmin, false), - MULTI_EXT_CFG_BOOL("sstc", ext_sstc, true), - MULTI_EXT_CFG_BOOL("ssnpm", ext_ssnpm, false), - MULTI_EXT_CFG_BOOL("sspm", ext_sspm, false), - MULTI_EXT_CFG_BOOL("supm", ext_supm, false), - - MULTI_EXT_CFG_BOOL("smaia", ext_smaia, false), - MULTI_EXT_CFG_BOOL("smdbltrp", ext_smdbltrp, false), - MULTI_EXT_CFG_BOOL("smepmp", ext_smepmp, false), - MULTI_EXT_CFG_BOOL("smpmpmt", ext_smpmpmt, false), - MULTI_EXT_CFG_BOOL("smrnmi", ext_smrnmi, false), - MULTI_EXT_CFG_BOOL("smmpm", ext_smmpm, false), - MULTI_EXT_CFG_BOOL("smnpm", ext_smnpm, false), - MULTI_EXT_CFG_BOOL("smstateen", ext_smstateen, false), - MULTI_EXT_CFG_BOOL("ssaia", ext_ssaia, false), - MULTI_EXT_CFG_BOOL("ssdbltrp", ext_ssdbltrp, false), - MULTI_EXT_CFG_BOOL("svade", ext_svade, false), - MULTI_EXT_CFG_BOOL("svadu", ext_svadu, true), - MULTI_EXT_CFG_BOOL("svinval", ext_svinval, false), - MULTI_EXT_CFG_BOOL("svnapot", ext_svnapot, false), - MULTI_EXT_CFG_BOOL("svpbmt", ext_svpbmt, false), - MULTI_EXT_CFG_BOOL("svrsw60t59b", ext_svrsw60t59b, false), - MULTI_EXT_CFG_BOOL("svvptc", ext_svvptc, true), - - MULTI_EXT_CFG_BOOL("zicntr", ext_zicntr, true), - MULTI_EXT_CFG_BOOL("zihpm", ext_zihpm, true), - MULTI_EXT_CFG_BOOL("zilsd", ext_zilsd, false), - - MULTI_EXT_CFG_BOOL("zba", ext_zba, true), - MULTI_EXT_CFG_BOOL("zbb", ext_zbb, true), - MULTI_EXT_CFG_BOOL("zbc", ext_zbc, true), - MULTI_EXT_CFG_BOOL("zbkb", ext_zbkb, false), - MULTI_EXT_CFG_BOOL("zbkc", ext_zbkc, false), - MULTI_EXT_CFG_BOOL("zbkx", ext_zbkx, false), - MULTI_EXT_CFG_BOOL("zbs", ext_zbs, true), - MULTI_EXT_CFG_BOOL("zk", ext_zk, false), - MULTI_EXT_CFG_BOOL("zkn", ext_zkn, false), - MULTI_EXT_CFG_BOOL("zknd", ext_zknd, false), - MULTI_EXT_CFG_BOOL("zkne", ext_zkne, false), - MULTI_EXT_CFG_BOOL("zknh", ext_zknh, false), - MULTI_EXT_CFG_BOOL("zkr", ext_zkr, false), - MULTI_EXT_CFG_BOOL("zks", ext_zks, false), - MULTI_EXT_CFG_BOOL("zksed", ext_zksed, false), - MULTI_EXT_CFG_BOOL("zksh", ext_zksh, false), - MULTI_EXT_CFG_BOOL("zkt", ext_zkt, false), - MULTI_EXT_CFG_BOOL("ztso", ext_ztso, false), - - MULTI_EXT_CFG_BOOL("zdinx", ext_zdinx, false), - MULTI_EXT_CFG_BOOL("zfinx", ext_zfinx, false), - MULTI_EXT_CFG_BOOL("zhinx", ext_zhinx, false), - MULTI_EXT_CFG_BOOL("zhinxmin", ext_zhinxmin, false), - - MULTI_EXT_CFG_BOOL("zicbom", ext_zicbom, true), - MULTI_EXT_CFG_BOOL("zicbop", ext_zicbop, true), - MULTI_EXT_CFG_BOOL("zicboz", ext_zicboz, true), - - MULTI_EXT_CFG_BOOL("zmmul", ext_zmmul, false), - - MULTI_EXT_CFG_BOOL("zca", ext_zca, false), - MULTI_EXT_CFG_BOOL("zcb", ext_zcb, false), - MULTI_EXT_CFG_BOOL("zcd", ext_zcd, false), - MULTI_EXT_CFG_BOOL("zce", ext_zce, false), - MULTI_EXT_CFG_BOOL("zcf", ext_zcf, false), - MULTI_EXT_CFG_BOOL("zcmp", ext_zcmp, false), - MULTI_EXT_CFG_BOOL("zcmt", ext_zcmt, false), - MULTI_EXT_CFG_BOOL("zicond", ext_zicond, false), - MULTI_EXT_CFG_BOOL("zclsd", ext_zclsd, false), - - /* Vector cryptography extensions */ - MULTI_EXT_CFG_BOOL("zvbb", ext_zvbb, false), - MULTI_EXT_CFG_BOOL("zvbc", ext_zvbc, false), - MULTI_EXT_CFG_BOOL("zvkb", ext_zvkb, false), - MULTI_EXT_CFG_BOOL("zvkg", ext_zvkg, false), - MULTI_EXT_CFG_BOOL("zvkned", ext_zvkned, false), - MULTI_EXT_CFG_BOOL("zvknha", ext_zvknha, false), - MULTI_EXT_CFG_BOOL("zvknhb", ext_zvknhb, false), - MULTI_EXT_CFG_BOOL("zvksed", ext_zvksed, false), - MULTI_EXT_CFG_BOOL("zvksh", ext_zvksh, false), - MULTI_EXT_CFG_BOOL("zvkt", ext_zvkt, false), - MULTI_EXT_CFG_BOOL("zvkn", ext_zvkn, false), - MULTI_EXT_CFG_BOOL("zvknc", ext_zvknc, false), - MULTI_EXT_CFG_BOOL("zvkng", ext_zvkng, false), - MULTI_EXT_CFG_BOOL("zvks", ext_zvks, false), - MULTI_EXT_CFG_BOOL("zvksc", ext_zvksc, false), - MULTI_EXT_CFG_BOOL("zvksg", ext_zvksg, false), - - { }, -}; - -const RISCVCPUMultiExtConfig riscv_cpu_vendor_exts[] =3D { - MULTI_EXT_CFG_BOOL("xtheadba", ext_xtheadba, false), - MULTI_EXT_CFG_BOOL("xtheadbb", ext_xtheadbb, false), - MULTI_EXT_CFG_BOOL("xtheadbs", ext_xtheadbs, false), - MULTI_EXT_CFG_BOOL("xtheadcmo", ext_xtheadcmo, false), - MULTI_EXT_CFG_BOOL("xtheadcondmov", ext_xtheadcondmov, false), - MULTI_EXT_CFG_BOOL("xtheadfmemidx", ext_xtheadfmemidx, false), - MULTI_EXT_CFG_BOOL("xtheadfmv", ext_xtheadfmv, false), - MULTI_EXT_CFG_BOOL("xtheadmac", ext_xtheadmac, false), - MULTI_EXT_CFG_BOOL("xtheadmemidx", ext_xtheadmemidx, false), - MULTI_EXT_CFG_BOOL("xtheadmempair", ext_xtheadmempair, false), - MULTI_EXT_CFG_BOOL("xtheadsync", ext_xtheadsync, false), - MULTI_EXT_CFG_BOOL("xventanacondops", ext_XVentanaCondOps, false), - MULTI_EXT_CFG_BOOL("xmipscbop", ext_xmipscbop, false), - MULTI_EXT_CFG_BOOL("xmipscmov", ext_xmipscmov, false), - MULTI_EXT_CFG_BOOL("xmipslsp", ext_xmipslsp, false), - MULTI_EXT_CFG_BOOL("xlrbr", ext_xlrbr, false), - - { }, -}; - -/* These are experimental so mark with 'x-' */ -const RISCVCPUMultiExtConfig riscv_cpu_experimental_exts[] =3D { - MULTI_EXT_CFG_BOOL("x-svukte", ext_svukte, false), - - { }, -}; - static void cpu_set_prop_err(RISCVCPU *cpu, const char *propname, Error **errp) { --=20 2.53.0 From nobody Sat May 30 17:46:17 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=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1779408512; cv=none; d=zohomail.com; s=zohoarc; b=OZnYCXhdQY3L1cXIhbxQd5EyhppyHy5KbRsxq4FNDnegqtUTLTKjaI95zLI4sZToUzVT8NXK7zIQeyxH0mUkG2Ro5/E2K5L6k5QwDgC5qXsnMDDXWEipW0UYy7+fHQs+o9AuI6IYj9EXBf9JwWS2CqBonOuA/pYu55VL4pBNbmo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1779408512; 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=809jTw0II5N5ij9MlXizdCEqzNW0NW8czul7ViHGw3M=; b=Qq1M7hbjjL/0t4BL2IFi9QV20XuscX7AcQ/25/Eo37kb3C0acYW47ZeX6FD/jv6mFB+YSUbMZTiqLNc55bzRNHhQoGsESPoSRtMFgdGf6KsxjQxuuXbEVjy77QiurUig1ujdH0gZyl1QFLrqmpd2dvNdLc306gx18DrIut7GlW8= 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 1779408512897450.8103220691038; Thu, 21 May 2026 17:08:32 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wQDRB-00073y-HM; Thu, 21 May 2026 20:08:25 -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 1wQDOd-000374-1V for qemu-devel@nongnu.org; Thu, 21 May 2026 20:05:51 -0400 Received: from mail-pl1-x629.google.com ([2607:f8b0:4864:20::629]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wQDOa-0004oC-UD for qemu-devel@nongnu.org; Thu, 21 May 2026 20:05:46 -0400 Received: by mail-pl1-x629.google.com with SMTP id d9443c01a7336-2bd2051167eso31328165ad.1 for ; Thu, 21 May 2026 17:05:44 -0700 (PDT) Received: from toolbx.alistair23.me ([2403:581e:fdf9:0:6209:4521:6813:45b7]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2beb114b54csm3915475ad.42.2026.05.21.17.05.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 May 2026 17:05:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779408344; x=1780013144; 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=809jTw0II5N5ij9MlXizdCEqzNW0NW8czul7ViHGw3M=; b=F9RLfYkeIg0O1aGXtVlX9DzeaYNXou0U8OmG9RLzO3lTI5gcI5dAJyIdg7ocj0SqAm 4JClmqbAGTsRGQnODpaQ4fpCg3p30SntlcUc2z54BD8SeXprnRduZO45wRnG9xCR1L8p ost3gjwn0lYiW9kBe5nFntblu0qVTVjCcCsNZTUtvCOKc5/oKWpC6ha5UIp2guG06aMN uf1lWpaMU/RmE5gcX7IMgiZebzfFbhgnxcZ7R2qPpna6GkUnsfIMBj2fKghxZUj8UpYT uWZB2/IuYvXAxYincv110jVZEfT5OAV20vohE4dwJVX/4jLF7yOgKFcFrROoTZTdGbWA h1Cg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779408344; x=1780013144; 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=809jTw0II5N5ij9MlXizdCEqzNW0NW8czul7ViHGw3M=; b=mHXGyw1FYG/7vdTf7ENsaYs4m62xqS109fPX0IqqejTj85s8/ez1YDMG/3N0bCUfRW rG7yxdYhROEAN3dSKqVjsHKPDz3u+KbC7BhyiCchsQulrBm9kx/cKAe30TDy2zPawiTK UOsjU99iMKk0HeG+IPLBy4h+wNDIlDFuNma72xjrUJPJM2R8YDD9x7rBGEZQ3v+8Y3/b fC61UfYRcniR1YkRWBLHJDUtuYe8WmetTF3OmtvUTP1PG2BupbkehmJfDsiVYt8RKRSO hyD2AjZd6qXngf5Yu7c1hCDwPFEnGT95BB/FSx7jYniWyngKaQTd1npuuu2No3rp6Rbx 55Vg== X-Gm-Message-State: AOJu0YzrBNiZ1EHP1PRtFA2CfVA0urjjXVyGIXoDq7TWY4HqP3PmJLO4 m8KLn/G0mZZkLKgnNFI5sZMwd/ezX656zrmIrMu5R28994Ls+uIKgZ/3yOGXCD27 X-Gm-Gg: Acq92OFd9YOzbc5IPqNNPhSXz54XsfWGVR4XvdgJnxwdQCRO6nD4CVkOan7y5+RUxg9 z5wM8UFK55pJ71/HD+cOBaQMBRP7nb0eHYo9R8vL2PjksYgF3u+bm8wyP5IzG+SmF9O7ZGR3njB ns6UcSWfLSxW7M4sjtpCBZkpK/E6nzzV+XeMcjhhy9teaVTviBv6iCNSfnrjal6CK51eXHTSvqG MrI9yIio5IV+ubVzyvcV5j15V8mnsek//FEtLcWgBPZPsBvfZhccFjinFLnjARRfTsp4YfG+e7H QHNO4RITy6SmCK224kEpBb8EP3vdBJqDSBPbUNgF/St+QNcNzpR69VOeeQRRI0th2hf3BdTrPEr HZDvJVQJmJf4CjQvC1qcqoJNpwg3cYpVWSsPuZbq9r2FCPgTqpJquGLAghNft5npoWdIBZb8VXp Tabi8wc/TNQALgrtS8hMueB7YBJ00w3qQYFtR/79yubw== X-Received: by 2002:a17:903:3905:b0:2b4:59bf:5728 with SMTP id d9443c01a7336-2beb05e4149mr12450455ad.25.1779408343671; Thu, 21 May 2026 17:05:43 -0700 (PDT) From: alistair23@gmail.com X-Google-Original-From: alistair.francis@wdc.com To: qemu-devel@nongnu.org Cc: alistair23@gmail.com, Fangyu Yu , Daniel Henrique Barboza , Nutty Liu , Alistair Francis Subject: [PULL 40/48] hw/riscv/riscv-iommu: Fix IOCOUNTINH.CY toggle detection Date: Fri, 22 May 2026 10:03:16 +1000 Message-ID: <20260522000324.23255-41-alistair.francis@wdc.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260522000324.23255-1-alistair.francis@wdc.com> References: <20260522000324.23255-1-alistair.francis@wdc.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::629; envelope-from=alistair23@gmail.com; helo=mail-pl1-x629.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.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, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, 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 @gmail.com) X-ZM-MESSAGEID: 1779408515918154100 Content-Type: text/plain; charset="utf-8" From: Fangyu Yu Fix IOCOUNTINH.CY toggle detection by comparing normalized CY bit rather than XORing whole register with boolean. Fixes: 2cf2a6c027ba ("hw/riscv/riscv-iommu: add IOCOUNTINH mmio writes") Signed-off-by: Fangyu Yu Reviewed-by: Daniel Henrique Barboza Reviewed-by: Nutty Liu Message-ID: <20260509074941.99295-1-fangyu.yu@linux.alibaba.com> Signed-off-by: Alistair Francis --- hw/riscv/riscv-iommu-hpm.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/hw/riscv/riscv-iommu-hpm.c b/hw/riscv/riscv-iommu-hpm.c index e8d284ac8b..5bf80a8db9 100644 --- a/hw/riscv/riscv-iommu-hpm.c +++ b/hw/riscv/riscv-iommu-hpm.c @@ -245,7 +245,8 @@ void riscv_iommu_process_iocntinh_cy(RISCVIOMMUState *s= , bool prev_cy_inh) s, RISCV_IOMMU_REG_IOCOUNTINH); =20 /* We only need to process CY bit toggle. */ - if (!(inhibit ^ prev_cy_inh)) { + bool cy_inh =3D !!(inhibit & RISCV_IOMMU_IOCOUNTINH_CY); + if (cy_inh =3D=3D prev_cy_inh) { return; } =20 --=20 2.53.0 From nobody Sat May 30 17:46:17 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=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1779408709; cv=none; d=zohomail.com; s=zohoarc; b=YvpmfyMFbHTwdrBUQc6hE+slmC4Zs9UM2CloVzIOkKCuCeSf3u25+hk01FrF2Qu936PzaumEbkp7zZbqp8srzKZV9NWBTC0Ib093LEWs9HHhReApSq8EFxlqcP3bJZ24QgsiYX7URBxvbFm/31er5BKxCI2IQSnzRd3SanPY7cI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1779408709; 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=+wnKqlHEFv+wB5Dp8DNZh9e6UwUPUqIVSWViinG+pxU=; b=KC03RHSETGWOOEExtw1XFO69yql6eN5EfwqLPnbDvKjjysBTjJuvVchg8/AdEtaAoNF9/C6aD1xAP4D8FMMQIssPJEE6BI2j4Mgs9Fuz76G/JbYBUGgnqLe0PGE7bhmnqABEglWiI5fo/Hn3VCUXOaC7oOwjIbi+783dhQm9w9k= 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 1779408709213608.5930251061087; Thu, 21 May 2026 17:11:49 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wQDQ1-0004r5-73; Thu, 21 May 2026 20:07:14 -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 1wQDOf-0003Db-Ru for qemu-devel@nongnu.org; Thu, 21 May 2026 20:05:57 -0400 Received: from mail-pg1-x52f.google.com ([2607:f8b0:4864:20::52f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wQDOe-0004pK-6E for qemu-devel@nongnu.org; Thu, 21 May 2026 20:05:49 -0400 Received: by mail-pg1-x52f.google.com with SMTP id 41be03b00d2f7-c827313dac0so3557732a12.1 for ; Thu, 21 May 2026 17:05:47 -0700 (PDT) Received: from toolbx.alistair23.me ([2403:581e:fdf9:0:6209:4521:6813:45b7]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2beb114b54csm3915475ad.42.2026.05.21.17.05.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 May 2026 17:05:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779408347; x=1780013147; 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=+wnKqlHEFv+wB5Dp8DNZh9e6UwUPUqIVSWViinG+pxU=; b=mEP6Wzm1vigos9wLqBN9xMIuPVUn6wh4VtsASgPcYJfW+unbkreOpanGeZ7oiuXkj+ kOssEzbyM68NO5uhRipMhzDaZI7zumJECS2jFJOs+3+7OmsN6o33XpqqOXPeAjTrQvx5 UhHS1DlIkZN1sXC9nkYpbLoYX1b9uJqBSAb2vpXYyfVrIHH1y5Aa+CrgswQ8oe6Fo+2q OXWkT9wMwW9znLJ3D2SpoezXXgCEYWzeHbtUZOOBKmzTjRzptL78c/lpmI6susR5p5m7 HR1BBmEiQ7glr0xE1FRzNc3YMwA/DiX7hw8rsL6Dy/kmOWJyfbdjC+MjJk7Wo2+wwLkj CEpQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779408347; x=1780013147; 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=+wnKqlHEFv+wB5Dp8DNZh9e6UwUPUqIVSWViinG+pxU=; b=PyPONoy1rI8n5qw1F3gVOBtgfARjLEPODfJh3K9iVc5H5GAzyht2sAt5E2/nosYJ1h mQ6JvpXme0qevroVh/U01fvu2KxygNv3l2DnBfq3jvRj6qEWQ8oTOhowaQcGT57/kndw JO09Y0fdJkKAMwMC5fkeAEaK1o1ImLlmv3ueTh/4crCzZ2nXw08i7YwouMibHke92XIf J8fv2wtWAKh1l40ObVsvB/CbJrJH6K2Qo6ew7t3uR0PTilTFg0d7ftXkwEBgqWxcuDYz 2Iq8hGbxQBWXw5/n30xfkysvKUOdmIvcAyNEdWVALPtppWd/iL8KzilklK+4f3Ph9DAO TGBA== X-Gm-Message-State: AOJu0YwUpoMBUG/Kx9olvQXwkjpZvN8YKbiUbZuK63vGOBvHD1P2qINV 8fec3aLoAY2ySqzqD9Y5gntoNw4jLyceUMDRyoGJO6VUQaxr7hN3+DtHkmtom3HO X-Gm-Gg: Acq92OFbSLKn5KnAR04nQKuPRwwc3/mdIOBhDGwTsxaNlmSsRzonwnWnXecLzHHReu5 uiQVkI1p+h6xYup5oVjAmEjUHmi2CHuQtvGZm2mBQ4yb6TanEScUOFfHvh38jxli7Use+U1i7l/ yZGyNf3ekNflt9lCWlYGXo82Pe1E7gx7MuYIPm1/Bg0VqopVKGvqYGT4J0PiuwEKmlBkGgodM3g Ga9chw/+mrlx/XJ5Oud8gg5B7q0BshYNhm8IsfIwTMtMufuXg3z3kkhd11s+qGNlBl2dHToxMmj RH08Ez7+gBKB6jT54G92Aa378a58brFZngi/m63ZHH145TjBX5UPGBnUmaUZmDy3U4rgGh9CpUY nbpbNxedZ7hMbWOn2OgxLVgwIh79L2Wc9SORDKQIPzbwdFtb5hiJyhdO1n7I/OlZ2eYHrwelJpI WIHzOzr2expbVbD8qBOe1zs7lbVCloOwyz5KgDxexxZw== X-Received: by 2002:a17:903:2f90:b0:2b9:6cde:c34b with SMTP id d9443c01a7336-2bea229bfc6mr48843935ad.15.1779408346663; Thu, 21 May 2026 17:05:46 -0700 (PDT) From: alistair23@gmail.com X-Google-Original-From: alistair.francis@wdc.com To: qemu-devel@nongnu.org Cc: alistair23@gmail.com, Daniel Henrique Barboza , Alistair Francis Subject: [PULL 41/48] target/riscv/csr.c: fix read of pmpaddr(0-63) CSRs Date: Fri, 22 May 2026 10:03:17 +1000 Message-ID: <20260522000324.23255-42-alistair.francis@wdc.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260522000324.23255-1-alistair.francis@wdc.com> References: <20260522000324.23255-1-alistair.francis@wdc.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::52f; envelope-from=alistair23@gmail.com; helo=mail-pg1-x52f.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.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, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, 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 @gmail.com) X-ZM-MESSAGEID: 1779408710696154100 Content-Type: text/plain; charset="utf-8" From: Daniel Henrique Barboza The priv spec defines, for RV64, that the upper 10 bits of pmpaddr0-pmpaddr63 are WARL and are supposed to be cleared. After this patch, using the bug reproducer in [1], writing ffffffffffffffff in pmpaddr0 and reading it back now results in 003fffffffffffff. Here's the 'diff -cp' dump before and after this change: *************** IN: *** 5272,5278 **** pmpcfg10 0000000000000000 pmpcfg12 0000000000000000 pmpcfg14 0000000000000000 ! pmpaddr0 ffffffffffffffff pmpaddr1 0000000000000000 pmpaddr2 0000000000000000 pmpaddr3 0000000000000000 Reviewed-by: Alistair Francis Message-ID: <20260514123342.2139464-1-daniel.barboza@oss.qualcomm.com> Signed-off-by: Alistair Francis --- target/riscv/csr.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/target/riscv/csr.c b/target/riscv/csr.c index b470d37050..0e4163b56b 100644 --- a/target/riscv/csr.c +++ b/target/riscv/csr.c @@ -5365,6 +5365,23 @@ static RISCVException read_pmpaddr(CPURISCVState *en= v, int csrno, target_ulong *val) { *val =3D pmpaddr_csr_read(env, csrno - CSR_PMPADDR0); + + /* + * For RV64, bits 54-63 of the address registers + * PMPAADDR(0-63) is a WARL zero field (priv spec, + * section "Physical Memory Protection CSRs"). + * + * We'll have to add an annoying TARGET_RISCV64 gate + * here to avoid complaints about masking bits 0-53 + * of a potential 32 bit target_ulong '*var'. + */ +#ifdef TARGET_RISCV64 + if (env->misa_mxl =3D=3D MXL_RV64 + && csrno >=3D CSR_PMPADDR0 && csrno <=3D CSR_PMPADDR63) { + target_ulong read_mask =3D MAKE_64BIT_MASK(0, 54); + *val &=3D read_mask; + } +#endif return RISCV_EXCP_NONE; } =20 --=20 2.53.0 From nobody Sat May 30 17:46:17 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=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1779408662; cv=none; d=zohomail.com; s=zohoarc; b=nrrF8gyskwQoMjhs5jkyAKntJ0j9Kslz+xLlSgAEl+i6ZJWgNlQnyqfjhBRyW9Pz2I6J4pMOTaS6RtvH/6h/L98Ri3UK67oiHlCk0F199rJnmAYvaXcHk3H3R65PYaJSRN09eBQnXb0/q4KjxbIFaA73AUdJqcL6j6hSJ5or1jo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1779408662; 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=SZq1TS4SRxhc1zRU0AK8gAJHqXbVMRKeP3nPDewB9R8=; b=hQz7MZOhDujnyJTOnNRApx99uAPQnz1SpqYhUtnrw1nwWp6j+S/lavTyiLK/CNpt/4SQmye0NZTHVbEkNbs1Mg2Tr6neZUeTSST4iVDZG0U3/9zx8GgneiwS+hXiKlPEnKRbxnOjk98R7lAh2rkzHUNa7wgSzo6tvRo/1/Woo7I= 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 1779408662896662.2142124653891; Thu, 21 May 2026 17:11:02 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wQDQO-0005kV-Nx; Thu, 21 May 2026 20:07:38 -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 1wQDOj-0003G3-JO for qemu-devel@nongnu.org; Thu, 21 May 2026 20:05:58 -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 1wQDOh-0004q2-RG for qemu-devel@nongnu.org; Thu, 21 May 2026 20:05:53 -0400 Received: by mail-pl1-x62e.google.com with SMTP id d9443c01a7336-2bd80b3aa13so43719775ad.0 for ; Thu, 21 May 2026 17:05:51 -0700 (PDT) Received: from toolbx.alistair23.me ([2403:581e:fdf9:0:6209:4521:6813:45b7]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2beb114b54csm3915475ad.42.2026.05.21.17.05.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 May 2026 17:05:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779408350; x=1780013150; 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=SZq1TS4SRxhc1zRU0AK8gAJHqXbVMRKeP3nPDewB9R8=; b=ga+5yiRTPMQb0kSZt7EA1WAoqWF0Rtm93S9f6N3Gm4c9xdD0r0Ozi/+H4JFKoW8hhS cg9j9rdollVFr0qDiQSaEi3P+g6oyTN/Zr5+3QdsupXA+CRbCFkC+v4sbsy0T8V5qPSW 9gPQXG+cMuNqseCyGc0hGxmTC+P18ShpVyOwrzHDNiN4qdmV+c3irNWvtaYnReNyxXZ+ MfYRVbvNZqWdC9VWHH8jDqMJkN4Cl84JB45xYcOUIcSiR+6R1pvKHWd7U6uZigu1nNYE /F0Zu4gGMmGu14nVjhEDseY0+8LwwjEpmzYj6rbNpmm7bZ4FXfz6PmlyBE9XufymkFox sgTg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779408350; x=1780013150; 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=SZq1TS4SRxhc1zRU0AK8gAJHqXbVMRKeP3nPDewB9R8=; b=L8agm9oCV/RB1NgXhk+FLwTYB1XRb9hVl/KCYTS/VcjR2pyNu3wXCwc4bbGmNjjclv 9kX33MKWLIIzL7E9OXF/o4J+GWlc7CRWMhFSR5lPeZrQqU8bX9lgs9hCAcf7l3rc/l0t vUnhyhpC0s0/h7CQZyMnu9yTHZM7GztGa0nxvai+HWvDd89v/ZAQCalqBU2p7lByPwaR yKwXmsE1ci73SHQ6M9CyT4bq45TajpH/0lMxpT9pxoViHXNza7hjW8Wt6mh9m4msr0pF jNXK2eXCHe7SKJhFjFnec6DfqbhDG5YYLXjIjPeb+4VH61tE6kXZ37F6cP97pPxwwVLh 96wQ== X-Gm-Message-State: AOJu0Yyy2z3USeEnFtB4UaJwSLAd1pG9CvrnLyukRgDmKIgFGgvVgBGp QJFyzxUWSQCe7OvWiZHigXeL/qVVNZCIZ1fs84NjsutO06myEmGguFz36UdnWITc X-Gm-Gg: Acq92OFt8zjAqJxOq86cLCFvpjLpoi+7MNCvZJ4WVaU/FgVy85LqbTGLc9S++ChjjNp ZJOQ3LTEG9ubHoXhDsBiG5123DDI17BskqgiFgq6tbfPIfjCRH9ftMkbbrNxLF4En6XJ9HntPBr s0bf1jqztt9olTJXayTpMiTKLex+3zD1fTCnH5EQl+BvkNmoNKYcp4vGsKOV/iBVoQTO9Q8O2rF wgEmImvLt1gwSA+tKPM7jgWJK2JTp7YPr3lOionMn8/lazk++DhGaoFCM59yv/sJ27fAZ5IC54l lTZz4mBW23zN7YvCbJa52+lLKOkKzp/cCET2LPMxj+t3IphljN8bwYF5xhMrJe+qzhxbGHLLcoz rtTQm2LGVUEi3mUP9SgMHPND39oelxQTTIzA/32WXO9aqO/bHEG1eBiQQRsRc2X3D8b/ZsZGI+a Gceq0CbcDb91lY/ziMvxHoQKNW+vSd4JnQVMdyBiCrqQ== X-Received: by 2002:a17:903:46c4:b0:2ae:54b2:27c7 with SMTP id d9443c01a7336-2beb085795dmr8421945ad.39.1779408350390; Thu, 21 May 2026 17:05:50 -0700 (PDT) From: alistair23@gmail.com X-Google-Original-From: alistair.francis@wdc.com To: qemu-devel@nongnu.org Cc: alistair23@gmail.com, Zishun Yi , Alistair Francis Subject: [PULL 42/48] hw/riscv/virt-acpi-build: Fix off-by-one error in RIMT ID mapping Date: Fri, 22 May 2026 10:03:18 +1000 Message-ID: <20260522000324.23255-43-alistair.francis@wdc.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260522000324.23255-1-alistair.francis@wdc.com> References: <20260522000324.23255-1-alistair.francis@wdc.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=alistair23@gmail.com; helo=mail-pl1-x62e.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.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, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, 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 @gmail.com) X-ZM-MESSAGEID: 1779408663183158500 Content-Type: text/plain; charset="utf-8" From: Zishun Yi In build_rimt(), the calculation of `num_ids` for the ID mapping array incorrectly uses the same formula (`0xffff - s->pci_iommu_bdf`) for both System IOMMU and PCI IOMMU topologies. For a System IOMMU, `s->pci_iommu_bdf` is 0. This results in a `num_ids` value of 0xffff. Since the source ID base starts at 0, the mapping only covers Requester IDs from 0 to 0xfffe. The final valid PCI Requester ID (0xffff) is erroneously omitted from the RIMT table. Fix this by decoupling the `num_ids` calculation. For System IOMMUs, explicitly set `num_ids` to 0x10000 to cover the entire PCI Requester ID space. This issue was discovered and reported by SpecHunter, an AI-driven architecture specification analysis tool. Link: https://github.com/yizishun/rv-isa-sec/blob/c78dacf66c8acd677b3538c83= 7fde310bb71a97b/output/riscv-server-platform/pr-102/qemu.txt#L32 Signed-off-by: Zishun Yi Acked-by: Alistair Francis Message-ID: <20260512062310.348208-1-vulab@iscas.ac.cn> Signed-off-by: Alistair Francis --- hw/riscv/virt-acpi-build.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/hw/riscv/virt-acpi-build.c b/hw/riscv/virt-acpi-build.c index fd6ca5dbc4..413d47d70e 100644 --- a/hw/riscv/virt-acpi-build.c +++ b/hw/riscv/virt-acpi-build.c @@ -802,10 +802,11 @@ static void build_rimt(GArray *table_data, BIOSLinker= *linker, range =3D &g_array_index(iommu_idmaps, AcpiRimtIdMapping, i); if (virt_is_iommu_sys_enabled(s)) { range->source_id_base =3D 0; + range->num_ids =3D 0x10000; } else { range->source_id_base =3D s->pci_iommu_bdf + 1; + range->num_ids =3D 0xffff - s->pci_iommu_bdf; } - range->num_ids =3D 0xffff - s->pci_iommu_bdf; build_rimt_id_mapping(table_data, range->source_id_base, range->num_ids, iommu_offset); } --=20 2.53.0 From nobody Sat May 30 17:46:17 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=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1779408716; cv=none; d=zohomail.com; s=zohoarc; b=ctKgqDMOO7I8301ZUefkFg/7ModEAt+FAFM/b3lEx3M7DQnJJqbWdTrXx3Ww/fCmB0dIhQZF5ugLBkEwwIQpTP9kxnXYn9JJBCE/cdb8DYwbqAx0y92QHFQjasBmg//Wn3ITexnJBqwwKVfokEYEGP0CVpBmcd6aP2vLcRxEXxo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1779408716; 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=8ICLYVNxO73L0Y6kSbIFxEW4dOu8dhoB1R4KVrmpGMY=; b=EsBpwICa6HKgu5EqlBalXbSqqgQlvYFgkbz3abas/vNqOWQyEgeZEdlSekKTTJCXrzsYNp5zTHZh/o2vpSQlrEgiPimOWeWLgA4ExOnfqb2XUXQ/C2OUuwyRof1I3nsDvvNTrWeO19odpjmXMTDJGe+cTeNFxWf6Zn7Utz8n6Bs= 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 1779408716506621.0347085552216; Thu, 21 May 2026 17:11:56 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wQDQy-0006fY-E1; Thu, 21 May 2026 20:08:15 -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 1wQDOo-0003HW-Bl for qemu-devel@nongnu.org; Thu, 21 May 2026 20:06:06 -0400 Received: from mail-pj1-x102a.google.com ([2607:f8b0:4864:20::102a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wQDOm-0004qk-LT for qemu-devel@nongnu.org; Thu, 21 May 2026 20:05:58 -0400 Received: by mail-pj1-x102a.google.com with SMTP id 98e67ed59e1d1-36936dcf19dso3219651a91.0 for ; Thu, 21 May 2026 17:05:55 -0700 (PDT) Received: from toolbx.alistair23.me ([2403:581e:fdf9:0:6209:4521:6813:45b7]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2beb114b54csm3915475ad.42.2026.05.21.17.05.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 May 2026 17:05:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779408354; x=1780013154; 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=8ICLYVNxO73L0Y6kSbIFxEW4dOu8dhoB1R4KVrmpGMY=; b=OWOzbZEHxX3sLbEdJkv0CoqZrsvPkhJ54KTb5yksQfMXBjMGGPoeGv48n8b41hq8Kb FboO0rXrv6EUpbazeCCRdgEap5ik4H+2r03x+tCr56wf1v5F1IvFe4AL9OBm0j7PTh9R m6XGvGVxjcBHx2INk9Zc7dfY4VS4rCkHAmU0LM2N+hU3e/2kXTLTcCOSAIC6BDwNfnOa QxD3OvEt/51WsZ1nS8vqdnMc+jSCiasBWW9LMGDhdCqzBlgsygH9gQ1MT+BwuRjk14W2 cTMVU2NOyrAJZ7Q7WKeeZpXxVAktZp9OZQ7olsTUU225DpweH8AjJq/sS3eaQxWdBC/y JciA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779408354; x=1780013154; 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=8ICLYVNxO73L0Y6kSbIFxEW4dOu8dhoB1R4KVrmpGMY=; b=A0xIaFeINf1ysiyR776uSLvk/ZaY85K5rhsXcRmTrF6oSS6rDKP/DdAdaFhKAw7ezU bE6aYSCismuon5/vYHFEJB34SgVLbSZ2QOMmsL2ap7tMBApy2Kes/J+Yj2OA79rIsXPx Syg98Q1eRbVQaHTtP7d15xYZ6HZCkCw9Nk/jScXUvSxHpefupU0JM8ap8bxH03tx9iRv 8ZbsccmNtTl+YNQT0dThM5EN5K+uHXqq6grgnqsbgVeOQu/mRw2nnI22Shywhyrezvbu O1WQl9c2e62wcVXXRiGi8xRh93ZfTdffhM+5l1v9LQBMGJRkl9/etuOaae+T4bvnk/oY Sj8Q== X-Gm-Message-State: AOJu0YwYqwG3Z5kJ59pOe6pPE4W7Pgpo5viFn/nF6VHTLIzDN1EtKZ0q IfZRBBEZYJbRPabMlDQbrLEhGi0P6omWKGvo1IQJvZNytwYXOptQavO+JVl17uE8 X-Gm-Gg: Acq92OHjkxgBf4DnPrab4F6g1D/3RFka/sJICrdTuEoj58pQbVLi48tQokfNUxvvast XqnvcFTBY+pvhTzuH9dcJeq97KOIrnKMyX1m6JPol4lUgn9IUT9YVilZQJI5t4BeUx3J28Fc7OK oPoOpe1x7qRI0wQ0wnxtVbRuuEjHVElCtbDQF9cb3/5AEDuPcyFlgHCIlbCaOl5ELUHNMye0bBa fZf6kyf+HVsR3134phsh7RdxzCRjto0pTmu19ff4y/kJIaqKXJpM+NE91jZuVJWmoSpF1N9jYqq oaVNQJbrZ5+WjBy6/JgTn0MykDljmgakQpJ3Oxk7N3poELzkY9FRkmwTNIjgvV2yUybssZKg52q R/FGfR6mtq+EcKNewrbk8WUZQC/3GFVIF/Q+wcFBudCVe7UErSBNLMdDzQBlJ0q3iCWKkbwa0wF HvDA1A9n9blAWYJc30eE60/s7GUbeF7eoo5ULITyw65LGC8HNsBq5E X-Received: by 2002:a17:902:e548:b0:2bd:4d97:b5bb with SMTP id d9443c01a7336-2beb0385f86mr11684355ad.12.1779408354110; Thu, 21 May 2026 17:05:54 -0700 (PDT) From: alistair23@gmail.com X-Google-Original-From: alistair.francis@wdc.com To: qemu-devel@nongnu.org Cc: alistair23@gmail.com, Portia Stephens , qemu-stable@nongnu.org, Alistair Francis Subject: [PULL 43/48] target/riscv: Make hpmcounterh return the upper 32-bits Date: Fri, 22 May 2026 10:03:19 +1000 Message-ID: <20260522000324.23255-44-alistair.francis@wdc.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260522000324.23255-1-alistair.francis@wdc.com> References: <20260522000324.23255-1-alistair.francis@wdc.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::102a; envelope-from=alistair23@gmail.com; helo=mail-pj1-x102a.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.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, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, 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 @gmail.com) X-ZM-MESSAGEID: 1779408718736154100 Content-Type: text/plain; charset="utf-8" From: Portia Stephens The counter value was not being bitshifted for a hpmcounterh read resulting in hpmcounterh returning the bottom 32-bits. Fixes: cfc96df65e01 ("target/riscv: Remove upper_half from riscv_pmu_ctr_g= et_fixed_counters_val") Resolves: https://gitlab.com/qemu-project/qemu/-/work_items/3498 Cc: qemu-stable@nongnu.org Signed-off-by: Portia Stephens Reviewed-by: Alistair Francis Message-ID: <20260519043352.3685866-1-stephensportia@gmail.com> Signed-off-by: Alistair Francis --- target/riscv/csr.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/target/riscv/csr.c b/target/riscv/csr.c index 0e4163b56b..5514e0f455 100644 --- a/target/riscv/csr.c +++ b/target/riscv/csr.c @@ -1409,8 +1409,9 @@ RISCVException riscv_pmu_read_ctr(CPURISCVState *env,= target_ulong *val, */ if (riscv_pmu_ctr_monitor_cycles(env, ctr_idx) || riscv_pmu_ctr_monitor_instructions(env, ctr_idx)) { - *val =3D riscv_pmu_ctr_get_fixed_counters_val(env, ctr_idx) - - ctr_prev + ctr_val; + uint64_t cntr =3D riscv_pmu_ctr_get_fixed_counters_val(env, ctr_id= x) - + ctr_prev + ct= r_val; + *val =3D extract64(cntr, start, length); } else { *val =3D ctr_val; } --=20 2.53.0 From nobody Sat May 30 17:46:17 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=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1779408568; cv=none; d=zohomail.com; s=zohoarc; b=hvS9k0Izgr3YAN4NpCGZQtOdq0syDu09BozPNOj26PaaiJMlv83TeGTBarmMiCV3I2Ugn/WLDiT8SdXwo/j9E2THEejXOiWCVFy32yoOyJhHbhnmILWRStwFcB/zwvQTn8wUBizIsshp55hbU6o1Z1ZS5NLl5+1GpFloccoRyew= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1779408568; 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=2dgac1OLNcr/FYIR3xDJ+0jIQEEekbcedMFC+8QFpLo=; b=h9cvvRrhmoucmD1EnKqt/LPPaw5zgZiTr302yOb0DWg7iT4ocrMtnw2UUJ6oinEE7Adt1JuSE0dELdFZtTnEnJ1qNbXH9K0niMr5LsKbu4jNxb7HXhQSGYKS1Uy4DKHeh+01C+djmxmHN/KyQdy/nB7hzJmN2Zs++juYClMUVyI= 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 1779408568297925.3860012410892; Thu, 21 May 2026 17:09:28 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wQDRB-00075H-Kw; Thu, 21 May 2026 20:08:25 -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 1wQDOx-0003Se-DW for qemu-devel@nongnu.org; Thu, 21 May 2026 20:06:09 -0400 Received: from mail-pj1-x102e.google.com ([2607:f8b0:4864:20::102e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wQDOu-0004rb-1D for qemu-devel@nongnu.org; Thu, 21 May 2026 20:06:06 -0400 Received: by mail-pj1-x102e.google.com with SMTP id 98e67ed59e1d1-365eecc5885so6175103a91.0 for ; Thu, 21 May 2026 17:05:58 -0700 (PDT) Received: from toolbx.alistair23.me ([2403:581e:fdf9:0:6209:4521:6813:45b7]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2beb114b54csm3915475ad.42.2026.05.21.17.05.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 May 2026 17:05:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779408358; x=1780013158; 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=2dgac1OLNcr/FYIR3xDJ+0jIQEEekbcedMFC+8QFpLo=; b=IcV2ugn8SqmVwhUb0p/b71RpK9mHzOLRp0I06hHEeFZP2hj7B5l2EpdzWGWdKaTFrO KICNawnRQp1ghywLoxNgnBN2C2V79WFu0KtjuaNOH9XoJNbRswUrcv0p8ADXT7hCmlgU TzshRSxaNuL+qaUTToh2BaBTSWVjpFmw5UTSzYKebAWKlrFDY4BIp5CbFudCrhVeob4z 8ayU5psbqY9HESXGdgqUG1d6TxOjP6TULoIf8dwrZNJQuSJEOH8H7df44nXIssTved1D q/1xz/TruKGAxESHG9p/ndITq3sGCfmu5lK3KPhKSzkWEokPzq7abrPCfxcBrqTJII3N KqIQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779408358; x=1780013158; 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=2dgac1OLNcr/FYIR3xDJ+0jIQEEekbcedMFC+8QFpLo=; b=XFqWxuU4opc3TCMUg81P/uoUQikN10XPKv8ONbpzeeg3li49FUwf9vIa1yrM8+zlko q9goEpdYG94CanmaN2wDuI0/nE5JrMDfLnV74GF30NgPZ5Z787yHmipRJepzYO81Pz9L eyd51puevwxBO6qhi/6euewpUJpQ9ZLVNUqhha0KTT5W2YGL2a2p3eunLcBWqrKsx/pk XxFNZAuhq2O3wyyHfhxjarpdE89ZVelH4H9ugruGpn6oX0MOI+BnuHxnhv6TIaRjZb4B QcZNVFc6NnyjWqTVDkfwkpD5nyHzgZzixwu+gX1Rheb3VgpVts8JnYfz5jekh786PARK piPw== X-Gm-Message-State: AOJu0Yxk15DQMyBaJFND7+xm+p70XK/iYNff4GgOj/+8XSogu6oVW4VY WDRq2di6+WqmH+62RhZUb9YDEc9W76n+PlyXzT7WHxVrA4ufWpKFuhPReTVN+E6a X-Gm-Gg: Acq92OEad5t/g+BGWc8UIbvd2u+ANyUHzy6hm2aZbIPuFvFjLhP9o++1zHd3Lb1FntU MbFPf4jy/AM9R4KrgNo3UwkiwLsC4dCQMsdpookfKB1tnZihUxbPdKoOAFCj8rhsepgwe8YONXQ kr4qXQ9MhcefzGGmHXxqVXR1a/LANnVZyGuqZYK4Ro7S6fkPgLdVoWCu8Ku+ImG8LRs8v0AijiK s3siHDBEx4z0qZBTli48c3hQwohDZiiDIBedRrynxoMsDwY/ro5hRglT+QAlRBe5pBUuKcustYM zNODXeRIuWTAMWLL4HyMFn6jBoy10E8w3d2PAvdslIce1VDwXe7MoADFRQgLtvaVS6L2+W6AYlY T4Du5sgT+G+n2yU93BWbE1WOIrBd0cD//JL98/H90dY/EdmXMqvPo2e8xETDRQLTEJUNBQFL/+e V25EOeSQ25JNA1Yt/2z4PuhxW7NPfgd+xiM+yj9dcNTw== X-Received: by 2002:a17:903:390d:b0:2b9:8d39:5e87 with SMTP id d9443c01a7336-2beb0657112mr10298995ad.10.1779408357816; Thu, 21 May 2026 17:05:57 -0700 (PDT) From: alistair23@gmail.com X-Google-Original-From: alistair.francis@wdc.com To: qemu-devel@nongnu.org Cc: alistair23@gmail.com, Jim Shu , Chao Liu , Daniel Henrique Barboza , Alistair Francis Subject: [PULL 44/48] hw/intc: riscv_aplic: Fix level trigger IRQ in direct delivery mode Date: Fri, 22 May 2026 10:03:20 +1000 Message-ID: <20260522000324.23255-45-alistair.francis@wdc.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260522000324.23255-1-alistair.francis@wdc.com> References: <20260522000324.23255-1-alistair.francis@wdc.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::102e; envelope-from=alistair23@gmail.com; helo=mail-pj1-x102e.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.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, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, 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 @gmail.com) X-ZM-MESSAGEID: 1779408568777158500 Content-Type: text/plain; charset="utf-8" From: Jim Shu According to the AIA spec ch4.7 ("Precise effects on interrupt-pending bits"), pending bit of APLIC should be set/cleared whenever the rectified input value is high/low in the both level-trigger mode and direct delivery mode. Currently, QEMU APLIC only clears the pending bit when interrupt is claimed in APLIC, but not clears it when the rectified input value is low. (e.g. IRQ source signal is low in the LEVEL_HIGH/Level1 mode). The software may receive an additional IRQ if the peripheral triggers one after the software clears the APLIC IRQ but before it clears the peripheral's IRQ. Thus, we also clear the pending bit via the rectified input value in the level-trigger mode. This change doesn't affect MSI delivery mode. Calling riscv_aplic_msi_irq_update() when IRQ pending is low will do nothing. Signed-off-by: Jim Shu Reviewed-by: Chao Liu Reviewed-by: Daniel Henrique Barboza Message-ID: <20260428160103.3551125-2-jim.shu@sifive.com> Signed-off-by: Alistair Francis --- hw/intc/riscv_aplic.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/hw/intc/riscv_aplic.c b/hw/intc/riscv_aplic.c index 8f70043111..791e0b01b9 100644 --- a/hw/intc/riscv_aplic.c +++ b/hw/intc/riscv_aplic.c @@ -591,14 +591,14 @@ static void riscv_aplic_request(void *opaque, int irq= , int level) } break; case APLIC_SOURCECFG_SM_LEVEL_HIGH: - if ((level > 0) && !(state & APLIC_ISTATE_PENDING)) { - riscv_aplic_set_pending_raw(aplic, irq, true); + if ((level > 0) !=3D !!(state & APLIC_ISTATE_PENDING)) { + riscv_aplic_set_pending_raw(aplic, irq, level > 0); update =3D true; } break; case APLIC_SOURCECFG_SM_LEVEL_LOW: - if ((level <=3D 0) && !(state & APLIC_ISTATE_PENDING)) { - riscv_aplic_set_pending_raw(aplic, irq, true); + if ((level <=3D 0) !=3D !!(state & APLIC_ISTATE_PENDING)) { + riscv_aplic_set_pending_raw(aplic, irq, level <=3D 0); update =3D true; } break; --=20 2.53.0 From nobody Sat May 30 17:46:17 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=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1779408602; cv=none; d=zohomail.com; s=zohoarc; b=OjvLpt6omhcdgHo79FMoMmy4kZlLn/as7Mx/9ZstZIOgu+fMTCyTmebXt+Yduv0QYQ8uS3EBURC5QRKQgEMJMkhUzgpBjaxSvwqMv+rTv2G4THU4aPq3aFl2pJ3/Gih2c1eVO1psCj7K2nDX1/CuLzwvsV81g5QK6PeSjZxoIvw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1779408602; 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=ewB7oe34ttDo/ekIA9n4ViclSINjIlgVsppzFfFe5RA=; b=dYR676bofub2DZvZ9cA8dcQRSjh5nF109JOyDOgrBwEcumrozVvz0CJLvw6bfxXLLCATuedVf9jHLjPmKS9pTCWz5kyqCNP+4eZE994N3encZYZ8SqEQFi/jJOUXQIzHYlTyNSrPhUnJ192shGxYZzNUzbQCnXYxpT/LCYPY+O4= 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 1779408602560993.9381094016156; Thu, 21 May 2026 17:10:02 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wQDRC-0007E1-Gj; Thu, 21 May 2026 20:08:26 -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 1wQDOx-0003Sd-DP for qemu-devel@nongnu.org; Thu, 21 May 2026 20:06:09 -0400 Received: from mail-pl1-x636.google.com ([2607:f8b0:4864:20::636]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wQDOu-0004sD-1k for qemu-devel@nongnu.org; Thu, 21 May 2026 20:06:06 -0400 Received: by mail-pl1-x636.google.com with SMTP id d9443c01a7336-2ba4a1a0325so42797845ad.0 for ; Thu, 21 May 2026 17:06:02 -0700 (PDT) Received: from toolbx.alistair23.me ([2403:581e:fdf9:0:6209:4521:6813:45b7]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2beb114b54csm3915475ad.42.2026.05.21.17.05.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 May 2026 17:06:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779408361; x=1780013161; 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=ewB7oe34ttDo/ekIA9n4ViclSINjIlgVsppzFfFe5RA=; b=E42JAlVg0b+2M9vMDFOkY3awQ93uI6DvXCPlpwPGbyj2b7FnvOCljWCePY9FgoZNSc t/bXPPbyp5mPk0sbjwnAsnRnUZkndo77BMqDArc/iI9VInvyFIglSkXNqegDgParddTc KtHa8p5NeIsYkND5bOLIW3iYapv/q/UrtV7/QOQBwMToWmjMeCbNT8witAA01XhLsjea HhNgMyrvyQSXiqzwRw6MhgbsXAMr9cEmuchbkqVw4lhSxbs1v0K2Sz9DpeGzjr1uSNQz AM87CtZJbkDyA0k6cbRpiIUZK7cLzvVwXSbSDseOzRDpAISxmQn+F3YQC90QQX/UkTwy C4ig== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779408361; x=1780013161; 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=ewB7oe34ttDo/ekIA9n4ViclSINjIlgVsppzFfFe5RA=; b=MsQs2cw+vd0UUivB9f/9tk0cjona2n3alrX//yPFYFzm0JEkUnNjDYydhotWuncBw7 6leJfVnrFs9qDD6wJbg82bUwQOSer6IaeXrGrROsz0jofy2Re8ct871LpMz6kaO0A4Hq M5WwuDLEhppb6F1vtzceqiie+NKxCfpN/KIrteQXWbvVewoAz9L5fJnu+SBda1+jkamZ OtKFBhvcoWOsnOCr7MXmn1pUJ04kw/6173Oi4sCF1WPRpA7RidUEYIPk/548B/aEYsmY IcISqWd92IvG9Zlr9ROOY7J0zCs+wPNCLTckiwOugr8pYm7L6PzHBi9uomudVgHwoRMY kubw== X-Gm-Message-State: AOJu0Ywas/y31rxw9fJHzzRkU3XNp9PMQKiA6VEA16n/rQeriUIG/QaM 7anlqkGeHdRuP/tJtcjCDfCvtdzKPpoQPxKkK+xOnq8Gfo1d3Zrh1PbIcdph3K9+ X-Gm-Gg: Acq92OEeAxmOYyr/rGEsC9hbD2Yq2Hhc0M3RH3QDGkfZpLxkHBnu2IM9FCvEnBUFiOu klcksusbNnKYL1s5zJPy4U8QKoKJFqPE/7QQsZ7ZfgIeVhZLiwW3sXu7dPJo2oj0hs/kd505jew 0jvpfDoAWY8eAJ42jxFOnUnEAJXijL5SXl/zjLyxWNkd1c7cSwZB1BD73jhJDtPAbu8MLPYAPjx VMM3YHqugLNUqYBV+KsNlU08KnCyEnr9LMMbt0hz09eINcJEYC/0lYQPbyjAzWsIJa4Vo3C1D3O p6Nb9NyWHkQA+twRZiwh77kfTXvr9v6Dtrs++xIgvTbjS2QotY4AbaSkLctmYV0Mi2Xez6FvOGQ zer9FBNgqGHQ6Mn8SkTfl5RSAR6T//0zoeMfD+I87fbwCeOKUD8wZPiu74/N4wqPzFZ4+2VTKGr Xb3Ta4La/xMN+KR5kNxpPHEx5AygbMcHw34bFRFyrdCg== X-Received: by 2002:a17:902:f70e:b0:2bc:8ebd:af76 with SMTP id d9443c01a7336-2beb03466afmr11280675ad.0.1779408361226; Thu, 21 May 2026 17:06:01 -0700 (PDT) From: alistair23@gmail.com X-Google-Original-From: alistair.francis@wdc.com To: qemu-devel@nongnu.org Cc: alistair23@gmail.com, Jim Shu , "Fea.Wang" , Daniel Henrique Barboza , Alistair Francis Subject: [PULL 45/48] hw/intc: riscv_aplic: Add reset API to APLIC Date: Fri, 22 May 2026 10:03:21 +1000 Message-ID: <20260522000324.23255-46-alistair.francis@wdc.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260522000324.23255-1-alistair.francis@wdc.com> References: <20260522000324.23255-1-alistair.francis@wdc.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::636; envelope-from=alistair23@gmail.com; helo=mail-pl1-x636.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.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, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, 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 @gmail.com) X-ZM-MESSAGEID: 1779408605146154100 Content-Type: text/plain; charset="utf-8" From: Jim Shu Clearing APLIC registers and qemu_irq in the reset function Signed-off-by: Jim Shu Signed-off-by: Fea.Wang Reviewed-by: Daniel Henrique Barboza Message-ID: <20260428160103.3551125-3-jim.shu@sifive.com> Signed-off-by: Alistair Francis --- hw/intc/riscv_aplic.c | 45 ++++++++++++++++++++++++++++++++++++++----- 1 file changed, 40 insertions(+), 5 deletions(-) diff --git a/hw/intc/riscv_aplic.c b/hw/intc/riscv_aplic.c index 791e0b01b9..a04e0e1a89 100644 --- a/hw/intc/riscv_aplic.c +++ b/hw/intc/riscv_aplic.c @@ -892,6 +892,44 @@ static const MemoryRegionOps riscv_aplic_ops =3D { } }; =20 +static void riscv_aplic_reset_enter(Object *obj, ResetType type) +{ + RISCVAPLICState *aplic =3D RISCV_APLIC(obj); + int i; + + aplic->domaincfg =3D 0; + memset(aplic->sourcecfg, 0, sizeof(uint32_t) * aplic->num_irqs); + memset(aplic->target, 0, sizeof(uint32_t) * aplic->num_irqs); + if (!aplic->msimode) { + for (i =3D 0; i < aplic->num_irqs; i++) { + aplic->target[i] =3D 1; + } + } + + for (i =3D 0; i < aplic->num_irqs ; i++) { + riscv_aplic_set_enabled_raw(aplic, i, false); + } + + /* Need to unlock [ms]msicfgaddrh.L */ + aplic->mmsicfgaddr =3D 0; + aplic->mmsicfgaddrH =3D 0; + aplic->smsicfgaddr =3D 0; + aplic->smsicfgaddrH =3D 0; + + if (!aplic->msimode) { + /* Reset IDC registers only in non-MSI mode */ + for (i =3D 0; i < aplic->num_harts; i++) { + aplic->idelivery[i] =3D 0; + aplic->iforce[i] =3D 0; + aplic->ithreshold[i] =3D 0; + } + + for (i =3D 0; i < aplic->num_harts; i++) { + qemu_irq_lower(aplic->external_irqs[i]); + } + } +} + static void riscv_aplic_realize(DeviceState *dev, Error **errp) { uint32_t i; @@ -925,11 +963,6 @@ static void riscv_aplic_realize(DeviceState *dev, Erro= r **errp) aplic->sourcecfg =3D g_new0(uint32_t, aplic->num_irqs); aplic->state =3D g_new0(uint32_t, aplic->num_irqs); aplic->target =3D g_new0(uint32_t, aplic->num_irqs); - if (!aplic->msimode) { - for (i =3D 0; i < aplic->num_irqs; i++) { - aplic->target[i] =3D 1; - } - } aplic->idelivery =3D g_new0(uint32_t, aplic->num_harts); aplic->iforce =3D g_new0(uint32_t, aplic->num_harts); aplic->ithreshold =3D g_new0(uint32_t, aplic->num_harts); @@ -1014,9 +1047,11 @@ static const VMStateDescription vmstate_riscv_aplic = =3D { static void riscv_aplic_class_init(ObjectClass *klass, const void *data) { DeviceClass *dc =3D DEVICE_CLASS(klass); + ResettableClass *rc =3D RESETTABLE_CLASS(klass); =20 device_class_set_props(dc, riscv_aplic_properties); dc->realize =3D riscv_aplic_realize; + rc->phases.enter =3D riscv_aplic_reset_enter; dc->vmsd =3D &vmstate_riscv_aplic; } =20 --=20 2.53.0 From nobody Sat May 30 17:46:17 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=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1779408646; cv=none; d=zohomail.com; s=zohoarc; b=AhQTuw7OLXJk20OTyDP0sAkV3/0O+H8MPYdi2x7nsRrfv/huCyw8hLgTyfiBXtoS++T+7TRmcXjlTHNKVvbKorzZpUl0d4fAFJLmRzBNV86vPQjmdI6td/bVyxhe3yJMnLonTeUubYIg0R8clyh9DkWjq11FT+7kPVE34xbxiYM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1779408646; 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=9bwpeumJ2izE97RkjbXjcgeqxl+uF8JYIPAf37QnAyk=; b=BRBQkAgvNZ/D9H1C2DM7clUUkmmuhFBpSbpQnLW2cQBkEhZ69kX3kB4uXE02/WV8iOHCnsRGTgStWfbb+Fr0D7/jLqLKgWUyC/x3Fq4vQlAjC5GlGIwPnQWpegHc0OLKyiva+nodeuRpf9cqH0I4gpULQM3fjDAhyMPBa9+DzCI= 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 1779408645995187.0217626748696; Thu, 21 May 2026 17:10:45 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wQDRE-0007Vh-1P; Thu, 21 May 2026 20:08:28 -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 1wQDP0-0003WQ-80 for qemu-devel@nongnu.org; Thu, 21 May 2026 20:06:11 -0400 Received: from mail-pg1-x536.google.com ([2607:f8b0:4864:20::536]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wQDOx-0004t3-5U for qemu-devel@nongnu.org; Thu, 21 May 2026 20:06:08 -0400 Received: by mail-pg1-x536.google.com with SMTP id 41be03b00d2f7-c80167f5716so3031897a12.2 for ; Thu, 21 May 2026 17:06:06 -0700 (PDT) Received: from toolbx.alistair23.me ([2403:581e:fdf9:0:6209:4521:6813:45b7]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2beb114b54csm3915475ad.42.2026.05.21.17.06.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 May 2026 17:06:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779408365; x=1780013165; 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=9bwpeumJ2izE97RkjbXjcgeqxl+uF8JYIPAf37QnAyk=; b=qx2F/vTfiPcfD6sQvksKB/icvDbkZys0EHuvr78isjQ34jttfITCnMzhzll1jiKh0s FvR56x6ZDR7W3C4dpHvzmPSF59TaA9Y/AUoy1KU6z7xkyn1D2sv6UWD0eGBRwT2IwnXK elo+7fStozo0kyPw7EesI2sYLbiRPRf6HlVWPAehdG5uUlIwRiQH4WO0/H3U/oSmbNXA G+iR757ng7G7pBoXV8KZjHDv6iJwSidh0sZgMNGG+R1uThqfz/FG2YFrizkbKwXI7294 eYM8AtVgdsdrJrKxElMbGBeSkqx4iTdI/DYgiWzW3GYrAa++YjNes+1T7WcKR12WyAc2 J0iA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779408365; x=1780013165; 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=9bwpeumJ2izE97RkjbXjcgeqxl+uF8JYIPAf37QnAyk=; b=WQFsbM4Ky29qQ+Kd647kweOqigjuS7QE/E/G0PME5GASE/eq6DJQDvuMvG5HbHUNE0 9grod//MMdtaPQFqx1M5KnNMEHgVNE5Tww1V2cOf9Lgow+kRXuSoop92KMay79Gp+4GB QbI3vfVSCV9lIr9zhJVys0ZeqGm6OgIPVCM1YwVXmhb0gYL1Rz3t/Qv00hpKWCOYhJU7 Cx6SCx0q8lQrS3NOidmRtJkEobF6+p5sPkQ2JOPD+bVAQJy8qONxaweaPc/+lwjLyOXr lqxqNH5jnnbaAtwV9PV9lg6zZBgvMHJRsMGszljUArItGOLt0eaO4GJtGaX1PGvrU5zZ 3c3g== X-Gm-Message-State: AOJu0YzY+R54Pti9Oy2QtoIkLwUhPOMLU6cuH5cQi4kkmoUMluPbm6cq nmHiWgFoXy5TQKPpuZrlfObs5mGcV8iIf6kgKyzuxaHRFtlrDcDv+YdyukHx+5n+ X-Gm-Gg: Acq92OGDcQsIR1QCf52Sl951nMAM4swbxOmj4ZHjIkrL09PxZfpU8ue3f2Y3jec7T/9 xXs/tpukD9iUK8OCG52Mo5O/liHmurVZZIaj3ae1Rn9d+13APbUzgVdFe1CkhiQxLXx9rKW9XPt 3ayP5GFcd3uT0S3gYWnFuEYiHmkqW9Hfbgqlk0BjkzDB+M68rtrCjZVqh83fcpFe+LcDyRqkmjz 0do1ac/edl94rlx33mt4Y9x8yitEn2yhlUloiDH3HMdxd0MtgT/h5ESj0NO/7wBSZlTeXARRSKb STS32ZSo4cCUcqgHM6OxpjaL8a7oLwOOl7Huu3u2Yqob2WpNOtGAzIELtwgtrc3rQ7ZHq+ZoAIP VTaywzOhfX0JMM1t67/F+zSHCH8OoZzZw89ma+Fk6N7eJvV0lu2sWTRKi4qlF6Urz4/lWUVLZKT 5wKmbjh9QZMaZxTzH9rUMKNU7ukxhmhGLP3LizQUQDag== X-Received: by 2002:a17:903:1a2d:b0:2bd:5ddd:17ab with SMTP id d9443c01a7336-2beb080c8fdmr9167495ad.32.1779408364620; Thu, 21 May 2026 17:06:04 -0700 (PDT) From: alistair23@gmail.com X-Google-Original-From: alistair.francis@wdc.com To: qemu-devel@nongnu.org Cc: alistair23@gmail.com, Jim Shu , Daniel Henrique Barboza , Alistair Francis Subject: [PULL 46/48] hw/intc: riscv_imsic: Add reset API to IMSIC Date: Fri, 22 May 2026 10:03:22 +1000 Message-ID: <20260522000324.23255-47-alistair.francis@wdc.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260522000324.23255-1-alistair.francis@wdc.com> References: <20260522000324.23255-1-alistair.francis@wdc.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::536; envelope-from=alistair23@gmail.com; helo=mail-pg1-x536.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.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, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, 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 @gmail.com) X-ZM-MESSAGEID: 1779408647711154100 Content-Type: text/plain; charset="utf-8" From: Jim Shu Clearing IMSIC registers and qemu_irq in the reset function Signed-off-by: Jim Shu Reviewed-by: Daniel Henrique Barboza Message-ID: <20260428160103.3551125-4-jim.shu@sifive.com> Signed-off-by: Alistair Francis --- hw/intc/riscv_imsic.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/hw/intc/riscv_imsic.c b/hw/intc/riscv_imsic.c index 7c9a012033..ac59496c22 100644 --- a/hw/intc/riscv_imsic.c +++ b/hw/intc/riscv_imsic.c @@ -342,6 +342,23 @@ static const MemoryRegionOps riscv_imsic_ops =3D { } }; =20 +static void riscv_imsic_reset_enter(Object *obj, ResetType type) +{ + RISCVIMSICState *imsic =3D RISCV_IMSIC(obj); + int i; + + memset(imsic->eidelivery, 0, sizeof(uint32_t) * imsic->num_pages); + memset(imsic->eithreshold, 0, sizeof(uint32_t) * imsic->num_pages); + + for (i =3D 0; i < imsic->num_eistate; i++) { + imsic->eistate[i] &=3D ~IMSIC_EISTATE_ENABLED; + } + + for (i =3D 0; i < imsic->num_pages; i++) { + qemu_irq_lower(imsic->external_irqs[i]); + } +} + static void riscv_imsic_realize(DeviceState *dev, Error **errp) { RISCVIMSICState *imsic =3D RISCV_IMSIC(dev); @@ -425,9 +442,11 @@ static const VMStateDescription vmstate_riscv_imsic = =3D { static void riscv_imsic_class_init(ObjectClass *klass, const void *data) { DeviceClass *dc =3D DEVICE_CLASS(klass); + ResettableClass *rc =3D RESETTABLE_CLASS(klass); =20 device_class_set_props(dc, riscv_imsic_properties); dc->realize =3D riscv_imsic_realize; + rc->phases.enter =3D riscv_imsic_reset_enter; dc->vmsd =3D &vmstate_riscv_imsic; } =20 --=20 2.53.0 From nobody Sat May 30 17:46:17 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=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1779408510; cv=none; d=zohomail.com; s=zohoarc; b=Hru4HE09NWd3HCZxsrxDvoPrwtOCCNMK87cAcgZdUTjbLYOFjm5nB9XiyUarhQPMRkc0I9Jejs1HjT5h3Z79wPN7+N0OcqlFja0jPUgya78oh7nYCtxmY9ORogOphxIJB5WLhQZcRUJTUDhSgnpzyYknZx2+SRpW1sXKWYFebs0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1779408510; 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=twKNIA8iq6mVfGklHL0d5uqCz0627Z0NNMjiNjuk0ik=; b=d2FjFvHWDxRy7Sggb2a18mGjX5NP+f3JguwvylgNsmDAq0MaLQ81G5dR9J3R5+2Fc0z3eKsLTI6BPDqne/Z0eANj+CAHIlzLCeuu8TD6u3KAAlxXONQt9BfrbBDZ2n3p7aBIgy1jhjyCPWtKYdKce39tvQLifGtaWCZ7nnVATUI= 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 1779408510214154.18477532214933; Thu, 21 May 2026 17:08:30 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wQDQC-0005J6-WD; Thu, 21 May 2026 20:07:25 -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 1wQDP6-0003fl-E1 for qemu-devel@nongnu.org; Thu, 21 May 2026 20:06:21 -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 1wQDP0-0004tf-2r for qemu-devel@nongnu.org; Thu, 21 May 2026 20:06:12 -0400 Received: by mail-pl1-x62b.google.com with SMTP id d9443c01a7336-2bd2051167eso31329275ad.1 for ; Thu, 21 May 2026 17:06:09 -0700 (PDT) Received: from toolbx.alistair23.me ([2403:581e:fdf9:0:6209:4521:6813:45b7]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2beb114b54csm3915475ad.42.2026.05.21.17.06.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 May 2026 17:06:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779408368; x=1780013168; 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=twKNIA8iq6mVfGklHL0d5uqCz0627Z0NNMjiNjuk0ik=; b=TWctF2RqJeytuUIWdUm889dMHBISjpHuYw5s0Xub3PHNXV3K/chWGKujtTlE816E5g nAYfYNr6vyk1pGDqIxSwY+frcsJelflqZesNB0cjpUDSCwAc33nzXZIf9XePDIKCXqzg 89T1fKRU3A3J9vClaSySiq6T5cQq20Pz/bq/KG2rnvo+WpfyrEYuLVOFzM+rSbfuBJ/C qMgfIsc7ORztBKegBqqahk0QM3yn2Ouezzl7bGjjY0wXuYGPY3Q2PTq/Saer46kyAAty XVfi00IlAWjhOxvHXD8+DQtCB6JAVlm1b9jSNH434K+qOWrjTXVX09QlcgaoxVz4KnSj oj/Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779408368; x=1780013168; 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=twKNIA8iq6mVfGklHL0d5uqCz0627Z0NNMjiNjuk0ik=; b=XFezJdy5EWVPSZPh7pHn7g9yVn/GlnK5dfTKMcekmn8KIudE4eG094CcqKXSQoEOL3 pqnyqWx/p7EmsoOlr5v64cq5j0GavB5xEjEezwPlSGmWdI5kDvDz0XkWh8m3IE7XdVAH 0nfvpahGZ3C3WY3P5oGjxoECFE+BFBm5fjgA+NA9DbHRXWRrpmuJ++XsO2Zu6PpvGPEX TZ3/HWop3tre43iA76dRhIG/bRsFXav5j6xChfZAE5nY5hym9eqKSNvhhV3PS486Cb31 tTQ084lmtOuYBAEyjditHENoJUl+qE1yDjJf00sGyqArVMyrJExnjwFK+W3io1PjaZYW ufUA== X-Gm-Message-State: AOJu0Ywqcyq+PgJAYpCFbSQ+37mvLoFKO0W5QDQvY/uhYSoEnfWtbIZf kAG7HDItJnt5v4Yx+h8EgcvlBAUaalOUivNxnA2zVcrpfYNMDiB1zf4G5W05iDaH X-Gm-Gg: Acq92OF9EdtkrYzz+iT0z+7jEsstkPwq8Q2KoxAtR7bDadEJ2nvJnV1iZv6vxvympCL MM4dS9l4DVTB8ntRB7jJDbMe9XC3ht2fgXyvKzMQ0PoBfKjcLIwnZSYyCIVG7yGj34zqUgt6/EO FSTjdpDx8fO+DwCv1c4RDKwq2z3TGfBCxfUtLvG9TSjSWFnngl17wJeOJCvKIHlSkFQNL+TOXeE Kf7Os9mjz51uUKLor2ydcG1TcpkIg56OCfVwncHTW0ru2FKhIjp1thyNFAJ5qkydafezt6Jp4O8 HB3et0PU3NtKtbHa+yeS5pegyFWpJw+nTqHaGZTPbd1VdRCDSHeDEQaLzFCthWW9e44aVSq4iJs b+lCW5crJZvI0EB6N3EJxyhV5uCJvP6ytFFpSLGqBe6uhgjdhJyGdaOu27wBc4sIbTuQm951wCk y07Qh7YMuuUP+NlG7FQej9aZXpxY69C7wvoiVRAVDE+A== X-Received: by 2002:a17:903:19e6:b0:2bc:7d5d:e2b7 with SMTP id d9443c01a7336-2beb069cff3mr11937425ad.36.1779408368113; Thu, 21 May 2026 17:06:08 -0700 (PDT) From: alistair23@gmail.com X-Google-Original-From: alistair.francis@wdc.com To: qemu-devel@nongnu.org Cc: alistair23@gmail.com, Jim Shu , Daniel Henrique Barboza , Alistair Francis Subject: [PULL 47/48] hw/intc: riscv_aplic: add trace events of APLIC read/write function Date: Fri, 22 May 2026 10:03:23 +1000 Message-ID: <20260522000324.23255-48-alistair.francis@wdc.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260522000324.23255-1-alistair.francis@wdc.com> References: <20260522000324.23255-1-alistair.francis@wdc.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=alistair23@gmail.com; helo=mail-pl1-x62b.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.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, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, 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 @gmail.com) X-ZM-MESSAGEID: 1779408511963154100 Content-Type: text/plain; charset="utf-8" From: Jim Shu Add the trace events for APLIC read/write functions. Signed-off-by: Jim Shu Reviewed-by: Daniel Henrique Barboza Message-ID: <20260428160103.3551125-5-jim.shu@sifive.com> [ Changes by AF: - Init val to zero to avoid uninitialised build errors ] Signed-off-by: Alistair Francis --- hw/intc/riscv_aplic.c | 63 ++++++++++++++++++++++++++----------------- hw/intc/trace-events | 4 +++ 2 files changed, 42 insertions(+), 25 deletions(-) diff --git a/hw/intc/riscv_aplic.c b/hw/intc/riscv_aplic.c index a04e0e1a89..c2c67c29e6 100644 --- a/hw/intc/riscv_aplic.c +++ b/hw/intc/riscv_aplic.c @@ -35,6 +35,7 @@ #include "system/tcg.h" #include "kvm/kvm_riscv.h" #include "migration/vmstate.h" +#include "trace.h" =20 #define APLIC_MAX_IDC (1UL << 14) #define APLIC_MAX_SOURCE 1024 @@ -626,6 +627,7 @@ static void riscv_aplic_request(void *opaque, int irq, = int level) static uint64_t riscv_aplic_read(void *opaque, hwaddr addr, unsigned size) { uint32_t irq, word, idc; + uint64_t val =3D 0; RISCVAPLICState *aplic =3D opaque; =20 /* Reads must be 4 byte words */ @@ -634,18 +636,18 @@ static uint64_t riscv_aplic_read(void *opaque, hwaddr= addr, unsigned size) } =20 if (addr =3D=3D APLIC_DOMAINCFG) { - return APLIC_DOMAINCFG_RDONLY | aplic->domaincfg | - (aplic->msimode ? APLIC_DOMAINCFG_DM : 0); + val =3D APLIC_DOMAINCFG_RDONLY | aplic->domaincfg | + (aplic->msimode ? APLIC_DOMAINCFG_DM : 0); } else if ((APLIC_SOURCECFG_BASE <=3D addr) && (addr < (APLIC_SOURCECFG_BASE + (aplic->num_irqs - 1) * 4))) { irq =3D ((addr - APLIC_SOURCECFG_BASE) >> 2) + 1; - return aplic->sourcecfg[irq]; + val =3D aplic->sourcecfg[irq]; } else if (aplic->mmode && aplic->msimode && (addr =3D=3D APLIC_MMSICFGADDR)) { - return aplic->mmsicfgaddr; + val =3D aplic->mmsicfgaddr; } else if (aplic->mmode && aplic->msimode && (addr =3D=3D APLIC_MMSICFGADDRH)) { - return aplic->mmsicfgaddrH; + val =3D aplic->mmsicfgaddrH; } else if (aplic->mmode && aplic->msimode && (addr =3D=3D APLIC_SMSICFGADDR)) { /* @@ -657,65 +659,74 @@ static uint64_t riscv_aplic_read(void *opaque, hwaddr= addr, unsigned size) * only zero in at least one of the supervisor-level child * domains). */ - return (aplic->num_children) ? aplic->smsicfgaddr : 0; + val =3D (aplic->num_children) ? aplic->smsicfgaddr : 0; } else if (aplic->mmode && aplic->msimode && (addr =3D=3D APLIC_SMSICFGADDRH)) { - return (aplic->num_children) ? aplic->smsicfgaddrH : 0; + val =3D (aplic->num_children) ? aplic->smsicfgaddrH : 0; } else if ((APLIC_SETIP_BASE <=3D addr) && (addr < (APLIC_SETIP_BASE + aplic->bitfield_words * 4))) { word =3D (addr - APLIC_SETIP_BASE) >> 2; - return riscv_aplic_read_pending_word(aplic, word); + val =3D riscv_aplic_read_pending_word(aplic, word); } else if (addr =3D=3D APLIC_SETIPNUM) { - return 0; + val =3D 0; } else if ((APLIC_CLRIP_BASE <=3D addr) && (addr < (APLIC_CLRIP_BASE + aplic->bitfield_words * 4))) { word =3D (addr - APLIC_CLRIP_BASE) >> 2; - return riscv_aplic_read_input_word(aplic, word); + val =3D riscv_aplic_read_input_word(aplic, word); } else if (addr =3D=3D APLIC_CLRIPNUM) { - return 0; + val =3D 0; } else if ((APLIC_SETIE_BASE <=3D addr) && (addr < (APLIC_SETIE_BASE + aplic->bitfield_words * 4))) { word =3D (addr - APLIC_SETIE_BASE) >> 2; - return riscv_aplic_read_enabled_word(aplic, word); + val =3D riscv_aplic_read_enabled_word(aplic, word); } else if (addr =3D=3D APLIC_SETIENUM) { - return 0; + val =3D 0; } else if ((APLIC_CLRIE_BASE <=3D addr) && (addr < (APLIC_CLRIE_BASE + aplic->bitfield_words * 4))) { - return 0; + val =3D 0; } else if (addr =3D=3D APLIC_CLRIENUM) { - return 0; + val =3D 0; } else if (addr =3D=3D APLIC_SETIPNUM_LE) { - return 0; + val =3D 0; } else if (addr =3D=3D APLIC_SETIPNUM_BE) { - return 0; + val =3D 0; } else if (addr =3D=3D APLIC_GENMSI) { - return (aplic->msimode) ? aplic->genmsi : 0; + val =3D (aplic->msimode) ? aplic->genmsi : 0; } else if ((APLIC_TARGET_BASE <=3D addr) && (addr < (APLIC_TARGET_BASE + (aplic->num_irqs - 1) * 4))) { irq =3D ((addr - APLIC_TARGET_BASE) >> 2) + 1; if (!riscv_aplic_source_active(aplic, irq)) { - return 0; + val =3D 0; + } else { + val =3D aplic->target[irq]; } - return aplic->target[irq]; } else if (!aplic->msimode && (APLIC_IDC_BASE <=3D addr) && (addr < (APLIC_IDC_BASE + aplic->num_harts * APLIC_IDC_SIZE)))= { idc =3D (addr - APLIC_IDC_BASE) / APLIC_IDC_SIZE; switch (addr - (APLIC_IDC_BASE + idc * APLIC_IDC_SIZE)) { case APLIC_IDC_IDELIVERY: - return aplic->idelivery[idc]; + val =3D aplic->idelivery[idc]; + break; case APLIC_IDC_IFORCE: - return aplic->iforce[idc]; + val =3D aplic->iforce[idc]; + break; case APLIC_IDC_ITHRESHOLD: - return aplic->ithreshold[idc]; + val =3D aplic->ithreshold[idc]; + break; case APLIC_IDC_TOPI: - return riscv_aplic_idc_topi(aplic, idc); + val =3D riscv_aplic_idc_topi(aplic, idc); + break; case APLIC_IDC_CLAIMI: - return riscv_aplic_idc_claimi(aplic, idc); + val =3D riscv_aplic_idc_claimi(aplic, idc); + break; default: goto err; }; } =20 + trace_riscv_aplic_read(addr, size, val); + return val; + err: qemu_log_mask(LOG_GUEST_ERROR, "%s: Invalid register read 0x%" HWADDR_PRIx "\n", @@ -734,6 +745,8 @@ static void riscv_aplic_write(void *opaque, hwaddr addr= , uint64_t value, goto err; } =20 + trace_riscv_aplic_write(addr, size, value); + if (addr =3D=3D APLIC_DOMAINCFG) { /* Only IE bit writable at the moment */ value &=3D APLIC_DOMAINCFG_IE; diff --git a/hw/intc/trace-events b/hw/intc/trace-events index c6696f0e0a..e7d6c30448 100644 --- a/hw/intc/trace-events +++ b/hw/intc/trace-events @@ -353,3 +353,7 @@ loongarch_msi_set_irq(int irq_num) "set msi irq %d" loongarch_extioi_setirq(int irq, int level) "set extirq irq %d level %d" loongarch_extioi_readw(uint64_t addr, uint64_t val) "addr: 0x%"PRIx64 "val= : 0x%" PRIx64 loongarch_extioi_writew(uint64_t addr, uint64_t val) "addr: 0x%"PRIx64 "va= l: 0x%" PRIx64 + +# riscv_aplic.c +riscv_aplic_read(uint64_t offset, unsigned size, uint64_t value) "offset: = 0x%" PRIx64 ", size: %u, value: 0x%" PRIx64 +riscv_aplic_write(uint64_t offset, unsigned size, uint64_t value) "offset:= 0x%" PRIx64 ", size: %u, value: 0x%" PRIx64 --=20 2.53.0 From nobody Sat May 30 17:46:17 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=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1779408568; cv=none; d=zohomail.com; s=zohoarc; b=C6MPmZzJWqO6VTGXnObOy+Cpu5V7CYp1tgzQ+Cx3c7codcxdhPe+IeXT126aKohEkz0YKMPZn7oALahqPmJ561cXWFzwM/FmF8PFUqyQNDxAraYGM6iLaYaBqri+8E8Q/nrioDv420WMt/kMU5YyQNUhP5WMIu9T4xkEkEHXh2U= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1779408568; 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=vjZMmpyQD1LLA9i3sAZPSJaJH6BunaEwKF+ldbZm58o=; b=cmDgiqKBPr2gb0Bb/Z+LdRGtZBSBMMnrh5hRaRPWQZ+cyGccRxhborcUnDgpTtVznny9/6knlKgrDlTNdZgskprRxaBCy10bac/ffrjeVhiI3O8Hfa6u3wRdVPQgp4IWaush2WwrvSocQAnZSXBDE/Dfz8qmIDFRZBTHbAYhy/U= 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 1779408568258563.001269155962; Thu, 21 May 2026 17:09:28 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wQDRG-0007ti-5z; Thu, 21 May 2026 20:08:31 -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 1wQDPG-0003mG-EB for qemu-devel@nongnu.org; Thu, 21 May 2026 20:06:29 -0400 Received: from mail-pl1-x633.google.com ([2607:f8b0:4864:20::633]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wQDP6-0004uR-16 for qemu-devel@nongnu.org; Thu, 21 May 2026 20:06:22 -0400 Received: by mail-pl1-x633.google.com with SMTP id d9443c01a7336-2b4583f0a1aso44356195ad.3 for ; Thu, 21 May 2026 17:06:13 -0700 (PDT) Received: from toolbx.alistair23.me ([2403:581e:fdf9:0:6209:4521:6813:45b7]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2beb114b54csm3915475ad.42.2026.05.21.17.06.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 May 2026 17:06:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779408372; x=1780013172; 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=vjZMmpyQD1LLA9i3sAZPSJaJH6BunaEwKF+ldbZm58o=; b=hakbDboqCi01LHSyVJKlCTXzdEFX+NXwXWbWWqg/S4arzqUCJp543UZ88da/LSk6PF 4O7LV5zTBIAT7xndi/gYyHRAprmRLRtkdw0ExSbSIunLuijeNQ3302BxIK6vWTOtAuGn 9XL6CuBWq+dOegw7Il4b20jTMOk3Nokqi3GVUA7scZPXJZhRzAHcRiKdjAOyRbN86nCf D4pQDwRaSiirbuJ7TRiIB9gGti8/Eo2lCBiEHyuDa+grGAp3OIdWXDT71LWQY0jt1xuR SEJOPePSStWCyuRUw4UbQ05IHaH7jnRkvIG2fjcVhk4mQaeN6UQdN20Hw0l/KtthRlUj yUIA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779408372; x=1780013172; 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=vjZMmpyQD1LLA9i3sAZPSJaJH6BunaEwKF+ldbZm58o=; b=Fllju4ei44IL0lPkg5bkTxHG5BZxY5m7bK+G++xEI7qJjr2FFYq00krlsKWW7Esr8u PFVo85fx61vLZA1n4pniTxagk85Qa22u5IEbltjxdv4p5nFXfSbGyJzJE60yNGokHwZT aSfRRQaI+dpcTq7Y9DuL60k3r0OMoe0BYN25OCBSeNaEjTtIHvrMb8BRZa+AKchmoT2y DQtjweyqh4/La+v3lv8926QVj+dgXFlO3H+HIFxtcda+VAwCFlLTPJq3X6PiusXeE3UZ sztiYLA6ORbjGaocsRemAePxfNlINOO1Mye55+boMoXv9LEFhravEmXt/8WWYApCbL4x /kSg== X-Gm-Message-State: AOJu0Yw+01jwOdModl3U3IM3vgZn2S85qYw5klSD8pbRKrjq42/Vd0YJ pDuEN3yOVnx9zmHMH1pb+is4bXm37l0kFjVuZ82YibVQU4RdMsCCIxFvJJ3c8haS X-Gm-Gg: Acq92OGrP+HyApqrMVXK1sZeZw7oIl/trg3Zbm9ngPbDnLqmuQTZLWlRibtbzzsLHuZ Uks7OicBMKPNE6XbV1YDFEzOkvRAMelw0T70ZPm5L6W3LXHSBZPuIoDAHFzUQD1+UOODYjzB4p4 ZCn6OVxNFCoqE2e3RkOqCLbJ4UvdShDatOvuI9LhdS0PIXKz9CyKbDy+KrWl4O9WDhaAhi3MWHu 3NGYTJ3xSCpIQCqOxosvaIlC2C1EXtn8sZfkgzrtS507qXKs6vU2pKjXDyQbEQWkJVrBc/bdZgA kAh14NTKdKoax8+zc1hUjgDxWzPgr2DGPOu/zQX8nTIXKZTYRFReV1DRyymQ6AfeN2dS7H9P9sd RnL6kdL0Kp2FVAOe7pQK513yyhB0+1ba7Nr+8CqPfgpa+a2QoJyRyheWhVdWyPp7Fx8QXwJo2si 63dd3OHqAF7cgSI3vW4P2V7kCDf0tndhBcdKnzSM40CUT7TfQ/WAKw X-Received: by 2002:a17:902:cf0e:b0:2bd:ba87:40a1 with SMTP id d9443c01a7336-2beb07ffc75mr10639205ad.29.1779408372154; Thu, 21 May 2026 17:06:12 -0700 (PDT) From: alistair23@gmail.com X-Google-Original-From: alistair.francis@wdc.com To: qemu-devel@nongnu.org Cc: alistair23@gmail.com, Jay Chang , Frank Chang , Daniel Henrique Barboza , Nutty Liu , Alistair Francis Subject: [PULL 48/48] hw/riscv: riscv-iommu: Re-process command queue after clearing CMD_ILL Date: Fri, 22 May 2026 10:03:24 +1000 Message-ID: <20260522000324.23255-49-alistair.francis@wdc.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260522000324.23255-1-alistair.francis@wdc.com> References: <20260522000324.23255-1-alistair.francis@wdc.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::633; envelope-from=alistair23@gmail.com; helo=mail-pl1-x633.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.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, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, 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 @gmail.com) X-ZM-MESSAGEID: 1779408568753158500 Content-Type: text/plain; charset="utf-8" From: Jay Chang When software clears CMD_ILL or CQMF error bits by writing 1 to CQCSR, the IOMMU should re-check the command queue and continue processing pending commands if head !=3D tail. Per RISC-V IOMMU specification : If command-queue access leads to a memory fault then the command-queue-memory-fault bit is set to 1 and the commandqueue stalls until this bit is cleared. To re-enable command processing, software should clear this bit by writing 1. Signed-off-by: Jay Chang Reviewed-by: Frank Chang Reviewed-by: Daniel Henrique Barboza Reviewed-by: Nutty Liu Message-ID: <20260518070143.8405-1-jay.chang@sifive.com> Signed-off-by: Alistair Francis --- hw/riscv/riscv-iommu.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/hw/riscv/riscv-iommu.c b/hw/riscv/riscv-iommu.c index 5bc2472a83..1b8a8e9ef2 100644 --- a/hw/riscv/riscv-iommu.c +++ b/hw/riscv/riscv-iommu.c @@ -2034,6 +2034,16 @@ static void riscv_iommu_process_cq_control(RISCVIOMM= UState *s) } =20 riscv_iommu_reg_mod32(s, RISCV_IOMMU_REG_CQCSR, ctrl_set, ctrl_clr); + + /* + * After clearing error bits (CMD_ILL, CQMF), if queue is still active, + * re-process pending command. + */ + ctrl_set =3D riscv_iommu_reg_get32(s, RISCV_IOMMU_REG_CQCSR); + if ((ctrl_set & RISCV_IOMMU_CQCSR_CQON) && + !(ctrl_set & (RISCV_IOMMU_CQCSR_CMD_ILL | RISCV_IOMMU_CQCSR_CQMF))= ) { + riscv_iommu_process_cq_tail(s); + } } =20 static void riscv_iommu_process_fq_control(RISCVIOMMUState *s) --=20 2.53.0