[GIT PULL] parisc architecture fixes for kernel v5.16-rc1
From: Helge Deller
Date: Mon Nov 01 2021 - 11:54:33 EST
The following changes since commit 3a4347d82efdfcc5465b3ed37616426989182915:
Merge tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux (2021-10-30 09:55:46 -0700)
are available in the Git repository at:
http://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux.git tags/for-5.16/parisc-1
for you to fetch changes up to 6e866a462867b60841202e900f10936a0478608c:
parisc: Fix set_fixmap() on PA1.x CPUs (2021-11-01 12:00:22 +0100)
----------------------------------------------------------------
parisc architecture updates for kernel v5.16-rc1
Lots of new features and fixes:
* Added TOC (table of content) support, which is a debugging feature which is
either initiated by pressing the TOC button or via command in the BMC. If
pressed the Linux built-in KDB/KGDB will be called (Sven Schnelle)
* Fix CONFIG_PREEMPT (Sven)
* Fix unwinder on 64-bit kernels (Sven)
* Various kgdb fixes (Sven)
* Added KFENCE support (me)
* Switch to ARCH_STACKWALK implementation (me)
* Fix ptrace check on syscall return (me)
* Fix kernel crash with fixmaps on PA1.x machines (me)
* Move thread_info into task struct, aka CONFIG_THREAD_INFO_IN_TASK (me)
* Updated defconfigs
* Smaller cleanups, including Makefile cleanups (Masahiro Yamada),
use kthread_run() macro (Cai Huoqing), use swap() macro (Yihao Han).
----------------------------------------------------------------
Cai Huoqing (1):
parisc: Make use of the helper macro kthread_run()
Helge Deller (17):
parisc: make parisc_acctyp() available outside of faults.c
parisc: Switch to ARCH_STACKWALK implementation
parisc: Add KFENCE support
parisc: Define FRAME_ALIGN and PRIV_USER/PRIV_KERNEL in assembly.h
parisc: Allocate task struct with stack frame alignment
parisc: Use FRAME_SIZE and FRAME_ALIGN from assembly.h
parisc: Use PRIV_USER instead of 3 in entry.S
task_stack: Fix end_of_stack() for architectures with upwards-growing stack
parisc: Fix ptrace check on syscall return
parisc: Move thread_info into task struct
parisc: Use PRIV_USER in syscall.S
parisc: Use PRIV_USER and PRIV_KERNEL in ptrace.h
parisc: Drop ifdef __KERNEL__ from non-uapi kernel headers
parisc: enhance warning regarding usage of O_NONBLOCK
parisc: Remove unused constants from asm-offsets.c
parisc: Update defconfigs
parisc: Fix set_fixmap() on PA1.x CPUs
Masahiro Yamada (2):
parisc: decompressor: remove repeated depenency of misc.o
parisc: decompressor: clean up Makefile
Sven Schnelle (15):
parisc/unwind: use copy_from_kernel_nofault()
parisc: disable preemption during local tlb flush
parisc: deduplicate code in flush_cache_mm() and flush_cache_range()
parisc: fix preempt_count() check in entry.S
parisc: disable preemption in send_IPI_allbutself()
parisc: fix warning in flush_tlb_all
parisc/unwind: fix unwinder when CONFIG_64BIT is enabled
parisc: move virt_map macro to assembly.h
parisc: add PIM TOC data structures
parisc/firmware: add functions to retrieve TOC data
parisc: add support for TOC (transfer of control)
parisc/kgdb: add kgdb_roundup() to make kgdb work with idle polling
parisc: mark xchg functions notrace
parisc/ftrace: set function trace function
parisc/ftrace: use static key to enable/disable function graph tracer
Yihao Han (1):
parisc: Use swap() to swap values in setup_bootmem()
.../core/thread-info-in-task/arch-support.txt | 2 +-
arch/parisc/Kconfig | 22 +++-
arch/parisc/boot/compressed/Makefile | 9 +-
arch/parisc/configs/generic-32bit_defconfig | 9 +-
arch/parisc/configs/generic-64bit_defconfig | 21 ++--
arch/parisc/include/asm/assembly.h | 32 ++++++
arch/parisc/include/asm/bitops.h | 10 --
arch/parisc/include/asm/current.h | 19 ++++
arch/parisc/include/asm/futex.h | 3 -
arch/parisc/include/asm/ide.h | 4 -
arch/parisc/include/asm/kfence.h | 44 ++++++++
arch/parisc/include/asm/mckinley.h | 2 -
arch/parisc/include/asm/pdc.h | 2 +
arch/parisc/include/asm/processor.h | 11 +-
arch/parisc/include/asm/ptrace.h | 6 +-
arch/parisc/include/asm/runway.h | 2 -
arch/parisc/include/asm/smp.h | 19 +++-
arch/parisc/include/asm/thread_info.h | 12 +--
arch/parisc/include/asm/traps.h | 1 +
arch/parisc/include/asm/unaligned.h | 2 -
arch/parisc/include/uapi/asm/pdc.h | 28 +++++-
arch/parisc/kernel/Makefile | 1 +
arch/parisc/kernel/asm-offsets.c | 34 ++-----
arch/parisc/kernel/cache.c | 87 +++++++---------
arch/parisc/kernel/entry.S | 90 ++++++-----------
arch/parisc/kernel/firmware.c | 32 ++++++
arch/parisc/kernel/ftrace.c | 21 ++--
arch/parisc/kernel/head.S | 40 ++++----
arch/parisc/kernel/irq.c | 6 +-
arch/parisc/kernel/pdt.c | 4 +-
arch/parisc/kernel/process.c | 4 +-
arch/parisc/kernel/smp.c | 25 ++++-
arch/parisc/kernel/stacktrace.c | 30 +++---
arch/parisc/kernel/sys_parisc.c | 10 +-
arch/parisc/kernel/syscall.S | 26 ++---
arch/parisc/kernel/toc.c | 111 +++++++++++++++++++++
arch/parisc/kernel/toc_asm.S | 88 ++++++++++++++++
arch/parisc/kernel/traps.c | 7 +-
arch/parisc/kernel/unwind.c | 34 ++++---
arch/parisc/lib/bitops.c | 12 +--
arch/parisc/mm/fault.c | 2 +-
arch/parisc/mm/fixmap.c | 5 +-
arch/parisc/mm/init.c | 10 +-
include/linux/sched/task_stack.h | 4 +
44 files changed, 622 insertions(+), 321 deletions(-)
create mode 100644 arch/parisc/include/asm/current.h
create mode 100644 arch/parisc/include/asm/kfence.h
create mode 100644 arch/parisc/kernel/toc.c
create mode 100644 arch/parisc/kernel/toc_asm.S