projects/linux·commit 71c3a888

Merge tag 'powerpc-5.6-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux

71c3a888 · Linus Torvalds <[email protected]> · 2020-02-04 13:06:46 +00:00

Pull powerpc updates from Michael Ellerman:
 "A pretty small batch for us, and apologies for it being a bit late, I
  wanted to sneak Christophe's user_access_begin() series in.

  Summary:

   - Implement user_access_begin() and friends for our platforms that
     support controlling kernel access to userspace.

   - Enable CONFIG_VMAP_STACK on 32-bit Book3S and 8xx.

   - Some tweaks to our pseries IOMMU code to allow SVMs ("secure"
     virtual machines) to use the IOMMU.

   - Add support for CLOCK_{REALTIME/MONOTONIC}_COARSE to the 32-bit
     VDSO, and some other improvements.

   - A series to use the PCI hotplug framework to control opencapi
     card's so that they can be reset and re-read after flashing a new
     FPGA image.

  As well as other minor fixes and improvements as usual.

  Thanks to: Alastair D'Silva, Alexandre Ghiti, Alexey Kardashevskiy,
  Andrew Donnellan, Aneesh Kumar K.V, Anju T Sudhakar, Bai Yingjie, Chen
  Zhou, Christophe Leroy, Frederic Barrat, Greg Kurz, Jason A.
  Donenfeld, Joel Stanley, Jordan Niethe, Julia Lawall, Krzysztof
  Kozlowski, Laurent Dufour, Laurentiu Tudor, Linus Walleij, Michael
  Bringmann, Nathan Chancellor, Nicholas Piggin, Nick Desaulniers,
  Oliver O'Halloran, Peter Ujfalusi, Pingfan Liu, Ram Pai, Randy Dunlap,
  Russell Currey, Sam Bobroff, Sebastian Andrzej Siewior, Shawn
  Anastasio, Stephen Rothwell, Steve Best, Sukadev Bhattiprolu, Thiago
  Jung Bauermann, Tyrel Datwyler, Vaibhav Jain"

* tag 'powerpc-5.6-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux: (131 commits)
  powerpc: configs: Cleanup old Kconfig options
  powerpc/configs/skiroot: Enable some more hardening options
  powerpc/configs/skiroot: Disable xmon default & enable reboot on panic
  powerpc/configs/skiroot: Enable security features
  powerpc/configs/skiroot: Update for symbol movement only
  powerpc/configs/skiroot: Drop default n CONFIG_CRYPTO_ECHAINIV
  powerpc/configs/skiroot: Drop HID_LOGITECH
  powerpc/configs: Drop NET_VENDOR_HP which moved to staging
  powerpc/configs: NET_CADENCE became NET_VENDOR_CADENCE
  powerpc/configs: Drop CONFIG_QLGE which moved to staging
  powerpc: Do not consider weak unresolved symbol relocations as bad
  powerpc/32s: Fix kasan_early_hash_table() for CONFIG_VMAP_STACK
  powerpc: indent to improve Kconfig readability
  powerpc: Provide initial documentation for PAPR hcalls
  powerpc: Implement user_access_save() and user_access_restore()
  powerpc: Implement user_access_begin and friends
  powerpc/32s: Prepare prevent_user_access() for user_access_end()
  powerpc/32s: Drop NULL addr verification
  powerpc/kuap: Fix set direction in allow/prevent_user_access()
  powerpc/32s: Fix bad_kuap_fault()
  ...
Commit
71c3a888cbcaf453aecf8d2f8fb003271d28073f
Parents
153b5c56 · 4c25df56

Merge commit. Changes below are compared with the first parent: 153b5c56.

Changes

141 files changed · +2310 −1121

