Commit 019b3fd9 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull powerpc updates from Michael Ellerman:

 - A big series refactoring parts of our KVM code, and converting some
   to C.

 - Support for ARCH_HAS_SET_MEMORY, and ARCH_HAS_STRICT_MODULE_RWX on
   some CPUs.

 - Support for the Microwatt soft-core.

 - Optimisations to our interrupt return path on 64-bit.

 - Support for userspace access to the NX GZIP accelerator on PowerVM on
   Power10.

 - Enable KUAP and KUEP by default on 32-bit Book3S CPUs.

 - Other smaller features, fixes & cleanups.

Thanks to: Andy Shevchenko, Aneesh Kumar K.V, Arnd Bergmann, Athira
Rajeev, Baokun Li, Benjamin Herrenschmidt, Bharata B Rao, Christophe
Leroy, Daniel Axtens, Daniel Henrique Barboza, Finn Thain, Geoff Levand,
Haren Myneni, Jason Wang, Jiapeng Chong, Joel Stanley, Jordan Niethe,
Kajol Jain, Nathan Chancellor, Nathan Lynch, Naveen N. Rao, Nicholas
Piggin, Nick Desaulniers, Paul Mackerras, Russell Currey, Sathvika
Vasireddy, Shaokun Zhang, Stephen Rothwell, Sudeep Holla, Suraj Jitindar
Singh, Tom Rix, Vaibhav Jain, YueHaibing, Zhang Jianhua, and Zhen Lei.

* tag 'powerpc-5.14-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux: (218 commits)
  powerpc: Only build restart_table.c for 64s
  powerpc/64s: move ret_from_fork etc above __end_soft_masked
  powerpc/64s/interrupt: clean up interrupt return labels
  powerpc/64/interrupt: add missing kprobe annotations on interrupt exit symbols
  powerpc/64: enable MSR[EE] in irq replay pt_regs
  powerpc/64s/interrupt: preserve regs->softe for NMI interrupts
  powerpc/64s: add a table of implicit soft-masked addresses
  powerpc/64e: remove implicit soft-masking and interrupt exit restart logic
  powerpc/64e: fix CONFIG_RELOCATABLE build warnings
  powerpc/64s: fix hash page fault interrupt handler
  powerpc/4xx: Fix setup_kuep() on SMP
  powerpc/32s: Fix setup_{kuap/kuep}() on SMP
  powerpc/interrupt: Use names in check_return_regs_valid()
  powerpc/interrupt: Also use exit_must_hard_disable() on PPC32
  powerpc/sysfs: Replace sizeof(arr)/sizeof(arr[0]) with ARRAY_SIZE
  powerpc/ptrace: Refactor regs_set_return_{msr/ip}
  powerpc/ptrace: Move set_return_regs_changed() before regs_set_return_{msr/ip}
  powerpc/stacktrace: Fix spurious "stale" traces in raise_backtrace_ipi()
  powerpc/pseries/vas: Include irqdomain.h
  powerpc: mark local variables around longjmp as volatile
  ...
parents 4cad6719 4ebbbaa4
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -39,9 +39,11 @@ KernelVersion: v5.9
Contact:	linuxppc-dev <linuxppc-dev@lists.ozlabs.org>, nvdimm@lists.linux.dev,
Description:
		(RO) Report various performance stats related to papr-scm NVDIMM
		device.  Each stat is reported on a new line with each line
		composed of a stat-identifier followed by it value. Below are
		currently known dimm performance stats which are reported:
		device. This attribute is only available for NVDIMM devices
		that support reporting NVDIMM performance stats. Each stat is
		reported on a new line with each line composed of a
		stat-identifier followed by it value. Below are currently known
		dimm performance stats which are reported:

		* "CtlResCt" : Controller Reset Count
		* "CtlResTm" : Controller Reset Elapsed Time
+5 −1
Original line number Diff line number Diff line
@@ -140,7 +140,9 @@ config PPC
	select ARCH_HAS_PTE_DEVMAP		if PPC_BOOK3S_64
	select ARCH_HAS_PTE_SPECIAL
	select ARCH_HAS_SCALED_CPUTIME		if VIRT_CPU_ACCOUNTING_NATIVE && PPC_BOOK3S_64
	select ARCH_HAS_SET_MEMORY
	select ARCH_HAS_STRICT_KERNEL_RWX	if ((PPC_BOOK3S_64 || PPC32) && !HIBERNATION)
	select ARCH_HAS_STRICT_MODULE_RWX	if ARCH_HAS_STRICT_KERNEL_RWX && !PPC_BOOK3S_32
	select ARCH_HAS_TICK_BROADCAST		if GENERIC_CLOCKEVENTS_BROADCAST
	select ARCH_HAS_UACCESS_FLUSHCACHE
	select ARCH_HAS_UBSAN_SANITIZE_ALL
