RISC-V: hwprobe: Introduce which-cpus flag
authorAndrew Jones <ajones@ventanamicro.com>
Wed, 22 Nov 2023 16:47:04 +0000 (17:47 +0100)
committerPalmer Dabbelt <palmer@rivosinc.com>
Wed, 3 Jan 2024 11:36:49 +0000 (03:36 -0800)
commite178bf146e4b8c774a7b00aa2419e400f4f7894f
tree23cdfbc75b8f05af3034171cb06833900268be79
parent53b2b22850e1ff9e2729ce8efe2d846ed7d3bff4
RISC-V: hwprobe: Introduce which-cpus flag

Introduce the first flag for the hwprobe syscall. The flag basically
reverses its behavior, i.e. instead of populating the values of keys
for a given set of cpus, the set of cpus after the call is the result
of finding a set which supports the values of the keys. In order to
do this, we implement a pair compare function which takes the type of
value (a single value vs. a bitmask of booleans) into consideration.
We also implement vdso support for the new flag.

Signed-off-by: Andrew Jones <ajones@ventanamicro.com>
Reviewed-by: Evan Green <evan@rivosinc.com>
Link: https://lore.kernel.org/r/20231122164700.127954-9-ajones@ventanamicro.com
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
Documentation/arch/riscv/hwprobe.rst
arch/riscv/include/asm/hwprobe.h
arch/riscv/include/uapi/asm/hwprobe.h
arch/riscv/kernel/sys_hwprobe.c
arch/riscv/kernel/vdso/hwprobe.c