FileStatusAddDelContent
Documentation/devicetree/bindings/spi/fsl-spi.txtmodified+4−4View file
Documentation/powerpc/imc.rstadded+199−0View file
Documentation/powerpc/index.rstmodified+2−0View file
Documentation/powerpc/papr_hcalls.rstadded+250−0View file
arch/powerpc/Kconfigmodified+3−6View file
arch/powerpc/Kconfig.debugmodified+1−1View file
arch/powerpc/Makefile.postlinkmodified+2−2View file
arch/powerpc/boot/4xx.cmodified+1−1View file
arch/powerpc/boot/dts/mgcoge.dtsmodified+1−1View file
arch/powerpc/boot/dts/mpc832x_rdb.dtsmodified+1−1View file
arch/powerpc/boot/dts/mpc8610_hpcd.dtsmodified+1−1View file
arch/powerpc/configs/44x/akebono_defconfigmodified+0−1View file
arch/powerpc/configs/44x/sam440ep_defconfigmodified+0−2View file
arch/powerpc/configs/52xx/pcm030_defconfigmodified+0−2View file
arch/powerpc/configs/83xx/kmeter1_defconfigmodified+0−2View file
arch/powerpc/configs/adder875_defconfigmodified+0−1View file
arch/powerpc/configs/ep8248e_defconfigmodified+0−1View file
arch/powerpc/configs/ep88xc_defconfigmodified+0−1View file
arch/powerpc/configs/mgcoge_defconfigmodified+0−1View file
arch/powerpc/configs/mpc512x_defconfigmodified+0−1View file
arch/powerpc/configs/mpc885_ads_defconfigmodified+0−1View file
arch/powerpc/configs/powernv_defconfigmodified+0−1View file
arch/powerpc/configs/ppc64_defconfigmodified+0−1View file
arch/powerpc/configs/ppc6xx_defconfigmodified+0−1View file
arch/powerpc/configs/pseries_defconfigmodified+0−1View file
arch/powerpc/configs/skiroot_defconfigmodified+41−27View file
arch/powerpc/configs/storcenter_defconfigmodified+0−1View file
arch/powerpc/configs/tqm8xx_defconfigmodified+0−1View file
arch/powerpc/include/asm/book3s/32/kup.hmodified+59−9View file
arch/powerpc/include/asm/book3s/32/pgtable.hmodified+5−0View file
arch/powerpc/include/asm/book3s/64/kup-radix.hmodified+33−7View file
arch/powerpc/include/asm/cputable.hmodified+5−2View file
arch/powerpc/include/asm/firmware.hmodified+4−2View file
arch/powerpc/include/asm/hw_breakpoint.hmodified+4−0View file
arch/powerpc/include/asm/kasan.hmodified+2−0View file
arch/powerpc/include/asm/kup.hmodified+41−8View file
arch/powerpc/include/asm/nohash/32/kup-8xx.hmodified+18−3View file
arch/powerpc/include/asm/nohash/32/pgtable.hmodified+5−0View file
arch/powerpc/include/asm/page.hmodified+1−1View file
arch/powerpc/include/asm/pci-bridge.hmodified+5−2View file
arch/powerpc/include/asm/pci.hmodified+0−1View file
arch/powerpc/include/asm/pgtable.hmodified+0−6View file
arch/powerpc/include/asm/pnv-pci.hmodified+1−0View file
arch/powerpc/include/asm/processor.hmodified+9−0View file
arch/powerpc/include/asm/reg_8xx.hmodified+14−0View file
arch/powerpc/include/asm/thread_info.hmodified+18−0View file
arch/powerpc/include/asm/uaccess.hmodified+67−21View file
arch/powerpc/include/asm/vdso_datapage.hmodified+10−4View file
arch/powerpc/include/asm/xive.hmodified+46−46View file
arch/powerpc/kernel/Makefilemodified+1−2View file
arch/powerpc/kernel/asm-offsets.cmodified+10−1View file
arch/powerpc/kernel/dt_cpu_ftrs.cmodified+8−5View file
arch/powerpc/kernel/eeh.cmodified+18−14View file
arch/powerpc/kernel/eeh_cache.cmodified+1−9View file
arch/powerpc/kernel/eeh_driver.cmodified+0−6View file
arch/powerpc/kernel/eeh_sysfs.cmodified+11−11View file
arch/powerpc/kernel/entry_32.Smodified+19−13View file
arch/powerpc/kernel/entry_64.Smodified+6−12View file
arch/powerpc/kernel/exceptions-64s.Smodified+14−18View file
arch/powerpc/kernel/fpu.Smodified+3−0View file
arch/powerpc/kernel/head_32.Smodified+39−23View file
arch/powerpc/kernel/head_32.hmodified+161−19View file
arch/powerpc/kernel/head_40x.Smodified+2−0View file
arch/powerpc/kernel/head_8xx.Smodified+88−101View file
arch/powerpc/kernel/head_booke.hmodified+2−0View file
arch/powerpc/kernel/head_fsl_booke.Smodified+1−0View file
arch/powerpc/kernel/hw_breakpoint.cmodified+8−7View file
arch/powerpc/kernel/idle.cmodified+25−0View file
arch/powerpc/kernel/idle_book3s.Smodified+20−0View file
arch/powerpc/kernel/idle_power4.Sdeleted+0−83View before deletion
arch/powerpc/kernel/irq.cmodified+22−0View file
arch/powerpc/kernel/pci-common.cmodified+4−42View file
arch/powerpc/kernel/pci-hotplug.cmodified+0−1View file
arch/powerpc/kernel/pci_dn.cmodified+22−25View file
arch/powerpc/kernel/pci_of_scan.cmodified+0−1View file
arch/powerpc/kernel/process.cmodified+36−33View file
arch/powerpc/kernel/setup.hmodified+1−1View file
arch/powerpc/kernel/setup_32.cmodified+16−1View file
arch/powerpc/kernel/setup_64.cmodified+1−1View file
arch/powerpc/kernel/traps.cmodified+9−0View file
arch/powerpc/kernel/vdso.cmodified+0−5View file
arch/powerpc/kernel/vdso32/Makefilemodified+1−3View file
arch/powerpc/kernel/vdso32/cacheflush.Smodified+27−5View file
arch/powerpc/kernel/vdso32/datapage.Smodified+4−27View file
arch/powerpc/kernel/vdso32/getcpu.Smodified+20−3View file
arch/powerpc/kernel/vdso32/gettimeofday.Smodified+84−35View file
arch/powerpc/kernel/vdso32/vdso32.lds.Smodified+1−1View file
arch/powerpc/kernel/vector.Smodified+3−0View file
arch/powerpc/kernel/vmlinux.lds.Smodified+1−1View file
arch/powerpc/kvm/book3s_64_mmu_radix.cmodified+2−4View file
arch/powerpc/kvm/book3s_hv_rmhandlers.Smodified+2−0View file
arch/powerpc/kvm/book3s_xive.cmodified+1−1View file
arch/powerpc/mm/book3s32/hash_low.Smodified+29−17View file
arch/powerpc/mm/book3s32/mmu.cmodified+7−2View file
arch/powerpc/mm/book3s64/hash_utils.cmodified+10−1View file
arch/powerpc/mm/book3s64/radix_pgtable.cmodified+5−1View file
arch/powerpc/mm/book3s64/radix_tlb.cmodified+3−0View file
arch/powerpc/mm/fault.cmodified+5−6View file
arch/powerpc/mm/kasan/kasan_init_32.cmodified+43−46View file
arch/powerpc/mm/mem.cmodified+4−0View file
arch/powerpc/mm/mmu_decl.hmodified+6−0View file
arch/powerpc/mm/nohash/8xx.cmodified+7−6View file
arch/powerpc/mm/pgtable_32.cmodified+1−0View file
arch/powerpc/mm/ptdump/ptdump.cmodified+5−1View file
arch/powerpc/oprofile/backtrace.cmodified+2−12View file
arch/powerpc/perf/8xx-pmu.cmodified+8−4View file
arch/powerpc/perf/callchain.cmodified+3−17View file
arch/powerpc/perf/core-book3s.cmodified+1−7View file
arch/powerpc/platforms/512x/mpc512x_lpbfifo.cmodified+3−3View file
arch/powerpc/platforms/83xx/km83xx.cmodified+1−1View file
arch/powerpc/platforms/85xx/smp.cmodified+9−0View file
arch/powerpc/platforms/85xx/twr_p102x.cmodified+1−4View file
arch/powerpc/platforms/Kconfigmodified+4−0View file
arch/powerpc/platforms/Kconfig.cputypemodified+8−0View file
arch/powerpc/platforms/maple/setup.cmodified+1−1View file
arch/powerpc/platforms/powernv/opal.cmodified+73−71View file
arch/powerpc/platforms/powernv/pci-ioda.cmodified+180−64View file
arch/powerpc/platforms/powernv/pci.cmodified+14−57View file
arch/powerpc/platforms/powernv/pci.hmodified+0−3View file
arch/powerpc/platforms/powernv/setup.cmodified+4−0View file
arch/powerpc/platforms/pseries/Kconfigmodified+0−1View file
arch/powerpc/platforms/pseries/firmware.cmodified+9−1View file
arch/powerpc/platforms/pseries/hotplug-memory.cmodified+3−1View file
arch/powerpc/platforms/pseries/iommu.cmodified+36−28View file
arch/powerpc/platforms/pseries/lparcfg.cmodified+2−2View file
arch/powerpc/platforms/pseries/papr_scm.cmodified+5−3View file
arch/powerpc/platforms/pseries/pci.cmodified+2−2View file
arch/powerpc/platforms/pseries/vio.cmodified+2−0View file
arch/powerpc/sysdev/fsl_pci.cmodified+4−6View file
arch/powerpc/sysdev/mpic.cmodified+2−2View file
arch/powerpc/tools/relocs_check.shmodified+12−8View file
arch/powerpc/xmon/dis-asm.hmodified+2−2View file
arch/powerpc/xmon/xmon.cmodified+11−9View file
drivers/macintosh/Kconfigmodified+3−3View file
drivers/misc/ocxl/Kconfigmodified+1−0View file
drivers/pci/hotplug/pnv_php.cmodified+49−33View file
tools/testing/selftests/powerpc/eeh/eeh-functions.shmodified+7−3View file
tools/testing/selftests/powerpc/mm/.gitignoremodified+1−0View file
tools/testing/selftests/powerpc/mm/Makefilemodified+2−1View file
tools/testing/selftests/powerpc/mm/bad_accesses.cadded+171−0View file
tools/testing/selftests/powerpc/ptrace/ptrace-hwbreak.cmodified+2−3View file

