[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20240506-compile_kernel_with_extensions-v1-0-5c25c134c097@rivosinc.com>
Date: Mon, 06 May 2024 18:40:41 -0700
From: Charlie Jenkins <charlie@...osinc.com>
To: Paul Walmsley <paul.walmsley@...ive.com>,
Palmer Dabbelt <palmer@...belt.com>, Albert Ou <aou@...s.berkeley.edu>,
Conor Dooley <conor.dooley@...rochip.com>, Song Liu <song@...nel.org>,
Xi Wang <xi.wang@...il.com>,
Björn Töpel <bjorn@...osinc.com>,
Clément Léger <cleger@...osinc.com>
Cc: linux-riscv@...ts.infradead.org, linux-kernel@...r.kernel.org,
Charlie Jenkins <charlie@...osinc.com>
Subject: [PATCH 0/8] riscv: Support compiling the kernel with extensions
The kernel currently has the restriction that it can only be compiled
with the extensions that are hardcoded in arch/risc/Makefile.
Any extension that is not listed in the Makefile can still be used by
explicitly writing the assembly and using alternative patching.
This series introduces Kconfig options that allow the kernel to be
compiled with additional extensions.
Signed-off-by: Charlie Jenkins <charlie@...osinc.com>
---
Charlie Jenkins (8):
riscv: Add PLATFORM_MAY_SUPPORT_RISCV_ISA_C Kconfig option
riscv: Add PLATFORM_MAY_SUPPORT_RISCV_ISA_V Kconfig option
riscv: Add PLATFORM_SUPPORTS_RISCV_ISA_SVNAPOT Kconfig option
riscv: Add PLATFORM_MAY_SUPPORT_RISCV_ISA_SVPBMT Kconfig option
riscv: Add PLATFORM_SUPPORTS_RISCV_ISA_ZBB Kconfig option
riscv: Add PLATFORM_SUPPORTS_RISCV_ISA_ZBA Kconfig option
riscv: Add PLATFORM_SUPPORTS_RISCV_ISA_ZBC Kconfig option
riscv: Add PLATFORM_SUPPORTS_RISCV_ISA_ZBS Kconfig option
arch/riscv/Kconfig | 135 +-----------
arch/riscv/Kconfig.isa | 393 ++++++++++++++++++++++++++++++++++
arch/riscv/Makefile | 15 +-
arch/riscv/crypto/Kconfig | 14 +-
arch/riscv/include/asm/arch_hweight.h | 33 +--
arch/riscv/include/asm/checksum.h | 18 +-
arch/riscv/include/asm/pgtable.h | 3 +-
arch/riscv/include/asm/simd.h | 3 +
arch/riscv/include/asm/vector.h | 3 +-
arch/riscv/kernel/cpufeature.c | 3 +-
arch/riscv/kernel/head.S | 8 +-
arch/riscv/kernel/probes/uprobes.c | 2 +-
arch/riscv/kernel/process.c | 14 +-
arch/riscv/kernel/ptrace.c | 6 +
arch/riscv/lib/csum.c | 48 ++---
arch/riscv/lib/riscv_v_helpers.c | 1 -
arch/riscv/lib/strcmp.S | 4 +-
arch/riscv/lib/strlen.S | 4 +-
arch/riscv/lib/strncmp.S | 4 +-
arch/riscv/lib/uaccess_vector.S | 2 +
arch/riscv/lib/xor.S | 2 +
arch/riscv/net/bpf_jit.h | 8 +-
22 files changed, 511 insertions(+), 212 deletions(-)
---
base-commit: 2f47357557b7aa98d9d9002688aae480864ca3f6
change-id: 20240429-compile_kernel_with_extensions-92dd2403d325
--
- Charlie
Powered by blists - more mailing lists