Yakkety SRU - POWER9 patches on top of 4.8

Tim Gardner tim.gardner at canonical.com
Thu Jan 5 17:51:35 UTC 2017


https://bugs.launchpad.net/bugs/1650263

This is the first batch of enablement patches for the IBM power9
platform backported from 4.10. All are clean cherry-picks with the
exception of a couple of minor context differences. The are also a few
prerequisite patches involving TLB.

rtg
-- 
Tim Gardner tim.gardner at canonical.com
-------------- next part --------------
The following changes since commit 615582d6b0529835ef4be4e177f58852ffe22d9e:

  powerpc/mm/iommu, vfio/spapr: Put pages on VFIO container shutdown (2017-01-05 07:50:27 -0700)

are available in the git repository at:

  git://kernel.ubuntu.com/rtg/ubuntu-yakkety.git power9-base

for you to fetch changes up to 64eb9c19fe79d30be46ed379a1f1676078a2c41c:

  powerpc/perf: macros for power9 format encoding (2017-01-05 10:44:48 -0700)

----------------------------------------------------------------
Aneesh Kumar K.V (16):
      powerpc/book3s: Add a cpu table entry for different POWER9 revs
      powerpc/mm/radix: Use different RTS encoding for different POWER9 revs
      powerpc/mm/radix: Use different pte update sequence for different POWER9 revs
      powerpc/mm: Update the HID bit when switching from radix to hash
      powerpc/mm: Add radix flush all with IS=3
      powerpc/mm: Fix missing update of HID register on secondary CPUs
      mm: update mmu_gather range correctly
      mm/hugetlb: add tlb_remove_hugetlb_entry for handling hugetlb pages
      mm: add tlb_remove_check_page_size_change to track page size change
      powerpc/mm: Rename hugetlb-radix.h to hugetlb.h
      powerpc/mm/hugetlb: Handle hugepage size supported by hash config
      powerpc/mm: Introduce _PAGE_LARGE software pte bits
      powerpc/mm: Add radix__tlb_flush_pte_p9_dd1()
      powerpc/mm: update radix__ptep_set_access_flag to not do full mm tlb flush
      powerpc/mm: update radix__pte_update to not do full mm tlb flush
      powerpc/mm: Batch tlb flush when invalidating pte entries

Balbir Singh (3):
      powerpc/mm/radix: Setup AMOR in HV mode to allow key 0
      powerpc/mm: Detect instruction fetch denied and report
      powerpc/mm/radix: Prevent kernel execution of user space

Benjamin Herrenschmidt (3):
      powerpc/64/kexec: NULL check "clear_all" in kexec_sequence
      powerpc/64/kexec: Fix MMU cleanup on radix
      powerpc/64/kexec: Copy image with MMU off when possible

Daniel Axtens (1):
      powerpc/sparse: Make a bunch of things static

Gautham R. Shenoy (1):
      powernv: Clear SPRN_PSSCR when a POWER9 CPU comes online

Madhavan Srinivasan (4):
      powerpc/perf: factor out the event format field
      powerpc/perf: update attribute_group data structure
      powerpc/perf: power9 raw event format encoding
      powerpc/perf: macros for power9 format encoding

Michael Neuling (2):
      powerpc/mm/radix: Invalidate ERAT on tlbiel for POWER9 DD1
      powerpc: Revert Load Monitor Register Support

Paul Mackerras (4):
      powerpc/64: Simplify adaptation to new ISA v3.00 HPTE format
      powerpc/64: Add some more SPRs and SPR bits for POWER9
      powerpc/64: Provide functions for accessing POWER9 partition table
      powerpc/powernv: Define real-mode versions of OPAL XICS accessors

