From nobody Sat May 30 19:21:54 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=reject dis=none) header.from=sifive.com ARC-Seal: i=1; a=rsa-sha256; t=1777026565; cv=none; d=zohomail.com; s=zohoarc; b=f7LSHC9fO6kABjbTKabiy3i9WCCDxwPDkk33t9TSxoYqL2uRj1cxv+KXl9RZU4YZpZhpggjvvVskbZOp5oK+n/VWkJBPTsD2kIG0O57+cLKdNonokPEqtk1H12/g5ylOXx/KYasQTb3NcrpFoZ7ajJTlzi4ABQKlg7J3IrUb+ZQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1777026565; 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=vkwl7uSGd1NMwPEHDV0MGjN+nL/p/8ylq5hEMFu9pLU=; b=hdcdazMTagC9puZC0Zh1G0cp6l95GZVLKIqb5Jd90D8caVm49HLmUNRCtH0AaiJ7owAIkZRWJDGO45+P14xrrbhHoWyOfLGA6uwQ2my1xrZE5PJmw9B3zX+Qub/nypfi+45WVIC5cAgQYSYbXBAkQTGFLrsFnVNjeCgacEn+7nU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1777026565404775.3989192215191; Fri, 24 Apr 2026 03:29:25 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wGDlh-0005NW-JW; Fri, 24 Apr 2026 06:28:17 -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 1wGDlb-0005M4-R2 for qemu-devel@nongnu.org; Fri, 24 Apr 2026 06:28:12 -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 1wGDla-0006PB-C2 for qemu-devel@nongnu.org; Fri, 24 Apr 2026 06:28:11 -0400 Received: by mail-pl1-x629.google.com with SMTP id d9443c01a7336-2aaf59c4f7cso36388805ad.1 for ; Fri, 24 Apr 2026 03:28:10 -0700 (PDT) Received: from hsinchu16.internal.sifive.com ([210.176.154.34]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2b5fab0c17esm218889585ad.41.2026.04.24.03.28.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 24 Apr 2026 03:28:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; t=1777026488; x=1777631288; 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=vkwl7uSGd1NMwPEHDV0MGjN+nL/p/8ylq5hEMFu9pLU=; b=N4Fzg27loDjJTG1ZG5GBUfvjh1sv6OEUB6OPYwsyg6iSd0uAdYqS2zcd7KY9tnGvdF ujVgpPvV/7aXhCiflYAwL0Z3uk+wPSfYqoHduzh3SdTgtugeiVvRtD9lwSr40hlESZjl V0+VHV4zIc6H4K3n28KN5at45THCIfK+NCw6wo7GTy4pY25dX3cnP/MLeJxlJDDUQAwc wyLPg9Och7pHO3xAn9LjqlMHlJBMo1QbsDZp+6VCtDJqgLEJ95x6872Dtc9EK2KNdt2c t/c5380dijIxneAof7JhYfIq1J1vPTrQfbg6Xxrg5k0BcsmIPVJd+P0Q7L1sc2UZkt19 L81A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777026488; x=1777631288; 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=vkwl7uSGd1NMwPEHDV0MGjN+nL/p/8ylq5hEMFu9pLU=; b=j+hdDrlBfXH98kxt+5rrUIakWoBjTQ+dKGmxfgyThTBAik4oEGlfLPJPPhIj45GGR1 7iFmmN4BQW8XzyHgTgDKUtN/D9jqOVn2aBMiybWn4tHXaovCefS8lzVzNJirqqqVmW8B ez7IVfEpLSAi2EHy9nS0jHIvPbgzINKHjhEg++fhQddKjay/kUUw1wghX6dUD6MrhIoH nZhxZgwnE60G9oiqjKthf829ocZYGrziQp1eGDBHI2MXw2yepKJkXVZ+9ZplT4GQMm+J fvhLwh4weP5WGOyhj3xVtxY8yCtdZunDhzrKa0/JixG9p8MurIh27kV5oAAYZ0d1yENX uKJA== X-Gm-Message-State: AOJu0Yygk3Na1s4y+m7BMyxbJLUsaVfbJ4voF6DlHvYasVnadN/WA+D4 ma51nz1W44PAl/f6jlQMS4xG6raU8cXcdKPadH1HgGrQq1DMtxMyLe4ge7596a2g0/ttFDB9eWB g7VGRKJl6EGfD1U5cS4Vz8pzDAXuRZyoLgwIn2rFx1FtYHNH+Vlz9MIidfiXTCsh5E0kogLwMkX If83IDlwfB6/5376VBnO0inx1jk5a31dX+mMmWPB6y98v6eGTN X-Gm-Gg: AeBDievKjGIOzxIZZCWGuFtjYwF1sewSzA8F/+R+0CK8OgUQhCWUowN92yUAD8Gkj7e XoldJ8PP+9D/Tt8FqHDnzRGNzFREqKHc8UNq+GSUdKBIGZvkCpGZ+UqmPYkAPAK1BqPBv2/0ML/ hLVsgjUx17/KO6Ai4VcZlRVzeBPzDd78FDjUTR/6B9458lLS3wr5ljMr7nrb845vc5hyhd0x76j OqJQd+D8ePpS3+CKHWNk7Zjj8GIJN268ytRCNtniqbJj/wcSd1kzqqK4i5eUxE/8cfqUlpKWBHI 83aPJcnMNGatTtEzJu4cRrOfMt/FBEL7M43j9vV7Suo+p/mKlXxPb6QMVsIHs56rUJcxrHfz9W7 fIKWdWYxQ2EXCTMyHZV2uS6Cd/asMQJrGYMwG+3TCfe2Pb8TJQBlDUSTLkWbvEmFjByfke7aNjK dI4rZFy9gXKF4RJNTWG30hGHP46buj5SwkyCVqMFnKP8hffR3VMAzrtW8eiW8l X-Received: by 2002:a17:902:6bc2:b0:2b0:9101:1b77 with SMTP id d9443c01a7336-2b5f9eaf6a6mr228203835ad.17.1777026488237; Fri, 24 Apr 2026 03:28:08 -0700 (PDT) From: frank.chang@sifive.com To: qemu-devel@nongnu.org Cc: Palmer Dabbelt , Alistair Francis , Weiwei Li , Daniel Henrique Barboza , Liu Zhiwei , Chao Liu , qemu-riscv@nongnu.org (open list:RISC-V TCG CPUs), Frank Chang , Max Chou Subject: [PATCH 1/4] target/riscv: Add Zicclsm CPU option Date: Fri, 24 Apr 2026 18:27:57 +0800 Message-ID: <20260424102800.24022-2-frank.chang@sifive.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260424102800.24022-1-frank.chang@sifive.com> References: <20260424102800.24022-1-frank.chang@sifive.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::629; envelope-from=frank.chang@sifive.com; helo=mail-pl1-x629.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @sifive.com) X-ZM-MESSAGEID: 1777026567041158500 Content-Type: text/plain; charset="utf-8" From: Frank Chang Add Zicclsm CPU option so that user can turn on/off misaligned loads and stores support. Signed-off-by: Frank Chang Reviewed-by: Max Chou Reviewed-by: Alistair Francis --- target/riscv/cpu.c | 2 +- target/riscv/cpu_cfg_fields.h.inc | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c index ce15a17c37d..df56b64a736 100644 --- a/target/riscv/cpu.c +++ b/target/riscv/cpu.c @@ -127,7 +127,7 @@ const RISCVIsaExtData isa_edata_arr[] =3D { 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_EXT_DATA_ENTRY(zicclsm, PRIV_VERSION_1_11_0, ext_zicclsm), 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), diff --git a/target/riscv/cpu_cfg_fields.h.inc b/target/riscv/cpu_cfg_field= s.h.inc index 734fa079f28..fc55dc6d892 100644 --- a/target/riscv/cpu_cfg_fields.h.inc +++ b/target/riscv/cpu_cfg_fields.h.inc @@ -139,6 +139,8 @@ BOOL_FIELD(has_priv_1_11) /* Always enabled for TCG if has_priv_1_11 */ BOOL_FIELD(ext_ziccrse) =20 +BOOL_FIELD(ext_zicclsm) + /* Vendor-specific custom extensions */ BOOL_FIELD(ext_xtheadba) BOOL_FIELD(ext_xtheadbb) --=20 2.43.0 From nobody Sat May 30 19:21:54 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=reject dis=none) header.from=sifive.com ARC-Seal: i=1; a=rsa-sha256; t=1777026558; cv=none; d=zohomail.com; s=zohoarc; b=ELOqTcl9qITM2C6lH5iAKI1t2F77+AwCXzqvn1r78N5yAEStPM0/X7OvrSIGfMOSvzaHWDCPpCxqZm0JyISjqvoHEDeQtmK6q2/fnwZJFo3AF1w7YCZctjBGPznYUiGzwoFIxe+N0ThZlqTGPAImiRNNHFRYEA/z8I1jRtEsZwc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1777026558; 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=pSw8kImgt+V5S5xBZme5dHEoqer3BY93L/cOLcV0R+Q=; b=Od74gwjm8D3Mq7JIhIYCGw5gHpzdSVKy6fe1qlinu7Vt45FfxIdfiuSK/rePkBpU1RL4DF4ioj1Ie8zcZukn7Odnv/SF7E/IaoEcdr4Vb/AQ9zILntJC6gFbaFs57UHPvqbxH59yX69zQkub92WM1zS0XZ7dxT91Xzlui9pPTuU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1777026558026421.68674456250085; Fri, 24 Apr 2026 03:29:18 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wGDlh-0005Ny-St; Fri, 24 Apr 2026 06:28:17 -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 1wGDle-0005Mu-9z for qemu-devel@nongnu.org; Fri, 24 Apr 2026 06:28:15 -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 1wGDlc-0006Pa-QT for qemu-devel@nongnu.org; Fri, 24 Apr 2026 06:28:14 -0400 Received: by mail-pl1-x632.google.com with SMTP id d9443c01a7336-2b25cf1b5f0so42614175ad.3 for ; Fri, 24 Apr 2026 03:28:12 -0700 (PDT) Received: from hsinchu16.internal.sifive.com ([210.176.154.34]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2b5fab0c17esm218889585ad.41.2026.04.24.03.28.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 24 Apr 2026 03:28:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; t=1777026491; x=1777631291; 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=pSw8kImgt+V5S5xBZme5dHEoqer3BY93L/cOLcV0R+Q=; b=IRPiZdwsxVV9LnGoDcDhg/zLbFk67nktZe6XPDv/+aYhnEvU3Rnw16psiUMMt+H2co nAjeOiwvglnpeA1kr/rmnZUWY1SN9HU1296seRaNZsz/diSFZTEZ3vBRNEpy2wJNbv6B 0gYwvTTtBUoCOkYVD+1nVhIRLTagRPmeu3DeDapHN3g/CwuKndTiVz3AKQhEjAewyJZ3 EJkESIKoGjKwR6x0ujB106eaugVkslaixuhB87wgzP0h+GPA2RkHvGajl2fqxg6GY3CU pKARNMcvy5zG5MqTuBoKdXh62DzsukHPq262NLwEei6NosCVeRFJXBqXC/1mlWbu7vDm lBjw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777026491; x=1777631291; 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=pSw8kImgt+V5S5xBZme5dHEoqer3BY93L/cOLcV0R+Q=; b=cGHrVD9thTNu8+flHsl0e6E4wGdvLTJoXZkarmjNFdbi1//hvaiKKSv4BHu5xYS2vM QM+0KUQ3ZwnluhPWbQUKJwd3oylsR/zGVoj6+U6BJRB8YOI9oKrw4jyho2UvybXuS1o9 DgSxE2valvOMm6J4m6BuokIgFb3KHkYCvIQ8ar5jtMONxbAKjzO+eGx3PBbwhkaeU1xd 3kMnfZQOim6iFkNMMfFTcQmD7sLCPjxswPnBqd4iS/36QA5bl1Z9oufaBCAvZhs9sKyA V7KBhZ5rueRjyYQma0IdSJc2Ya+kBTmjFewMmpov+s+PzhPtS7mPf0RKyqYImsfJNWv0 xS1g== X-Gm-Message-State: AOJu0YxxBctltA5dHYXutzG+q1ohvS6EUrZ6d6R6Ug/9zdXLljcQQPtS Pu9/LlWSbYSvq9mhqNnHstIiL+hLLU/sWm4AVTzld7djgz46NwstaE7bCwR3o1G1dfJ2gq68GSB d+CQ83CHjnzF7s07hDsBSg37sbrbgXSlqhYCWd7dN2ykhwIpt8t6XXmAtzsVMtUNKIvF40cJ4aa mRHJ3ObCSz+u5A18pdD5eipNcyqK197/enrXuBbiwA1Ai1kKfC X-Gm-Gg: AeBDievUB7k2eRpMLJEBIHBOdcwf8qlKLL1AQM4u99OKN9Fg5zDgS7C/SssgT3s4CCF A9Qr/jJfe9C49K9tFAuNmdJkqCcPI4yag0e1GdhpB6YZVZGDn6ZKGj+x9KgdplbLD6QG4QI6n7a 4D3avAIPTmhWLOaJu+Q1BJIaZEpJZLw3lAMh7dl0LlZrWIVfxN15qW3LQq8r0zxi2oH2TpxnobW 26eyjNte5RZB18Gcmghw63pGh+taIdluDUFZFuxnC5YS13tUeui99zbknwckN3JfXTQArXafv6n +E+qyBy4OXk19sZLcavP2sW3fNNfiqSPwMLU6/u4tT9+gBfiV2c7P9bIOk6X0Y9l60S0huLtUJ8 pfhQklq5KhJCAlCNKestpC0EI3vlh6YrOiArZ1i4YldWSum8HpVHcaxxnamxY3hKPdJkn9D/PAT eIZogoWU++bCFwALL8rdblvPr79IYrRCQcuPkz/Qk0Tdb4w3SLQ1B35UBTupte X-Received: by 2002:a17:903:2291:b0:2b4:678c:5f27 with SMTP id d9443c01a7336-2b5f9f3c5cbmr339255175ad.34.1777026490702; Fri, 24 Apr 2026 03:28:10 -0700 (PDT) From: frank.chang@sifive.com To: qemu-devel@nongnu.org Cc: Palmer Dabbelt , Alistair Francis , Weiwei Li , Daniel Henrique Barboza , Liu Zhiwei , Chao Liu , qemu-riscv@nongnu.org (open list:RISC-V TCG CPUs), Frank Chang , Max Chou Subject: [PATCH 2/4] target/riscv: Support raising misaligned exceptions for scalar loads/stores Date: Fri, 24 Apr 2026 18:27:58 +0800 Message-ID: <20260424102800.24022-3-frank.chang@sifive.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260424102800.24022-1-frank.chang@sifive.com> References: <20260424102800.24022-1-frank.chang@sifive.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::632; envelope-from=frank.chang@sifive.com; helo=mail-pl1-x632.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @sifive.com) X-ZM-MESSAGEID: 1777026559683154100 Content-Type: text/plain; charset="utf-8" From: Frank Chang When the Zicclsm extension is not enabled, raise misaligned load/store exceptions for misaligned accesses from scalar load/store instructions. Signed-off-by: Frank Chang Reviewed-by: Max Chou Reviewed-by: Alistair Francis --- target/riscv/insn_trans/trans_rvi.c.inc | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/target/riscv/insn_trans/trans_rvi.c.inc b/target/riscv/insn_tr= ans/trans_rvi.c.inc index 2c82ae41a77..2662fc5c2a2 100644 --- a/target/riscv/insn_trans/trans_rvi.c.inc +++ b/target/riscv/insn_trans/trans_rvi.c.inc @@ -413,6 +413,9 @@ static bool gen_load(DisasContext *ctx, arg_lb *a, MemO= p memop) if (ctx->cfg_ptr->ext_zama16b) { memop |=3D MO_ATOM_WITHIN16; } + if (!ctx->cfg_ptr->ext_zicclsm) { + memop |=3D MO_ALIGN; + } decode_save_opc(ctx, 0); if (get_xl(ctx) =3D=3D MXL_RV128) { out =3D gen_load_i128(ctx, a, memop); @@ -524,6 +527,9 @@ static bool gen_store(DisasContext *ctx, arg_sb *a, Mem= Op memop) if (ctx->cfg_ptr->ext_zama16b) { memop |=3D MO_ATOM_WITHIN16; } + if (!ctx->cfg_ptr->ext_zicclsm) { + memop |=3D MO_ALIGN; + } decode_save_opc(ctx, 0); if (get_xl(ctx) =3D=3D MXL_RV128) { return gen_store_i128(ctx, a, memop); --=20 2.43.0 From nobody Sat May 30 19:21:54 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=reject dis=none) header.from=sifive.com ARC-Seal: i=1; a=rsa-sha256; t=1777026558; cv=none; d=zohomail.com; s=zohoarc; b=PdnwB/zJj3XOc8RQVY/kXQvMcjQRE/HbnNMM7pJcu8hl3ElqJzklL/AsK7Y5xG1vmhMP8IYMKbhl1Ni1UK02jtlIenjs0bEI+6SjesxYssYwQxaF93teVHBgXc/TbBvD0kxZQ6d2DaqDVnkvHSkQvi1zot336swa+iAcEepLtRI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1777026558; 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=bcVpuiJ5LFLZKYUjyh6wh8FSJ9K2QaQPRuEkCV8Ke78=; b=h5XRYHP8qToGw/umJnd9MYsaxom64vAOg6cTKxMrpZLSCKtf/IVs5YPp34/Qy0Jt+Bgk1XySP7XByhR4kSE80kKztbNE2Xxz2chIQodMzOr2+8tfQdV7B5C3pD+RFu27zkiR+VkZFzeUj/DRTtWvEssprKoxJRWkK8TQGrNSkEA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1777026558492911.0362022567406; Fri, 24 Apr 2026 03:29:18 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wGDlj-0005P7-Tg; Fri, 24 Apr 2026 06:28:19 -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 1wGDlh-0005NR-87 for qemu-devel@nongnu.org; Fri, 24 Apr 2026 06:28:17 -0400 Received: from mail-pg1-x530.google.com ([2607:f8b0:4864:20::530]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wGDlf-0006QX-Gv for qemu-devel@nongnu.org; Fri, 24 Apr 2026 06:28:16 -0400 Received: by mail-pg1-x530.google.com with SMTP id 41be03b00d2f7-c7973f67f4dso2348540a12.1 for ; Fri, 24 Apr 2026 03:28:15 -0700 (PDT) Received: from hsinchu16.internal.sifive.com ([210.176.154.34]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2b5fab0c17esm218889585ad.41.2026.04.24.03.28.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 24 Apr 2026 03:28:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; t=1777026493; x=1777631293; 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=bcVpuiJ5LFLZKYUjyh6wh8FSJ9K2QaQPRuEkCV8Ke78=; b=mh6thZfyyTR7zqnaGjQLbjP4GtIlcnHEs9RQZPyDit5UL7RspGzVzHjB1snFLVZDJN eAesP14aZVzlImCSbWHS4gJnzrgN0G4N/NeoIn0Hrhs7bbyYJe/v4UcZtYuLrnwEk7xj pB5QOWAYpPLkAXQWSBp8UjjISZVPbzEW7PuBfKZVwq62Zqsz8OC7rSpmUVSeB45E4pB3 /uU6r7dssTw8Ia8T7t9igktLKME6zfPrGX8llCTEDTc2SCFSQKtYDo/jIqeb1bhBl8ar sPztLRK/zg267G8qWLyfJ0RLIfFQDrc6z+IBoiYgUNdZCxWfcUQfKTq+CkUxEBw7zrLY 5TDg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777026493; x=1777631293; 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=bcVpuiJ5LFLZKYUjyh6wh8FSJ9K2QaQPRuEkCV8Ke78=; b=UCuNn7nVqDhgE1drk6r2DvJwwKjWt6mH7ZnvxfBpJZnmKhD2JVXunbKJSgHqxVCwNc cLEPTkrcMrJwRhECPLBgKiYtLZWn8kC6ep00ShF0FvjSb9RKRNdpgzqqJMQ1KVDHZyVn 9K3iNnDnhIN7tNiOMoFb2l6jda8Lq7cXsqiSamEZgaJPKF2J3GuEsn3CuaRprcEB3pra QgXlOz4VpIwX+G1LwPCXQSMBxfMWgInwykHA8dQlsl2qmt/lnjcM4OlJxJn4s/Op5DLN tzTzk4NtgiWKljzCL7nGzXdQurCXPCamz8ZKPO7SPgdivhU5iolSGGVKHphqNWqLmv0w 7VkQ== X-Gm-Message-State: AOJu0YxRMQMuBtJuLcplqJRUvp2CY8SUiFZKE2td2yTEdY96GjmWcb6H KUQYzLA+TBjalm3yU1HV0dJgktIc16egHdrZmNN5Fuf9Yv5wWFxRVHuV3DrQI2Fqbb0dkZe1pXp gA2agoyZcmrogqt1emBZ5ZUWBtC24cv7Mjeb+u+4oD1TX/JLbpLv0sdXGFdJG3mTyOaIZY0DF+u 8icpmDEq700YgNrSF5300dwEXK27GRhwKCGh9EPcBDhfvrKcWv X-Gm-Gg: AeBDietroxZzmTeQk9goNiv1o3vsUZwV6nXOAZtAbRCyEwSBVcREVRKAYoyLHauly0d asYa5HqWUldJApjGc+gj/WaOzPmKbRNNbxE7Ep3gkZ6oOw4AVC+Xxyo9wJfYFM2b5PaEca8g9O9 y7CGTw5p1bu0L/OO8vLrSQgtoc49OE0j0FsQ14i2YlesIZAmqUaLgRGYBqtVnDpE/i0VI9ECFIZ GQcwNrBRfIdER16wjMOxBFHbgzDIb986e3r7IlRvizUSNjlDX+R/KFbNs9Ps5FZIVvEY/IRFIIq Yw3yiljMVwi6Y7yBiAgmvyLRz6w91F3JlShnEX9IghgCNsxl+Ye5g8yYupUSMmzXcAZtdJuW+eQ QWovLMShpZz1HchdYLB4LdGFFuPtUZ9wFccwjkDqO/4fpOWBCL9dJrAAZRziqAZCxcGqNVp1KA1 jmTjsUMAt749T2kQymxvCc8F05Qge/oEMLa4P/4986Ne1OHyORLYs8Vu+HnBQ4 X-Received: by 2002:a17:902:e748:b0:2b4:5d0c:7a85 with SMTP id d9443c01a7336-2b5f9dbcd42mr291227995ad.3.1777026493268; Fri, 24 Apr 2026 03:28:13 -0700 (PDT) From: frank.chang@sifive.com To: qemu-devel@nongnu.org Cc: Palmer Dabbelt , Alistair Francis , Weiwei Li , Daniel Henrique Barboza , Liu Zhiwei , Chao Liu , qemu-riscv@nongnu.org (open list:RISC-V TCG CPUs), Frank Chang , Max Chou Subject: [PATCH 3/4] target/riscv: Support raising misaligned exceptions for vector loads/stores Date: Fri, 24 Apr 2026 18:27:59 +0800 Message-ID: <20260424102800.24022-4-frank.chang@sifive.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260424102800.24022-1-frank.chang@sifive.com> References: <20260424102800.24022-1-frank.chang@sifive.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::530; envelope-from=frank.chang@sifive.com; helo=mail-pg1-x530.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @sifive.com) X-ZM-MESSAGEID: 1777026559768154100 Content-Type: text/plain; charset="utf-8" From: Frank Chang When the Zicclsm extension is not enabled, raise misaligned load/store exceptions for misaligned accesses from vector load/store instructions. We will skip the host fast-path and fall back to the slow TLB-path to raise misaligned load/store exceptions for the misaligned accesses when Zicclsm extension is disabled. Signed-off-by: Frank Chang Reviewed-by: Max Chou --- target/riscv/insn_trans/trans_rvv.c.inc | 3 +- target/riscv/vector_helper.c | 82 ++++++++++++++++++++----- 2 files changed, 69 insertions(+), 16 deletions(-) diff --git a/target/riscv/insn_trans/trans_rvv.c.inc b/target/riscv/insn_tr= ans/trans_rvv.c.inc index 5b72926b3c1..c8f106c0bab 100644 --- a/target/riscv/insn_trans/trans_rvv.c.inc +++ b/target/riscv/insn_trans/trans_rvv.c.inc @@ -1190,9 +1190,10 @@ static bool ldst_whole_trans(uint32_t vd, uint32_t r= s1, uint32_t nf, * Update vstart with the number of processed elements. * Use the helper function if either: * - vstart is not 0. + * - Zicclsm is disabled, so misaligned accesses could trap. */ =20 - bool use_helper_fn =3D !s->vstart_eq_zero; + bool use_helper_fn =3D !s->vstart_eq_zero || !s->cfg_ptr->ext_zicclsm; =20 if (!use_helper_fn) { uint32_t size =3D s->cfg_ptr->vlenb * nf; diff --git a/target/riscv/vector_helper.c b/target/riscv/vector_helper.c index 538168efc9b..f74f73f046d 100644 --- a/target/riscv/vector_helper.c +++ b/target/riscv/vector_helper.c @@ -200,20 +200,51 @@ static inline void vext_set_elem_mask(void *v0, int i= ndex, ((uint64_t *)v0)[idx] =3D deposit64(old, pos, 1, value); } =20 +static MemOpIdx vext_make_memop_idx(CPURISCVState *env, size_t size) +{ + int mmu_idx =3D riscv_env_mmu_index(env, false); + MemOp memop; + + switch (size) { + case 1: + memop =3D MO_UB; + break; + case 2: + memop =3D MO_LEUW; + break; + case 4: + memop =3D MO_LEUL; + break; + case 8: + memop =3D MO_LEUQ; + break; + default: + g_assert_not_reached(); + } + + if (!riscv_cpu_cfg(env)->ext_zicclsm) { + memop |=3D MO_ALIGN; + } + + return make_memop_idx(memop, mmu_idx); +} + /* elements operations for load and store */ typedef void vext_ldst_elem_fn_tlb(CPURISCVState *env, abi_ptr addr, uint32_t idx, void *vd, uintptr_t retad= dr); typedef void vext_ldst_elem_fn_host(void *vd, uint32_t idx, void *host); =20 -#define GEN_VEXT_LD_ELEM(NAME, ETYPE, H, LDSUF) \ +#define GEN_VEXT_TLB_LD_ELEM(NAME, ETYPE, H, LDSUF) \ static inline QEMU_ALWAYS_INLINE \ void NAME##_tlb(CPURISCVState *env, abi_ptr addr, \ uint32_t idx, void *vd, uintptr_t retaddr) \ { \ ETYPE *cur =3D ((ETYPE *)vd + H(idx)); \ - *cur =3D cpu_##LDSUF##_data_ra(env, addr, retaddr); \ + MemOpIdx oi =3D vext_make_memop_idx(env, sizeof(ETYPE)); \ + *cur =3D cpu_##LDSUF##_mmu(env, addr, oi, retaddr); \ } \ - \ + +#define GEN_VEXT_HOST_LD_ELEM(NAME, ETYPE, H, LDSUF) \ static inline QEMU_ALWAYS_INLINE \ void NAME##_host(void *vd, uint32_t idx, void *host) \ { \ @@ -221,20 +252,27 @@ void NAME##_host(void *vd, uint32_t idx, void *host) = \ *cur =3D (ETYPE)LDSUF##_p(host); \ } =20 -GEN_VEXT_LD_ELEM(lde_b, uint8_t, H1, ldub) -GEN_VEXT_LD_ELEM(lde_h, uint16_t, H2, lduw_le) -GEN_VEXT_LD_ELEM(lde_w, uint32_t, H4, ldl_le) -GEN_VEXT_LD_ELEM(lde_d, uint64_t, H8, ldq_le) +GEN_VEXT_TLB_LD_ELEM(lde_b, uint8_t, H1, ldb) +GEN_VEXT_TLB_LD_ELEM(lde_h, uint16_t, H2, ldw) +GEN_VEXT_TLB_LD_ELEM(lde_w, uint32_t, H4, ldl) +GEN_VEXT_TLB_LD_ELEM(lde_d, uint64_t, H8, ldq) + +GEN_VEXT_HOST_LD_ELEM(lde_b, uint8_t, H1, ldub) +GEN_VEXT_HOST_LD_ELEM(lde_h, uint16_t, H2, lduw_le) +GEN_VEXT_HOST_LD_ELEM(lde_w, uint32_t, H4, ldl_le) +GEN_VEXT_HOST_LD_ELEM(lde_d, uint64_t, H8, ldq_le) =20 -#define GEN_VEXT_ST_ELEM(NAME, ETYPE, H, STSUF) \ +#define GEN_VEXT_TLB_ST_ELEM(NAME, ETYPE, H, STSUF) \ static inline QEMU_ALWAYS_INLINE \ void NAME##_tlb(CPURISCVState *env, abi_ptr addr, \ uint32_t idx, void *vd, uintptr_t retaddr) \ { \ ETYPE data =3D *((ETYPE *)vd + H(idx)); \ - cpu_##STSUF##_data_ra(env, addr, data, retaddr); \ + MemOpIdx oi =3D vext_make_memop_idx(env, sizeof(ETYPE)); \ + cpu_##STSUF##_mmu(env, addr, data, oi, retaddr); \ } \ - \ + +#define GEN_VEXT_HOST_ST_ELEM(NAME, ETYPE, H, STSUF) \ static inline QEMU_ALWAYS_INLINE \ void NAME##_host(void *vd, uint32_t idx, void *host) \ { \ @@ -242,10 +280,15 @@ void NAME##_host(void *vd, uint32_t idx, void *host) = \ STSUF##_p(host, data); \ } =20 -GEN_VEXT_ST_ELEM(ste_b, uint8_t, H1, stb) -GEN_VEXT_ST_ELEM(ste_h, uint16_t, H2, stw_le) -GEN_VEXT_ST_ELEM(ste_w, uint32_t, H4, stl_le) -GEN_VEXT_ST_ELEM(ste_d, uint64_t, H8, stq_le) +GEN_VEXT_TLB_ST_ELEM(ste_b, uint8_t, H1, stb) +GEN_VEXT_TLB_ST_ELEM(ste_h, uint16_t, H2, stw) +GEN_VEXT_TLB_ST_ELEM(ste_w, uint32_t, H4, stl) +GEN_VEXT_TLB_ST_ELEM(ste_d, uint64_t, H8, stq) + +GEN_VEXT_HOST_ST_ELEM(ste_b, uint8_t, H1, stb) +GEN_VEXT_HOST_ST_ELEM(ste_h, uint16_t, H2, stw_le) +GEN_VEXT_HOST_ST_ELEM(ste_w, uint32_t, H4, stl_le) +GEN_VEXT_HOST_ST_ELEM(ste_d, uint64_t, H8, stq_le) =20 static inline QEMU_ALWAYS_INLINE void vext_continuous_ldst_tlb(CPURISCVState *env, vext_ldst_elem_fn_tlb *ldst_t= lb, @@ -393,7 +436,16 @@ vext_page_ldst_us(CPURISCVState *env, void *vd, target= _ulong addr, probe_pages(env, addr, size, ra, access_type, mmu_index, &host, &flags, true); =20 - if (flags =3D=3D 0) { + bool misaligned =3D addr & (esz - 1); + + /* + * Allow the host fast-pash when: + * 1. Page permission/pmp/watchpoint are checked and we have a conti= gous + * host mapping. + * 2. Zicclsm is enabled or load/store is not a misaligned access. + * Otherwise, we will fall back to the slow TLB-path. + */ + if (flags =3D=3D 0 && (riscv_cpu_cfg(env)->ext_zicclsm || !misaligned)= ) { if (nf =3D=3D 1) { vext_continuous_ldst_host(env, ldst_host, vd, evl, env->vstart, host, esz, is_load); --=20 2.43.0 From nobody Sat May 30 19:21:54 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=reject dis=none) header.from=sifive.com ARC-Seal: i=1; a=rsa-sha256; t=1777026566; cv=none; d=zohomail.com; s=zohoarc; b=nbihyZD53XFBLJ8SLkfTi7R0rrO91qpL2bjHNk/Pu3mWjKxcfJnpKwDO1lyn6Pkk+TqG+IOsR+wFkc4eYZfqg3oAabcdwEZDDctMIbu0xjD58HTyl0hTNhd9w8gkoEfYU4rtcxQjVrbj5JWiSdRqrAm03Gfcm8Z9mEXbdofhq3c= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1777026566; 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=hfYiP5dksUUHNGg1Q2tKEehZ8qQGjLLlEBFXz7KBkHU=; b=fSRF5WvzUZAXKmwJPZF5y2DsvgcQZMqLjPN8+lu7eYFZA/sVEotFSSItoVxylXPLV/g/kkRhTFR1mBO4GRR/jOwwByWP26AT2vKMnD2l9ZYTq+0U03AhK//7LvE/Yig0TU+/8dhLQFqbrmkXJ5lEWdWkPl86va1S+NAi1cbSVTA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1777026566457475.5483690649871; Fri, 24 Apr 2026 03:29:26 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wGDll-0005PU-Am; Fri, 24 Apr 2026 06:28: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 1wGDlj-0005Od-3b for qemu-devel@nongnu.org; Fri, 24 Apr 2026 06:28:19 -0400 Received: from mail-pg1-x530.google.com ([2607:f8b0:4864:20::530]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wGDlh-0006Qq-L7 for qemu-devel@nongnu.org; Fri, 24 Apr 2026 06:28:18 -0400 Received: by mail-pg1-x530.google.com with SMTP id 41be03b00d2f7-c70ea5e9e9dso3371375a12.1 for ; Fri, 24 Apr 2026 03:28:17 -0700 (PDT) Received: from hsinchu16.internal.sifive.com ([210.176.154.34]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2b5fab0c17esm218889585ad.41.2026.04.24.03.28.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 24 Apr 2026 03:28:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; t=1777026496; x=1777631296; 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=hfYiP5dksUUHNGg1Q2tKEehZ8qQGjLLlEBFXz7KBkHU=; b=DLVUqbnh5F9Erwf2PMASx6cWT9Io+22Toy6I8i01fKPdb1YzkOey7NzJA6x9AB8WQ/ YQqTTckxhGXEzq68rCXPp3DARD3MWcuV20oM/S/35pwEC6IcAEFjgroXD3iXf9cQliJr ypiwjOvXxY66CJzJ1emeO5UXwIjmd0KmdU2LF5cAArkwZkeC56WDUDIRfRoOhsng8Veu iFN6CMa7MlDF23VsrYXWbDB19HjgjM9TMxEa0XUHCsEEk7OxNhvQ4SMecEYZn7ySDl05 kpSp2h7pG3jkfNwpQLXYYIbAccYE6yv4SeRMkP+m1bPj54Nds5qF5uwkT50dEQtgnMll UJeQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777026496; x=1777631296; 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=hfYiP5dksUUHNGg1Q2tKEehZ8qQGjLLlEBFXz7KBkHU=; b=K9c1wgb3wFpeJBwS/fBSa3PCTuLkLtFJnuFm58fGmz9+Dzon+zGsIDeMMkmHmp2tsb 3MK0bmPwvEa8Bw65WEwTl+Les+bX4y+k8iUz9GYX+r7kQeJEYR86o6ZKf3Do6a7nemFA /vF+i9G+L9hJ63atojc5Pq2W44yzAGRqgYIwmB5x/+r70hVWv44wBu38vvniI+TdvsRx kjnCr48RIkRsIJpxOJem7sqYPJxdxVZkA73D0b8yhKBQdDoaykS0+jDSQjDQoqfJHKI0 Yr7JeLYGuL1RCjMrM2XCvAiNQueW6UUXG7pF8zdFLSpZtQZ+9pEiCGsF3um6B5mNxpkj ro/A== X-Gm-Message-State: AOJu0YyZQOG+Jt0Nu6db/4GK75OEG5tIHWvcfAieYt9zJG+Jfv3K1yue yX/VCwozrp2dLKiD6TtWenQcWDxtaPh9l5K9NMlT40qDdBWXtdmoeWhVg9kJhz7AMIRN+c16+OR eXL7OKqNU9WL0yyFxqjxAG56yl/Zk1Fxm8c1IXRDbUvm8kd6fv74cdDGmDeFiAS2IocS7i5H/2C fxjparPfJm4Ksz54+Il+HyO4TAvMDbrxFOx/J8+xn02ZQ6YQk2 X-Gm-Gg: AeBDietaoO+645XPwj0q2wE5MS5F8qrhPvKnFNIcmvasbcfpt9hlhH5fmS2aLPHP5tO dQk6kYsOD9nMDi1mlYfH1WikRzEqB4MUFl7tFaKPvHsKqx3keL7DxlOPRAutUni5i1XYEiAQ/2O HXhp6nh8E0+mK2ZHqHhZV4DL66BQbOhpjPEUZrbwfbYyhW0kuSS8MC0EpKKdTTmNUBatLigAGBB d7Bb5UNFvYslvzdRbKGYojDas3InTrRpr4XBujBIl6vRxFFuA363M2TrROAgp51ZN7HXcCaxgOu 3SGkCEtiCQuOJJhQHmUla7avRev8R7QFaromKi+mn3Q+sTyKF7P4spZM4odDd8WK8ci5ru7CEaA VDBk28Itd8ySsWS4h+5UwUN+i6fmJ8YyPURpqxAe5Jhu7pvhpfWTzuPT9rrvhPziyAsoqSIw2ZM C5IS/HxeZiCBKRq9awEYGWdqiGrhlwVKsKC0OVJsjX4IyGDoHMZrMCMskbZ4y2 X-Received: by 2002:a17:903:2acb:b0:2ae:450c:951e with SMTP id d9443c01a7336-2b5f9f08968mr332418265ad.17.1777026495758; Fri, 24 Apr 2026 03:28:15 -0700 (PDT) From: frank.chang@sifive.com To: qemu-devel@nongnu.org Cc: Palmer Dabbelt , Alistair Francis , Weiwei Li , Daniel Henrique Barboza , Liu Zhiwei , Chao Liu , qemu-riscv@nongnu.org (open list:RISC-V TCG CPUs), Frank Chang , Max Chou Subject: [PATCH 4/4] target/riscv: Expose Zicclsm extension as a CPU property Date: Fri, 24 Apr 2026 18:28:00 +0800 Message-ID: <20260424102800.24022-5-frank.chang@sifive.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260424102800.24022-1-frank.chang@sifive.com> References: <20260424102800.24022-1-frank.chang@sifive.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::530; envelope-from=frank.chang@sifive.com; helo=mail-pg1-x530.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @sifive.com) X-ZM-MESSAGEID: 1777026566997158500 Content-Type: text/plain; charset="utf-8" From: Frank Chang Expose Zicclsm extension as a CPU property to allow user to turn on/off Zicclsm extension. Zicclsm is set to true by default to be backward compatible with the old RISC-V QEMU design. Signed-off-by: Frank Chang Reviewed-by: Max Chou Reviewed-by: Alistair Francis --- target/riscv/cpu.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c index df56b64a736..7f5e06ef83d 100644 --- a/target/riscv/cpu.c +++ b/target/riscv/cpu.c @@ -1327,6 +1327,8 @@ const RISCVCPUMultiExtConfig riscv_cpu_extensions[] = =3D { MULTI_EXT_CFG_BOOL("zicbop", ext_zicbop, true), MULTI_EXT_CFG_BOOL("zicboz", ext_zicboz, true), =20 + MULTI_EXT_CFG_BOOL("zicclsm", ext_zicclsm, true), + MULTI_EXT_CFG_BOOL("zmmul", ext_zmmul, false), =20 MULTI_EXT_CFG_BOOL("zca", ext_zca, false), --=20 2.43.0