Commit 8d697332 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull powerpc updates from Michael Ellerman:
 "Notable changes:

   - Mitigations for Spectre v2 on some Freescale (NXP) CPUs.

   - A large series adding support for pass-through of Nvidia V100 GPUs
     to guests on Power9.

   - Another large series to enable hardware assistance for TLB table
     walk on MPC8xx CPUs.

   - Some preparatory changes to our DMA code, to make way for further
     cleanups from Christoph.

   - Several fixes for our Transactional Memory handling discovered by
     fuzzing the signal return path.

   - Support for generating our system call table(s) from a text file
     like other architectures.

   - A fix to our page fault handler so that instead of generating a
     WARN_ON_ONCE, user accesses of kernel addresses instead print a
     ratelimited and appropriately scary warning.

   - A cosmetic change to make our unhandled page fault messages more
     similar to other arches and also more compact and informative.

   - Freescale updates from Scott:
       "Highlights include elimination of legacy clock bindings use from
        dts files, an 83xx watchdog handler, fixes to old dts interrupt
        errors, and some minor cleanup."

  And many clean-ups, reworks and minor fixes etc.

  Thanks to: Alexandre Belloni, Alexey Kardashevskiy, Andrew Donnellan,
  Aneesh Kumar K.V, Arnd Bergmann, Benjamin Herrenschmidt, Breno Leitao,
  Christian Lamparter, Christophe Leroy, Christoph Hellwig, Daniel
  Axtens, Darren Stevens, David Gibson, Diana Craciun, Dmitry V. Levin,
  Firoz Khan, Geert Uytterhoeven, Greg Kurz, Gustavo Romero, Hari
  Bathini, Joel Stanley, Kees Cook, Madhavan Srinivasan, Mahesh
  Salgaonkar, Markus Elfring, Mathieu Malaterre, Michal Suchánek, Naveen
  N. Rao, Nick Desaulniers, Oliver O'Halloran, Paul Mackerras, Ram Pai,
  Ravi Bangoria, Rob Herring, Russell Currey, Sabyasachi Gupta, Sam
  Bobroff, Satheesh Rajendran, Scott Wood, Segher Boessenkool, Stephen
  Rothwell, Tang Yuantian, Thiago Jung Bauermann, Yangtao Li, Yuantian
  Tang, Yue Haibing"

* tag 'powerpc-4.21-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux: (201 commits)
  Revert "powerpc/fsl_pci: simplify fsl_pci_dma_set_mask"
  powerpc/zImage: Also check for stdout-path
  powerpc: Fix HMIs on big-endian with CONFIG_RELOCATABLE=y
  macintosh: Use of_node_name_{eq, prefix} for node name comparisons
  ide: Use of_node_name_eq for node name comparisons
  powerpc: Use of_node_name_eq for node name comparisons
  powerpc/pseries/pmem: Convert to %pOFn instead of device_node.name
  powerpc/mm: Remove very old comment in hash-4k.h
  powerpc/pseries: Fix node leak in update_lmb_associativity_index()
  powerpc/configs/85xx: Enable CONFIG_DEBUG_KERNEL
  powerpc/dts/fsl: Fix dtc-flagged interrupt errors
  clk: qoriq: add more compatibles strings
  powerpc/fsl: Use new clockgen binding
  powerpc/83xx: handle machine check caused by watchdog timer
  powerpc/fsl-rio: fix spelling mistake "reserverd" -> "reserved"
  powerpc/fsl_pci: simplify fsl_pci_dma_set_mask
  arch/powerpc/fsl_rmu: Use dma_zalloc_coherent
  vfio_pci: Add NVIDIA GV100GL [Tesla V100 SXM2] subdriver
  vfio_pci: Allow regions to add own capabilities
  vfio_pci: Allow mapping extra regions
  ...
parents 6d101ba6 12526b0d
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -2833,7 +2833,7 @@
			check bypass). With this option data leaks are possible
			in the system.

	nospectre_v2	[X86] Disable all mitigations for the Spectre variant 2
	nospectre_v2	[X86,PPC_FSL_BOOK3E] Disable all mitigations for the Spectre variant 2
			(indirect branch prediction) vulnerability. System may
			allow data leaks with this option, which is equivalent
			to spectre_v2=off.
+6 −0
Original line number Diff line number Diff line
@@ -28,6 +28,12 @@ Required properties:
	* "fsl,p4080-clockgen"
	* "fsl,p5020-clockgen"
	* "fsl,p5040-clockgen"
	* "fsl,t1023-clockgen"
	* "fsl,t1024-clockgen"
	* "fsl,t1040-clockgen"
	* "fsl,t1042-clockgen"
	* "fsl,t2080-clockgen"
	* "fsl,t2081-clockgen"
	* "fsl,t4240-clockgen"
	* "fsl,b4420-clockgen"
	* "fsl,b4860-clockgen"
+16 −1
Original line number Diff line number Diff line
@@ -113,7 +113,15 @@ header, is usually reserved at an offset greater than boot memory
size (see Fig. 1). This area is *not* released: this region will
be kept permanently reserved, so that it can act as a receptacle
for a copy of the boot memory content in addition to CPU state
and HPTE region, in the case a crash does occur.
and HPTE region, in the case a crash does occur. Since this reserved
memory area is used only after the system crash, there is no point in
blocking this significant chunk of memory from production kernel.
Hence, the implementation uses the Linux kernel's Contiguous Memory
Allocator (CMA) for memory reservation if CMA is configured for kernel.
With CMA reservation this memory will be available for applications to
use it, while kernel is prevented from using it. With this fadump will
still be able to capture all of the kernel memory and most of the user
space memory except the user pages that were present in CMA region.

  o Memory Reservation during first kernel

