Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bac65d9d authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull powerpc updates from Michael Ellerman:
 "Nothing really major this release, despite quite a lot of activity.
  Just lots of things all over the place.

  Some things of note include:

   - Access via perf to a new type of PMU (IMC) on Power9, which can
     count both core events as well as nest unit events (Memory
     controller etc).

   - Optimisations to the radix MMU TLB flushing, mostly to avoid
     unnecessary Page Walk Cache (PWC) flushes when the structure of the
     tree is not changing.

   - Reworks/cleanups of do_page_fault() to modernise it and bring it
     closer to other architectures where possible.

   - Rework of our page table walking so that THP updates only need to
     send IPIs to CPUs where the affected mm has run, rather than all
     CPUs.

   - The size of our vmalloc area is increased to 56T on 64-bit hash MMU
     systems. This avoids problems with the percpu allocator on systems
     with very sparse NUMA layouts.

   - STRICT_KERNEL_RWX support on PPC32.

   - A new sched domain topology for Power9, to capture the fact that
     pairs of cores may share an L2 cache.

   - Power9 support for VAS, which is a new mechanism for accessing
     coprocessors, and initial support for using it with the NX
     compression accelerator.

   - Major work on the instruction emulation support, adding support for
     many new instructions, and reworking it so it can be used to
     implement the emulation needed to fixup alignment faults.

   - Support for guests under PowerVM to use the Power9 XIVE interrupt
     controller.

  And probably that many things again that are almost as interesting,
  but I had to keep the list short. Plus the usual fixes and cleanups as
  always.

  Thanks to: Alexey Kardashevskiy, Alistair Popple, Andreas Schwab,
  Aneesh Kumar K.V, Anju T Sudhakar, Arvind Yadav, Balbir Singh,
  Benjamin Herrenschmidt, Bhumika Goyal, Breno Leitao, Bryant G. Ly,
  Christophe Leroy, Cédric Le Goater, Dan Carpenter, Dou Liyang,
  Frederic Barrat, Gautham R. Shenoy, Geliang Tang, Geoff Levand, Hannes
  Reinecke, Haren Myneni, Ivan Mikhaylov, John Allen, Julia Lawall,
  LABBE Corentin, Laurentiu Tudor, Madhavan Srinivasan, Markus Elfring,
  Masahiro Yamada, Matt Brown, Michael Neuling, Murilo Opsfelder Araujo,
  Nathan Fontenot, Naveen N. Rao, Nicholas Piggin, Oliver O'Halloran,
  Paul Mackerras, Rashmica Gupta, Rob Herring, Rui Teng, Sam Bobroff,
  Santosh Sivaraj, Scott Wood, Shilpasri G Bhat, Sukadev Bhattiprolu,
  Suraj Jitindar Singh, Tobin C. Harding, Victor Aoqui"

* tag 'powerpc-4.14-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux: (321 commits)
  powerpc/xive: Fix section __init warning
  powerpc: Fix kernel crash in emulation of vector loads and stores
  powerpc/xive: improve debugging macros
  powerpc/xive: add XIVE Exploitation Mode to CAS
  powerpc/xive: introduce H_INT_ESB hcall
  powerpc/xive: add the HW IRQ number under xive_irq_data
  powerpc/xive: introduce xive_esb_write()
  powerpc/xive: rename xive_poke_esb() in xive_esb_read()
  powerpc/xive: guest exploitation of the XIVE interrupt controller
  powerpc/xive: introduce a common routine xive_queue_page_alloc()
  powerpc/sstep: Avoid used uninitialized error
  axonram: Return directly after a failed kzalloc() in axon_ram_probe()
  axonram: Improve a size determination in axon_ram_probe()
  axonram: Delete an error message for a failed memory allocation in axon_ram_probe()
  powerpc/powernv/npu: Move tlb flush before launching ATSD
  powerpc/macintosh: constify wf_sensor_ops structures
  powerpc/iommu: Use permission-specific DEVICE_ATTR variants
  powerpc/eeh: Delete an error out of memory message at init time
  powerpc/mm: Use seq_putc() in two functions
  macintosh: Convert to using %pOF instead of full_name
  ...
parents f92e3da1 265601f0
Loading
Loading
Loading
Loading
+45 −0
Original line number Diff line number Diff line
What:		/sys/kernel/debug/powerpc/memtrace
Date:		Aug 2017
KernelVersion:	4.14
Contact:	linuxppc-dev@lists.ozlabs.org
Description:	This folder contains the relevant debugfs files for the
		hardware trace macro to use. CONFIG_PPC64_HARDWARE_TRACING
		must be set.

What:		/sys/kernel/debug/powerpc/memtrace/enable
Date:		Aug 2017
KernelVersion:	4.14
Contact:	linuxppc-dev@lists.ozlabs.org
Description:	Write an integer containing the size in bytes of the memory
		you want removed from each NUMA node to this file - it must be
		aligned to the memblock size. This amount of RAM will be removed
		from the kernel mappings and the following debugfs files will be
		created. This can only be successfully done once per boot. Once
		memory is successfully removed from each node, the following
		files are created.

