lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<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

Powered by Openwall GNU/*/Linux Powered by OpenVZ