Only the first 600 diff lines are shown. Download the complete patch.

Documentation/devicetree/bindings/spi/fsl-spi.txt

View file
diff --git a/Documentation/devicetree/bindings/spi/fsl-spi.txt b/Documentation/devicetree/bindings/spi/fsl-spi.txt
index 411375e..0654380 100644
--- a/Documentation/devicetree/bindings/spi/fsl-spi.txt
+++ b/Documentation/devicetree/bindings/spi/fsl-spi.txt
@@ -15,13 +15,13 @@ Required properties:
- clock-frequency : input clock frequency to non FSL_SOC cores
Optional properties:
-- gpios : specifies the gpio pins to be used for chipselects.
+- cs-gpios : specifies the gpio pins to be used for chipselects.
The gpios will be referred to as reg = <index> in the SPI child nodes.
If unspecified, a single SPI device without a chip select can be used.
- fsl,spisel_boot : for the MPC8306 and MPC8309, specifies that the
SPISEL_BOOT signal is used as chip select for a slave device. Use
reg = <number of gpios> in the corresponding child node, i.e. 0 if
- the gpios property is not present.
+ the cs-gpios property is not present.
Example:
spi@4c0 {
@@ -31,8 +31,8 @@ Example:
interrupts = <82 0>;
interrupt-parent = <700>;
mode = "cpu";
- gpios = <&gpio 18 1 // device reg=<0>
- &gpio 19 1>; // device reg=<1>
+ cs-gpios = <&gpio 18 1 // device reg=<0>
+ &gpio 19 1>; // device reg=<1>
};

Documentation/powerpc/imc.rst

