Message ID | 20240212022642.1968739-1-samuel.holland@sifive.com |
---|---|
State | New |
Headers |
Return-Path: <linux-kernel+bounces-61067-ouuuleilei=gmail.com@vger.kernel.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7300:50ea:b0:106:860b:bbdd with SMTP id r10csp2197006dyd; Sun, 11 Feb 2024 18:29:26 -0800 (PST) X-Google-Smtp-Source: AGHT+IH5+JMA0vW/N8eqTCcpxaLz7Noes5sZZ9uT1bBOf5AqQZ+c38XkuqtnzSF65TRJ3kdJHTcR X-Received: by 2002:a05:6870:20d:b0:218:c918:a06d with SMTP id j13-20020a056870020d00b00218c918a06dmr7396441oad.32.1707704966665; Sun, 11 Feb 2024 18:29:26 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1707704966; cv=pass; d=google.com; s=arc-20160816; b=0RieOkRM4GysnYipPIAMv//JLoPmdrNf6+fXRgkOlJdNE/IrYPdoMj0QVK6uS6+yGF zR5C5CLMsmse7NnIwFKZG2ukX8v1hLVmFzb+W3efLMNBATovT2Mz5Q3eweYIJKQROPyv ihZcHbJ6JE2zvid892nVJwnsTgy7C+h2JeIkqxOTi8Hoh0uBW5CcXXV3n1gHZT6DH8RK VvcUIqFawCgmJ9uUj77oNugC45ZA9hBmM82pRd4DjGOq9A9tr3c2FEtLPRw+I89vgB8M 5sXnc13BKGpRKLxFAlRCLsPWg0c1iLr9j+A3u9Nd8wE+JC/93h9PdbZ3Ng1oTh8ayih/ lKfA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:message-id:date:subject:cc:to :from:dkim-signature; bh=+kIZpNvKn1kQfhO8EuiKdYkkbsLjW1fhO0uLZ9v9zVM=; fh=zPdo/q6a3VHaGdN1R+cJ8b474KE6aZDJIBb3hoMR08k=; b=iRFNepe7w7+r0dgLkjzJ0CdldmTlhcb3iy11uNasQIpmgOWeFz48fsPdi7sZ/pa7pN Y9mzJFiWnGZhSVjsbhnPG9T5vE5nAbUMODGRzWI69AS/RFRSY/6pSkvFwDU3IGLqby+2 9ID2LOFYWgjQ8pLxOFVE2QzcdzuYc+Mab1PVSo0UM6X/39GrnXUEuUtJkJqPQGXgvauA VHP+yK+KZZ9iptCRq7Qa18j4bw9Yo9VuoSJgoaOZ76FvVv1o3ZycgpEuqG8pvAqHYoEu NcqcFz1erWURpLjy9ffWSQkM+37Edss8qlJtV+b5CMQ9yXlBtFgUwj7tlg4mbGEITQJn A2LQ==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@sifive.com header.s=google header.b=LzQPPsyl; arc=pass (i=1 spf=pass spfdomain=sifive.com dkim=pass dkdomain=sifive.com dmarc=pass fromdomain=sifive.com); spf=pass (google.com: domain of linux-kernel+bounces-61067-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.48.161 as permitted sender) smtp.mailfrom="linux-kernel+bounces-61067-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=sifive.com X-Forwarded-Encrypted: i=2; AJvYcCXH6Ljqf8RFwD1ZtO0DRDp+2cHvLn+Vs1OknL2sMiTw44ZHVVvM/wfHN8xJhM0uZd2cn+9u/M39G3vU6NzMv5OWV+A8HQ== Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org. [147.75.48.161]) by mx.google.com with ESMTPS id y73-20020a638a4c000000b005dbec1e99c6si5702445pgd.309.2024.02.11.18.29.26 for <ouuuleilei@gmail.com> (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 11 Feb 2024 18:29:26 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-61067-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.48.161 as permitted sender) client-ip=147.75.48.161; Authentication-Results: mx.google.com; dkim=pass header.i=@sifive.com header.s=google header.b=LzQPPsyl; arc=pass (i=1 spf=pass spfdomain=sifive.com dkim=pass dkdomain=sifive.com dmarc=pass fromdomain=sifive.com); spf=pass (google.com: domain of linux-kernel+bounces-61067-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.48.161 as permitted sender) smtp.mailfrom="linux-kernel+bounces-61067-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=sifive.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sy.mirrors.kernel.org (Postfix) with ESMTPS id 7FCD2B248DA for <ouuuleilei@gmail.com>; Mon, 12 Feb 2024 02:27:08 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 839A3566A; Mon, 12 Feb 2024 02:26:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=sifive.com header.i=@sifive.com header.b="LzQPPsyl" Received: from mail-pl1-f180.google.com (mail-pl1-f180.google.com [209.85.214.180]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4E9CF1877 for <linux-kernel@vger.kernel.org>; Mon, 12 Feb 2024 02:26:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.180 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1707704806; cv=none; b=Y2/Z51OfTw3qBdDEMMzrdLgg31JAuChCx12Uej2kZGBjdBmrbte6xH9snkmNj+0Hh1DAf7eczEaNWnFoNhWQHthffP7Sh2ykykPV4J7YWQAgPOdqnl+6YiW7q/8GswsY7g4hUGM40UmplFyF1lCXqPkM6sRT3q4G0blNWKxAoFg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1707704806; c=relaxed/simple; bh=I8xais3M6KWt4jD9YpX9Bk9467Z0fCdsov2sXouaIUo=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=LCLDrflNNUs5VMNTeb9Gqm/mNg1TdJmxKqO/cUM27RfSRKYv6npJeeerw5lxk0WycEqV6HNwZINPCCG9ASoshaacxghlE3S+DI+2nWRQFD4+tBeQ0BO8JMLqiVE83Jl9+RkzgQfun9++249t52sz3p0Cvm1dPzkid5lpPrmDi2U= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=sifive.com; spf=pass smtp.mailfrom=sifive.com; dkim=pass (2048-bit key) header.d=sifive.com header.i=@sifive.com header.b=LzQPPsyl; arc=none smtp.client-ip=209.85.214.180 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=sifive.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=sifive.com Received: by mail-pl1-f180.google.com with SMTP id d9443c01a7336-1d8ef977f1eso19484685ad.0 for <linux-kernel@vger.kernel.org>; Sun, 11 Feb 2024 18:26:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; t=1707704804; x=1708309604; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=+kIZpNvKn1kQfhO8EuiKdYkkbsLjW1fhO0uLZ9v9zVM=; b=LzQPPsylzO73aUClijYzrRs/vv2dIntGKpKNXabFKGHM1f9nkWp1kGdfLQ8LxmPEnd XZTHuZJKLRsRCm5hnDiHeDRmljTL5HzygMExSdukf8cc/K2xW4/xIvuWAutMda+cHcf6 1/JYQ25Cissojr2u8EzJLVFeS5RIusEPn5NK+4S1EwiqkBqnYAiNqpi22h5Pc4G0z6Qr xqp80+/vZ8nls/JpuSyjEr1eq8mzp/YBbtK5pLxBikyJYrJcwjC5GnRAXD5SJZo6tVDD 6vc44LyysN0a5NaHxQFDnMnap8c9W6YRzaWe1dApHO94IjpVGXhdINonGzyG0vZrd4Fk /3Ag== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1707704804; x=1708309604; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=+kIZpNvKn1kQfhO8EuiKdYkkbsLjW1fhO0uLZ9v9zVM=; b=E43dAWEW0YecXH2LbO9MLTnZpKPy68bc8mR8Pyy2w6pmz5jFQS8nMdOzCzcqSHnRKp ElLyMFPQCetUc8+8Cs1l1hz1LrqxXiSFUiqBpOrm/ErVXePMklvFcm+Xfag/5zswtdX3 MX5+z8eYGWHSPdHWGVhVNy0ItuqM1khwnc4gVBB4C0CL8HL5RvJXGrhlVnQEkjP8p8ty L5vmkP4KBmGwsS9yk82ixawcNucsKvWDkUInbfI1jP55Fon33ik0MpxKk/ottpD6+gnW i4kdzyhuwzBxnGqP2yZckwOWICvld0JkG1RYxmUXlGJHtHBvpZ2vhDfa2WOdkrfaQrLX t1aA== X-Gm-Message-State: AOJu0YxA9NK2A+Fu7AlqzBFlizw9MR1vT6I3Q1ZJnIYbecDBnqw+kzG0 3IpZSgB6G3Im25KZGQsSzP/quHMlouaOTiQz7DaNKHUYKpklrRPozTGsHhzRm2HvjAo6rlqX4Ue i X-Received: by 2002:a17:902:ce8a:b0:1d9:5f11:d018 with SMTP id f10-20020a170902ce8a00b001d95f11d018mr6165050plg.1.1707704804598; Sun, 11 Feb 2024 18:26:44 -0800 (PST) X-Forwarded-Encrypted: i=1; AJvYcCUfdeKz8qQ1Wm/LNrWafjLgkv2+Xkl8QrY/iZkgowaE8IySyAhm6B7a9c9c/cifytyBUKmSpQly+vFAnwjO1HIVW1XVe+DkIvqGaDhJ43ypOJnuMyTSRDRJMdhMKGU+Az55/4QPqYlZXa82EICvNRAepdBnJg4jItKVtMxdi7IV5ihxUtDCkD/VY9r2gLvJ Received: from sw06.internal.sifive.com ([4.53.31.132]) by smtp.gmail.com with ESMTPSA id mg8-20020a170903348800b001da27cbcf5dsm1719624plb.228.2024.02.11.18.26.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 11 Feb 2024 18:26:44 -0800 (PST) From: Samuel Holland <samuel.holland@sifive.com> To: Andrew Jones <ajones@ventanamicro.com>, Palmer Dabbelt <palmer@dabbelt.com> Cc: linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, Samuel Holland <samuel.holland@sifive.com>, stable@kernel.org Subject: [PATCH -fixes 1/2] riscv: Fix enabling cbo.zero when running in M-mode Date: Sun, 11 Feb 2024 18:26:14 -0800 Message-ID: <20240212022642.1968739-1-samuel.holland@sifive.com> X-Mailer: git-send-email 2.43.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: <linux-kernel.vger.kernel.org> List-Subscribe: <mailto:linux-kernel+subscribe@vger.kernel.org> List-Unsubscribe: <mailto:linux-kernel+unsubscribe@vger.kernel.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1790658442683949834 X-GMAIL-MSGID: 1790658442683949834 |
Series |
[-fixes,1/2] riscv: Fix enabling cbo.zero when running in M-mode
|
|
Commit Message
Samuel Holland
Feb. 12, 2024, 2:26 a.m. UTC
When the kernel is running in M-mode, the CBZE bit must be set in the
menvcfg CSR, not in senvcfg.
Cc: stable@kernel.org
Fixes: 43c16d51a19b ("RISC-V: Enable cbo.zero in usermode")
Signed-off-by: Samuel Holland <samuel.holland@sifive.com>
---
arch/riscv/include/asm/csr.h | 2 ++
arch/riscv/kernel/cpufeature.c | 2 +-
2 files changed, 3 insertions(+), 1 deletion(-)
Comments
On Sun, Feb 11, 2024 at 06:26:14PM -0800, Samuel Holland wrote: > When the kernel is running in M-mode, the CBZE bit must be set in the > menvcfg CSR, not in senvcfg. > > Cc: stable@kernel.org > Fixes: 43c16d51a19b ("RISC-V: Enable cbo.zero in usermode") > Signed-off-by: Samuel Holland <samuel.holland@sifive.com> > --- > > arch/riscv/include/asm/csr.h | 2 ++ > arch/riscv/kernel/cpufeature.c | 2 +- > 2 files changed, 3 insertions(+), 1 deletion(-) > > diff --git a/arch/riscv/include/asm/csr.h b/arch/riscv/include/asm/csr.h > index 510014051f5d..2468c55933cd 100644 > --- a/arch/riscv/include/asm/csr.h > +++ b/arch/riscv/include/asm/csr.h > @@ -424,6 +424,7 @@ > # define CSR_STATUS CSR_MSTATUS > # define CSR_IE CSR_MIE > # define CSR_TVEC CSR_MTVEC > +# define CSR_ENVCFG CSR_MENVCFG > # define CSR_SCRATCH CSR_MSCRATCH > # define CSR_EPC CSR_MEPC > # define CSR_CAUSE CSR_MCAUSE > @@ -448,6 +449,7 @@ > # define CSR_STATUS CSR_SSTATUS > # define CSR_IE CSR_SIE > # define CSR_TVEC CSR_STVEC > +# define CSR_ENVCFG CSR_SENVCFG > # define CSR_SCRATCH CSR_SSCRATCH > # define CSR_EPC CSR_SEPC > # define CSR_CAUSE CSR_SCAUSE > diff --git a/arch/riscv/kernel/cpufeature.c b/arch/riscv/kernel/cpufeature.c > index 89920f84d0a3..c5b13f7dd482 100644 > --- a/arch/riscv/kernel/cpufeature.c > +++ b/arch/riscv/kernel/cpufeature.c > @@ -950,7 +950,7 @@ arch_initcall(check_unaligned_access_all_cpus); > void riscv_user_isa_enable(void) > { > if (riscv_cpu_has_extension_unlikely(smp_processor_id(), RISCV_ISA_EXT_ZICBOZ)) > - csr_set(CSR_SENVCFG, ENVCFG_CBZE); > + csr_set(CSR_ENVCFG, ENVCFG_CBZE); > } > > #ifdef CONFIG_RISCV_ALTERNATIVE > -- > 2.43.0 > Deepak has also posted this change[1], but his is missing the Fixes tag. [1] https://lore.kernel.org/all/20240125024611.1321941-1-debug@rivosinc.com/ Thanks, drew
On Sun, Feb 11, 2024 at 06:26:14PM -0800, Samuel Holland wrote: > When the kernel is running in M-mode, the CBZE bit must be set in the > menvcfg CSR, not in senvcfg. > > Cc: stable@kernel.org > Fixes: 43c16d51a19b ("RISC-V: Enable cbo.zero in usermode") > Signed-off-by: Samuel Holland <samuel.holland@sifive.com> > --- > > arch/riscv/include/asm/csr.h | 2 ++ > arch/riscv/kernel/cpufeature.c | 2 +- > 2 files changed, 3 insertions(+), 1 deletion(-) > > diff --git a/arch/riscv/include/asm/csr.h b/arch/riscv/include/asm/csr.h > index 510014051f5d..2468c55933cd 100644 > --- a/arch/riscv/include/asm/csr.h > +++ b/arch/riscv/include/asm/csr.h > @@ -424,6 +424,7 @@ > # define CSR_STATUS CSR_MSTATUS > # define CSR_IE CSR_MIE > # define CSR_TVEC CSR_MTVEC > +# define CSR_ENVCFG CSR_MENVCFG > # define CSR_SCRATCH CSR_MSCRATCH > # define CSR_EPC CSR_MEPC > # define CSR_CAUSE CSR_MCAUSE > @@ -448,6 +449,7 @@ > # define CSR_STATUS CSR_SSTATUS > # define CSR_IE CSR_SIE > # define CSR_TVEC CSR_STVEC > +# define CSR_ENVCFG CSR_SENVCFG > # define CSR_SCRATCH CSR_SSCRATCH > # define CSR_EPC CSR_SEPC > # define CSR_CAUSE CSR_SCAUSE > diff --git a/arch/riscv/kernel/cpufeature.c b/arch/riscv/kernel/cpufeature.c > index 89920f84d0a3..c5b13f7dd482 100644 > --- a/arch/riscv/kernel/cpufeature.c > +++ b/arch/riscv/kernel/cpufeature.c > @@ -950,7 +950,7 @@ arch_initcall(check_unaligned_access_all_cpus); > void riscv_user_isa_enable(void) > { > if (riscv_cpu_has_extension_unlikely(smp_processor_id(), RISCV_ISA_EXT_ZICBOZ)) > - csr_set(CSR_SENVCFG, ENVCFG_CBZE); > + csr_set(CSR_ENVCFG, ENVCFG_CBZE); > } > > #ifdef CONFIG_RISCV_ALTERNATIVE > -- > 2.43.0 > In case we take this one instead of Deepak's Reviewed-by: Andrew Jones <ajones@ventanamicro.com>
Hello: This series was applied to riscv/linux.git (fixes) by Palmer Dabbelt <palmer@rivosinc.com>: On Sun, 11 Feb 2024 18:26:14 -0800 you wrote: > When the kernel is running in M-mode, the CBZE bit must be set in the > menvcfg CSR, not in senvcfg. > > Cc: stable@kernel.org > Fixes: 43c16d51a19b ("RISC-V: Enable cbo.zero in usermode") > Signed-off-by: Samuel Holland <samuel.holland@sifive.com> > > [...] Here is the summary with links: - [-fixes,1/2] riscv: Fix enabling cbo.zero when running in M-mode https://git.kernel.org/riscv/c/3fb3f7164edc - [-fixes,2/2] riscv: Save/restore envcfg CSR during CPU suspend (no matching commit) You are awesome, thank you!
diff --git a/arch/riscv/include/asm/csr.h b/arch/riscv/include/asm/csr.h index 510014051f5d..2468c55933cd 100644 --- a/arch/riscv/include/asm/csr.h +++ b/arch/riscv/include/asm/csr.h @@ -424,6 +424,7 @@ # define CSR_STATUS CSR_MSTATUS # define CSR_IE CSR_MIE # define CSR_TVEC CSR_MTVEC +# define CSR_ENVCFG CSR_MENVCFG # define CSR_SCRATCH CSR_MSCRATCH # define CSR_EPC CSR_MEPC # define CSR_CAUSE CSR_MCAUSE @@ -448,6 +449,7 @@ # define CSR_STATUS CSR_SSTATUS # define CSR_IE CSR_SIE # define CSR_TVEC CSR_STVEC +# define CSR_ENVCFG CSR_SENVCFG # define CSR_SCRATCH CSR_SSCRATCH # define CSR_EPC CSR_SEPC # define CSR_CAUSE CSR_SCAUSE diff --git a/arch/riscv/kernel/cpufeature.c b/arch/riscv/kernel/cpufeature.c index 89920f84d0a3..c5b13f7dd482 100644 --- a/arch/riscv/kernel/cpufeature.c +++ b/arch/riscv/kernel/cpufeature.c @@ -950,7 +950,7 @@ arch_initcall(check_unaligned_access_all_cpus); void riscv_user_isa_enable(void) { if (riscv_cpu_has_extension_unlikely(smp_processor_id(), RISCV_ISA_EXT_ZICBOZ)) - csr_set(CSR_SENVCFG, ENVCFG_CBZE); + csr_set(CSR_ENVCFG, ENVCFG_CBZE); } #ifdef CONFIG_RISCV_ALTERNATIVE