projects/linux·commit 7246f600

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

7246f600 · Linus Torvalds <[email protected]> · 2017-05-05 11:36:44 -07:00

Pull powerpc updates from Michael Ellerman:
 "Highlights include:

   - Larger virtual address space on 64-bit server CPUs. By default we
     use a 128TB virtual address space, but a process can request access
     to the full 512TB by passing a hint to mmap().

   - Support for the new Power9 "XIVE" interrupt controller.

   - TLB flushing optimisations for the radix MMU on Power9.

   - Support for CAPI cards on Power9, using the "Coherent Accelerator
     Interface Architecture 2.0".

   - The ability to configure the mmap randomisation limits at build and
     runtime.

   - Several small fixes and cleanups to the kprobes code, as well as
     support for KPROBES_ON_FTRACE.

   - Major improvements to handling of system reset interrupts,
     correctly treating them as NMIs, giving them a dedicated stack and
     using a new hypervisor call to trigger them, all of which should
     aid debugging and robustness.

   - Many fixes and other minor enhancements.

  Thanks to: Alastair D'Silva, Alexey Kardashevskiy, Alistair Popple,
  Andrew Donnellan, Aneesh Kumar K.V, Anshuman Khandual, Anton
  Blanchard, Balbir Singh, Ben Hutchings, Benjamin Herrenschmidt,
  Bhupesh Sharma, Chris Packham, Christian Zigotzky, Christophe Leroy,
  Christophe Lombard, Daniel Axtens, David Gibson, Gautham R. Shenoy,
  Gavin Shan, Geert Uytterhoeven, Guilherme G. Piccoli, Hamish Martin,
  Hari Bathini, Kees Cook, Laurent Dufour, Madhavan Srinivasan, Mahesh J
  Salgaonkar, Mahesh Salgaonkar, Masami Hiramatsu, Matt Brown, Matthew
  R. Ochs, Michael Neuling, Naveen N. Rao, Nicholas Piggin, Oliver
  O'Halloran, Pan Xinhui, Paul Mackerras, Rashmica Gupta, Russell
  Currey, Sukadev Bhattiprolu, Thadeu Lima de Souza Cascardo, Tobin C.
  Harding, Tyrel Datwyler, Uma Krishnan, Vaibhav Jain, Vipin K Parashar,
  Yang Shi"

* tag 'powerpc-4.12-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux: (214 commits)
  powerpc/64s: Power9 has no LPCR[VRMASD] field so don't set it
  powerpc/powernv: Fix TCE kill on NVLink2
  powerpc/mm/radix: Drop support for CPUs without lockless tlbie
  powerpc/book3s/mce: Move add_taint() later in virtual mode
  powerpc/sysfs: Move #ifdef CONFIG_HOTPLUG_CPU out of the function body
  powerpc/smp: Document irq enable/disable after migrating IRQs
  powerpc/mpc52xx: Don't select user-visible RTAS_PROC
  powerpc/powernv: Document cxl dependency on special case in pnv_eeh_reset()
  powerpc/eeh: Clean up and document event handling functions
  powerpc/eeh: Avoid use after free in eeh_handle_special_event()
  cxl: Mask slice error interrupts after first occurrence
  cxl: Route eeh events to all drivers in cxl_pci_error_detected()
  cxl: Force context lock during EEH flow
  powerpc/64: Allow CONFIG_RELOCATABLE if COMPILE_TEST
  powerpc/xmon: Teach xmon oops about radix vectors
  powerpc/mm/hash: Fix off-by-one in comment about kernel contexts ids
  powerpc/pseries: Enable VFIO
  powerpc/powernv: Fix iommu table size calculation hook for small tables
  powerpc/powernv: Check kzalloc() return value in pnv_pci_table_alloc
  powerpc: Add arch/powerpc/tools directory
  ...
Commit
7246f60068840847bdcf595be5f0b5ca632736e0
Parents
e579dde6 · 700b7ead

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

Changes

212 files changed · +8698 −2790