View file
diff --git a/Documentation/powerpc/imc.rst b/Documentation/powerpc/imc.rst
new file mode 100644
index 0000000..633bcee
--- /dev/null
+++ b/Documentation/powerpc/imc.rst
@@ -0,0 +1,199 @@
+.. SPDX-License-Identifier: GPL-2.0
+.. _imc:
+
+===================================
+IMC (In-Memory Collection Counters)
+===================================
+
+Anju T Sudhakar, 10 May 2019
+
+.. contents::
+ :depth: 3
+
+
+Basic overview
+==============
+
+IMC (In-Memory collection counters) is a hardware monitoring facility that
+collects large numbers of hardware performance events at Nest level (these are
+on-chip but off-core), Core level and Thread level.
+
+The Nest PMU counters are handled by a Nest IMC microcode which runs in the OCC
+(On-Chip Controller) complex. The microcode collects the counter data and moves
+the nest IMC counter data to memory.
+
+The Core and Thread IMC PMU counters are handled in the core. Core level PMU
+counters give us the IMC counters' data per core and thread level PMU counters
+give us the IMC counters' data per CPU thread.
+
+OPAL obtains the IMC PMU and supported events information from the IMC Catalog
+and passes on to the kernel via the device tree. The event's information
+contains:
+
+- Event name
+- Event Offset
+- Event description
+
+and possibly also:
+
+- Event scale
+- Event unit
+
+Some PMUs may have a common scale and unit values for all their supported
+events. For those cases, the scale and unit properties for those events must be
+inherited from the PMU.
+
+The event offset in the memory is where the counter data gets accumulated.
+
+IMC catalog is available at:
+ https://github.com/open-power/ima-catalog
+
+The kernel discovers the IMC counters information in the device tree at the
+`imc-counters` device node which has a compatible field
+`ibm,opal-in-memory-counters`. From the device tree, the kernel parses the PMUs
+and their event's information and register the PMU and its attributes in the
+kernel.
+
+IMC example usage
+=================
+
+.. code-block:: sh
+
+ # perf list
+ [...]
+ nest_mcs01/PM_MCS01_64B_RD_DISP_PORT01/ [Kernel PMU event]
+ nest_mcs01/PM_MCS01_64B_RD_DISP_PORT23/ [Kernel PMU event]
+ [...]
+ core_imc/CPM_0THRD_NON_IDLE_PCYC/ [Kernel PMU event]
+ core_imc/CPM_1THRD_NON_IDLE_INST/ [Kernel PMU event]
+ [...]
+ thread_imc/CPM_0THRD_NON_IDLE_PCYC/ [Kernel PMU event]
+ thread_imc/CPM_1THRD_NON_IDLE_INST/ [Kernel PMU event]
+
+To see per chip data for nest_mcs0/PM_MCS_DOWN_128B_DATA_XFER_MC0/:
+
+.. code-block:: sh
+
+ # ./perf stat -e "nest_mcs01/PM_MCS01_64B_WR_DISP_PORT01/" -a --per-socket
+
+To see non-idle instructions for core 0:
+
+.. code-block:: sh
+
+ # ./perf stat -e "core_imc/CPM_NON_IDLE_INST/" -C 0 -I 1000
+
+To see non-idle instructions for a "make":
+
+.. code-block:: sh
+
+ # ./perf stat -e "thread_imc/CPM_NON_IDLE_PCYC/" make
+
+
+IMC Trace-mode
+===============
+
+POWER9 supports two modes for IMC which are the Accumulation mode and Trace
+mode. In Accumulation mode, event counts are accumulated in system Memory.
+Hypervisor then reads the posted counts periodically or when requested. In IMC
+Trace mode, the 64 bit trace SCOM value is initialized with the event
+information. The CPMCxSEL and CPMC_LOAD in the trace SCOM, specifies the event
+to be monitored and the sampling duration. On each overflow in the CPMCxSEL,
+hardware snapshots the program counter along with event counts and writes into
+memory pointed by LDBAR.
+
+LDBAR is a 64 bit special purpose per thread register, it has bits to indicate
+whether hardware is configured for accumulation or trace mode.
+
+LDBAR Register Layout
+---------------------
+
+ +-------+----------------------+
+ | 0 | Enable/Disable |
+ +-------+----------------------+
+ | 1 | 0: Accumulation Mode |
+ | +----------------------+
+ | | 1: Trace Mode |
+ +-------+----------------------+
+ | 2:3 | Reserved |
+ +-------+----------------------+
+ | 4-6 | PB scope |
+ +-------+----------------------+
+ | 7 | Reserved |
+ +-------+----------------------+
+ | 8:50 | Counter Address |
+ +-------+----------------------+
+ | 51:63 | Reserved |
+ +-------+----------------------+
+
+TRACE_IMC_SCOM bit representation
+---------------------------------
+
+ +-------+------------+
+ | 0:1 | SAMPSEL |
+ +-------+------------+
+ | 2:33 | CPMC_LOAD |
+ +-------+------------+
+ | 34:40 | CPMC1SEL |
+ +-------+------------+
+ | 41:47 | CPMC2SEL |
+ +-------+------------+
+ | 48:50 | BUFFERSIZE |
+ +-------+------------+
+ | 51:63 | RESERVED |
+ +-------+------------+
+
+CPMC_LOAD contains the sampling duration. SAMPSEL and CPMCxSEL determines the
+event to count. BUFFERSIZE indicates the memory range. On each overflow,
+hardware snapshots the program counter along with event counts and updates the
+memory and reloads the CMPC_LOAD value for the next sampling duration. IMC
+hardware does not support exceptions, so it quietly wraps around if memory
+buffer reaches the end.
+
+*Currently the event monitored for trace-mode is fixed as cycle.*
+
+Trace IMC example usage
+=======================
+
+.. code-block:: sh
+
+ # perf list
+ [....]
+ trace_imc/trace_cycles/ [Kernel PMU event]
+
+To record an application/process with trace-imc event:
+
+.. code-block:: sh
+
+ # perf record -e trace_imc/trace_cycles/ yes > /dev/null
+ [ perf record: Woken up 1 times to write data ]
+ [ perf record: Captured and wrote 0.012 MB perf.data (21 samples) ]
+
+The `perf.data` generated, can be read using perf report.
+
+Benefits of using IMC trace-mode
+================================
+
+PMI (Performance Monitoring Interrupts) interrupt handling is avoided, since IMC
+trace mode snapshots the program counter and updates to the memory. And this
+also provide a way for the operating system to do instruction sampling in real
+time without PMI processing overhead.
+
+Performance data using `perf top` with and without trace-imc event.
+
+PMI interrupts count when `perf top` command is executed without trace-imc event.
+
+.. code-block:: sh
+
+ # grep PMI /proc/interrupts
+ PMI: 0 0 0 0 Performance monitoring interrupts
+ # ./perf top
+ ...
+ # grep PMI /proc/interrupts
+ PMI: 39735 8710 17338 17801 Performance monitoring interrupts
+ # ./perf top -e trace_imc/trace_cycles/
+ ...
+ # grep PMI /proc/interrupts
+ PMI: 39735 8710 17338 17801 Performance monitoring interrupts
+
+
+That is, the PMI interrupt counts do not increment when using the `trace_imc` event.

