Re: [PATCH v13 20/28] riscv/hwprobe: zicfilp / zicfiss enumeration in hwprobe

From: Miquel Sabaté Solà
Date: Thu Apr 24 2025 - 06:05:37 EST


On dj., d’abr. 24 2025, Deepak Gupta wrote:

Hello,

> Adding enumeration of zicfilp and zicfiss extensions in hwprobe syscall.
>
> Reviewed-by: Zong Li <zong.li@xxxxxxxxxx>
> Signed-off-by: Deepak Gupta <debug@xxxxxxxxxxxx>
> ---
> arch/riscv/include/uapi/asm/hwprobe.h | 2 ++
> arch/riscv/kernel/sys_hwprobe.c | 2 ++
> 2 files changed, 4 insertions(+)
>
> diff --git a/arch/riscv/include/uapi/asm/hwprobe.h b/arch/riscv/include/uapi/asm/hwprobe.h
> index c3c1cc951cb9..c1b537b50158 100644
> --- a/arch/riscv/include/uapi/asm/hwprobe.h
> +++ b/arch/riscv/include/uapi/asm/hwprobe.h
> @@ -73,6 +73,8 @@ struct riscv_hwprobe {
> #define RISCV_HWPROBE_EXT_ZCMOP (1ULL << 47)
> #define RISCV_HWPROBE_EXT_ZAWRS (1ULL << 48)
> #define RISCV_HWPROBE_EXT_SUPM (1ULL << 49)
> +#define RISCV_HWPROBE_EXT_ZICFILP (1ULL << 50)
> +#define RISCV_HWPROBE_EXT_ZICFISS (1ULL << 51)

Notice that, as it stands in Linux v6.15-rc, this will conflict with the
values for Zicntr and Zihpm. See 4458b8f68dc7 ("riscv: hwprobe: export
Zicntr and Zihpm extensions"). I'd say that you should update these
values.

> #define RISCV_HWPROBE_KEY_CPUPERF_0 5
> #define RISCV_HWPROBE_MISALIGNED_UNKNOWN (0 << 0)
> #define RISCV_HWPROBE_MISALIGNED_EMULATED (1 << 0)
> diff --git a/arch/riscv/kernel/sys_hwprobe.c b/arch/riscv/kernel/sys_hwprobe.c
> index bcd3b816306c..d802ff707913 100644
> --- a/arch/riscv/kernel/sys_hwprobe.c
> +++ b/arch/riscv/kernel/sys_hwprobe.c
> @@ -108,6 +108,8 @@ static void hwprobe_isa_ext0(struct riscv_hwprobe *pair,
> EXT_KEY(ZCB);
> EXT_KEY(ZCMOP);
> EXT_KEY(ZICBOZ);
> + EXT_KEY(ZICFILP);
> + EXT_KEY(ZICFISS);
> EXT_KEY(ZICOND);
> EXT_KEY(ZIHINTNTL);
> EXT_KEY(ZIHINTPAUSE);

Greetings,
Miquel

Attachment: signature.asc
Description: PGP signature