What:		/sys/kernel/debug/powerpc/memtrace/<node-id>
Date:		Aug 2017
KernelVersion:	4.14
Contact:	linuxppc-dev@lists.ozlabs.org
Description:	This directory contains information about the removed memory
		from the specific NUMA node.

What:		/sys/kernel/debug/powerpc/memtrace/<node-id>/size
Date:		Aug 2017
KernelVersion:	4.14
Contact:	linuxppc-dev@lists.ozlabs.org
Description:	This contains the size of the memory removed from the node.

What:		/sys/kernel/debug/powerpc/memtrace/<node-id>/start
Date:		Aug 2017
KernelVersion:	4.14
Contact:	linuxppc-dev@lists.ozlabs.org
Description:	This contains the start address of the removed memory.

What:		/sys/kernel/debug/powerpc/memtrace/<node-id>/trace
Date:		Aug 2017
KernelVersion:	4.14
Contact:	linuxppc-dev@lists.ozlabs.org
Description:	This is where the hardware trace macro will output the trace
		it generates.
+31 −0
Original line number Diff line number Diff line
What:		/sys/firmware/opal/powercap
Date:		August 2017
Contact:	Linux for PowerPC mailing list <linuxppc-dev@ozlabs.org>
Description:	Powercap directory for Powernv (P8, P9) servers

		Each folder in this directory contains a
		power-cappable component.

What:		/sys/firmware/opal/powercap/system-powercap
		/sys/firmware/opal/powercap/system-powercap/powercap-min
		/sys/firmware/opal/powercap/system-powercap/powercap-max
		/sys/firmware/opal/powercap/system-powercap/powercap-current
Date:		August 2017
Contact:	Linux for PowerPC mailing list <linuxppc-dev@ozlabs.org>
Description:	System powercap directory and attributes applicable for
		Powernv (P8, P9) servers

		This directory provides powercap information. It
		contains below sysfs attributes:

		- powercap-min : This file provides the minimum
		  possible powercap in Watt units

		- powercap-max : This file provides the maximum
		  possible powercap in Watt units

		- powercap-current : This file provides the current
		  powercap set on the system. Writing to this file
		  creates a request for setting a new-powercap. The
		  powercap requested must be between powercap-min
		  and powercap-max.
+18 −0
Original line number Diff line number Diff line
What:		/sys/firmware/opal/psr
Date:		August 2017
Contact:	Linux for PowerPC mailing list <linuxppc-dev@ozlabs.org>
Description:	Power-Shift-Ratio directory for Powernv P9 servers

		Power-Shift-Ratio allows to provide hints the firmware
		to shift/throttle power between different entities in
		the system. Each attribute in this directory indicates
		a settable PSR.

What:		/sys/firmware/opal/psr/cpu_to_gpu_X
Date:		August 2017
Contact:	Linux for PowerPC mailing list <linuxppc-dev@ozlabs.org>
Description:	PSR sysfs attributes for Powernv P9 servers

		Power-Shift-Ratio between CPU and GPU for a given chip
		with chip-id X. This file gives the ratio (0-100)
		which is used by OCC for power-capping.
+22 −0
Original line number Diff line number Diff line
* IBM Powerpc Virtual Accelerator Switchboard (VAS)

VAS is a hardware mechanism that allows kernel subsystems and user processes
to directly submit compression and other requests to Nest accelerators (NX)
or other coprocessors functions.

Required properties:
- compatible : should be "ibm,vas".
- ibm,vas-id : A unique identifier for each instance of VAS in the system
- reg : Should contain 4 pairs of 64-bit fields specifying the Hypervisor
  window context start and length, OS/User window context start and length,
  "Paste address" start and length, "Paste window id" start bit and number
  of bits)

Example:

	vas@6019100000000 {
		compatible = "ibm,vas", "ibm,power9-vas";
		reg = <0x6019100000000 0x2000000 0x6019000000000 0x100000000 0x8000000000000 0x100000000 0x20 0x10>;
		name = "vas";
		ibm,vas-id = <0x1>;
	};
+27 −0
Original line number Diff line number Diff line
IBM OPAL Sensor Groups Binding
-------------------------------

Node: /ibm,opal/sensor-groups

Description: Contains sensor groups available in the Powernv P9
servers. Each child node indicates a sensor group.

- compatible : Should be "ibm,opal-sensor-group"

Each child node contains below properties:

- type : String to indicate the type of sensor-group

- sensor-group-id: Abstract unique identifier provided by firmware of
		   type <u32> which is used for sensor-group
		   operations like clearing the min/max history of all
		   sensors belonging to the group.

- ibm,chip-id : Chip ID

- sensors : Phandle array of child nodes of /ibm,opal/sensor/
	    belonging to this group

- ops : Array of opal-call numbers indicating available operations on
	sensor groups like clearing min/max, enabling/disabling sensor
	group.
Loading