FileStatusAddDelContent
Documentation/features/debug/kprobes-on-ftrace/arch-support.txtmodified+1−1View file
Documentation/powerpc/cxl.txtmodified+13−2View file
Documentation/powerpc/firmware-assisted-dump.txtmodified+17−17View file
MAINTAINERSmodified+2−1View file
arch/powerpc/Kconfigmodified+63−3View file
arch/powerpc/Makefilemodified+1−12View file
arch/powerpc/Makefile.postlinkadded+34−0View file
arch/powerpc/configs/powernv_defconfigmodified+3−3View file
arch/powerpc/configs/ppc64_defconfigmodified+3−3View file
arch/powerpc/configs/pseries_defconfigmodified+3−3View file
arch/powerpc/include/asm/asm-prototypes.hmodified+4−0View file
arch/powerpc/include/asm/bitops.hmodified+8−0View file
arch/powerpc/include/asm/book3s/64/hash-4k.hmodified+1−1View file
arch/powerpc/include/asm/book3s/64/hash-64k.hmodified+7−3View file
arch/powerpc/include/asm/book3s/64/hash.hmodified+5−11View file
arch/powerpc/include/asm/book3s/64/hugetlb.hmodified+1−1View file
arch/powerpc/include/asm/book3s/64/mmu-hash.hmodified+126−74View file
arch/powerpc/include/asm/book3s/64/mmu.hmodified+9−0View file
arch/powerpc/include/asm/book3s/64/pgtable.hmodified+41−17View file
arch/powerpc/include/asm/book3s/64/radix.hmodified+7−1View file
arch/powerpc/include/asm/code-patching.hmodified+41−0View file
arch/powerpc/include/asm/cpuidle.hmodified+30−3View file
arch/powerpc/include/asm/cputable.hmodified+3−2View file
arch/powerpc/include/asm/dbell.hmodified+30−10View file
arch/powerpc/include/asm/debug.hmodified+0−2View file
arch/powerpc/include/asm/debugfs.hadded+17−0View file
arch/powerpc/include/asm/exception-64s.hmodified+54−33View file
arch/powerpc/include/asm/feature-fixups.hmodified+3−0View file
arch/powerpc/include/asm/head-64.hmodified+1−0View file
arch/powerpc/include/asm/hvcall.hmodified+0−10View file
arch/powerpc/include/asm/io.hmodified+53−49View file
arch/powerpc/include/asm/iommu.hmodified+10−2View file
arch/powerpc/include/asm/kprobes.hmodified+10−53View file
arch/powerpc/include/asm/kvm_book3s_64.hmodified+0−2View file
arch/powerpc/include/asm/kvm_book3s_asm.hmodified+1−1View file
arch/powerpc/include/asm/kvm_ppc.hmodified+1−9View file
arch/powerpc/include/asm/mce.hmodified+2−92View file
arch/powerpc/include/asm/mmu-book3e.hmodified+0−5View file
arch/powerpc/include/asm/mmu.hmodified+13−6View file
arch/powerpc/include/asm/mmu_context.hmodified+21−3View file
arch/powerpc/include/asm/nohash/64/pgtable.hmodified+0−5View file
arch/powerpc/include/asm/opal-api.hmodified+76−1View file
arch/powerpc/include/asm/opal.hmodified+41−0View file
arch/powerpc/include/asm/paca.hmodified+18−20View file
arch/powerpc/include/asm/page_64.hmodified+0−14View file
arch/powerpc/include/asm/perf_event_server.hmodified+3−0View file
arch/powerpc/include/asm/powernv.hmodified+22−0View file
arch/powerpc/include/asm/ppc-opcode.hmodified+2−0View file
arch/powerpc/include/asm/processor.hmodified+33−8View file
arch/powerpc/include/asm/reg.hmodified+4−0View file
arch/powerpc/include/asm/sections.hmodified+2−0View file
arch/powerpc/include/asm/smp.hmodified+15−6View file
arch/powerpc/include/asm/syscalls.hmodified+2−2View file
arch/powerpc/include/asm/thread_info.hmodified+1−9View file
arch/powerpc/include/asm/xics.hmodified+1−1View file
arch/powerpc/include/asm/xive-regs.hadded+97−0View file
arch/powerpc/include/asm/xive.hadded+163−0View file
arch/powerpc/include/asm/xmon.hmodified+2−0View file
arch/powerpc/include/uapi/asm/mman.hmodified+16−0View file
arch/powerpc/kernel/Makefilemodified+4−8View file
arch/powerpc/kernel/asm-offsets.cmodified+7−2View file
arch/powerpc/kernel/cpu_setup_power.Smodified+22−14View file
arch/powerpc/kernel/dbell.cmodified+51−7View file
arch/powerpc/kernel/eeh.cmodified+1−2View file
arch/powerpc/kernel/eeh_driver.cmodified+39−16View file
arch/powerpc/kernel/entry_32.Smodified+0−107View file
arch/powerpc/kernel/entry_64.Smodified+0−380View file
arch/powerpc/kernel/exceptions-64s.Smodified+87−99View file
arch/powerpc/kernel/fadump.cmodified+27−9View file
arch/powerpc/kernel/head_32.Smodified+1−15View file
arch/powerpc/kernel/head_64.Smodified+2−1View file
arch/powerpc/kernel/idle_book3s.Smodified+225−60View file
arch/powerpc/kernel/iommu.cmodified+50−4View file
arch/powerpc/kernel/irq.cmodified+0−41View file
arch/powerpc/kernel/kprobes-ftrace.cadded+104−0View file
arch/powerpc/kernel/kprobes.cmodified+170−44View file
arch/powerpc/kernel/mce.cmodified+15−3View file
arch/powerpc/kernel/mce_power.cmodified+370−410View file
arch/powerpc/kernel/optprobes.cmodified+3−3View file
arch/powerpc/kernel/paca.cmodified+21−0View file
arch/powerpc/kernel/prom.cmodified+0−1View file
arch/powerpc/kernel/prom_init.cmodified+1−1View file
arch/powerpc/kernel/setup-common.cmodified+10−1View file
arch/powerpc/kernel/setup_64.cmodified+7−2View file
arch/powerpc/kernel/smp.cmodified+248−51View file
arch/powerpc/kernel/stacktrace.cmodified+8−1View file
arch/powerpc/kernel/swsusp.cmodified+1−0View file
arch/powerpc/kernel/syscalls.cmodified+8−8View file
arch/powerpc/kernel/sysfs.cmodified+10−2View file
arch/powerpc/kernel/trace/Makefileadded+29−0View file
arch/powerpc/kernel/ftrace.c → arch/powerpc/kernel/trace/ftrace.crenamed+1−0View file
arch/powerpc/kernel/trace/ftrace_32.Sadded+118−0View file
arch/powerpc/kernel/trace/ftrace_64.Sadded+85−0View file
arch/powerpc/kernel/trace/ftrace_64_mprofile.Sadded+272−0View file
arch/powerpc/kernel/trace/ftrace_64_pg.Sadded+68−0View file
arch/powerpc/kernel/trace_clock.c → arch/powerpc/kernel/trace/trace_clock.crenamed+0−0View file
arch/powerpc/kernel/traps.cmodified+23−4View file
arch/powerpc/kernel/vmlinux.lds.Smodified+2−0View file
arch/powerpc/kvm/book3s.cmodified+4−4View file
arch/powerpc/kvm/book3s_64_mmu_host.cmodified+8−2View file
arch/powerpc/kvm/book3s_hv.cmodified+9−9View file
arch/powerpc/kvm/book3s_hv_builtin.cmodified+16−13View file
arch/powerpc/kvm/book3s_hv_rm_xics.cmodified+2−3View file
arch/powerpc/kvm/book3s_xics.cmodified+2−3View file
arch/powerpc/lib/code-patching.cmodified+3−1View file
arch/powerpc/lib/sstep.cmodified+44−38View file
arch/powerpc/mm/dump_hashpagetable.cmodified+1−1View file
arch/powerpc/mm/dump_linuxpagetables.cmodified+92−14View file
arch/powerpc/mm/fault.cmodified+41−43View file
arch/powerpc/mm/hash_low_32.Smodified+0−2View file
arch/powerpc/mm/hash_utils_64.cmodified+16−10View file
arch/powerpc/mm/hugetlbpage-book3e.cmodified+0−7View file
arch/powerpc/mm/hugetlbpage-radix.cmodified+9−2View file
arch/powerpc/mm/hugetlbpage.cmodified+18−0View file
arch/powerpc/mm/init_64.cmodified+0−4View file
arch/powerpc/mm/mmap.cmodified+33−20View file
arch/powerpc/mm/mmu_context_book3s64.cmodified+86−30View file
arch/powerpc/mm/mmu_context_iommu.cmodified+41−2View file
arch/powerpc/mm/mmu_context_nohash.cmodified+0−5View file
arch/powerpc/mm/numa.cmodified+0−7View file
arch/powerpc/mm/slb.cmodified+2−2View file
arch/powerpc/mm/slb_low.Smodified+57−25View file
arch/powerpc/mm/slice.cmodified+157−101View file
arch/powerpc/mm/subpage-prot.cmodified+2−1View file
arch/powerpc/mm/tlb-radix.cmodified+48−45View file
arch/powerpc/mm/tlb_nohash.cmodified+1−1View file
arch/powerpc/perf/core-book3s.cmodified+8−0View file
arch/powerpc/perf/isa207-common.cmodified+82−0View file
arch/powerpc/perf/isa207-common.hmodified+25−1View file
arch/powerpc/perf/power8-events-list.hmodified+6−0View file
arch/powerpc/perf/power8-pmu.cmodified+4−0View file
arch/powerpc/perf/power9-pmu.cmodified+2−0View file
arch/powerpc/platforms/44x/sam440ep.cmodified+1−1View file
arch/powerpc/platforms/52xx/Kconfigmodified+0−1View file
arch/powerpc/platforms/85xx/smp.cmodified+3−9View file
arch/powerpc/platforms/86xx/mpc86xx_smp.cmodified+1−0View file
arch/powerpc/platforms/Kconfig.cputypemodified+11−3View file
arch/powerpc/platforms/cell/axon_msi.cmodified+1−1View file
arch/powerpc/platforms/cell/interrupt.cmodified+1−1View file
arch/powerpc/platforms/cell/pervasive.cmodified+7−4View file
arch/powerpc/platforms/chrp/smp.cmodified+1−0View file
arch/powerpc/platforms/pasemi/idle.cmodified+7−4View file
arch/powerpc/platforms/powermac/smp.cmodified+2−1View file
arch/powerpc/platforms/powernv/Kconfigmodified+3−0View file
arch/powerpc/platforms/powernv/eeh-powernv.cmodified+7−0View file
arch/powerpc/platforms/powernv/idle.cmodified+80−29View file
arch/powerpc/platforms/powernv/npu-dma.cmodified+466−4View file
arch/powerpc/platforms/powernv/opal-lpc.cmodified+1−2View file
arch/powerpc/platforms/powernv/opal-sensor.cmodified+4−0View file
arch/powerpc/platforms/powernv/opal-wrappers.Smodified+40−31View file
arch/powerpc/platforms/powernv/opal-xscom.cmodified+17−10View file
arch/powerpc/platforms/powernv/opal.cmodified+78−1View file
arch/powerpc/platforms/powernv/pci-ioda.cmodified+52−19View file
arch/powerpc/platforms/powernv/pci.cmodified+5−1View file
arch/powerpc/platforms/powernv/pci.hmodified+15−2View file
arch/powerpc/platforms/powernv/powernv.hmodified+0−2View file
arch/powerpc/platforms/powernv/rng.cmodified+1−1View file
arch/powerpc/platforms/powernv/setup.cmodified+16−3View file
arch/powerpc/platforms/powernv/smp.cmodified+78−29View file
arch/powerpc/platforms/ps3/smp.cmodified+2−2View file
arch/powerpc/platforms/pseries/Kconfigmodified+2−1View file
arch/powerpc/platforms/pseries/dlpar.cmodified+0−1View file
arch/powerpc/platforms/pseries/dtl.cmodified+1−2View file
arch/powerpc/platforms/pseries/hvCall_inst.cmodified+10−0View file
arch/powerpc/platforms/pseries/iommu.cmodified+40−3View file
arch/powerpc/platforms/pseries/lpar.cmodified+61−0View file
arch/powerpc/platforms/pseries/ras.cmodified+4−0View file
arch/powerpc/platforms/pseries/setup.cmodified+4−0View file
arch/powerpc/platforms/pseries/smp.cmodified+32−17View file
arch/powerpc/platforms/pseries/vio.cmodified+1−1View file
arch/powerpc/sysdev/Kconfigmodified+1−0View file
arch/powerpc/sysdev/Makefilemodified+1−0View file
arch/powerpc/sysdev/scom.cmodified+1−2View file
arch/powerpc/sysdev/xics/icp-hv.cmodified+1−1View file
arch/powerpc/sysdev/xics/icp-native.cmodified+5−15View file
arch/powerpc/sysdev/xics/icp-opal.cmodified+1−1View file
arch/powerpc/sysdev/xics/xics-common.cmodified+3−3View file
arch/powerpc/sysdev/xive/Kconfigadded+11−0View file
arch/powerpc/sysdev/xive/Makefileadded+4−0View file
arch/powerpc/sysdev/xive/common.cadded+1302−0View file
arch/powerpc/sysdev/xive/native.cadded+640−0View file
arch/powerpc/sysdev/xive/xive-internal.hadded+62−0View file
arch/powerpc/scripts/gcc-check-mprofile-kernel.sh → arch/powerpc/tools/gcc-check-mprofile-kernel.shrenamed+0−0View file
arch/powerpc/relocs_check.sh → arch/powerpc/tools/relocs_check.shrenamed+0−0View file
arch/powerpc/xmon/xmon.cmodified+195−46View file
drivers/misc/cxl/api.cmodified+14−3View file
drivers/misc/cxl/context.cmodified+51−17View file
drivers/misc/cxl/cxl.hmodified+206−57View file
drivers/misc/cxl/debugfs.cmodified+31−10View file
drivers/misc/cxl/fault.cmodified+47−89View file
drivers/misc/cxl/file.cmodified+12−3View file
drivers/misc/cxl/guest.cmodified+5−5View file
drivers/misc/cxl/hcalls.cmodified+3−3View file
drivers/misc/cxl/irq.cmodified+52−1View file
drivers/misc/cxl/main.cmodified+2−10View file
drivers/misc/cxl/native.cmodified+287−52View file
drivers/misc/cxl/pci.cmodified+351−58View file
drivers/misc/cxl/trace.hmodified+43−0View file
drivers/of/base.cmodified+31−0View file
drivers/pcmcia/electra_cf.cmodified+2−2View file
drivers/vfio/vfio_iommu_spapr_tce.cmodified+1−1View file
include/linux/kprobes.hmodified+1−0View file
include/linux/of.hmodified+3−0View file
include/uapi/linux/perf_event.hmodified+16−0View file
kernel/kprobes.cmodified+18−14View file
tools/include/uapi/linux/perf_event.hmodified+16−0View file
tools/testing/selftests/powerpc/Makefilemodified+1−0View file
tools/testing/selftests/powerpc/cache_shape/.gitignoreadded+1−0View file
tools/testing/selftests/powerpc/cache_shape/Makefileadded+10−0View file
tools/testing/selftests/powerpc/cache_shape/cache_shape.cadded+125−0View file
tools/testing/selftests/powerpc/include/utils.hmodified+5−1View file
tools/testing/selftests/powerpc/utils.cmodified+36−17View file

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

