On Wed, May 01, 2024 at 10:10:57AM -0700, Charlie Jenkins wrote:
On Wed, May 01, 2024 at 12:40:38PM +0100, Conor Dooley wrote:
On Fri, Apr 26, 2024 at 02:29:19PM -0700, Charlie Jenkins wrote:
Separate vendor extensions out into one struct per vendor instead of adding vendor extensions onto riscv_isa_ext.
Add a hidden config RISCV_ISA_VENDOR_EXT to conditionally include this code.
The xtheadvector vendor extension is added using these changes.
Signed-off-by: Charlie Jenkins charlie@rivosinc.com
arch/riscv/Kconfig | 2 + arch/riscv/Kconfig.vendor | 19 ++++++ arch/riscv/include/asm/cpufeature.h | 18 ++++++ arch/riscv/include/asm/vendor_extensions.h | 26 ++++++++ arch/riscv/include/asm/vendor_extensions/thead.h | 19 ++++++ arch/riscv/kernel/Makefile | 2 + arch/riscv/kernel/cpufeature.c | 77 ++++++++++++++++++------ arch/riscv/kernel/vendor_extensions.c | 18 ++++++ arch/riscv/kernel/vendor_extensions/Makefile | 3 + arch/riscv/kernel/vendor_extensions/thead.c | 36 +++++++++++
I see no modifications to cpu.c here, is it intentional that vendor stuff isn't gonna show up in /proc/cpuinfo?
I wasn't sure if that's something we were wanting to support since hwprobe is the prefered api, but I can add that if it is desired.
Desired API for programmatic consumption, sure, but for human users I think it's good to have the info there.