Suraj Jitindar Singh (2):
      powerpc/64: Define new ISA v3.00 logical PVR value and PCR register value
      powerpc/mm: Correct process and partition table max size

 arch/arm/include/asm/tlb.h                         |   8 ++
 arch/ia64/include/asm/tlb.h                        |   9 ++
 arch/powerpc/include/asm/book3s/32/pgtable.h       |   4 +-
 .../asm/book3s/64/{hugetlb-radix.h => hugetlb.h}   |  28 ++++-
 arch/powerpc/include/asm/book3s/64/mmu-hash.h      |  47 +++++++--
 arch/powerpc/include/asm/book3s/64/pgtable.h       |  16 ++-
 arch/powerpc/include/asm/book3s/64/radix.h         |  88 ++++++++++++----
 .../powerpc/include/asm/book3s/64/tlbflush-radix.h |   3 +
 arch/powerpc/include/asm/cputable.h                |   4 +-
 arch/powerpc/include/asm/hugetlb.h                 |   2 +-
 arch/powerpc/include/asm/mmu-book3e.h              |   3 +
 arch/powerpc/include/asm/mmu.h                     |   9 ++
 arch/powerpc/include/asm/nohash/32/pgtable.h       |   4 +-
 arch/powerpc/include/asm/nohash/64/pgtable.h       |   4 +-
 arch/powerpc/include/asm/opal.h                    |   3 +
 arch/powerpc/include/asm/ppc-opcode.h              |   1 +
 arch/powerpc/include/asm/processor.h               |   2 -
 arch/powerpc/include/asm/reg.h                     |  20 +++-
 arch/powerpc/include/asm/tlb.h                     |  16 +++
 arch/powerpc/kernel/cpu_setup_power.S              |   2 +
 arch/powerpc/kernel/cputable.c                     |  19 ++++
 arch/powerpc/kernel/machine_kexec_64.c             |  59 ++++-------
 arch/powerpc/kernel/misc_64.S                      |  25 +++--
 arch/powerpc/kernel/module.c                       |   2 +-
 arch/powerpc/kernel/nvram_64.c                     |   2 +-
 arch/powerpc/kernel/process.c                      |  18 ----
 arch/powerpc/kernel/traps.c                        |   9 --
 arch/powerpc/mm/fault.c                            |   7 ++
 arch/powerpc/mm/hash_native_64.c                   |  30 ++++--
 arch/powerpc/mm/hash_utils_64.c                    |  57 +++++-----
 arch/powerpc/mm/pgtable-book3s64.c                 |  12 ++-
 arch/powerpc/mm/pgtable-radix.c                    | 102 +++++++++++++++---
 arch/powerpc/mm/pgtable.c                          |   2 +-
 arch/powerpc/mm/pgtable_64.c                       |  34 ++++++
 arch/powerpc/mm/tlb-radix.c                        |  46 ++++++++
 arch/powerpc/oprofile/cell/spu_profiler.c          |   2 +-
 arch/powerpc/oprofile/cell/spu_task_sync.c         |   4 +-
 arch/powerpc/perf/core-book3s.c                    |   2 +-
 arch/powerpc/perf/hv-gpci.c                        |   2 +-
 arch/powerpc/perf/isa207-common.c                  |  91 ++++++++++++++--
 arch/powerpc/perf/isa207-common.h                  |  30 +++++-
 arch/powerpc/perf/power7-pmu.c                     |   2 +-
 arch/powerpc/perf/power8-pmu.c                     |  39 +------
 arch/powerpc/perf/power9-pmu.c                     | 116 ++++++++++++++++++++-
 arch/powerpc/platforms/cell/cbe_regs.c             |   2 +-
 arch/powerpc/platforms/cell/iommu.c                |   2 +-
 arch/powerpc/platforms/cell/ras.c                  |   2 +-
 arch/powerpc/platforms/maple/setup.c               |   4 +-
 arch/powerpc/platforms/pasemi/gpio_mdio.c          |   4 +-
 arch/powerpc/platforms/pasemi/iommu.c              |   2 +-
 arch/powerpc/platforms/pasemi/setup.c              |   4 +-
 arch/powerpc/platforms/powermac/pfunc_core.c       |   2 +-
 arch/powerpc/platforms/powermac/smp.c              |   2 +-
 arch/powerpc/platforms/powernv/npu-dma.c           |   2 +-
 arch/powerpc/platforms/powernv/opal-wrappers.S     |   3 +
 arch/powerpc/platforms/powernv/opal.c              |   2 +
 arch/powerpc/platforms/ps3/htab.c                  |   2 +-
 arch/powerpc/platforms/pseries/dlpar.c             |   4 +-
 arch/powerpc/platforms/pseries/lpar.c              |   2 +-
 arch/powerpc/platforms/pseries/scanlog.c           |   2 +-
 arch/powerpc/sysdev/mmio_nvram.c                   |   2 +-
 arch/s390/include/asm/tlb.h                        |   8 ++
 arch/sh/include/asm/tlb.h                          |   9 ++
 arch/um/include/asm/tlb.h                          |   9 ++
 include/asm-generic/tlb.h                          |  65 +++++++++---
 mm/huge_memory.c                                   |   4 +
 mm/hugetlb.c                                       |   7 +-
 mm/madvise.c                                       |   1 +
 mm/memory.c                                        |   7 +-
 69 files changed, 889 insertions(+), 249 deletions(-)
 rename arch/powerpc/include/asm/book3s/64/{hugetlb-radix.h => hugetlb.h} (52%)


More information about the kernel-team mailing list