The following changes since commit ffb217a13a2eaf6d5bd974fc83036a53ca69f1e2: Linux 5.17-rc7 (2022-03-06 14:28:31 -0800) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux.git tags/for-5.18/parisc-1 for you to fetch changes up to 53d862fac4a09b9c56cca0433fa9de5732fd05a1: parisc: Fix invalidate/flush vmap routines (2022-03-21 13:30:54 +0100) ---------------------------------------------------------------- parisc architecture updates for kernel v5.18-rc1 - add vDSO support (allows us to use read-only stacks) - many TLB and cache flush optimizations (by Dave Anglin) - fix handling of probe non-access faults (by Dave Anglin) - fix invalidate/flush vmap routines (by Dave Anglin) - avoid using hardware single-step in kprobes - enable ARCH_HAS_DEBUG_VM_PGTABLE - many cleanups in unaligned handlers, e.g. rewrite of existing assembly code - always use the self-extracting kernel feature - big refacturing and code reductions regarding space-register usage in get_user() and put_user() - add fillrect() support to stifb graphics driver ---------------------------------------------------------------- Helge Deller (18): parisc: Add vDSO support video/fbdev/stifb: Implement the stifb_fillrect() function parisc: Always use the self-extracting kernel feature parisc: Add defines for various space register parisc: Use SR_USER and SR_KERNEL in get_user() and put_user() parisc: Use constants to encode the space registers like SR_KERNEL parisc: Reduce code size by optimizing get_current() function calls parisc/unaligned: Use EFAULT fixup handler in unaligned handlers parisc/unaligned: Rewrite inline assembly of emulate_ldh() parisc/unaligned: Rewrite inline assembly of emulate_ldw() parisc/unaligned: Rewrite 32-bit inline assembly of emulate_ldd() parisc/unaligned: Rewrite 32-bit inline assembly of emulate_sth() parisc/unaligned: Enhance user-space visible output parisc: Avoid calling SMP cache flush functions on cache-less machines parisc: Enable ARCH_HAS_DEBUG_VM_PGTABLE parisc: Improve CPU socket and core bootup info text parisc: Avoid using hardware single-step in kprobes parisc: Avoid flushing cache on cache-less machines John David Anglin (5): parisc: Fix non-access data TLB cache flush faults parisc: Fix handling off probe non-access faults parisc: Simplify fast path for non-access data TLB faults parisc: Increase parisc_cache_flush_threshold setting parisc: Fix invalidate/flush vmap routines arch/parisc/Kconfig | 14 +- arch/parisc/Makefile | 37 +++- arch/parisc/include/asm/assembly.h | 6 + arch/parisc/include/asm/cache.h | 11 +- arch/parisc/include/asm/cacheflush.h | 15 +- arch/parisc/include/asm/current.h | 8 +- arch/parisc/include/asm/elf.h | 15 ++ arch/parisc/include/asm/kprobes.h | 5 +- arch/parisc/include/asm/mmu.h | 6 +- arch/parisc/include/asm/mmu_context.h | 16 +- arch/parisc/include/asm/pgtable.h | 11 +- arch/parisc/include/asm/processor.h | 2 +- arch/parisc/include/asm/rt_sigframe.h | 10 +- arch/parisc/include/asm/special_insns.h | 4 +- arch/parisc/include/asm/tlbflush.h | 2 +- arch/parisc/include/asm/traps.h | 1 + arch/parisc/include/asm/uaccess.h | 28 +-- arch/parisc/include/asm/unistd.h | 4 - arch/parisc/include/asm/vdso.h | 24 +++ arch/parisc/include/uapi/asm/auxvec.h | 8 + arch/parisc/kernel/Makefile | 5 + arch/parisc/kernel/alternative.c | 10 + arch/parisc/kernel/asm-offsets.c | 9 + arch/parisc/kernel/cache.c | 137 +++++++------- arch/parisc/kernel/entry.S | 72 +------- arch/parisc/kernel/kprobes.c | 28 +-- arch/parisc/kernel/pci-dma.c | 4 +- arch/parisc/kernel/signal.c | 225 +++++++++++----------- arch/parisc/kernel/signal32.h | 19 +- arch/parisc/kernel/topology.c | 4 +- arch/parisc/kernel/traps.c | 12 +- arch/parisc/kernel/unaligned.c | 257 ++++++++++---------------- arch/parisc/kernel/vdso.c | 122 ++++++++++++ arch/parisc/kernel/vdso32/Makefile | 53 ++++++ arch/parisc/kernel/vdso32/gen_vdso_offsets.sh | 15 ++ arch/parisc/kernel/vdso32/note.S | 26 +++ arch/parisc/kernel/vdso32/restart_syscall.S | 32 ++++ arch/parisc/kernel/vdso32/sigtramp.S | 195 +++++++++++++++++++ arch/parisc/kernel/vdso32/vdso32.lds.S | 111 +++++++++++ arch/parisc/kernel/vdso32/vdso32_wrapper.S | 14 ++ arch/parisc/kernel/vdso64/Makefile | 48 +++++ arch/parisc/kernel/vdso64/gen_vdso_offsets.sh | 15 ++ arch/parisc/kernel/vdso64/note.S | 2 + arch/parisc/kernel/vdso64/restart_syscall.S | 3 + arch/parisc/kernel/vdso64/sigtramp.S | 166 +++++++++++++++++ arch/parisc/kernel/vdso64/vdso64.lds.S | 109 +++++++++++ arch/parisc/kernel/vdso64/vdso64_wrapper.S | 14 ++ arch/parisc/lib/memcpy.c | 16 +- arch/parisc/mm/fault.c | 89 +++++++++ drivers/video/fbdev/stifb.c | 45 ++++- 50 files changed, 1534 insertions(+), 550 deletions(-) create mode 100644 arch/parisc/include/asm/vdso.h create mode 100644 arch/parisc/include/uapi/asm/auxvec.h create mode 100644 arch/parisc/kernel/vdso.c create mode 100644 arch/parisc/kernel/vdso32/Makefile create mode 100755 arch/parisc/kernel/vdso32/gen_vdso_offsets.sh create mode 100644 arch/parisc/kernel/vdso32/note.S create mode 100644 arch/parisc/kernel/vdso32/restart_syscall.S create mode 100644 arch/parisc/kernel/vdso32/sigtramp.S create mode 100644 arch/parisc/kernel/vdso32/vdso32.lds.S create mode 100644 arch/parisc/kernel/vdso32/vdso32_wrapper.S create mode 100644 arch/parisc/kernel/vdso64/Makefile create mode 100755 arch/parisc/kernel/vdso64/gen_vdso_offsets.sh create mode 100644 arch/parisc/kernel/vdso64/note.S create mode 100644 arch/parisc/kernel/vdso64/restart_syscall.S create mode 100644 arch/parisc/kernel/vdso64/sigtramp.S create mode 100644 arch/parisc/kernel/vdso64/vdso64.lds.S create mode 100644 arch/parisc/kernel/vdso64/vdso64_wrapper.S