Documentation/powerpc/index.rst

View file
diff --git a/Documentation/powerpc/index.rst b/Documentation/powerpc/index.rst
index ba5edb3..0d45f0f 100644
--- a/Documentation/powerpc/index.rst
+++ b/Documentation/powerpc/index.rst
@@ -18,9 +18,11 @@ powerpc
elfnote
firmware-assisted-dump
hvcs
+ imc
isa-versions
kaslr-booke32
mpc52xx
+ papr_hcalls
pci_iov_resource_on_powernv
pmu-ebb
ptrace

Documentation/powerpc/papr_hcalls.rst

View file
diff --git a/Documentation/powerpc/papr_hcalls.rst b/Documentation/powerpc/papr_hcalls.rst
new file mode 100644
index 0000000..3493631
--- /dev/null
+++ b/Documentation/powerpc/papr_hcalls.rst
@@ -0,0 +1,250 @@
+.. SPDX-License-Identifier: GPL-2.0
+
+===========================
+Hypercall Op-codes (hcalls)
+===========================
+
+Overview
+=========
+
+Virtualization on 64-bit Power Book3S Platforms is based on the PAPR
+specification [1]_ which describes the run-time environment for a guest
+operating system and how it should interact with the hypervisor for
+privileged operations. Currently there are two PAPR compliant hypervisors:
+
+- **IBM PowerVM (PHYP)**: IBM's proprietary hypervisor that supports AIX,
+ IBM-i and Linux as supported guests (termed as Logical Partitions
+ or LPARS). It supports the full PAPR specification.
+
+- **Qemu/KVM**: Supports PPC64 linux guests running on a PPC64 linux host.
+ Though it only implements a subset of PAPR specification called LoPAPR [2]_.
+
+On PPC64 arch a guest kernel running on top of a PAPR hypervisor is called
+a *pSeries guest*. A pseries guest runs in a supervisor mode (HV=0) and must
+issue hypercalls to the hypervisor whenever it needs to perform an action
+that is hypervisor priviledged [3]_ or for other services managed by the
+hypervisor.
+
+Hence a Hypercall (hcall) is essentially a request by the pseries guest
+asking hypervisor to perform a privileged operation on behalf of the guest. The
+guest issues a with necessary input operands. The hypervisor after performing
+the privilege operation returns a status code and output operands back to the
+guest.
+
+HCALL ABI
+=========
+The ABI specification for a hcall between a pseries guest and PAPR hypervisor
+is covered in section 14.5.3 of ref [2]_. Switch to the Hypervisor context is
+done via the instruction **HVCS** that expects the Opcode for hcall is set in *r3*
+and any in-arguments for the hcall are provided in registers *r4-r12*. If values
+have to be passed through a memory buffer, the data stored in that buffer should be
+in Big-endian byte order.
+
+Once control is returns back to the guest after hypervisor has serviced the
+'HVCS' instruction the return value of the hcall is available in *r3* and any
+out values are returned in registers *r4-r12*. Again like in case of in-arguments,
+any out values stored in a memory buffer will be in Big-endian byte order.
+
+Powerpc arch code provides convenient wrappers named **plpar_hcall_xxx** defined
+in a arch specific header [4]_ to issue hcalls from the linux kernel
+running as pseries guest.
+
+Register Conventions
+====================
+
+Any hcall should follow same register convention as described in section 2.2.1.1
+of "64-Bit ELF V2 ABI Specification: Power Architecture"[5]_. Table below
+summarizes these conventions:
+
++----------+----------+-------------------------------------------+
+| Register |Volatile | Purpose |
+| Range |(Y/N) | |
++==========+==========+===========================================+
+| r0 | Y | Optional-usage |
++----------+----------+-------------------------------------------+
+| r1 | N | Stack Pointer |
++----------+----------+-------------------------------------------+
+| r2 | N | TOC |
++----------+----------+-------------------------------------------+
+| r3 | Y | hcall opcode/return value |
++----------+----------+-------------------------------------------+
+| r4-r10 | Y | in and out values |
++----------+----------+-------------------------------------------+
+| r11 | Y | Optional-usage/Environmental pointer |
++----------+----------+-------------------------------------------+
+| r12 | Y | Optional-usage/Function entry address at |
+| | | global entry point |
++----------+----------+-------------------------------------------+
+| r13 | N | Thread-Pointer |
++----------+----------+-------------------------------------------+
+| r14-r31 | N | Local Variables |
++----------+----------+-------------------------------------------+
+| LR | Y | Link Register |
++----------+----------+-------------------------------------------+
+| CTR | Y | Loop Counter |
++----------+----------+-------------------------------------------+
+| XER | Y | Fixed-point exception register. |
++----------+----------+-------------------------------------------+
+| CR0-1 | Y | Condition register fields. |
++----------+----------+-------------------------------------------+
+| CR2-4 | N | Condition register fields. |
++----------+----------+-------------------------------------------+
+| CR5-7 | Y | Condition register fields. |
++----------+----------+-------------------------------------------+
+| Others | N | |
++----------+----------+-------------------------------------------+
+
+DRC & DRC Indexes
+=================
+::
+
+ DR1 Guest
+ +--+ +------------+ +---------+
+ | | <----> | | | User |
+ +--+ DRC1 | | DRC | Space |
+ | PAPR | Index +---------+
+ DR2 | Hypervisor | | |
+ +--+ | | <-----> | Kernel |
+ | | <----> | | Hcall | |
+ +--+ DRC2 +------------+ +---------+
+
+PAPR hypervisor terms shared hardware resources like PCI devices, NVDIMMs etc
+available for use by LPARs as Dynamic Resource (DR). When a DR is allocated to
+an LPAR, PHYP creates a data-structure called Dynamic Resource Connector (DRC)
+to manage LPAR access. An LPAR refers to a DRC via an opaque 32-bit number
+called DRC-Index. The DRC-index value is provided to the LPAR via device-tree
+where its present as an attribute in the device tree node associated with the
+DR.
+
+HCALL Return-values
+===================
+
+After servicing the hcall, hypervisor sets the return-value in *r3* indicating
+success or failure of the hcall. In case of a failure an error code indicates
+the cause for error. These codes are defined and documented in arch specific
+header [4]_.
+
+In some cases a hcall can potentially take a long time and need to be issued
+multiple times in order to be completely serviced. These hcalls will usually
+accept an opaque value *continue-token* within there argument list and a
+return value of *H_CONTINUE* indicates that hypervisor hasn't still finished
+servicing the hcall yet.
+
+To make such hcalls the guest need to set *continue-token == 0* for the
+initial call and use the hypervisor returned value of *continue-token*
+for each subsequent hcall until hypervisor returns a non *H_CONTINUE*
+return value.
+
+HCALL Op-codes
+==============
+
+Below is a partial list of HCALLs that are supported by PHYP. For the
+corresponding opcode values please look into the arch specific header [4]_:
+
+**H_SCM_READ_METADATA**
+
+| Input: *drcIndex, offset, buffer-address, numBytesToRead*
+| Out: *numBytesRead*
+| Return Value: *H_Success, H_Parameter, H_P2, H_P3, H_Hardware*
+
+Given a DRC Index of an NVDIMM, read N-bytes from the the metadata area
+associated with it, at a specified offset and copy it to provided buffer.
+The metadata area stores configuration information such as label information,
+bad-blocks etc. The metadata area is located out-of-band of NVDIMM storage
+area hence a separate access semantics is provided.
+
+**H_SCM_WRITE_METADATA**
+
+| Input: *drcIndex, offset, data, numBytesToWrite*
+| Out: *None*
+| Return Value: *H_Success, H_Parameter, H_P2, H_P4, H_Hardware*
+
+Given a DRC Index of an NVDIMM, write N-bytes to the metadata area
+associated with it, at the specified offset and from the provided buffer.
+
+**H_SCM_BIND_MEM**
+
+| Input: *drcIndex, startingScmBlockIndex, numScmBlocksToBind,*
+| *targetLogicalMemoryAddress, continue-token*
+| Out: *continue-token, targetLogicalMemoryAddress, numScmBlocksToBound*
+| Return Value: *H_Success, H_Parameter, H_P2, H_P3, H_P4, H_Overlap,*
+| *H_Too_Big, H_P5, H_Busy*
+
+Given a DRC-Index of an NVDIMM, map a continuous SCM blocks range
+*(startingScmBlockIndex, startingScmBlockIndex+numScmBlocksToBind)* to the guest
+at *targetLogicalMemoryAddress* within guest physical address space. In
+case *targetLogicalMemoryAddress == 0xFFFFFFFF_FFFFFFFF* then hypervisor
+assigns a target address to the guest. The HCALL can fail if the Guest has
+an active PTE entry to the SCM block being bound.
+
+**H_SCM_UNBIND_MEM**
+| Input: drcIndex, startingScmLogicalMemoryAddress, numScmBlocksToUnbind
+| Out: numScmBlocksUnbound
+| Return Value: *H_Success, H_Parameter, H_P2, H_P3, H_In_Use, H_Overlap,*
+| *H_Busy, H_LongBusyOrder1mSec, H_LongBusyOrder10mSec*
+
+Given a DRC-Index of an NVDimm, unmap *numScmBlocksToUnbind* SCM blocks starting
+at *startingScmLogicalMemoryAddress* from guest physical address space. The
+HCALL can fail if the Guest has an active PTE entry to the SCM block being
+unbound.
+
+**H_SCM_QUERY_BLOCK_MEM_BINDING**
+
+| Input: *drcIndex, scmBlockIndex*
+| Out: *Guest-Physical-Address*
+| Return Value: *H_Success, H_Parameter, H_P2, H_NotFound*
+
+Given a DRC-Index and an SCM Block index return the guest physical address to
+which the SCM block is mapped to.
+
+**H_SCM_QUERY_LOGICAL_MEM_BINDING**
+
+| Input: *Guest-Physical-Address*
+| Out: *drcIndex, scmBlockIndex*
+| Return Value: *H_Success, H_Parameter, H_P2, H_NotFound*
+
+Given a guest physical address return which DRC Index and SCM block is mapped
+to that address.
+
+**H_SCM_UNBIND_ALL**
+
+| Input: *scmTargetScope, drcIndex*
+| Out: *None*
+| Return Value: *H_Success, H_Parameter, H_P2, H_P3, H_In_Use, H_Busy,*
+| *H_LongBusyOrder1mSec, H_LongBusyOrder10mSec*
+
+Depending on the Target scope unmap all SCM blocks belonging to all NVDIMMs
+or all SCM blocks belonging to a single NVDIMM identified by its drcIndex
+from the LPAR memory.
+
+**H_SCM_HEALTH**
+
+| Input: drcIndex
+| Out: *health-bitmap, health-bit-valid-bitmap*
+| Return Value: *H_Success, H_Parameter, H_Hardware*
+
+Given a DRC Index return the info on predictive failure and overall health of
+the NVDIMM. The asserted bits in the health-bitmap indicate a single predictive
+failure and health-bit-valid-bitmap indicate which bits in health-bitmap are
+valid.
+
+**H_SCM_PERFORMANCE_STATS**
+
+| Input: drcIndex, resultBuffer Addr
+| Out: None
+| Return Value: *H_Success, H_Parameter, H_Unsupported, H_Hardware, H_Authority, H_Privilege*
+
+Given a DRC Index collect the performance statistics for NVDIMM and copy them
+to the resultBuffer.
+
+References
+==========
+.. [1] "Power Architecture Platform Reference"
+ https://en.wikipedia.org/wiki/Power_Architecture_Platform_Reference
+.. [2] "Linux on Power Architecture Platform Reference"
+ https://members.openpowerfoundation.org/document/dl/469
+.. [3] "Definitions and Notation" Book III-Section 14.5.3
+ https://openpowerfoundation.org/?resource_lib=power-isa-version-3-0
+.. [4] arch/powerpc/include/asm/hvcall.h
+.. [5] "64-Bit ELF V2 ABI Specification: Power Architecture"
+ https://openpowerfoundation.org/?resource_lib=64-bit-elf-v2-abi-specification-power-architecture