@@ -266,6 +268,7 @@ config PPC
	select PPC_DAWR				if PPC64
	select RTC_LIB
	select SPARSE_IRQ
	select STRICT_KERNEL_RWX if STRICT_MODULE_RWX
	select SYSCTL_EXCEPTION_TRACE
	select THREAD_INFO_IN_TASK
	select VIRT_TO_BUS			if !PPC64
@@ -289,6 +292,7 @@ config PANIC_TIMEOUT
config COMPAT
	bool "Enable support for 32bit binaries"
	depends on PPC64
	depends on !CC_IS_CLANG || CLANG_VERSION >= 120000
	default y if !CPU_LITTLE_ENDIAN
	select ARCH_WANT_OLD_COMPAT_IPC
	select COMPAT_OLD_SIGACTION
@@ -422,7 +426,7 @@ source "kernel/Kconfig.hz"

config MATH_EMULATION
	bool "Math emulation"
	depends on 4xx || PPC_8xx || PPC_MPC832x || BOOKE
	depends on 4xx || PPC_8xx || PPC_MPC832x || BOOKE || PPC_MICROWATT
	select PPC_FPU_REGS
	help
	  Some PowerPC chips designed for embedded applications do not have
+5 −0
Original line number Diff line number Diff line
@@ -84,6 +84,11 @@ config MSI_BITMAP_SELFTEST

config PPC_IRQ_SOFT_MASK_DEBUG
	bool "Include extra checks for powerpc irq soft masking"
	depends on PPC64

config PPC_RFI_SRR_DEBUG
	bool "Include extra checks for RFI SRR register validity"
	depends on PPC_BOOK3S_64

config XMON
	bool "Include xmon kernel debugger"
+10 −0
Original line number Diff line number Diff line
@@ -376,6 +376,16 @@ ppc64_book3e_allmodconfig:
	$(Q)$(MAKE) KCONFIG_ALLCONFIG=$(srctree)/arch/powerpc/configs/85xx-64bit.config \
		-f $(srctree)/Makefile allmodconfig

PHONY += ppc32_randconfig
ppc32_randconfig:
	$(Q)$(MAKE) KCONFIG_ALLCONFIG=$(srctree)/arch/powerpc/configs/32-bit.config \
		-f $(srctree)/Makefile randconfig

PHONY += ppc64_randconfig
ppc64_randconfig:
	$(Q)$(MAKE) KCONFIG_ALLCONFIG=$(srctree)/arch/powerpc/configs/64-bit.config \
		-f $(srctree)/Makefile randconfig

define archhelp
  @echo '* zImage          - Build default images selected by kernel config'
  @echo '  zImage.*        - Compressed kernel image (arch/$(ARCH)/boot/zImage.*)'
+5 −1
Original line number Diff line number Diff line
@@ -163,6 +163,8 @@ src-plat-$(CONFIG_PPC_POWERNV) += pseries-head.S
src-plat-$(CONFIG_PPC_IBM_CELL_BLADE) += pseries-head.S
src-plat-$(CONFIG_MVME7100) += motload-head.S mvme7100.c

src-plat-$(CONFIG_PPC_MICROWATT) += fixed-head.S microwatt.c

src-wlib := $(sort $(src-wlib-y))
src-plat := $(sort $(src-plat-y))
src-boot := $(src-wlib) $(src-plat) empty.c
@@ -227,7 +229,7 @@ $(obj)/wrapper.a: $(obj-wlib) FORCE

hostprogs	:= addnote hack-coff mktree

targets		+= $(patsubst $(obj)/%,%,$(obj-boot) wrapper.a)
targets		+= $(patsubst $(obj)/%,%,$(obj-boot) wrapper.a) zImage.lds
extra-y		:= $(obj)/wrapper.a $(obj-plat) $(obj)/empty.o \
		   $(obj)/zImage.lds $(obj)/zImage.coff.lds $(obj)/zImage.ps3.lds

@@ -355,6 +357,8 @@ image-$(CONFIG_MVME5100) += dtbImage.mvme5100
# Board port in arch/powerpc/platform/amigaone/Kconfig
image-$(CONFIG_AMIGAONE)		+= cuImage.amigaone

image-$(CONFIG_PPC_MICROWATT)		+= dtbImage.microwatt

# For 32-bit powermacs, build the COFF and miboot images
# as well as the ELF images.
ifdef CONFIG_PPC32
Loading