Documentation/features/debug/kprobes-on-ftrace/arch-support.txt

View file
diff --git a/Documentation/features/debug/kprobes-on-ftrace/arch-support.txt b/Documentation/features/debug/kprobes-on-ftrace/arch-support.txt
index f9133a9..1e84be3 100644
--- a/Documentation/features/debug/kprobes-on-ftrace/arch-support.txt
+++ b/Documentation/features/debug/kprobes-on-ftrace/arch-support.txt
@@ -26,7 +26,7 @@
| nios2: | TODO |
| openrisc: | TODO |
| parisc: | TODO |
- | powerpc: | TODO |
+ | powerpc: | ok |
| s390: | TODO |
| score: | TODO |
| sh: | TODO |

Documentation/powerpc/cxl.txt

View file
diff --git a/Documentation/powerpc/cxl.txt b/Documentation/powerpc/cxl.txt
index d5506ba..c5e8d50 100644
--- a/Documentation/powerpc/cxl.txt
+++ b/Documentation/powerpc/cxl.txt
@@ -21,7 +21,7 @@ Introduction
Hardware overview
=================
- POWER8 FPGA
+ POWER8/9 FPGA
+----------+ +---------+
| | | |
| CPU | | AFU |
@@ -34,7 +34,7 @@ Hardware overview
| | CAPP |<------>| |
+---+------+ PCIE +---------+
- The POWER8 chip has a Coherently Attached Processor Proxy (CAPP)
+ The POWER8/9 chip has a Coherently Attached Processor Proxy (CAPP)
unit which is part of the PCIe Host Bridge (PHB). This is managed
by Linux by calls into OPAL. Linux doesn't directly program the
CAPP.
@@ -59,6 +59,17 @@ Hardware overview
the fault. The context to which this fault is serviced is based on
who owns that acceleration function.
+ POWER8 <-----> PSL Version 8 is compliant to the CAIA Version 1.0.
+ POWER9 <-----> PSL Version 9 is compliant to the CAIA Version 2.0.
+ This PSL Version 9 provides new features such as:
+ * Interaction with the nest MMU on the P9 chip.
+ * Native DMA support.
+ * Supports sending ASB_Notify messages for host thread wakeup.
+ * Supports Atomic operations.
+ * ....
+
+ Cards with a PSL9 won't work on a POWER8 system and cards with a
+ PSL8 won't work on a POWER9 system.
AFU Modes
=========

