[GIT PULL] RISC-V Patches for the 6.15 Merge Window, Part 2
Alexandre Ghiti
alex at ghiti.fr
Wed Apr 2 08:08:07 PDT 2025
The following changes since commit
74f4bf9d15ad1d6862b828d486ed10ea0e874a23:
Merge patch series "riscv: Add runtime constant support" (2025-03-20
09:15:04 +0000)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/alexghiti/linux
tags/riscv-mw2-6.15-rc1
for you to fetch changes up to 6ee928185aeb0ff085c73ae2ee163d436eba8352:
riscv: Add norvc after .option arch in runtime const (2025-04-01
07:09:21 +0000)
----------------------------------------------------------------
riscv patches for 6.15-rc1, part 2
* A bunch of fixes:
- 2 fixes in the purgatory code which prevented kexec to work
- Workaround an issue with gcc-15
----------------------------------------------------------------
All the patches have been tested on our github CI and no regressions
were found against 6.14-rc7
(https://github.com/linux-riscv/linux/pull/215/checks whose results can
be seen here
https://mazarinen.tail1c623.ts.net/riscv-linux/linux-all/build/v6.14-rc7-64-g6ee928185aeb/).
Please note that there is a bad merge between commit 2f4ab3ac10e1 ("mm:
support tlbbatch flush for a range of PTEs") and commit d9be2b9b60497a
("riscv: Call secondary mmu notifier when flushing the tlb") in
next-20250402 as reported here
https://lore.kernel.org/linux-riscv/CA+G9fYug_77HoqyonvsnJiya2q+0-hf9k4Yjk_dDn7P91Sq+3A@mail.gmail.com/T/#u.
The correct resolution is:
diff --git a/arch/riscv/mm/tlbflush.c b/arch/riscv/mm/tlbflush.c
index c25a40aa2fe05..c22d5eb2b1851 100644
--- a/arch/riscv/mm/tlbflush.c
+++ b/arch/riscv/mm/tlbflush.c
@@ -192,10 +192,9 @@ bool arch_tlbbatch_should_defer(struct mm_struct *mm)
void arch_tlbbatch_add_pending(struct arch_tlbflush_unmap_batch *batch,
struct mm_struct *mm, unsigned long start, unsigned
long end)
{
- unsigned long start = uaddr & PAGE_MASK;
-
cpumask_or(&batch->cpumask, &batch->cpumask, mm_cpumask(mm));
- mmu_notifier_arch_invalidate_secondary_tlbs(mm, start, start +
PAGE_SIZE);
+ mmu_notifier_arch_invalidate_secondary_tlbs(mm, start & PAGE_MASK,
+ (end & PAGE_MASK) +
PAGE_SIZE);
}
void arch_flush_tlb_batched_pending(struct mm_struct *mm)
----------------------------------------------------------------
Alexandre Ghiti (3):
riscv: Fix hugetlb retrieval of number of ptes in case of
!present pte
Merge patch series "Add some validation for vector, vector crypto
and fp stuff"
riscv: Make sure toolchain supports zba before using zba
instructions
Björn Töpel (1):
riscv/purgatory: 4B align purgatory_start
Charlie Jenkins (1):
riscv: Add norvc after .option arch in runtime const
Conor Dooley (6):
RISC-V: add vector extension validation checks
RISC-V: add vector crypto extension validation checks
RISC-V: add f & d extension validation checks
dt-bindings: riscv: d requires f
dt-bindings: riscv: add vector sub-extension dependencies
dt-bindings: riscv: document vector crypto requirements
Ignacio Encinas (1):
selftests: riscv: fix v_exec_initval_nolibc.c
Yao Zi (1):
riscv/kexec_file: Handle R_RISCV_64 in purgatory relocator
Yunhui Cui (1):
riscv: print hartid on bringup
.../devicetree/bindings/riscv/extensions.yaml | 85 +++++++++++
arch/riscv/Kconfig | 8 ++
arch/riscv/include/asm/cpufeature.h | 3 +
arch/riscv/include/asm/runtime-const.h | 7 +-
arch/riscv/kernel/cpufeature.c | 143
+++++++++++++------
arch/riscv/kernel/elf_kexec.c | 3 +
arch/riscv/kernel/smp.c | 2 +
arch/riscv/kernel/smpboot.c | 4 +
arch/riscv/mm/hugetlbpage.c | 76 ++++++----
arch/riscv/purgatory/entry.S | 1 +
.../riscv/vector/v_exec_initval_nolibc.c | 10 +-
11 files changed, 262 insertions(+), 80 deletions(-)
More information about the linux-riscv
mailing list