Re: [PATCH] riscv: fix multi-letter extension compare

From: Nikita Shubin
Date: Fri Oct 07 2022 - 02:08:57 EST


Hello Atish,

My bad, i somehow decided that 'sscofpmf' should
be 'zsscofpmf' in device tree, but it's 'Sscofpmf' actually.

Sorry for noise please ignore this patch.

On Thu, 6 Oct 2022 10:02:56 +0300
Nikita Shubin <nikita.shubin@xxxxxxxxxxx> wrote:

> From: Nikita Shubin <n.shubin@xxxxxxxxx>
>
> Increment ext pointer to match letters after 'z' character, so it
> points to actual extension name.
>
> Fixes: 4905ec2fb7e6 ("RISC-V: Add sscofpmf extension support")
> Signed-off-by: Nikita Shubin <n.shubin@xxxxxxxxx>
> ---
> Hello Atish,
>
> Sorry to blame you, but i double checked this and i don't see a way
> how extensions from device tree could be successfully matched with
> encoded ones without incrementing the ext pointer or prepending
> the encoded extensions with 'z' letter.
>
> I have no idea how this could slip through review - am i missing
> something ? ---
> arch/riscv/kernel/cpufeature.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/arch/riscv/kernel/cpufeature.c
> b/arch/riscv/kernel/cpufeature.c index 3b5583db9d80..031546052dc0
> 100644 --- a/arch/riscv/kernel/cpufeature.c
> +++ b/arch/riscv/kernel/cpufeature.c
> @@ -199,6 +199,7 @@ void __init riscv_fill_hwcap(void)
> this_hwcap |= isa2hwcap[(unsigned
> char)(*ext)]; set_bit(*ext - 'a', this_isa);
> } else {
> + ext++;
> SET_ISA_EXT_MAP("sscofpmf",
> RISCV_ISA_EXT_SSCOFPMF); SET_ISA_EXT_MAP("svpbmt",
> RISCV_ISA_EXT_SVPBMT); SET_ISA_EXT_MAP("zicbom",
> RISCV_ISA_EXT_ZICBOM);