Documentation/powerpc/firmware-assisted-dump.txt

View file
diff --git a/Documentation/powerpc/firmware-assisted-dump.txt b/Documentation/powerpc/firmware-assisted-dump.txt
index 3007bc9..19b1e3d 100644
--- a/Documentation/powerpc/firmware-assisted-dump.txt
+++ b/Documentation/powerpc/firmware-assisted-dump.txt
@@ -105,21 +105,21 @@ memory is held.
If there is no waiting dump data, then only the memory required
to hold CPU state, HPTE region, boot memory dump and elfcore
-header, is reserved at the top of memory (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.
+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.
o Memory Reservation during first kernel
- Low memory Top of memory
+ Low memory Top of memory
0 boot memory size |
- | | |<--Reserved dump area -->|
- V V | Permanent Reservation V
- +-----------+----------/ /----------+---+----+-----------+----+
- | | |CPU|HPTE| DUMP |ELF |
- +-----------+----------/ /----------+---+----+-----------+----+
+ | | |<--Reserved dump area -->| |
+ V V | Permanent Reservation | V
+ +-----------+----------/ /---+---+----+-----------+----+------+
+ | | |CPU|HPTE| DUMP |ELF | |
+ +-----------+----------/ /---+---+----+-----------+----+------+
| ^
| |
\ /
@@ -135,12 +135,12 @@ crash does occur.
0 boot memory size |
| |<------------- Reserved dump area ----------- -->|
V V V
- +-----------+----------/ /----------+---+----+-----------+----+
- | | |CPU|HPTE| DUMP |ELF |
- +-----------+----------/ /----------+---+----+-----------+----+
- | |
- V V
- Used by second /proc/vmcore
+ +-----------+----------/ /---+---+----+-----------+----+------+
+ | | |CPU|HPTE| DUMP |ELF | |
+ +-----------+----------/ /---+---+----+-----------+----+------+
+ | |
+ V V
+ Used by second /proc/vmcore
kernel to boot
Fig. 2

MAINTAINERS

View file
diff --git a/MAINTAINERS b/MAINTAINERS
index 5ee3125..b1f9b45 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -5310,6 +5310,7 @@ M: Scott Wood <[email protected]>
S: Maintained
+F: Documentation/devicetree/bindings/powerpc/fsl/
F: drivers/soc/fsl/
F: include/linux/fsl/
@@ -7568,7 +7569,7 @@ Q: http://patchwork.ozlabs.org/project/linuxppc-dev/list/
T: git git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git
S: Supported
F: Documentation/ABI/stable/sysfs-firmware-opal-*
-F: Documentation/devicetree/bindings/powerpc/opal/
+F: Documentation/devicetree/bindings/powerpc/
F: Documentation/devicetree/bindings/rtc/rtc-opal.txt
F: Documentation/devicetree/bindings/i2c/i2c-opal.txt
F: Documentation/powerpc/

arch/powerpc/Kconfig

View file
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index 0533826..f07f727 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -22,6 +22,48 @@ config MMU
bool
default y
+config ARCH_MMAP_RND_BITS_MAX
+ # On Book3S 64, the default virtual address space for 64-bit processes
+ # is 2^47 (128TB). As a maximum, allow randomisation to consume up to
+ # 32T of address space (2^45), which should ensure a reasonable gap
+ # between bottom-up and top-down allocations for applications that
+ # consume "normal" amounts of address space. Book3S 64 only supports 64K
+ # and 4K page sizes.
+ default 29 if PPC_BOOK3S_64 && PPC_64K_PAGES # 29 = 45 (32T) - 16 (64K)
+ default 33 if PPC_BOOK3S_64 # 33 = 45 (32T) - 12 (4K)
+ #
+ # On all other 64-bit platforms (currently only Book3E), the virtual
+ # address space is 2^46 (64TB). Allow randomisation to consume up to 16T
+ # of address space (2^44). Only 4K page sizes are supported.
+ default 32 if 64BIT # 32 = 44 (16T) - 12 (4K)
+ #
+ # For 32-bit, use the compat values, as they're the same.
+ default ARCH_MMAP_RND_COMPAT_BITS_MAX
+
+config ARCH_MMAP_RND_BITS_MIN
+ # Allow randomisation to consume up to 1GB of address space (2^30).
+ default 14 if 64BIT && PPC_64K_PAGES # 14 = 30 (1GB) - 16 (64K)
+ default 18 if 64BIT # 18 = 30 (1GB) - 12 (4K)
+ #
+ # For 32-bit, use the compat values, as they're the same.
+ default ARCH_MMAP_RND_COMPAT_BITS_MIN
+
+config ARCH_MMAP_RND_COMPAT_BITS_MAX
+ # Total virtual address space for 32-bit processes is 2^31 (2GB).
+ # Allow randomisation to consume up to 512MB of address space (2^29).
+ default 11 if PPC_256K_PAGES # 11 = 29 (512MB) - 18 (256K)
+ default 13 if PPC_64K_PAGES # 13 = 29 (512MB) - 16 (64K)
+ default 15 if PPC_16K_PAGES # 15 = 29 (512MB) - 14 (16K)
+ default 17 # 17 = 29 (512MB) - 12 (4K)
+
+config ARCH_MMAP_RND_COMPAT_BITS_MIN
+ # Total virtual address space for 32-bit processes is 2^31 (2GB).
+ # Allow randomisation to consume up to 8MB of address space (2^23).
+ default 5 if PPC_256K_PAGES # 5 = 23 (8MB) - 18 (256K)
+ default 7 if PPC_64K_PAGES # 7 = 23 (8MB) - 16 (64K)
+ default 9 if PPC_16K_PAGES # 9 = 23 (8MB) - 14 (16K)
+ default 11 # 11 = 23 (8MB) - 12 (4K)
+
config HAVE_SETUP_PER_CPU_AREA
def_bool PPC64
@@ -38,6 +80,11 @@ config NR_IRQS
/proc/interrupts. If you configure your system to have too few,
drivers will fail to load or worse - handle with care.
+config NMI_IPI
+ bool
+ depends on SMP && (DEBUGGER || KEXEC_CORE)
+ default y
+
config STACKTRACE_SUPPORT
bool
default y
@@ -119,6 +166,8 @@ config PPC
select HAVE_ARCH_AUDITSYSCALL
select HAVE_ARCH_JUMP_LABEL
select HAVE_ARCH_KGDB
+ select HAVE_ARCH_MMAP_RND_BITS
+ select HAVE_ARCH_MMAP_RND_COMPAT_BITS if COMPAT
select HAVE_ARCH_SECCOMP_FILTER
select HAVE_ARCH_TRACEHOOK
select HAVE_CBPF_JIT if !PPC64
@@ -141,6 +190,7 @@ config PPC
select HAVE_IRQ_EXIT_ON_IRQ_STACK
select HAVE_KERNEL_GZIP
select HAVE_KPROBES
+ select HAVE_KPROBES_ON_FTRACE
select HAVE_KRETPROBES
select HAVE_LIVEPATCH if HAVE_DYNAMIC_FTRACE_WITH_REGS
select HAVE_MEMBLOCK
@@ -489,7 +539,7 @@ config KEXEC_FILE
config RELOCATABLE
bool "Build a relocatable kernel"
- depends on (PPC64 && !COMPILE_TEST) || (FLATMEM && (44x || FSL_BOOKE))
+ depends on PPC64 || (FLATMEM && (44x || FSL_BOOKE))
select NONSTATIC_KERNEL
select MODULE_REL_CRCS if MODVERSIONS
help
@@ -523,7 +573,7 @@ config RELOCATABLE_TEST
config CRASH_DUMP
bool "Build a kdump crash kernel"
depends on PPC64 || 6xx || FSL_BOOKE || (44x && !SMP)
- select RELOCATABLE if (PPC64 && !COMPILE_TEST) || 44x || FSL_BOOKE
+ select RELOCATABLE if PPC64 || 44x || FSL_BOOKE
help
Build a kernel suitable for use as a kdump capture kernel.
The same kernel binary can be used as production kernel and dump
@@ -585,7 +635,7 @@ config ARCH_SPARSEMEM_ENABLE
config ARCH_SPARSEMEM_DEFAULT
def_bool y
- depends on (SMP && PPC_PSERIES) || PPC_PS3
+ depends on PPC_BOOK3S_64
config SYS_SUPPORTS_HUGETLBFS
bool
@@ -677,6 +727,16 @@ config PPC_256K_PAGES
endchoice
+config THREAD_SHIFT
+ int "Thread shift" if EXPERT
+ range 13 15
+ default "15" if PPC_256K_PAGES
+ default "14" if PPC64
+ default "13"
+ help
+ Used to define the stack size. The default is almost always what you
+ want. Only change this if you know what you are doing.
+
config FORCE_MAX_ZONEORDER
int "Maximum zone order"
range 8 9 if PPC64 && PPC_64K_PAGES

arch/powerpc/Makefile

View file
diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile
index 19b0d1a..3e0f0e1 100644
--- a/arch/powerpc/Makefile
+++ b/arch/powerpc/Makefile
@@ -136,7 +136,7 @@ CFLAGS-$(CONFIG_GENERIC_CPU) += -mcpu=powerpc64
endif
ifdef CONFIG_MPROFILE_KERNEL
- ifeq ($(shell $(srctree)/arch/powerpc/scripts/gcc-check-mprofile-kernel.sh $(CC) -I$(srctree)/include -D__KERNEL__),OK)
+ ifeq ($(shell $(srctree)/arch/powerpc/tools/gcc-check-mprofile-kernel.sh $(CC) -I$(srctree)/include -D__KERNEL__),OK)
CC_FLAGS_FTRACE := -pg -mprofile-kernel
KBUILD_CPPFLAGS += -DCC_USING_MPROFILE_KERNEL
else
@@ -274,17 +274,6 @@ PHONY += $(BOOT_TARGETS1) $(BOOT_TARGETS2)
boot := arch/$(ARCH)/boot
-ifeq ($(CONFIG_RELOCATABLE),y)
-quiet_cmd_relocs_check = CALL $<
- cmd_relocs_check = $(CONFIG_SHELL) $< "$(OBJDUMP)" "$(obj)/vmlinux"
-
-PHONY += relocs_check
-relocs_check: arch/powerpc/relocs_check.sh vmlinux
- $(call cmd,relocs_check)
-
-zImage: relocs_check
-endif
-
$(BOOT_TARGETS1): vmlinux
$(Q)$(MAKE) $(build)=$(boot) $(patsubst %,$(boot)/%,$@)
$(BOOT_TARGETS2): vmlinux

arch/powerpc/Makefile.postlink

View file
diff --git a/arch/powerpc/Makefile.postlink b/arch/powerpc/Makefile.postlink
new file mode 100644
index 0000000..3c22d64
--- /dev/null
+++ b/arch/powerpc/Makefile.postlink
@@ -0,0 +1,34 @@
+# ===========================================================================
+# Post-link powerpc pass
+# ===========================================================================
+#
+# 1. Check that vmlinux relocations look sane
+
+PHONY := __archpost
+__archpost:
+
+include include/config/auto.conf
+include scripts/Kbuild.include
+
+quiet_cmd_relocs_check = CHKREL $@
+ cmd_relocs_check = $(CONFIG_SHELL) $(srctree)/arch/powerpc/tools/relocs_check.sh "$(OBJDUMP)" "$@"
+
+# `@true` prevents complaint when there is nothing to be done
+
+vmlinux: FORCE
+ @true
+ifdef CONFIG_RELOCATABLE
+ $(call if_changed,relocs_check)
+endif
+
+%.ko: FORCE
+ @true
+
+clean:
+ @true
+
+PHONY += FORCE clean
+
+FORCE:
+
+.PHONY: $(PHONY)

arch/powerpc/configs/powernv_defconfig

View file
diff --git a/arch/powerpc/configs/powernv_defconfig b/arch/powerpc/configs/powernv_defconfig
index ac8b833..0695ce0 100644
--- a/arch/powerpc/configs/powernv_defconfig
+++ b/arch/powerpc/configs/powernv_defconfig
@@ -33,7 +33,7 @@ CONFIG_BLK_DEV_INITRD=y
CONFIG_BPF_SYSCALL=y
# CONFIG_COMPAT_BRK is not set
CONFIG_PROFILING=y
-CONFIG_OPROFILE=y
+CONFIG_OPROFILE=m
CONFIG_KPROBES=y
CONFIG_JUMP_LABEL=y
CONFIG_MODULES=y
@@ -261,7 +261,7 @@ CONFIG_NILFS2_FS=m
CONFIG_AUTOFS4_FS=m
CONFIG_FUSE_FS=m
CONFIG_OVERLAY_FS=m
-CONFIG_ISO9660_FS=m
+CONFIG_ISO9660_FS=y
CONFIG_UDF_FS=m
CONFIG_MSDOS_FS=y
CONFIG_VFAT_FS=m
@@ -306,7 +306,7 @@ CONFIG_CRYPTO_TEST=m
CONFIG_CRYPTO_CCM=m
CONFIG_CRYPTO_PCBC=m
CONFIG_CRYPTO_HMAC=y
-CONFIG_CRYPT_CRC32C_VPMSUM=m
+CONFIG_CRYPTO_CRC32C_VPMSUM=m
CONFIG_CRYPTO_MD5_PPC=m
CONFIG_CRYPTO_MICHAEL_MIC=m
CONFIG_CRYPTO_SHA256=y

arch/powerpc/configs/ppc64_defconfig

View file
diff --git a/arch/powerpc/configs/ppc64_defconfig b/arch/powerpc/configs/ppc64_defconfig
index f2e03f0..5175028 100644
--- a/arch/powerpc/configs/ppc64_defconfig
+++ b/arch/powerpc/configs/ppc64_defconfig
@@ -19,7 +19,7 @@ CONFIG_BLK_DEV_INITRD=y
CONFIG_BPF_SYSCALL=y
# CONFIG_COMPAT_BRK is not set
CONFIG_PROFILING=y
-CONFIG_OPROFILE=y
+CONFIG_OPROFILE=m
CONFIG_KPROBES=y
CONFIG_JUMP_LABEL=y
CONFIG_MODULES=y
@@ -290,7 +290,7 @@ CONFIG_NILFS2_FS=m
CONFIG_AUTOFS4_FS=m
CONFIG_FUSE_FS=m
CONFIG_OVERLAY_FS=m
-CONFIG_ISO9660_FS=m
+CONFIG_ISO9660_FS=y
CONFIG_UDF_FS=m
CONFIG_MSDOS_FS=y
CONFIG_VFAT_FS=m
@@ -339,7 +339,7 @@ CONFIG_PPC_EARLY_DEBUG=y
CONFIG_CRYPTO_TEST=m
CONFIG_CRYPTO_PCBC=m
CONFIG_CRYPTO_HMAC=y
-CONFIG_CRYPT_CRC32C_VPMSUM=m
+CONFIG_CRYPTO_CRC32C_VPMSUM=m
CONFIG_CRYPTO_MD5_PPC=m
CONFIG_CRYPTO_MICHAEL_MIC=m
CONFIG_CRYPTO_SHA256=y

arch/powerpc/configs/pseries_defconfig

View file
diff --git a/arch/powerpc/configs/pseries_defconfig b/arch/powerpc/configs/pseries_defconfig
index 4ff68b7..1a61aa2 100644
--- a/arch/powerpc/configs/pseries_defconfig
+++ b/arch/powerpc/configs/pseries_defconfig
@@ -34,7 +34,7 @@ CONFIG_BLK_DEV_INITRD=y
CONFIG_BPF_SYSCALL=y
# CONFIG_COMPAT_BRK is not set
CONFIG_PROFILING=y
-CONFIG_OPROFILE=y
+CONFIG_OPROFILE=m
CONFIG_KPROBES=y
CONFIG_JUMP_LABEL=y
CONFIG_MODULES=y
@@ -259,7 +259,7 @@ CONFIG_NILFS2_FS=m
CONFIG_AUTOFS4_FS=m
CONFIG_FUSE_FS=m
CONFIG_OVERLAY_FS=m
-CONFIG_ISO9660_FS=m
+CONFIG_ISO9660_FS=y
CONFIG_UDF_FS=m
CONFIG_MSDOS_FS=y
CONFIG_VFAT_FS=m
@@ -303,7 +303,7 @@ CONFIG_XMON=y
CONFIG_CRYPTO_TEST=m
CONFIG_CRYPTO_PCBC=m
CONFIG_CRYPTO_HMAC=y
-CONFIG_CRYPT_CRC32C_VPMSUM=m
+CONFIG_CRYPTO_CRC32C_VPMSUM=m
CONFIG_CRYPTO_MD5_PPC=m
CONFIG_CRYPTO_MICHAEL_MIC=m
CONFIG_CRYPTO_SHA256=y

arch/powerpc/include/asm/asm-prototypes.h

View file
diff --git a/arch/powerpc/include/asm/asm-prototypes.h b/arch/powerpc/include/asm/asm-prototypes.h
index f6c5264..7330150 100644
--- a/arch/powerpc/include/asm/asm-prototypes.h
+++ b/arch/powerpc/include/asm/asm-prototypes.h
@@ -17,6 +17,8 @@
#include <asm/checksum.h>
#include <linux/uaccess.h>
#include <asm/epapr_hcalls.h>
+#include <asm/dcr.h>
+#include <asm/mmu_context.h>
#include <uapi/asm/ucontext.h>
@@ -120,6 +122,8 @@ extern s64 __ashrdi3(s64, int);
extern int __cmpdi2(s64, s64);
extern int __ucmpdi2(u64, u64);
+/* tracing */
void _mcount(void);
+unsigned long prepare_ftrace_return(unsigned long parent, unsigned long ip);
#endif /* _ASM_POWERPC_ASM_PROTOTYPES_H */

arch/powerpc/include/asm/bitops.h

View file
diff --git a/arch/powerpc/include/asm/bitops.h b/arch/powerpc/include/asm/bitops.h
index bc5fdfd..33a24fd 100644
--- a/arch/powerpc/include/asm/bitops.h
+++ b/arch/powerpc/include/asm/bitops.h
@@ -55,6 +55,14 @@
#define PPC_BITEXTRACT(bits, ppc_bit, dst_bit) \
((((bits) >> PPC_BITLSHIFT(ppc_bit)) & 1) << (dst_bit))
+#define PPC_BITLSHIFT32(be) (32 - 1 - (be))
+#define PPC_BIT32(bit) (1UL << PPC_BITLSHIFT32(bit))
+#define PPC_BITMASK32(bs, be) ((PPC_BIT32(bs) - PPC_BIT32(be))|PPC_BIT32(bs))
+
+#define PPC_BITLSHIFT8(be) (8 - 1 - (be))
+#define PPC_BIT8(bit) (1UL << PPC_BITLSHIFT8(bit))
+#define PPC_BITMASK8(bs, be) ((PPC_BIT8(bs) - PPC_BIT8(be))|PPC_BIT8(bs))
+
#include <asm/barrier.h>
/* Macro for generating the ***_bits() functions */

arch/powerpc/include/asm/book3s/64/hash-4k.h

View file
diff --git a/arch/powerpc/include/asm/book3s/64/hash-4k.h b/arch/powerpc/include/asm/book3s/64/hash-4k.h
index 0c4e470..b4b5e6b 100644
--- a/arch/powerpc/include/asm/book3s/64/hash-4k.h
+++ b/arch/powerpc/include/asm/book3s/64/hash-4k.h
@@ -8,7 +8,7 @@
#define H_PTE_INDEX_SIZE 9
#define H_PMD_INDEX_SIZE 7
#define H_PUD_INDEX_SIZE 9
-#define H_PGD_INDEX_SIZE 9
+#define H_PGD_INDEX_SIZE 12
#ifndef __ASSEMBLY__
#define H_PTE_TABLE_SIZE (sizeof(pte_t) << H_PTE_INDEX_SIZE)

arch/powerpc/include/asm/book3s/64/hash-64k.h

View file
diff --git a/arch/powerpc/include/asm/book3s/64/hash-64k.h b/arch/powerpc/include/asm/book3s/64/hash-64k.h
index f3dd21e..214219d 100644
--- a/arch/powerpc/include/asm/book3s/64/hash-64k.h
+++ b/arch/powerpc/include/asm/book3s/64/hash-64k.h
@@ -4,10 +4,14 @@
#define H_PTE_INDEX_SIZE 8
#define H_PMD_INDEX_SIZE 5
#define H_PUD_INDEX_SIZE 5
-#define H_PGD_INDEX_SIZE 12
+#define H_PGD_INDEX_SIZE 15
-#define H_PAGE_COMBO 0x00001000 /* this is a combo 4k page */
-#define H_PAGE_4K_PFN 0x00002000 /* PFN is for a single 4k page */
+/*
+ * 64k aligned address free up few of the lower bits of RPN for us
+ * We steal that here. For more deatils look at pte_pfn/pfn_pte()
+ */
+#define H_PAGE_COMBO _RPAGE_RPN0 /* this is a combo 4k page */
+#define H_PAGE_4K_PFN _RPAGE_RPN1 /* PFN is for a single 4k page */
/*
* We need to differentiate between explicit huge page and THP huge
* page, since THP huge page also need to track real subpage details

arch/powerpc/include/asm/book3s/64/hash.h

View file
diff --git a/arch/powerpc/include/asm/book3s/64/hash.h b/arch/powerpc/include/asm/book3s/64/hash.h
index f7b721b..4e957b0 100644
--- a/arch/powerpc/include/asm/book3s/64/hash.h
+++ b/arch/powerpc/include/asm/book3s/64/hash.h
@@ -6,19 +6,13 @@
* Common bits between 4K and 64K pages in a linux-style PTE.
* Additional bits may be defined in pgtable-hash64-*.h
*
- * Note: We only support user read/write permissions. Supervisor always
- * have full read/write to pages above PAGE_OFFSET (pages below that
- * always use the user access permissions).
- *
- * We could create separate kernel read-only if we used the 3 PP bits
- * combinations that newer processors provide but we currently don't.
*/
-#define H_PAGE_BUSY 0x00800 /* software: PTE & hash are busy */
#define H_PTE_NONE_MASK _PAGE_HPTEFLAGS
-#define H_PAGE_F_GIX_SHIFT 57
-#define H_PAGE_F_GIX (7ul << 57) /* HPTE index within HPTEG */
-#define H_PAGE_F_SECOND (1ul << 60) /* HPTE is in 2ndary HPTEG */
-#define H_PAGE_HASHPTE (1ul << 61) /* PTE has associated HPTE */
+#define H_PAGE_F_GIX_SHIFT 56
+#define H_PAGE_BUSY _RPAGE_RSV1 /* software: PTE & hash are busy */
+#define H_PAGE_F_SECOND _RPAGE_RSV2 /* HPTE is in 2ndary HPTEG */
+#define H_PAGE_F_GIX (_RPAGE_RSV3 | _RPAGE_RSV4 | _RPAGE_RPN44)
+#define H_PAGE_HASHPTE _RPAGE_RPN43 /* PTE has associated HPTE */
#ifdef CONFIG_PPC_64K_PAGES
#include <asm/book3s/64/hash-64k.h>

arch/powerpc/include/asm/book3s/64/hugetlb.h

View file
diff --git a/arch/powerpc/include/asm/book3s/64/hugetlb.h b/arch/powerpc/include/asm/book3s/64/hugetlb.h
index c62f14d..6666cd3 100644
--- a/arch/powerpc/include/asm/book3s/64/hugetlb.h
+++ b/arch/powerpc/include/asm/book3s/64/hugetlb.h
@@ -46,7 +46,7 @@ static inline pte_t arch_make_huge_pte(pte_t entry, struct vm_area_struct *vma,
*/
VM_WARN_ON(page_shift == mmu_psize_defs[MMU_PAGE_1G].shift);
if (page_shift == mmu_psize_defs[MMU_PAGE_2M].shift)
- return __pte(pte_val(entry) | _PAGE_LARGE);
+ return __pte(pte_val(entry) | R_PAGE_LARGE);
else
return entry;
}

arch/powerpc/include/asm/book3s/64/mmu-hash.h

View file
diff --git a/arch/powerpc/include/asm/book3s/64/mmu-hash.h b/arch/powerpc/include/asm/book3s/64/mmu-hash.h
index 52d8d1e..6981a52 100644
--- a/arch/powerpc/include/asm/book3s/64/mmu-hash.h
+++ b/arch/powerpc/include/asm/book3s/64/mmu-hash.h
@@ -39,6 +39,7 @@
/* Bits in the SLB VSID word */
#define SLB_VSID_SHIFT 12
+#define SLB_VSID_SHIFT_256M SLB_VSID_SHIFT
#define SLB_VSID_SHIFT_1T 24
#define SLB_VSID_SSIZE_SHIFT 62
#define SLB_VSID_B ASM_CONST(0xc000000000000000)
@@ -408,7 +409,7 @@ static inline unsigned long hpt_vpn(unsigned long ea,
static inline unsigned long hpt_hash(unsigned long vpn,
unsigned int shift, int ssize)
{
- int mask;
+ unsigned long mask;
unsigned long hash, vsid;
/* VPN_SHIFT can be atmost 12 */
@@ -491,13 +492,14 @@ extern void slb_set_size(u16 size);
* We first generate a 37-bit "proto-VSID". Proto-VSIDs are generated
* from mmu context id and effective segment id of the address.
*
- * For user processes max context id is limited to ((1ul << 19) - 5)
- * for kernel space, we use the top 4 context ids to map address as below
+ * For user processes max context id is limited to MAX_USER_CONTEXT.
+
+ * For kernel space, we use context ids 1-4 to map addresses as below:
* NOTE: each context only support 64TB now.
- * 0x7fffc - [ 0xc000000000000000 - 0xc0003fffffffffff ]
- * 0x7fffd - [ 0xd000000000000000 - 0xd0003fffffffffff ]
- * 0x7fffe - [ 0xe000000000000000 - 0xe0003fffffffffff ]
- * 0x7ffff - [ 0xf000000000000000 - 0xf0003fffffffffff ]
+ * 0x00001 - [ 0xc000000000000000 - 0xc0003fffffffffff ]
+ * 0x00002 - [ 0xd000000000000000 - 0xd0003fffffffffff ]
+ * 0x00003 - [ 0xe000000000000000 - 0xe0003fffffffffff ]
+ * 0x00004 - [ 0xf000000000000000 - 0xf0003fffffffffff ]
*
* The proto-VSIDs are then scrambled into real VSIDs with the
* multiplicative hash:
@@ -511,20 +513,28 @@ extern void slb_set_size(u16 size);
* robust scattering in the hash table (at least based on some initial
* results).
*
- * We also consider VSID 0 special. We use VSID 0 for slb entries mapping
- * bad address. This enables us to consolidate bad address handling in
- * hash_page.
+ * We use VSID 0 to indicate an invalid VSID. The means we can't use context id
+ * 0, because a context id of 0 and an EA of 0 gives a proto-VSID of 0, which
+ * will produce a VSID of 0.
*
* We also need to avoid the last segment of the last context, because that
* would give a protovsid of 0x1fffffffff. That will result in a VSID 0
- * because of the modulo operation in vsid scramble. But the vmemmap
- * (which is what uses region 0xf) will never be close to 64TB in size
- * (it's 56 bytes per page of system memory).
+ * because of the modulo operation in vsid scramble.
*/
+/*

This diff is incomplete. Download the complete patch.

arch/powerpc/include/asm/book3s/64/mmu.h

View file

This diff is incomplete. Download the complete patch.

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

View file

This diff is incomplete. Download the complete patch.

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

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/include/asm/code-patching.h

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/include/asm/cpuidle.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/dbell.h

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/include/asm/debug.h

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/include/asm/debugfs.h

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/include/asm/exception-64s.h

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/include/asm/feature-fixups.h

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/include/asm/head-64.h

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/include/asm/hvcall.h

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/include/asm/io.h

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/include/asm/iommu.h

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/include/asm/kprobes.h

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/include/asm/kvm_book3s_64.h

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/include/asm/kvm_book3s_asm.h

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/include/asm/kvm_ppc.h

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/include/asm/mce.h

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/include/asm/mmu-book3e.h

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/include/asm/mmu.h

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/include/asm/mmu_context.h

View file

This diff is incomplete. Download the complete patch.

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

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/include/asm/opal-api.h

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/include/asm/opal.h

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/include/asm/paca.h

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/include/asm/page_64.h

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/include/asm/perf_event_server.h

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/include/asm/powernv.h

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/include/asm/ppc-opcode.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.h

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/include/asm/sections.h

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/include/asm/smp.h

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/include/asm/syscalls.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/xics.h

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/include/asm/xive-regs.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/include/asm/xmon.h

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/include/uapi/asm/mman.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/cpu_setup_power.S

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/kernel/dbell.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_driver.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/fadump.c

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_64.S

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/iommu.c

View file

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/kprobes-ftrace.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/kernel/kprobes.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/kernel/mce.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/kernel/mce_power.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/kernel/optprobes.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/kernel/paca.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/kernel/prom.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/kernel/prom_init.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/kernel/setup-common.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/smp.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/kernel/stacktrace.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/kernel/swsusp.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/kernel/syscalls.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/kernel/sysfs.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/kernel/trace/Makefile

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/kernel/trace/ftrace.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/kernel/trace/ftrace_32.S

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/kernel/trace/ftrace_64.S

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/kernel/trace/ftrace_64_mprofile.S

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/kernel/trace/ftrace_64_pg.S

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/kernel/trace/trace_clock.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/vmlinux.lds.S

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/kvm/book3s.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/kvm/book3s_64_mmu_host.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/kvm/book3s_hv.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/kvm/book3s_hv_builtin.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/kvm/book3s_hv_rm_xics.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/kvm/book3s_xics.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/lib/code-patching.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/lib/sstep.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/mm/dump_hashpagetable.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/mm/dump_linuxpagetables.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/hash_low_32.S

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/mm/hash_utils_64.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/mm/hugetlbpage-book3e.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/mm/hugetlbpage-radix.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/mm/hugetlbpage.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/mm/init_64.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/mm/mmap.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/mm/mmu_context_book3s64.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/mm/mmu_context_iommu.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/mm/mmu_context_nohash.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/mm/numa.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/mm/slb.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/mm/slb_low.S

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/mm/slice.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/mm/subpage-prot.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/mm/tlb-radix.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/mm/tlb_nohash.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/perf/isa207-common.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/perf/isa207-common.h

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/perf/power8-events-list.h

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/perf/power8-pmu.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/perf/power9-pmu.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/platforms/44x/sam440ep.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/platforms/52xx/Kconfig

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/86xx/mpc86xx_smp.c

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/cell/axon_msi.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/platforms/cell/interrupt.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/platforms/cell/pervasive.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/platforms/chrp/smp.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/platforms/pasemi/idle.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/platforms/powermac/smp.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/platforms/powernv/Kconfig

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/platforms/powernv/eeh-powernv.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/platforms/powernv/idle.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/platforms/powernv/npu-dma.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/platforms/powernv/opal-lpc.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/platforms/powernv/opal-sensor.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/platforms/powernv/opal-wrappers.S

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/platforms/powernv/opal-xscom.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/powernv.h

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/platforms/powernv/rng.c

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/powernv/smp.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/platforms/ps3/smp.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/dlpar.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/platforms/pseries/dtl.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/platforms/pseries/hvCall_inst.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/lpar.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/platforms/pseries/ras.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/platforms/pseries/setup.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/platforms/pseries/smp.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/Kconfig

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/sysdev/Makefile

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/sysdev/scom.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/sysdev/xics/icp-hv.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/sysdev/xics/icp-native.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/sysdev/xics/icp-opal.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/sysdev/xics/xics-common.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/sysdev/xive/Kconfig

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/sysdev/xive/Makefile

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/sysdev/xive/common.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/sysdev/xive/native.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/sysdev/xive/xive-internal.h

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/tools/gcc-check-mprofile-kernel.sh

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/xmon.c

View file

This diff is incomplete. Download the complete patch.

drivers/misc/cxl/api.c

View file

This diff is incomplete. Download the complete patch.

drivers/misc/cxl/context.c

View file

This diff is incomplete. Download the complete patch.

drivers/misc/cxl/cxl.h

View file

This diff is incomplete. Download the complete patch.

drivers/misc/cxl/debugfs.c

View file

This diff is incomplete. Download the complete patch.

drivers/misc/cxl/fault.c

View file

This diff is incomplete. Download the complete patch.

drivers/misc/cxl/file.c

View file

This diff is incomplete. Download the complete patch.

drivers/misc/cxl/guest.c

View file

This diff is incomplete. Download the complete patch.

drivers/misc/cxl/hcalls.c

View file

This diff is incomplete. Download the complete patch.

drivers/misc/cxl/irq.c

View file

This diff is incomplete. Download the complete patch.

drivers/misc/cxl/main.c

View file

This diff is incomplete. Download the complete patch.

drivers/misc/cxl/native.c

View file

This diff is incomplete. Download the complete patch.

drivers/misc/cxl/pci.c

View file

This diff is incomplete. Download the complete patch.

drivers/misc/cxl/trace.h

View file

This diff is incomplete. Download the complete patch.

drivers/of/base.c

View file

This diff is incomplete. Download the complete patch.

drivers/pcmcia/electra_cf.c

View file

This diff is incomplete. Download the complete patch.

drivers/vfio/vfio_iommu_spapr_tce.c

View file

This diff is incomplete. Download the complete patch.

include/linux/kprobes.h

View file

This diff is incomplete. Download the complete patch.

include/linux/of.h

View file

This diff is incomplete. Download the complete patch.

include/uapi/linux/perf_event.h

View file

This diff is incomplete. Download the complete patch.

kernel/kprobes.c

View file

This diff is incomplete. Download the complete patch.

tools/include/uapi/linux/perf_event.h

View file

This diff is incomplete. Download the complete patch.

tools/testing/selftests/powerpc/Makefile

View file

This diff is incomplete. Download the complete patch.

tools/testing/selftests/powerpc/cache_shape/.gitignore

View file

This diff is incomplete. Download the complete patch.

tools/testing/selftests/powerpc/cache_shape/Makefile

View file

This diff is incomplete. Download the complete patch.

tools/testing/selftests/powerpc/cache_shape/cache_shape.c

View file

This diff is incomplete. Download the complete patch.

tools/testing/selftests/powerpc/include/utils.h

View file

This diff is incomplete. Download the complete patch.

tools/testing/selftests/powerpc/utils.c

View file

This diff is incomplete. Download the complete patch.