Commit 4bf8860760d9 ("riscv: cpufeature: extend
riscv_cpufeature_patch_func to all ISA extensions") switched ISA
extension alternatives to use the RISCV_ISA_EXT_* macros instead of
CPUFEATURE_*. This was mismerged when applied on top of the Zbb series,
so the Zbb alternatives referenced the wrong errata ID values.
Fixes: 9daca9a5b9ac ("Merge patch series "riscv: improve boot time isa extensions handling"")
Signed-off-by: Samuel Holland <samuel@sholland.org>
---
arch/riscv/include/asm/errata_list.h | 5 -----
arch/riscv/lib/strcmp.S | 2 +-
arch/riscv/lib/strlen.S | 2 +-
arch/riscv/lib/strncmp.S | 2 +-
4 files changed, 3 insertions(+), 8 deletions(-)
diff --git a/arch/riscv/include/asm/errata_list.h b/arch/riscv/include/asm/errata_list.h
index e158439029ce..274c6f889602 100644
--- a/arch/riscv/include/asm/errata_list.h
+++ b/arch/riscv/include/asm/errata_list.h
@@ -23,11 +23,6 @@
#define ERRATA_THEAD_NUMBER 3
#endif
-#define CPUFEATURE_SVPBMT 0
-#define CPUFEATURE_ZICBOM 1
-#define CPUFEATURE_ZBB 2
-#define CPUFEATURE_NUMBER 3
-
#ifdef __ASSEMBLY__
#define ALT_INSN_FAULT(x) \
diff --git a/arch/riscv/lib/strcmp.S b/arch/riscv/lib/strcmp.S
index 8148b6418f61..986ab23fe787 100644
--- a/arch/riscv/lib/strcmp.S
+++ b/arch/riscv/lib/strcmp.S
@@ -9,7 +9,7 @@
/* int strcmp(const char *cs, const char *ct) */
SYM_FUNC_START(strcmp)
- ALTERNATIVE("nop", "j strcmp_zbb", 0, CPUFEATURE_ZBB, CONFIG_RISCV_ISA_ZBB)
+ ALTERNATIVE("nop", "j strcmp_zbb", 0, RISCV_ISA_EXT_ZBB, CONFIG_RISCV_ISA_ZBB)
/*
* Returns
diff --git a/arch/riscv/lib/strlen.S b/arch/riscv/lib/strlen.S
index 0f9dbf93301a..8345ceeee3f6 100644
--- a/arch/riscv/lib/strlen.S
+++ b/arch/riscv/lib/strlen.S
@@ -9,7 +9,7 @@
/* int strlen(const char *s) */
SYM_FUNC_START(strlen)
- ALTERNATIVE("nop", "j strlen_zbb", 0, CPUFEATURE_ZBB, CONFIG_RISCV_ISA_ZBB)
+ ALTERNATIVE("nop", "j strlen_zbb", 0, RISCV_ISA_EXT_ZBB, CONFIG_RISCV_ISA_ZBB)
/*
* Returns
diff --git a/arch/riscv/lib/strncmp.S b/arch/riscv/lib/strncmp.S
index 7940ddab2d48..ee49595075be 100644
--- a/arch/riscv/lib/strncmp.S
+++ b/arch/riscv/lib/strncmp.S
@@ -9,7 +9,7 @@
/* int strncmp(const char *cs, const char *ct, size_t count) */
SYM_FUNC_START(strncmp)
- ALTERNATIVE("nop", "j strncmp_zbb", 0, CPUFEATURE_ZBB, CONFIG_RISCV_ISA_ZBB)
+ ALTERNATIVE("nop", "j strncmp_zbb", 0, RISCV_ISA_EXT_ZBB, CONFIG_RISCV_ISA_ZBB)
/*
* Returns
--
2.37.4
Reviewed-by: Guo Ren <guoren@kernel.org> On Sun, Feb 12, 2023 at 10:15 AM Samuel Holland <samuel@sholland.org> wrote: > > Commit 4bf8860760d9 ("riscv: cpufeature: extend > riscv_cpufeature_patch_func to all ISA extensions") switched ISA > extension alternatives to use the RISCV_ISA_EXT_* macros instead of > CPUFEATURE_*. This was mismerged when applied on top of the Zbb series, > so the Zbb alternatives referenced the wrong errata ID values. > > Fixes: 9daca9a5b9ac ("Merge patch series "riscv: improve boot time isa extensions handling"") > Signed-off-by: Samuel Holland <samuel@sholland.org> > --- > > arch/riscv/include/asm/errata_list.h | 5 ----- > arch/riscv/lib/strcmp.S | 2 +- > arch/riscv/lib/strlen.S | 2 +- > arch/riscv/lib/strncmp.S | 2 +- > 4 files changed, 3 insertions(+), 8 deletions(-) > > diff --git a/arch/riscv/include/asm/errata_list.h b/arch/riscv/include/asm/errata_list.h > index e158439029ce..274c6f889602 100644 > --- a/arch/riscv/include/asm/errata_list.h > +++ b/arch/riscv/include/asm/errata_list.h > @@ -23,11 +23,6 @@ > #define ERRATA_THEAD_NUMBER 3 > #endif > > -#define CPUFEATURE_SVPBMT 0 > -#define CPUFEATURE_ZICBOM 1 > -#define CPUFEATURE_ZBB 2 > -#define CPUFEATURE_NUMBER 3 > - > #ifdef __ASSEMBLY__ > > #define ALT_INSN_FAULT(x) \ > diff --git a/arch/riscv/lib/strcmp.S b/arch/riscv/lib/strcmp.S > index 8148b6418f61..986ab23fe787 100644 > --- a/arch/riscv/lib/strcmp.S > +++ b/arch/riscv/lib/strcmp.S > @@ -9,7 +9,7 @@ > /* int strcmp(const char *cs, const char *ct) */ > SYM_FUNC_START(strcmp) > > - ALTERNATIVE("nop", "j strcmp_zbb", 0, CPUFEATURE_ZBB, CONFIG_RISCV_ISA_ZBB) > + ALTERNATIVE("nop", "j strcmp_zbb", 0, RISCV_ISA_EXT_ZBB, CONFIG_RISCV_ISA_ZBB) > > /* > * Returns > diff --git a/arch/riscv/lib/strlen.S b/arch/riscv/lib/strlen.S > index 0f9dbf93301a..8345ceeee3f6 100644 > --- a/arch/riscv/lib/strlen.S > +++ b/arch/riscv/lib/strlen.S > @@ -9,7 +9,7 @@ > /* int strlen(const char *s) */ > SYM_FUNC_START(strlen) > > - ALTERNATIVE("nop", "j strlen_zbb", 0, CPUFEATURE_ZBB, CONFIG_RISCV_ISA_ZBB) > + ALTERNATIVE("nop", "j strlen_zbb", 0, RISCV_ISA_EXT_ZBB, CONFIG_RISCV_ISA_ZBB) > > /* > * Returns > diff --git a/arch/riscv/lib/strncmp.S b/arch/riscv/lib/strncmp.S > index 7940ddab2d48..ee49595075be 100644 > --- a/arch/riscv/lib/strncmp.S > +++ b/arch/riscv/lib/strncmp.S > @@ -9,7 +9,7 @@ > /* int strncmp(const char *cs, const char *ct, size_t count) */ > SYM_FUNC_START(strncmp) > > - ALTERNATIVE("nop", "j strncmp_zbb", 0, CPUFEATURE_ZBB, CONFIG_RISCV_ISA_ZBB) > + ALTERNATIVE("nop", "j strncmp_zbb", 0, RISCV_ISA_EXT_ZBB, CONFIG_RISCV_ISA_ZBB) > > /* > * Returns > -- > 2.37.4 > -- Best Regards Guo Ren
On Sat, Feb 11, 2023 at 08:15:33PM -0600, Samuel Holland wrote: > Commit 4bf8860760d9 ("riscv: cpufeature: extend > riscv_cpufeature_patch_func to all ISA extensions") switched ISA > extension alternatives to use the RISCV_ISA_EXT_* macros instead of > CPUFEATURE_*. This was mismerged when applied on top of the Zbb series, > so the Zbb alternatives referenced the wrong errata ID values. > > Fixes: 9daca9a5b9ac ("Merge patch series "riscv: improve boot time isa extensions handling"") > Signed-off-by: Samuel Holland <samuel@sholland.org> > --- > > arch/riscv/include/asm/errata_list.h | 5 ----- > arch/riscv/lib/strcmp.S | 2 +- > arch/riscv/lib/strlen.S | 2 +- > arch/riscv/lib/strncmp.S | 2 +- > 4 files changed, 3 insertions(+), 8 deletions(-) > Reviewed-by: Andrew Jones <ajones@ventanamicro.com>
On Sat, Feb 11, 2023 at 08:15:33PM -0600, Samuel Holland wrote: > Commit 4bf8860760d9 ("riscv: cpufeature: extend > riscv_cpufeature_patch_func to all ISA extensions") switched ISA > extension alternatives to use the RISCV_ISA_EXT_* macros instead of > CPUFEATURE_*. This was mismerged when applied on top of the Zbb series, > so the Zbb alternatives referenced the wrong errata ID values. > > Fixes: 9daca9a5b9ac ("Merge patch series "riscv: improve boot time isa extensions handling"") Re: your question on irc, I think you did the right thing here as Jisheng did remove them in his series: https://lore.kernel.org/linux-riscv/20230128172856.3814-5-jszhang@kernel.org/ Reviewed-by: Conor Dooley <conor.dooley@microchip.com> > Signed-off-by: Samuel Holland <samuel@sholland.org> > --- > > arch/riscv/include/asm/errata_list.h | 5 ----- > arch/riscv/lib/strcmp.S | 2 +- > arch/riscv/lib/strlen.S | 2 +- > arch/riscv/lib/strncmp.S | 2 +- > 4 files changed, 3 insertions(+), 8 deletions(-) > > diff --git a/arch/riscv/include/asm/errata_list.h b/arch/riscv/include/asm/errata_list.h > index e158439029ce..274c6f889602 100644 > --- a/arch/riscv/include/asm/errata_list.h > +++ b/arch/riscv/include/asm/errata_list.h > @@ -23,11 +23,6 @@ > #define ERRATA_THEAD_NUMBER 3 > #endif > > -#define CPUFEATURE_SVPBMT 0 > -#define CPUFEATURE_ZICBOM 1 > -#define CPUFEATURE_ZBB 2 > -#define CPUFEATURE_NUMBER 3 > - > #ifdef __ASSEMBLY__ > > #define ALT_INSN_FAULT(x) \ > diff --git a/arch/riscv/lib/strcmp.S b/arch/riscv/lib/strcmp.S > index 8148b6418f61..986ab23fe787 100644 > --- a/arch/riscv/lib/strcmp.S > +++ b/arch/riscv/lib/strcmp.S > @@ -9,7 +9,7 @@ > /* int strcmp(const char *cs, const char *ct) */ > SYM_FUNC_START(strcmp) > > - ALTERNATIVE("nop", "j strcmp_zbb", 0, CPUFEATURE_ZBB, CONFIG_RISCV_ISA_ZBB) > + ALTERNATIVE("nop", "j strcmp_zbb", 0, RISCV_ISA_EXT_ZBB, CONFIG_RISCV_ISA_ZBB) > > /* > * Returns > diff --git a/arch/riscv/lib/strlen.S b/arch/riscv/lib/strlen.S > index 0f9dbf93301a..8345ceeee3f6 100644 > --- a/arch/riscv/lib/strlen.S > +++ b/arch/riscv/lib/strlen.S > @@ -9,7 +9,7 @@ > /* int strlen(const char *s) */ > SYM_FUNC_START(strlen) > > - ALTERNATIVE("nop", "j strlen_zbb", 0, CPUFEATURE_ZBB, CONFIG_RISCV_ISA_ZBB) > + ALTERNATIVE("nop", "j strlen_zbb", 0, RISCV_ISA_EXT_ZBB, CONFIG_RISCV_ISA_ZBB) > > /* > * Returns > diff --git a/arch/riscv/lib/strncmp.S b/arch/riscv/lib/strncmp.S > index 7940ddab2d48..ee49595075be 100644 > --- a/arch/riscv/lib/strncmp.S > +++ b/arch/riscv/lib/strncmp.S > @@ -9,7 +9,7 @@ > /* int strncmp(const char *cs, const char *ct, size_t count) */ > SYM_FUNC_START(strncmp) > > - ALTERNATIVE("nop", "j strncmp_zbb", 0, CPUFEATURE_ZBB, CONFIG_RISCV_ISA_ZBB) > + ALTERNATIVE("nop", "j strncmp_zbb", 0, RISCV_ISA_EXT_ZBB, CONFIG_RISCV_ISA_ZBB) > > /* > * Returns > -- > 2.37.4 >
© 2016 - 2025 Red Hat, Inc.