arch/powerpc/Kconfig

View file
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index bf2b538..497b7d0 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -1,10 +1,6 @@
# SPDX-License-Identifier: GPL-2.0
source "arch/powerpc/platforms/Kconfig.cputype"
-config PPC32
- bool
- default y if !PPC64
-
config 32BIT
bool
default y if PPC32
@@ -133,7 +129,7 @@ config PPC
select ARCH_HAS_PTE_SPECIAL
select ARCH_HAS_MEMBARRIER_CALLBACKS
select ARCH_HAS_SCALED_CPUTIME if VIRT_CPU_ACCOUNTING_NATIVE && PPC_BOOK3S_64
- select ARCH_HAS_STRICT_KERNEL_RWX if ((PPC_BOOK3S_64 || PPC32) && !RELOCATABLE && !HIBERNATION)
+ select ARCH_HAS_STRICT_KERNEL_RWX if ((PPC_BOOK3S_64 || PPC32) && !HIBERNATION)
select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
select ARCH_HAS_UACCESS_FLUSHCACHE
select ARCH_HAS_UACCESS_MCSAFE if PPC64
@@ -173,6 +169,7 @@ config PPC
select HAVE_ARCH_HUGE_VMAP if PPC_BOOK3S_64 && PPC_RADIX_MMU
select HAVE_ARCH_JUMP_LABEL
select HAVE_ARCH_KASAN if PPC32
+ select HAVE_ARCH_KASAN_VMALLOC if PPC32
select HAVE_ARCH_KGDB
select HAVE_ARCH_MMAP_RND_BITS
select HAVE_ARCH_MMAP_RND_COMPAT_BITS if COMPAT
@@ -482,7 +479,7 @@ config MPROFILE_KERNEL
config HOTPLUG_CPU
bool "Support for enabling/disabling CPUs"
depends on SMP && (PPC_PSERIES || \
- PPC_PMAC || PPC_POWERNV || FSL_SOC_BOOKE)
+ PPC_PMAC || PPC_POWERNV || FSL_SOC_BOOKE)
help
Say Y here to be able to disable and re-enable individual
CPUs at runtime on SMP machines.

