[GIT PULL] sparc updates for v7.4

From: Andreas Larsson

Date: Wed Oct 28 2026 - 09:46:26 EST


Hi Linus,

The following changes since commit cee9395acd8043be0644b25c34bfa86623f2b935:

Linux 7.3-rc1 (2026-08-30 13:34:40 -0700)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/alarsson/linux-sparc.git tags/sparc-for-7.4-tag1

for you to fetch changes up to 6ea75a63132d17ac3f62a37ff1b893ff7965b962:

sparc64: flush vmalloc ranges from the D-cache on map and unmap (2026-10-28 11:02:33 +0100)

----------------------------------------------------------------
This includes the following changes related to sparc for v7.4:

- Allow loading sparc32 kernels on Sun machines away from start of RAM

- Fix timer comparator problem for sparc64 resulting in RCU stalls

- Increase kernel thread stack size for sparc64

- Fix bug in fault handling during window fill for sparc64

- Fix bug in vmalloc fault handling for sparc32

- Fix fault address reporting bugs for both sparc32 and sparc64

- Use membanks for early memory setup, removing legacy sp_banks construction for
sparc32

- Add seccomp filter support for sparc64 and seccomp support for sparc32

- Fix problem with nested tick interrupts and IPIs leading to stack overflow for
sparc32

- Fix missing cache flushes as well as optimise away redundant cache flushes for
sparc64

- Clean up dead/unnecessary code and obsolete comments

----------------------------------------------------------------
Imre Kaloz (4):
sparc32: keep PIL raised on the SMP ticker and LEON IPI exit paths
sparc64: skip the trap block in xcall_deliver() when there is no target
sparc64: flush only the aliased page, not its whole folio
sparc64: flush vmalloc ranges from the D-cache on map and unmap

Ludwig Rydberg (5):
sparc32: Split common syscall_trace() to syscall_trace_{enter|leave}()
sparc32: add seccomp filter support
selftests/seccomp: add sparc32 support
sparc32: Avoid NULL pointer dereference in fault handler
sparc32: Fix pgd lookup in vmalloc fault handling

Magnus Lindholm (9):
sparc32: honour phys_base in the viking cache flush routines
sparc32: derive phys_base from the PAGE_OFFSET mapping
sparc32: advertise relocatable kernel with HdrS 0x0300
sparc32: use memblock when mapping the kernel
sparc32: use memblock to find available system memory
sparc32: populate memblock from the PROM memory map
sparc32: drop unused valid address bitmap
sparc32: move early memory setup to setup_arch
sparc32: drop sp_banks

Manuel Ebner (1):
sparc: NMI: Remove obsolete comment

Sang-Heon Jeon (1):
sparc32: remove redundant memset in srmmu_nocache_init()

Stian Halseth (6):
sparc64: remove dead THREAD_SIZE branches for non-8K pages
sparc64: restore %asi in user_rtt_fill_fixup_common
sparc64: use the fault address for si_addr on window fixup faults
sparc64: decide the TSB huge-page window fixup before the bank switch
sparc64: add seccomp filter support
selftests/seccomp: add sparc64 support

Tony Rodriguez (2):
sparc64: Fix comparator problem with timer interrupts
sparc64: increase kernel thread stack size to 32K

arch/sparc/Kconfig | 2 +-
arch/sparc/include/asm/cacheflush_64.h | 9 +-
arch/sparc/include/asm/highmem.h | 3 -
arch/sparc/include/asm/leon.h | 2 +-
arch/sparc/include/asm/page_32.h | 16 ---
arch/sparc/include/asm/pgtable_32.h | 3 +-
arch/sparc/include/asm/pgtable_64.h | 8 +-
arch/sparc/include/asm/pgtsrmmu.h | 1 -
arch/sparc/include/asm/seccomp.h | 15 +++
arch/sparc/include/asm/syscall.h | 11 +-
arch/sparc/include/asm/thread_info_32.h | 2 +
arch/sparc/include/asm/thread_info_64.h | 15 +--
arch/sparc/kernel/entry.S | 42 ++++---
arch/sparc/kernel/entry.h | 2 +-
arch/sparc/kernel/head_32.S | 2 +-
arch/sparc/kernel/kernel.h | 3 +-
arch/sparc/kernel/nmi.c | 2 +-
arch/sparc/kernel/ptrace_32.c | 26 ++--
arch/sparc/kernel/ptrace_64.c | 28 +++--
arch/sparc/kernel/setup_32.c | 91 +++++++++++---
arch/sparc/kernel/smp_64.c | 51 ++++++--
arch/sparc/kernel/syscalls.S | 28 ++++-
arch/sparc/kernel/time_64.c | 6 +-
arch/sparc/kernel/tsb.S | 24 +++-
arch/sparc/kernel/urtt_fill.S | 10 ++
arch/sparc/mm/fault_32.c | 32 ++---
arch/sparc/mm/fault_64.c | 9 ++
arch/sparc/mm/init_32.c | 167 +-------------------------
arch/sparc/mm/init_64.c | 65 ++++++++++
arch/sparc/mm/leon_mm.c | 1 +
arch/sparc/mm/srmmu.c | 70 ++++-------
arch/sparc/mm/tlb.c | 2 +-
arch/sparc/mm/ultra.S | 25 ++++
arch/sparc/mm/viking.S | 6 +
arch/sparc/prom/memory.c | 51 ++------
tools/testing/selftests/seccomp/seccomp_bpf.c | 52 ++++++++
36 files changed, 481 insertions(+), 401 deletions(-)

Thanks,
Andreas