[PATCH 4/8] riscv: Add PLATFORM_MAY_SUPPORT_RISCV_ISA_SVPBMT Kconfig option

Charlie Jenkins posted 8 patches 1 year, 7 months ago
[PATCH 4/8] riscv: Add PLATFORM_MAY_SUPPORT_RISCV_ISA_SVPBMT Kconfig option
Posted by Charlie Jenkins 1 year, 7 months ago
Svpbmt would not benefit from having PLATFORM_SUPPORTS_RISCV_ISA_SVPBMT
so just rename RISCV_ISA_SVPBMT to PLATFORM_MAY_SUPPORT_RISCV_ISA_SVPBMT
and move the definition to Kconfig.isa.

Signed-off-by: Charlie Jenkins <charlie@rivosinc.com>
---
 arch/riscv/Kconfig     | 17 -----------------
 arch/riscv/Kconfig.isa | 17 +++++++++++++++++
 2 files changed, 17 insertions(+), 17 deletions(-)

diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig
index 9c3a4347953b..22303a3ab59e 100644
--- a/arch/riscv/Kconfig
+++ b/arch/riscv/Kconfig
@@ -484,23 +484,6 @@ config RISCV_ALTERNATIVE_EARLY
 	help
 	  Allows early patching of the kernel for special errata
 
-config RISCV_ISA_SVPBMT
-	bool "Svpbmt extension support for supervisor mode page-based memory types"
-	depends on 64BIT && MMU
-	depends on RISCV_ALTERNATIVE
-	default y
-	help
-	   Add support for the Svpbmt ISA-extension (Supervisor-mode:
-	   page-based memory types) in the kernel when it is detected at boot.
-
-	   The memory type for a page contains a combination of attributes
-	   that indicate the cacheability, idempotency, and ordering
-	   properties for access to that page.
-
-	   The Svpbmt extension is only available on 64-bit cpus.
-
-	   If you don't know what to do here, say Y.
-
 config TOOLCHAIN_HAS_ZBB
 	bool
 	default y
diff --git a/arch/riscv/Kconfig.isa b/arch/riscv/Kconfig.isa
index 37585bcd763e..50e217dc5719 100644
--- a/arch/riscv/Kconfig.isa
+++ b/arch/riscv/Kconfig.isa
@@ -168,3 +168,20 @@ config PLATFORM_SUPPORTS_RISCV_ISA_SVNAPOT
 	  not support Svnapot.
 
 endchoice
+
+config RISCV_ISA_SVPBMT
+	bool "Svpbmt extension support for supervisor mode page-based memory types"
+	depends on 64BIT && MMU
+	depends on RISCV_ALTERNATIVE
+	default y
+	help
+	   Add support for the Svpbmt ISA-extension (Supervisor-mode:
+	   page-based memory types) in the kernel when it is detected at boot.
+
+	   The memory type for a page contains a combination of attributes
+	   that indicate the cacheability, idempotency, and ordering
+	   properties for access to that page.
+
+	   The Svpbmt extension is only available on 64-bit cpus.
+
+	   If you don't know what to do here, say Y.

-- 
2.44.0
Re: [PATCH 4/8] riscv: Add PLATFORM_MAY_SUPPORT_RISCV_ISA_SVPBMT Kconfig option
Posted by Jessica Clarke 1 year, 7 months ago
On 7 May 2024, at 02:40, Charlie Jenkins <charlie@rivosinc.com> wrote:
> 
> Svpbmt would not benefit from having PLATFORM_SUPPORTS_RISCV_ISA_SVPBMT
> so just rename RISCV_ISA_SVPBMT to PLATFORM_MAY_SUPPORT_RISCV_ISA_SVPBMT
> and move the definition to Kconfig.isa.
> 
> Signed-off-by: Charlie Jenkins <charlie@rivosinc.com>
> ---
> arch/riscv/Kconfig     | 17 -----------------
> arch/riscv/Kconfig.isa | 17 +++++++++++++++++
> 2 files changed, 17 insertions(+), 17 deletions(-)
> 
> diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig
> index 9c3a4347953b..22303a3ab59e 100644
> --- a/arch/riscv/Kconfig
> +++ b/arch/riscv/Kconfig
> @@ -484,23 +484,6 @@ config RISCV_ALTERNATIVE_EARLY
> help
>  Allows early patching of the kernel for special errata
> 
> -config RISCV_ISA_SVPBMT
> - bool "Svpbmt extension support for supervisor mode page-based memory types"
> - depends on 64BIT && MMU
> - depends on RISCV_ALTERNATIVE
> - default y
> - help
> -   Add support for the Svpbmt ISA-extension (Supervisor-mode:
> -   page-based memory types) in the kernel when it is detected at boot.
> -
> -   The memory type for a page contains a combination of attributes
> -   that indicate the cacheability, idempotency, and ordering
> -   properties for access to that page.
> -
> -   The Svpbmt extension is only available on 64-bit cpus.
> -
> -   If you don't know what to do here, say Y.
> -
> config TOOLCHAIN_HAS_ZBB
> bool
> default y
> diff --git a/arch/riscv/Kconfig.isa b/arch/riscv/Kconfig.isa
> index 37585bcd763e..50e217dc5719 100644
> --- a/arch/riscv/Kconfig.isa
> +++ b/arch/riscv/Kconfig.isa
> @@ -168,3 +168,20 @@ config PLATFORM_SUPPORTS_RISCV_ISA_SVNAPOT
>  not support Svnapot.
> 
> endchoice
> +
> +config RISCV_ISA_SVPBMT

