[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20251210-profiles-v1-0-315a6ff2ca5a@gmail.com>
Date: Wed, 10 Dec 2025 08:13:37 -0800
From: Charlie Jenkins <charlie@...osinc.com>
To: Paul Walmsley <pjw@...nel.org>, Palmer Dabbelt <palmer@...belt.com>,
Alexandre Ghiti <alex@...ti.fr>, Anup Patel <anup@...infault.org>,
Atish Patra <atish.patra@...ux.dev>,
Samuel Holland <samuel.holland@...ive.com>,
Björn Töpel <bjorn@...nel.org>,
Luke Nelson <luke.r.nels@...il.com>, Xi Wang <xi.wang@...il.com>,
Eric Biggers <ebiggers@...nel.org>, Conor Dooley <conor@...nel.org>
Cc: linux-riscv@...ts.infradead.org, linux-kernel@...r.kernel.org,
Charlie Jenkins <thecharlesjenkins@...il.com>
Subject: [PATCH RFC 00/10] riscv: Add support for rva23
I will be talking about rva23 at Plumbers this year and have this series
as a draft of my ideas.
rva23 is a RVI profile to group together extensions that are expected to
be found on high-performance systems.
This series:
1. Introduces a framework to add extensions to the kernel cflags
2. Adds a rva23 config option
3. Optimizes riscv_has_extension_*
This is based on 6.18 plus
https://lore.kernel.org/linux-riscv/20251020-riscv-altn-helper-wip-v4-0-ef941c87669a@iscas.ac.cn/.
Signed-off-by: Charlie Jenkins <thecharlesjenkins@...il.com>
---
Charlie Jenkins (10):
riscv: Standardize extension capitilization
riscv: kconfig: Reorganize extensions
riscv: kconfig: Simply arch selection
riscv: kconfig: Make extensions tristate
riscv: kconfig: Add zve32x
riscv: Makefile: Add enabled extensions to compiler flags
riscv: kconfig: Make vendor extensions tristate
riscv: Optimize cpufeature macros for extension assumptions
riscv: kconfig: Add rva23 config
riscv: csum: Remove inline assembly
arch/riscv/Kconfig | 340 +--------------
arch/riscv/Kconfig.extensions | 485 +++++++++++++++++++++
arch/riscv/Kconfig.vendor | 25 +-
arch/riscv/Makefile | 136 +++++-
arch/riscv/include/asm/arch_hweight.h | 4 +-
arch/riscv/include/asm/archrandom.h | 2 +-
arch/riscv/include/asm/asm-prototypes.h | 2 +-
arch/riscv/include/asm/barrier.h | 2 +-
arch/riscv/include/asm/bitops.h | 8 +-
arch/riscv/include/asm/checksum.h | 32 --
arch/riscv/include/asm/cmpxchg.h | 14 +-
arch/riscv/include/asm/cpufeature-macros.h | 136 ++++--
arch/riscv/include/asm/cpufeature.h | 42 +-
arch/riscv/include/asm/hugetlb.h | 2 +-
arch/riscv/include/asm/hwcap.h | 18 +-
arch/riscv/include/asm/kgdb.h | 2 +-
arch/riscv/include/asm/kvm_vcpu_vector.h | 2 +-
arch/riscv/include/asm/mmu.h | 2 +-
arch/riscv/include/asm/mmu_context.h | 4 +-
arch/riscv/include/asm/page.h | 2 +-
arch/riscv/include/asm/pgtable-64.h | 2 +-
arch/riscv/include/asm/pgtable.h | 6 +-
arch/riscv/include/asm/processor.h | 2 +-
arch/riscv/include/asm/simd.h | 2 +-
arch/riscv/include/asm/swab.h | 2 +-
arch/riscv/include/asm/switch_to.h | 4 +-
arch/riscv/include/asm/uaccess.h | 2 +-
arch/riscv/include/asm/uprobes.h | 2 +-
arch/riscv/include/asm/vector.h | 7 +-
arch/riscv/include/asm/vendor_extensions.h | 113 ++---
arch/riscv/include/asm/xor.h | 2 +-
arch/riscv/kernel/Makefile | 6 +-
arch/riscv/kernel/cpufeature.c | 38 +-
arch/riscv/kernel/head.S | 2 +-
arch/riscv/kernel/kgdb.c | 2 +-
arch/riscv/kernel/pi/archrandom_early.c | 1 +
arch/riscv/kernel/probes/decode-insn.c | 2 +-
arch/riscv/kernel/probes/uprobes.c | 2 +-
arch/riscv/kernel/process.c | 10 +-
arch/riscv/kernel/ptrace.c | 12 +-
arch/riscv/kernel/signal.c | 2 +-
arch/riscv/kernel/suspend.c | 8 +-
arch/riscv/kernel/sys_hwprobe.c | 4 +-
arch/riscv/kernel/tests/kprobes/test-kprobes-asm.S | 6 +-
arch/riscv/kernel/vendor_extensions/Makefile | 22 +-
arch/riscv/kvm/tlb.c | 2 +-
arch/riscv/kvm/vcpu.c | 10 +-
arch/riscv/kvm/vcpu_onereg.c | 22 +-
arch/riscv/kvm/vcpu_vector.c | 2 +-
arch/riscv/lib/Makefile | 14 +-
arch/riscv/lib/csum.c | 94 ----
arch/riscv/lib/strcmp.S | 2 +-
arch/riscv/lib/strlen.S | 2 +-
arch/riscv/lib/strncmp.S | 2 +-
arch/riscv/lib/uaccess.S | 4 +-
arch/riscv/mm/hugetlbpage.c | 2 +-
arch/riscv/mm/pgtable.c | 2 +-
arch/riscv/mm/tlbflush.c | 2 +-
arch/riscv/net/bpf_jit.h | 2 +-
drivers/perf/Kconfig | 2 +-
drivers/perf/riscv_pmu_sbi.c | 3 +-
lib/crc/riscv/crc-t10dif.h | 2 +-
lib/crc/riscv/crc32.h | 8 +-
lib/crc/riscv/crc64.h | 4 +-
lib/raid6/Makefile | 4 +-
lib/raid6/algos.c | 4 +-
66 files changed, 961 insertions(+), 749 deletions(-)
---
base-commit: 537904d2226574c759e51bdf301ca8a90d0fdce1
change-id: 20250616-profiles-9cc63e29a9d9
Best regards,
--
Charlie Jenkins <thecharlesjenkins@...il.com>
Powered by blists - more mailing lists