arch/powerpc/Kconfig.debug

View file
diff --git a/arch/powerpc/Kconfig.debug b/arch/powerpc/Kconfig.debug
index 4e1d398..0b06383 100644
--- a/arch/powerpc/Kconfig.debug
+++ b/arch/powerpc/Kconfig.debug
@@ -371,7 +371,7 @@ config PPC_PTDUMP
config PPC_DEBUG_WX
bool "Warn on W+X mappings at boot"
- depends on PPC_PTDUMP
+ depends on PPC_PTDUMP && STRICT_KERNEL_RWX
help
Generate a warning if any W+X mappings are found at boot.

arch/powerpc/Makefile.postlink

View file
diff --git a/arch/powerpc/Makefile.postlink b/arch/powerpc/Makefile.postlink
index 134f12f..2268396 100644
--- a/arch/powerpc/Makefile.postlink
+++ b/arch/powerpc/Makefile.postlink
@@ -17,11 +17,11 @@ quiet_cmd_head_check = CHKHEAD $@
quiet_cmd_relocs_check = CHKREL $@
ifdef CONFIG_PPC_BOOK3S_64
cmd_relocs_check = \
- $(CONFIG_SHELL) $(srctree)/arch/powerpc/tools/relocs_check.sh "$(OBJDUMP)" "$@" ; \
+ $(CONFIG_SHELL) $(srctree)/arch/powerpc/tools/relocs_check.sh "$(OBJDUMP)" "$(NM)" "$@" ; \
$(BASH) $(srctree)/arch/powerpc/tools/unrel_branch_check.sh "$(OBJDUMP)" "$@"
else
cmd_relocs_check = \
- $(CONFIG_SHELL) $(srctree)/arch/powerpc/tools/relocs_check.sh "$(OBJDUMP)" "$@"
+ $(CONFIG_SHELL) $(srctree)/arch/powerpc/tools/relocs_check.sh "$(OBJDUMP)" "$(NM)" "$@"
endif
# `@true` prevents complaint when there is nothing to be done

arch/powerpc/boot/4xx.c

View file
diff --git a/arch/powerpc/boot/4xx.c b/arch/powerpc/boot/4xx.c
index 1699e95..00c4d84 100644
--- a/arch/powerpc/boot/4xx.c
+++ b/arch/powerpc/boot/4xx.c
@@ -228,7 +228,7 @@ void ibm4xx_denali_fixup_memsize(void)
dpath = 8; /* 64 bits */
/* get address pins (rows) */
- val = SDRAM0_READ(DDR0_42);
+ val = SDRAM0_READ(DDR0_42);
row = DDR_GET_VAL(val, DDR_APIN, DDR_APIN_SHIFT);
if (row > max_row)

arch/powerpc/boot/dts/mgcoge.dts

View file
diff --git a/arch/powerpc/boot/dts/mgcoge.dts b/arch/powerpc/boot/dts/mgcoge.dts
index a2dd5f1..7de0689 100644
--- a/arch/powerpc/boot/dts/mgcoge.dts
+++ b/arch/powerpc/boot/dts/mgcoge.dts
@@ -224,7 +224,7 @@
reg = <0x11a80 0x40 0x89fc 0x2>;
interrupts = <2 8>;

