Subject: [GIT PULL] Please pull powerpc/linux.git powerpc-5.4-2 tag

From: Michael Ellerman <[email-masked]>
Date: Sat, 28 Sep 2019 22:14:15 +1000

Hi Linus,

Please pull some more powerpc updates for 5.4:

The following changes since commit 45824fc0da6e46cc5d563105e1eaaf3098a686f9:

  Merge tag 'powerpc-5.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux (2019-09-20 11:48:06 -0700)

are available in the git repository at:

  https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git tags/powerpc-5.4-2

for you to fetch changes up to 253c892193ab58da6b1d94371285971b22c63260:

  powerpc/eeh: Fix eeh eeh_debugfs_break_device() with SRIOV devices (2019-09-27 09:04:17 +1000)

- ------------------------------------------------------------------
powerpc fixes for 5.4 #2

An assortment of fixes that were either missed by me, or didn't arrive quite in
time for the first v5.4 pull.

Most notable is a fix for an issue with tlbie (broadcast TLB invalidation) on
Power9, when using the Radix MMU. The tlbie can race with an mtpid (move to PID
register, essentially MMU context switch) on another thread of the core, which
can cause stores to continue to go to a page after it's unmapped.

A fix in our KVM code to add a missing barrier, the lack of which has been
observed to cause missed IPIs and subsequently stuck CPUs in the host.

A change to the way we initialise PCR (Processor Compatibility Register) to make
it forward compatible with future CPUs.

On some older PowerVM systems our H_BLOCK_REMOVE support could oops, fix it to
detect such systems and fallback to the old invalidation method.

A fix for an oops seen on some machines when using KASAN on 32-bit.

A handful of other minor fixes, and two new selftests.

Thanks to:
  Alistair Popple, Aneesh Kumar K.V, Christophe Leroy, Gustavo Romero, Joel
  Stanley, Jordan Niethe, Laurent Dufour, Michael Roth, Oliver O'Halloran.

- ------------------------------------------------------------------
Alistair Popple (1):
      powerpc: Fix definition of PCR bits to work with old binutils

Aneesh Kumar K.V (7):
      powerpc/book3s64/radix: Remove WARN_ON in destroy_context()
      powerpc/book3s64/mm: Don't do tlbie fixup for some hardware revisions
      powerpc/book3s64/radix: Rename CPU_FTR_P9_TLBIE_BUG feature flag
      powerpc/mm: Fixup tlbie vs mtpidr/mtlpidr ordering issue on POWER9
      selftests/powerpc: Add test case for tlbie vs mtpidr ordering issue
      powerpc/nvdimm: Use HCALL error as the return value
      powerpc/nvdimm: use H_SCM_QUERY hcall on H_OVERLAP error

Christophe Leroy (2):
      powerpc/mm: Add a helper to select PAGE_KERNEL_RO or PAGE_READONLY
      powerpc/mm: Fix an Oops in kasan_mmu_init()

Gustavo Romero (1):
      powerpc/tm: Add tm-poison test

Jordan Niethe (1):
      powerpc/64s: Set reserved PCR bits

Laurent Dufour (2):
      powerpc/pseries: Read TLB Block Invalidate Characteristics
      powerpc/pseries: Call H_BLOCK_REMOVE when supported

Michael Roth (1):
      KVM: PPC: Book3S HV: use smp_mb() when setting/clearing host_ipi flag

Oliver O'Halloran (1):
      powerpc/eeh: Fix eeh eeh_debugfs_break_device() with SRIOV devices

 arch/powerpc/include/asm/cputable.h             |   5 +-
 arch/powerpc/include/asm/kvm_ppc.h              | 100 ++-
 arch/powerpc/include/asm/reg.h                  |   9 +-
 arch/powerpc/kernel/cpu_setup_power.S           |   6 +
 arch/powerpc/kernel/dbell.c                     |   6 +-
 arch/powerpc/kernel/dt_cpu_ftrs.c               |  35 +-
 arch/powerpc/kernel/eeh.c                       |   4 +-
 arch/powerpc/kvm/book3s_hv.c                    |  11 +-
 arch/powerpc/kvm/book3s_hv_nested.c             |   6 +-
 arch/powerpc/kvm/book3s_hv_rm_mmu.c             |  42 +-
 arch/powerpc/kvm/book3s_hv_rm_xics.c            |   2 +-
 arch/powerpc/kvm/book3s_hv_rmhandlers.S         |  10 +-
 arch/powerpc/mm/book3s64/hash_native.c          |  31 +-
 arch/powerpc/mm/book3s64/mmu_context.c          |  15 +-
 arch/powerpc/mm/book3s64/radix_tlb.c            |  84 ++-
 arch/powerpc/mm/kasan/kasan_init_32.c           |  34 +-
 arch/powerpc/platforms/powernv/smp.c            |   2 +-
 arch/powerpc/platforms/pseries/lpar.c           | 163 ++++-
 arch/powerpc/platforms/pseries/papr_scm.c       |  72 +-
 arch/powerpc/platforms/pseries/pseries.h        |   1 +
 arch/powerpc/platforms/pseries/setup.c          |   1 +
 arch/powerpc/sysdev/xics/icp-native.c           |   6 +-
 arch/powerpc/sysdev/xics/icp-opal.c             |   6 +-
 tools/testing/selftests/powerpc/mm/Makefile     |   2 +
 tools/testing/selftests/powerpc/mm/tlbie_test.c | 734 ++++++++++++++++++++
 tools/testing/selftests/powerpc/tm/.gitignore   |   1 +
 tools/testing/selftests/powerpc/tm/Makefile     |   2 +-
 tools/testing/selftests/powerpc/tm/tm-poison.c  | 179 +++++
 28 files changed, 1476 insertions(+), 93 deletions(-)
 create mode 100644 tools/testing/selftests/powerpc/mm/tlbie_test.c
 create mode 100644 tools/testing/selftests/powerpc/tm/tm-poison.c