Hi Charlie,
Despite the subject and body you haven’t renamed it in this patch?

Jess

> + bool "Svpbmt extension support for supervisor mode page-based memory types"
> + depends on 64BIT && MMU
> + depends on RISCV_ALTERNATIVE
> + default y
> + help
> +   Add support for the Svpbmt ISA-extension (Supervisor-mode:
> +   page-based memory types) in the kernel when it is detected at boot.
> +
> +   The memory type for a page contains a combination of attributes
> +   that indicate the cacheability, idempotency, and ordering
> +   properties for access to that page.
> +
> +   The Svpbmt extension is only available on 64-bit cpus.
> +
> +   If you don't know what to do here, say Y.
> 
> -- 
> 2.44.0
> 
> 
> _______________________________________________
> linux-riscv mailing list
> linux-riscv@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-riscv
Re: [PATCH 4/8] riscv: Add PLATFORM_MAY_SUPPORT_RISCV_ISA_SVPBMT Kconfig option
Posted by Charlie Jenkins 1 year, 7 months ago
On Tue, May 07, 2024 at 06:40:52AM +0100, Jessica Clarke wrote:
> On 7 May 2024, at 02:40, Charlie Jenkins <charlie@rivosinc.com> wrote:
> > 
> > Svpbmt would not benefit from having PLATFORM_SUPPORTS_RISCV_ISA_SVPBMT
> > so just rename RISCV_ISA_SVPBMT to PLATFORM_MAY_SUPPORT_RISCV_ISA_SVPBMT
> > and move the definition to Kconfig.isa.
> > 
> > Signed-off-by: Charlie Jenkins <charlie@rivosinc.com>
> > ---
> > arch/riscv/Kconfig     | 17 -----------------
> > arch/riscv/Kconfig.isa | 17 +++++++++++++++++
> > 2 files changed, 17 insertions(+), 17 deletions(-)
> > 
> > diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig
> > index 9c3a4347953b..22303a3ab59e 100644
> > --- a/arch/riscv/Kconfig
> > +++ b/arch/riscv/Kconfig
> > @@ -484,23 +484,6 @@ config RISCV_ALTERNATIVE_EARLY
> > help
> >  Allows early patching of the kernel for special errata
> > 
> > -config RISCV_ISA_SVPBMT
> > - bool "Svpbmt extension support for supervisor mode page-based memory types"
> > - depends on 64BIT && MMU
> > - depends on RISCV_ALTERNATIVE
> > - default y
> > - help
> > -   Add support for the Svpbmt ISA-extension (Supervisor-mode:
> > -   page-based memory types) in the kernel when it is detected at boot.
> > -
> > -   The memory type for a page contains a combination of attributes
> > -   that indicate the cacheability, idempotency, and ordering
> > -   properties for access to that page.
> > -
> > -   The Svpbmt extension is only available on 64-bit cpus.
> > -
> > -   If you don't know what to do here, say Y.
> > -
> > config TOOLCHAIN_HAS_ZBB
> > bool
> > default y
> > diff --git a/arch/riscv/Kconfig.isa b/arch/riscv/Kconfig.isa
> > index 37585bcd763e..50e217dc5719 100644
> > --- a/arch/riscv/Kconfig.isa
> > +++ b/arch/riscv/Kconfig.isa
> > @@ -168,3 +168,20 @@ config PLATFORM_SUPPORTS_RISCV_ISA_SVNAPOT
> >  not support Svnapot.
> > 
> > endchoice
> > +
> > +config RISCV_ISA_SVPBMT
> 
> Hi Charlie,
> Despite the subject and body you haven’t renamed it in this patch?

I didn't do a good job at explaining exactly what's happening here. The
config option "PLATFORM_MAY_SUPPORT_RISCV_ISA_SVPBMT" most closely
follows the semantics of what "RISCV_ISA_SVPBMT" previously was. This
patch changes "RISCV_ISA_SVPBMT" to mean that either
PLATFORM_MAY_SUPPORT_RISCV_ISA_SVPBMT or
PLATFORM_SUPPORTS_RISCV_ISA_SVNAPOT was selected.

- Charlie

