From patchwork Fri Apr 4 15:27:49 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Daniel Henrique Barboza X-Patchwork-Id: 14038604 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 84225C3601A for ; Fri, 4 Apr 2025 15:28:53 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1u0ixj-0006Yx-EH; Fri, 04 Apr 2025 11:28:07 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1u0ixg-0006Y5-EI for qemu-devel@nongnu.org; Fri, 04 Apr 2025 11:28:04 -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 1u0ixe-0005UE-TH for qemu-devel@nongnu.org; Fri, 04 Apr 2025 11:28:04 -0400 Received: by mail-pl1-x62b.google.com with SMTP id d9443c01a7336-22403cbb47fso23468755ad.0 for ; Fri, 04 Apr 2025 08:28:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ventanamicro.com; s=google; t=1743780481; x=1744385281; 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=64ffXBXuQzv7IOha/LjqB6wKvW483xyiKKjQy9ObikU=; b=AIdv2bA/H8pMT1YMtNxhNd77QVTLl5Fiac66CD+UU/sjLJVR45ozWOmu7vqXfYk0k9 +NKd3zrGMkBsnt+6NwNoQuyhLsPW75QObwt03Hokr9q0P8xon62juVYgdrY29zI32tAt fi7kYdwdMI/bwNKmNBRqnEA+yXhv5LyNMtEIJj9df/esnQIANI9NfIAEI9t1wAyn4F5+ GE0HVjUdvGHJIlC9Ywdx9ioiDTGUXGwT5yAtMIBNoHay1UzE5HQGhYMqREUw9lDQr26T X3eu9brxp5ls1TM/3qBVM1sNyvYHB+YAeHdwyAzA1+hOYq0RZ0Cv75HxmuxxCnQMW5Q2 kV8A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743780481; x=1744385281; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=64ffXBXuQzv7IOha/LjqB6wKvW483xyiKKjQy9ObikU=; b=jR7upnN6OAUO43IK6lR6C84f6TGhDCP6MctDN3j2ObFR7NazIChJRDp65iroTvqxVX AtALH9BHa8w2CmCx20IkDDWnezojp1lWumbs9r//iYJLTGZXQag2OcRVohgxiqr4DZtd VnLzqk06xiw0zR0PA42rf4jvuxduTmMKV6AiufUgKtaDXFYAfeequLDWs/3lWMyrPnSW 4ghEls7HI/idr03EVv/DRRP+BgA8BlZSZ+xLBhgGG7ThW0HN+KLPEuRRhCklYXcp0YDC UgryznJ3N9E+VrOjawYxMMrSco5Ma/PSh+fuFD+rV4sYUggqnu97YjZhpZ8fco1WUCiB +0OQ== X-Gm-Message-State: AOJu0YyLkMFg6WI/abTOqm5V7nlm+IcDT2R1XRf4K4D/nyfLe8OZZaFe h7uap1N5D+RYGcoQESfthMfGm8MEDzVB1BqMozJUVQXQVd+F7oIC4eYWUr+joEr2sVORDfkfcVJ z X-Gm-Gg: ASbGncvoSsJw6LltcGhjLX/0jD5CBgyYZCtaYNy6Br4iGqCKHjtokfE4JZdBiwmNUGB ERmYLvF+eKrLJAwtMlbPCetquwfBfnvcZfgRoPV7r69pW4H0p7sZRte2RJ0ihBguIia31Mh+qQy Ls2scpQYRBqMUy/2fnMk/afEM+vVK8+chr9Oh060RmGUQzqlEoCo38vCgOyDsOnq1ttN5IwgRJD g3tXWKivaq0BQjhvML1SBb0WF9kcoJOJkRWNMZumdwggEfMK452df3xoBxzW6BKXAVL3YH0lYg+ sNRVKvOS+hWPBmM4Mqm7MQ5MuJwjq+M3v7IGXNsnYzDN4woTZZ0KgYqlCADqgNxtCaVtsrTRZg= = X-Google-Smtp-Source: AGHT+IFikrKsQHo/Vzh6+XZfsatdcMZsz7nuWuCZRlDJFE113VvzBIFe86jcfRN/uktgmpW36Pt1Gw== X-Received: by 2002:a17:902:ebc8:b0:223:325c:89de with SMTP id d9443c01a7336-22a8a85a1camr46644875ad.1.1743780481133; Fri, 04 Apr 2025 08:28:01 -0700 (PDT) Received: from grind.dc1.ventanamicro.com ([177.170.227.223]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2297866e3ecsm33570655ad.198.2025.04.04.08.27.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Apr 2025 08:28:00 -0700 (PDT) From: Daniel Henrique Barboza To: qemu-devel@nongnu.org Cc: qemu-riscv@nongnu.org, alistair.francis@wdc.com, liwei1518@gmail.com, zhiwei_liu@linux.alibaba.com, palmer@rivosinc.com, ajones@ventanamicro.com, Daniel Henrique Barboza Subject: [PATCH 1/2] target/riscv/tcg: make 'max' cpu rva23s64 compliant Date: Fri, 4 Apr 2025 12:27:49 -0300 Message-ID: <20250404152750.332791-2-dbarboza@ventanamicro.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250404152750.332791-1-dbarboza@ventanamicro.com> References: <20250404152750.332791-1-dbarboza@ventanamicro.com> MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::62b; envelope-from=dbarboza@ventanamicro.com; helo=mail-pl1-x62b.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org The 'max' CPU includes all available extensions we implement, but at this moment it is not rva23s64 compliant due to missing checks that the parent profile (rva22s64) does. Users might expect that the a CPU called 'max' CPU will also compatible with our latest S mode profile. Let's make it official. Signed-off-by: Daniel Henrique Barboza Reviewed-by: Alistair Francis --- target/riscv/tcg/tcg-cpu.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/target/riscv/tcg/tcg-cpu.c b/target/riscv/tcg/tcg-cpu.c index 5aef9eef36..cd489ae35b 100644 --- a/target/riscv/tcg/tcg-cpu.c +++ b/target/riscv/tcg/tcg-cpu.c @@ -1486,6 +1486,8 @@ static void riscv_init_max_cpu_extensions(Object *obj) if (cpu->cfg.ext_smdbltrp) { isa_ext_update_enabled(cpu, CPU_CFG_OFFSET(ext_smdbltrp), false); } + + object_property_set_bool(obj, "rva23s64", true, NULL); } static bool riscv_cpu_has_max_extensions(Object *cpu_obj) From patchwork Fri Apr 4 15:27:50 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Daniel Henrique Barboza X-Patchwork-Id: 14038606 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 3900FC36010 for ; Fri, 4 Apr 2025 15:29:19 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1u0ixm-0006Zp-Ta; Fri, 04 Apr 2025 11:28:10 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1u0ixj-0006ZL-Nl for qemu-devel@nongnu.org; Fri, 04 Apr 2025 11:28:08 -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 1u0ixh-0005VV-WD for qemu-devel@nongnu.org; Fri, 04 Apr 2025 11:28:07 -0400 Received: by mail-pl1-x62a.google.com with SMTP id d9443c01a7336-223f4c06e9fso20526435ad.1 for ; Fri, 04 Apr 2025 08:28:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ventanamicro.com; s=google; t=1743780484; x=1744385284; 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=NQu6jyouFAgpBczhXNW7NzWfPtB57yFgISV9X0wgp1E=; b=EPbgb9JRBudewrUPtsGt7do8qH+vyZw/OXJnF3PsNscwEYrJ+sCk2k31VDCJ3/YFst /zcFyEQUKFUDkaL/TwrzttU0rcUSUySAFIDAfCSr06EBCgOFFX0HHc3ZOkG4dDZMXQjM lUtvT9VJgs/tqwyxFj6TznvLbJZ4tWXMmHIWBdZQpq7euxZCvY8sy2COy3fntN6wMyID /IeGbCZq5Am4/9TEO/O1i2DXkqFAmoopoqQGHTqoNe+etV6/aDG5ieGNb43D+Fq6MAH1 xWwUtXb9iYxYAwoJCE/tffKgqY1p14xcvmCwTrSkGjYy8JCNsq1O+cClEbruVMeC14jj FR3A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743780484; x=1744385284; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=NQu6jyouFAgpBczhXNW7NzWfPtB57yFgISV9X0wgp1E=; b=U39TxzTNvDc89DKdaOyPRITAcuEqapxBaYlJAboEjSH272qcB5EDV9OP3jjJLgE9Ga 89TBvzYjp/4RWhQ3lD+jjOWDBI4h94d6jGT1mZZNRwvC4jh6VovspaC9qCfRDhxUGkY1 N9sypdEwg5mK7TO5ZGFtiS69KSslR+TrV4HApDacLBubQV+SFqh4GM8/U69nxpWoAhyu gdEwvGIS/LRHBPz1V1ys5FtA3wYHbEBkqX3TtxgtkTdWEp6d05xl492SvBG4jvxffFqi eArFy1VxdUFvSL9hMumdLZH6zlEbGM5Q0ozMNG+THQrxrxMvr17zAphAqH68Ddwbxzkf uOQA== X-Gm-Message-State: AOJu0YzcOINo/R6lXjYD/FVU5c7Cjm7ws90FoZckIQhFl+muSY0xUuO4 yWPsPz3YK0Y/du9Zz1q84OiUMbNyk7Tk/68jBj2x1HZCBvpsXvIUyBh2veF/XbASQOrF5AGaZ7h q X-Gm-Gg: ASbGnctLDEYqhby8WssXZJ5Hr8VTgdt28gsEITwvm1V80uX9OkSiNVmnskmBUAmJMi8 DaGB908q15VMFgSkBrKmj0MeGvkqHegUP7Rg8djhBqo9egyr2biwmeSuVhENzVuZ6W3POKHrtCM wVRifvF+bTQfv8Ptxxr7u5DKGjYFHt+fgnZswO+KRozfjHohs+JHWVwEK/eoAfdyrZ+vaZzVNCu WsYtxZ5uqqu5KTTI90eBlYMNZLBFNsCaTE2TdIvCRM5e6lYa04Yvo4nGpoB/M8dVoWaLxu/otX8 GFAT53xvm/sajmQS4CfdZyZ/PgWIRenfIihBjndPra54bylskWPS8S7htZCeASPiCOSa0dCjtsM fs4tTzDLx X-Google-Smtp-Source: AGHT+IGJEFE59SlGuC6rBGPBzqv8Off8Pe0UCzq2kWr2Ks+IPG6nYmAajGtdMCVD+rCBmRkYaZZCjA== X-Received: by 2002:a17:902:ced1:b0:223:fbbe:599c with SMTP id d9443c01a7336-2297660f416mr109482815ad.19.1743780484385; Fri, 04 Apr 2025 08:28:04 -0700 (PDT) Received: from grind.dc1.ventanamicro.com ([177.170.227.223]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2297866e3ecsm33570655ad.198.2025.04.04.08.28.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Apr 2025 08:28:03 -0700 (PDT) From: Daniel Henrique Barboza To: qemu-devel@nongnu.org Cc: qemu-riscv@nongnu.org, alistair.francis@wdc.com, liwei1518@gmail.com, zhiwei_liu@linux.alibaba.com, palmer@rivosinc.com, ajones@ventanamicro.com, Daniel Henrique Barboza Subject: [PATCH 2/2] hw/riscv/virt.c: change default CPU to 'max' Date: Fri, 4 Apr 2025 12:27:50 -0300 Message-ID: <20250404152750.332791-3-dbarboza@ventanamicro.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250404152750.332791-1-dbarboza@ventanamicro.com> References: <20250404152750.332791-1-dbarboza@ventanamicro.com> MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::62a; envelope-from=dbarboza@ventanamicro.com; helo=mail-pl1-x62a.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org In [1], minute 44, we have a hint from a Canonical kernel developer that the next Ubuntu LTS will be RVA23 compliant. If this really comes to pass, the 'virt' CPU won't run it by default - we'll need to either use 'rva23s64' or 'max' CPUs instead because rv64 is not RVA23 compliant. Other distros will follow suit eventually, given that RISC-V profiles provides the most stable ABI to build a distro in the RISC-V land. This exposes a long standing issue with the current rv64 CPU: it doesn't represent anything in particular. Extensions were added in it as time went by and we ended up with a CPU that has a random set of extensions. Changing the default 'virt' CPU to 'max' gives users a guarantee that the board will always run with the latest features/profile available in QEMU, which is the intention of most regular users. Using 'max' as default CPU is done by other QEMU archs like aarch64 so we'll be more compatible with everyone else. Note that this change does not affect existing scripts that are using the rv64 CPU, e.g. a command line like "-cpu rv64,v=true" will work the same after this patch. [1] https://fosdem.org/2025/schedule/event/fosdem-2025-6031-risc-v-hardware-where-are-we-/ Signed-off-by: Daniel Henrique Barboza --- hw/riscv/virt.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/riscv/virt.c b/hw/riscv/virt.c index c9d255d8a8..ff7a122bef 100644 --- a/hw/riscv/virt.c +++ b/hw/riscv/virt.c @@ -1920,7 +1920,7 @@ static void virt_machine_class_init(ObjectClass *oc, void *data) mc->desc = "RISC-V VirtIO board"; mc->init = virt_machine_init; mc->max_cpus = VIRT_CPUS_MAX; - mc->default_cpu_type = TYPE_RISCV_CPU_BASE; + mc->default_cpu_type = TYPE_RISCV_CPU_MAX; mc->block_default_type = IF_VIRTIO; mc->no_cdrom = 1; mc->pci_allow_0_address = true;