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

Hello,

> Adding enumeration of zicfilp and zicfiss extensions in hwprobe syscall.
>
> Reviewed-by: Zong Li <[email protected]>
> Signed-off-by: Deepak Gupta <[email protected]>
> ---
>  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

Reply via email to