This diff is incomplete. Download the complete patch.

arch/powerpc/boot/dts/mpc832x_rdb.dts

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/boot/dts/mpc8610_hpcd.dts

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/configs/44x/akebono_defconfig

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/configs/44x/sam440ep_defconfig

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/configs/52xx/pcm030_defconfig

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/configs/83xx/kmeter1_defconfig

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/configs/adder875_defconfig

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/configs/ep8248e_defconfig

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/configs/ep88xc_defconfig

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/configs/mgcoge_defconfig

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/configs/mpc512x_defconfig

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/configs/mpc885_ads_defconfig

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/configs/powernv_defconfig

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/configs/ppc64_defconfig

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/configs/ppc6xx_defconfig

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/configs/pseries_defconfig

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/configs/skiroot_defconfig

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/configs/storcenter_defconfig

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/configs/tqm8xx_defconfig

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/include/asm/book3s/32/kup.h

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/include/asm/book3s/32/pgtable.h

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/include/asm/book3s/64/kup-radix.h

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/include/asm/cputable.h

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/include/asm/firmware.h

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/include/asm/hw_breakpoint.h

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/include/asm/kasan.h

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/include/asm/kup.h

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/include/asm/nohash/32/kup-8xx.h

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/include/asm/nohash/32/pgtable.h

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/include/asm/page.h

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/include/asm/pci-bridge.h

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/include/asm/pci.h

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/include/asm/pgtable.h

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/include/asm/pnv-pci.h

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/include/asm/processor.h

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/include/asm/reg_8xx.h

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/include/asm/thread_info.h

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/include/asm/uaccess.h

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/include/asm/vdso_datapage.h

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/include/asm/xive.h

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/kernel/Makefile

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/kernel/asm-offsets.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/kernel/dt_cpu_ftrs.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/kernel/eeh.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/kernel/eeh_cache.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/kernel/eeh_driver.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/kernel/eeh_sysfs.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/kernel/entry_32.S

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/kernel/entry_64.S

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/kernel/exceptions-64s.S

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/kernel/fpu.S

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/kernel/head_32.S

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/kernel/head_32.h

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/kernel/head_40x.S

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/kernel/head_8xx.S

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/kernel/head_booke.h

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/kernel/head_fsl_booke.S

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/kernel/hw_breakpoint.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/kernel/idle.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/kernel/idle_book3s.S

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/kernel/idle_power4.S

View before deletion

This diff is incomplete. Download the complete patch.

arch/powerpc/kernel/irq.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/kernel/pci-common.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/kernel/pci-hotplug.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/kernel/pci_dn.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/kernel/pci_of_scan.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/kernel/process.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/kernel/setup.h

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/kernel/setup_32.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/kernel/setup_64.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/kernel/traps.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/kernel/vdso.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/kernel/vdso32/Makefile

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/kernel/vdso32/cacheflush.S

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/kernel/vdso32/datapage.S

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/kernel/vdso32/getcpu.S

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/kernel/vdso32/gettimeofday.S

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/kernel/vdso32/vdso32.lds.S

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/kernel/vector.S

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/kernel/vmlinux.lds.S

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/kvm/book3s_64_mmu_radix.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/kvm/book3s_hv_rmhandlers.S

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/kvm/book3s_xive.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/mm/book3s32/hash_low.S

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/mm/book3s32/mmu.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/mm/book3s64/hash_utils.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/mm/book3s64/radix_pgtable.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/mm/book3s64/radix_tlb.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/mm/fault.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/mm/kasan/kasan_init_32.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/mm/mem.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/mm/mmu_decl.h

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/mm/nohash/8xx.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/mm/pgtable_32.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/mm/ptdump/ptdump.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/oprofile/backtrace.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/perf/8xx-pmu.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/perf/callchain.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/perf/core-book3s.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/platforms/512x/mpc512x_lpbfifo.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/platforms/83xx/km83xx.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/platforms/85xx/smp.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/platforms/85xx/twr_p102x.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/platforms/Kconfig

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/platforms/Kconfig.cputype

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/platforms/maple/setup.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/platforms/powernv/opal.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/platforms/powernv/pci-ioda.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/platforms/powernv/pci.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/platforms/powernv/pci.h

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/platforms/powernv/setup.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/platforms/pseries/Kconfig

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/platforms/pseries/firmware.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/platforms/pseries/hotplug-memory.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/platforms/pseries/iommu.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/platforms/pseries/lparcfg.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/platforms/pseries/papr_scm.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/platforms/pseries/pci.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/platforms/pseries/vio.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/sysdev/fsl_pci.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/sysdev/mpic.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/tools/relocs_check.sh

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/xmon/dis-asm.h

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/xmon/xmon.c

View file

This diff is incomplete. Download the complete patch.

drivers/macintosh/Kconfig

View file

This diff is incomplete. Download the complete patch.

drivers/misc/ocxl/Kconfig

View file

This diff is incomplete. Download the complete patch.

drivers/pci/hotplug/pnv_php.c

View file

This diff is incomplete. Download the complete patch.

tools/testing/selftests/powerpc/eeh/eeh-functions.sh

View file

This diff is incomplete. Download the complete patch.

tools/testing/selftests/powerpc/mm/.gitignore

View file

This diff is incomplete. Download the complete patch.

tools/testing/selftests/powerpc/mm/Makefile

View file

This diff is incomplete. Download the complete patch.

tools/testing/selftests/powerpc/mm/bad_accesses.c

View file

This diff is incomplete. Download the complete patch.

tools/testing/selftests/powerpc/ptrace/ptrace-hwbreak.c

View file

This diff is incomplete. Download the complete patch.