Merge patch series "riscv: Extension parsing fixes"
authorPalmer Dabbelt <palmer@rivosinc.com>
Wed, 22 May 2024 16:41:05 +0000 (09:41 -0700)
committerPalmer Dabbelt <palmer@rivosinc.com>
Wed, 22 May 2024 23:12:58 +0000 (16:12 -0700)
commitc6c901b7d9833514eccbc39572e55c7d81397a3c
tree6801e8253a9188b1c896026a62f1efa66b0da98c
parent9d5328eeb18597749b18f42ff7df1c9f485d3c3c
parente67e98ee8952c7d5ce986d1dc6f8221ab8674afa
Merge patch series "riscv: Extension parsing fixes"

Charlie Jenkins <charlie@rivosinc.com> says:

This series contains two minor fixes for the extension parsing in
cpufeature.c.

Some T-Head boards without vector 1.0 support report "v" in the isa
string in their DT which will cause the kernel to run vector code. The
code to blacklist "v" from these boards was doing so by using
riscv_cached_mvendorid() which has not been populated at the time of
extension parsing. This fix instead greedily reads the mvendorid CSR of
the boot hart to determine if the cpu is from T-Head.

The other fix is for an incorrect indexing bug. riscv extensions
sometimes imply other extensions. When adding these "subset" extensions
to the hardware capabilities array, they need to be checked if they are
valid. The current code only checks if the extension that is including
other extensions is valid and not the subset extensions.

These patches were previously included in:
https://lore.kernel.org/lkml/20240420-dev-charlie-support_thead_vector_6_9-v3-0-67cff4271d1d@rivosinc.com/

* b4-shazam-merge:
  riscv: cpufeature: Fix extension subset checking
  riscv: cpufeature: Fix thead vector hwcap removal

Link: https://lore.kernel.org/r/20240502-cpufeature_fixes-v4-0-b3d1a088722d@rivosinc.com
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
arch/riscv/include/asm/sbi.h