> 
> Jess
> 
> > + bool "Svpbmt extension support for supervisor mode page-based memory types"
> > + depends on 64BIT && MMU
> > + depends on RISCV_ALTERNATIVE
> > + default y
> > + help
> > +   Add support for the Svpbmt ISA-extension (Supervisor-mode:
> > +   page-based memory types) in the kernel when it is detected at boot.
> > +
> > +   The memory type for a page contains a combination of attributes
> > +   that indicate the cacheability, idempotency, and ordering
> > +   properties for access to that page.
> > +
> > +   The Svpbmt extension is only available on 64-bit cpus.
> > +
> > +   If you don't know what to do here, say Y.
> > 
> > -- 
> > 2.44.0
> > 
> > 
> > _______________________________________________
> > linux-riscv mailing list
> > linux-riscv@lists.infradead.org
> > http://lists.infradead.org/mailman/listinfo/linux-riscv
> 
Re: [PATCH 4/8] riscv: Add PLATFORM_MAY_SUPPORT_RISCV_ISA_SVPBMT Kconfig option
Posted by Charlie Jenkins 1 year, 7 months ago
On Tue, May 07, 2024 at 01:39:14PM -0700, Charlie Jenkins wrote:
> On Tue, May 07, 2024 at 06:40:52AM +0100, Jessica Clarke wrote:
> > On 7 May 2024, at 02:40, Charlie Jenkins <charlie@rivosinc.com> wrote:
> > > 
> > > Svpbmt would not benefit from having PLATFORM_SUPPORTS_RISCV_ISA_SVPBMT
> > > so just rename RISCV_ISA_SVPBMT to PLATFORM_MAY_SUPPORT_RISCV_ISA_SVPBMT
> > > and move the definition to Kconfig.isa.
> > > 
> > > Signed-off-by: Charlie Jenkins <charlie@rivosinc.com>
> > > ---
> > > arch/riscv/Kconfig     | 17 -----------------
> > > arch/riscv/Kconfig.isa | 17 +++++++++++++++++
> > > 2 files changed, 17 insertions(+), 17 deletions(-)
> > > 
> > > diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig
> > > index 9c3a4347953b..22303a3ab59e 100644
> > > --- a/arch/riscv/Kconfig
> > > +++ b/arch/riscv/Kconfig
> > > @@ -484,23 +484,6 @@ config RISCV_ALTERNATIVE_EARLY
> > > help
> > >  Allows early patching of the kernel for special errata
> > > 
> > > -config RISCV_ISA_SVPBMT
> > > - bool "Svpbmt extension support for supervisor mode page-based memory types"
> > > - depends on 64BIT && MMU
> > > - depends on RISCV_ALTERNATIVE
> > > - default y
> > > - help
> > > -   Add support for the Svpbmt ISA-extension (Supervisor-mode:
> > > -   page-based memory types) in the kernel when it is detected at boot.
> > > -
> > > -   The memory type for a page contains a combination of attributes
> > > -   that indicate the cacheability, idempotency, and ordering
> > > -   properties for access to that page.
> > > -
> > > -   The Svpbmt extension is only available on 64-bit cpus.
> > > -
> > > -   If you don't know what to do here, say Y.
> > > -
> > > config TOOLCHAIN_HAS_ZBB
> > > bool
> > > default y
> > > diff --git a/arch/riscv/Kconfig.isa b/arch/riscv/Kconfig.isa
> > > index 37585bcd763e..50e217dc5719 100644
> > > --- a/arch/riscv/Kconfig.isa
> > > +++ b/arch/riscv/Kconfig.isa
> > > @@ -168,3 +168,20 @@ config PLATFORM_SUPPORTS_RISCV_ISA_SVNAPOT
> > >  not support Svnapot.
> > > 
> > > endchoice
> > > +
> > > +config RISCV_ISA_SVPBMT
> > 
> > Hi Charlie,
> > Despite the subject and body you haven’t renamed it in this patch?
> 
> I didn't do a good job at explaining exactly what's happening here. The
> config option "PLATFORM_MAY_SUPPORT_RISCV_ISA_SVPBMT" most closely
> follows the semantics of what "RISCV_ISA_SVPBMT" previously was. This
> patch changes "RISCV_ISA_SVPBMT" to mean that either
> PLATFORM_MAY_SUPPORT_RISCV_ISA_SVPBMT or
> PLATFORM_SUPPORTS_RISCV_ISA_SVNAPOT was selected.

Disregard what I said... I was thinking about the other extensions and
forgot this one was different. Thank you for pointing this out! I need
to change this description to just say that the definition moved to
Kconfig.isa.

- Charlie

> 
> - Charlie
> 
> > 
> > Jess
> > 
> > > + bool "Svpbmt extension support for supervisor mode page-based memory types"
> > > + depends on 64BIT && MMU
> > > + depends on RISCV_ALTERNATIVE
> > > + default y
> > > + help
> > > +   Add support for the Svpbmt ISA-extension (Supervisor-mode:
> > > +   page-based memory types) in the kernel when it is detected at boot.
> > > +
> > > +   The memory type for a page contains a combination of attributes
> > > +   that indicate the cacheability, idempotency, and ordering
> > > +   properties for access to that page.
> > > +
> > > +   The Svpbmt extension is only available on 64-bit cpus.
> > > +
> > > +   If you don't know what to do here, say Y.
> > > 
> > > -- 
> > > 2.44.0
> > > 
> > > 
> > > _______________________________________________
> > > linux-riscv mailing list
> > > linux-riscv@lists.infradead.org
> > > http://lists.infradead.org/mailman/listinfo/linux-riscv
> >