@@ -162,6 +170,9 @@ How to enable firmware-assisted dump (fadump):

1. Set config option CONFIG_FA_DUMP=y and build kernel.
2. Boot into linux kernel with 'fadump=on' kernel cmdline option.
   By default, fadump reserved memory will be initialized as CMA area.
   Alternatively, user can boot linux kernel with 'fadump=nocma' to
   prevent fadump to use CMA.
3. Optionally, user can also set 'crashkernel=' kernel cmdline
   to specify size of the memory to reserve for boot memory dump
   preservation.
@@ -172,6 +183,10 @@ NOTE: 1. 'fadump_reserve_mem=' parameter has been deprecated. Instead
      2. If firmware-assisted dump fails to reserve memory then it
         will fallback to existing kdump mechanism if 'crashkernel='
         option is set at kernel cmdline.
      3. if user wants to capture all of user space memory and ok with
         reserved memory not available to production system, then
         'fadump=nocma' kernel parameter can be used to fallback to
         old behaviour.

Sysfs/debugfs files:
------------
+74 −0
Original line number Diff line number Diff line
CPU to ISA Version Mapping
==========================

Mapping of some CPU versions to relevant ISA versions.

========= ====================
CPU       Architecture version
========= ====================
Power9    Power ISA v3.0B
Power8    Power ISA v2.07
Power7    Power ISA v2.06
Power6    Power ISA v2.05
PA6T      Power ISA v2.04
Cell PPU  - Power ISA v2.02 with some minor exceptions
          - Plus Altivec/VMX ~= 2.03
Power5++  Power ISA v2.04 (no VMX)
Power5+   Power ISA v2.03
Power5    - PowerPC User Instruction Set Architecture Book I v2.02
          - PowerPC Virtual Environment Architecture Book II v2.02
          - PowerPC Operating Environment Architecture Book III v2.02
PPC970    - PowerPC User Instruction Set Architecture Book I v2.01
          - PowerPC Virtual Environment Architecture Book II v2.01
          - PowerPC Operating Environment Architecture Book III v2.01
          - Plus Altivec/VMX ~= 2.03
========= ====================


Key Features
------------

========== ==================
CPU        VMX (aka. Altivec)
========== ==================
Power9     Yes
Power8     Yes
Power7     Yes
Power6     Yes
PA6T       Yes
Cell PPU   Yes
Power5++   No
Power5+    No
Power5     No
PPC970     Yes
========== ==================

========== ====
CPU        VSX
========== ====
Power9     Yes
Power8     Yes
Power7     Yes
Power6     No
PA6T       No
Cell PPU   No
Power5++   No
Power5+    No
Power5     No
PPC970     No
========== ====

========== ====================
CPU        Transactional Memory
========== ====================
Power9     Yes (* see transactional_memory.txt)
Power8     Yes
Power7     No
Power6     No
PA6T       No
Cell PPU   No
Power5++   No
Power5+    No
Power5     No
PPC970     No
========== ====================
+6 −9
Original line number Diff line number Diff line
@@ -128,6 +128,7 @@ config PPC
	#
	# Please keep this list sorted alphabetically.
	#
	select ARCH_HAS_DEBUG_VIRTUAL
	select ARCH_HAS_DEVMEM_IS_ALLOWED
	select ARCH_HAS_DMA_SET_COHERENT_MASK
	select ARCH_HAS_ELF_RANDOMIZE
@@ -374,9 +375,9 @@ config PPC_ADV_DEBUG_DAC_RANGE
	depends on PPC_ADV_DEBUG_REGS && 44x
	default y

config ZONE_DMA32
config ZONE_DMA
	bool
	default y if PPC64
	default y if PPC_BOOK3E_64

config PGTABLE_LEVELS
	int
@@ -556,7 +557,7 @@ config RELOCATABLE_TEST

config CRASH_DUMP
	bool "Build a dump capture kernel"
	depends on PPC64 || 6xx || FSL_BOOKE || (44x && !SMP)
	depends on PPC64 || PPC_BOOK3S_32 || FSL_BOOKE || (44x && !SMP)
	select RELOCATABLE if PPC64 || 44x || FSL_BOOKE
	help
	  Build a kernel suitable for use as a dump capture kernel.
@@ -869,10 +870,6 @@ config ISA
	  have an IBM RS/6000 or pSeries machine, say Y.  If you have an
	  embedded board, consult your board documentation.

config ZONE_DMA
	bool
	default y

config GENERIC_ISA_DMA
	bool
	depends on ISA_DMA_API
@@ -1096,7 +1093,7 @@ config PHYSICAL_START_BOOL

config PHYSICAL_START
	hex "Physical address where the kernel is loaded" if PHYSICAL_START_BOOL
	default "0x02000000" if PPC_STD_MMU && CRASH_DUMP && !NONSTATIC_KERNEL
	default "0x02000000" if PPC_BOOK3S && CRASH_DUMP && !NONSTATIC_KERNEL
	default "0x00000000"

config PHYSICAL_ALIGN
@@ -1146,7 +1143,7 @@ config PIN_TLB_DATA

config PIN_TLB_IMMR
	bool "Pinned TLB for IMMR"
	depends on PIN_TLB
	depends on PIN_TLB || PPC_EARLY_DEBUG_CPM
	default y

config PIN_TLB_TEXT
Loading