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

From: Michael Ellerman <[email-masked]>
Date: Fri, 20 Sep 2019 23:22:50 +1000

Hi Linus,

Please pull powerpc updates for 5.4.

This is a bit late, partly due to me travelling, and partly due to a power
outage knocking out some of my test systems *while* I was travelling.

A few conflicts this time unfortunately. The key one is the silent conflict with
the dma-mapping tree. You need to delete our copy of atomic_pool_init() and the
postcore_initcall() that calls it in arch/powerpc/mm/dma-noncoherent.c

In arch/Kconfig, ARCH_HAS_MEM_ENCRYPT and RELR both went in via separate paths,
we just want to take both sides of the conflict.

In book3s_64_vio.c and book3s_64_vio_hv.c Paul and I both merged the same fix,
and then I merged another patch on top, leading to a conflict. The resolution is
to take the "goto invalidate_exit" cases.

I've pushed the result of my merge to the v5.4-merge branch if there's any
doubt.

There's also a few out of area changes. The extable changes are due to
49ec9177b8ec ("extable: Add function to search only kernel exception table").

The move of ARCH_HAS_MEM_ENCRYPT into arch/Kconfig & related cleanups are
responsible for all the changes under arch, as well as fs/proc/vmcore.c,
crash_dump.h, mem_encrypt.h, and kernel/dma/(mapping|swiotlb).c.

And the kernel/trace/fgraph.c change was acked by Steve.

cheers

The following changes since commit 609488bc979f99f805f34e9a32c1e3b71179d10b:

  Linux 5.3-rc2 (2019-07-28 12:47:02 -0700)

are available in the git repository at:

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

for you to fetch changes up to d9101bfa6adc831bda8836c4d774820553c14942:

  powerpc/mm/mce: Keep irqs disabled during lockless page table walk (2019-09-19 21:24:59 +1000)

- ------------------------------------------------------------------
powerpc updates for 5.4

 - Initial support for running on a system with an Ultravisor, which is software
   that runs below the hypervisor and protects guests against some attacks by
   the hypervisor.

 - Support for building the kernel to run as a "Secure Virtual Machine", ie. as
   a guest capable of running on a system with an Ultravisor.

 - Some changes to our DMA code on bare metal, to allow devices with medium
   sized DMA masks (> 32 && < 59 bits) to use more than 2GB of DMA space.

 - Support for firmware assisted crash dumps on bare metal (powernv).

 - Two series fixing bugs in and refactoring our PCI EEH code.

 - A large series refactoring our exception entry code to use gas macros, both
   to make it more readable and also enable some future optimisations.

As well as many cleanups and other minor features & fixups.

Thanks to:
  Adam Zerella, Alexey Kardashevskiy, Alistair Popple, Andrew Donnellan, Aneesh
  Kumar K.V, Anju T Sudhakar, Anshuman Khandual, Balbir Singh, Benjamin
  Herrenschmidt, Cédric Le Goater, Christophe JAILLET, Christophe Leroy,
  Christopher M. Riedl, Christoph Hellwig, Claudio Carvalho, Daniel Axtens,
  David Gibson, David Hildenbrand, Desnes A. Nunes do Rosario, Ganesh Goudar,
  Gautham R. Shenoy, Greg Kurz, Guerney Hunt, Gustavo Romero, Halil Pasic, Hari
  Bathini, Joakim Tjernlund, Jonathan Neuschafer, Jordan Niethe, Leonardo Bras,
  Lianbo Jiang, Madhavan Srinivasan, Mahesh Salgaonkar, Mahesh Salgaonkar,
  Masahiro Yamada, Maxiwell S. Garcia, Michael Anderson, Nathan Chancellor,
  Nathan Lynch, Naveen N. Rao, Nicholas Piggin, Oliver O'Halloran, Qian Cai, Ram
  Pai, Ravi Bangoria, Reza Arbab, Ryan Grimm, Sam Bobroff, Santosh Sivaraj,
  Segher Boessenkool, Sukadev Bhattiprolu, Thiago Bauermann, Thiago Jung
  Bauermann, Thomas Gleixner, Tom Lendacky, Vasant Hegde.

- ------------------------------------------------------------------
Adam Zerella (1):
      docs: powerpc: Add missing documentation reference

Alexey Kardashevskiy (11):
      powerpc/powernv/ioda: Fix race in TCE level allocation
      powerpc/iommu: Allow bypass-only for DMA
      powerpc/powernv/ioda2: Allocate TCE table levels on demand for default DMA window
      powerpc/powernv/ioda2: Create bigger default window with 64k IOMMU pages
      powerpc/of/pci: Rewrite pci_parse_of_flags
      KVM: PPC: Book3S: Fix incorrect guest-to-user-translation error handling
      powerpc/powernv/ioda: Split out TCE invalidation from TCE updates
      KVM: PPC: Book3S: Invalidate multiple TCEs at once
      vfio/spapr_tce: Invalidate multiple TCEs at once
      powerpc/pseries/iommu: Switch to xchg_no_kill
      powerpc/powernv/ioda: Remove obsolete iommu_table_ops::exchange callbacks

Andrew Donnellan (6):
      powerpc/powernv: Move SCOM access code into powernv platform
      powerpc/powernv: Remove dead SCOM access code
      powerpc/powernv: Get rid of old scom_controller abstraction
      powerpc/powernv: Fix checkpatch warnings in opal-xscom.c
      powerpc/configs: Disable SCOM_DEBUGFS in powernv_defconfig
      powerpc/powernv: Restrict OPAL symbol map to only be readable by root

Aneesh Kumar K.V (1):
      powerpc/mm/mce: Keep irqs disabled during lockless page table walk

Anshuman Khandual (3):
      powerpc/pseries/svm: Use shared memory for LPPACA structures
      powerpc/pseries/svm: Use shared memory for Debug Trace Log (DTL)
      powerpc/pseries/svm: Force SWIOTLB for secure guests

Balbir Singh (3):
      powerpc/mce: Fix MCE handling for huge pages
      powerpc/mce: Handle UE event for memcpy_mcsafe
      powerpc/memcpy: Add memcpy_mcsafe for pmem

Benjamin Herrenschmidt (1):
      powerpc: Add support for adding an ESM blob to the zImage wrapper

Christoph Hellwig (3):
      powerpc: remove the ppc44x ocm.c file
      powerpc: use the generic dma coherent remap allocator
      powerpc/powernv: Remove unused pnv_npu_try_dma_set_bypass() function

Christophe JAILLET (2):
      powerpc/xive: Use GFP_KERNEL instead of GFP_ATOMIC in 'xive_irq_bitmap_add()'
      powerpc/xive: Add a check for memory allocation failure

Christophe Leroy (43):
      powerpc/32: activate ARCH_HAS_PMEM_API and ARCH_HAS_UACCESS_FLUSHCACHE
      powerpc/ptdump: Fix addresses display on PPC32
      powerpc/ptdump: fix walk_pagetables() address mismatch
      powerpc/ptdump: drop dummy KERN_VIRT_START on PPC32
      powerpc/ptdump: get out of note_prot_wx() when CONFIG_PPC_DEBUG_WX is not selected.
      powerpc/ptdump: drop non vital #ifdefs
      powerpc/hw_breakpoint: move instruction stepping out of hw_breakpoint_handler()
      powerpc/kasan: Fix parallel loading of modules.
      powerpc/kasan: Fix shadow area set up for modules.
      powerpc/futex: Fix warning: 'oldval' may be used uninitialized in this function
      powerpc/32s: Fix boot failure with DEBUG_PAGEALLOC without KASAN.
      powerpc/mm: don't display empty early ioremap area
      powerpc/mm: define empty update_mmu_cache() as static inline
      powerpc/mm: move FSL_BOOK3 version of update_mmu_cache()
      powerpc/mm: move update_mmu_cache() into book3s hash utils.
      powerpc/mm: Simplify update_mmu_cache() on BOOK3S32
      powerpc/mm: ppc 603 doesn't need update_mmu_cache()
      powerpc/32: Add warning on misaligned copy_page() or clear_page()
      powerpc/603: Fix handling of the DIRTY flag
      powerpc/64: don't select ARCH_HAS_SCALED_CPUTIME on book3E
      powerpc/ps3: replace __ioremap() by ioremap_prot()
      powerpc/mm: drop ppc_md.iounmap() and __iounmap()
      powerpc/mm: drop function __ioremap()
      powerpc/mm: rework io-workaround invocation.
      powerpc/mm: move common 32/64 bits ioremap functions into ioremap.c
      powerpc/mm: move ioremap_prot() into ioremap.c
      powerpc/mm: make ioremap_bot common to all
      powerpc/mm: Move ioremap functions out of pgtable_32/64.c
      powerpc/mm: refactor ioremap_range() and use ioremap_page_range()
      powerpc/mm: refactor ioremap vm area setup.
      powerpc/mm: split out early ioremap path.
      powerpc: rewrite LOAD_REG_IMMEDIATE() as an intelligent macro
      powerpc/32: replace LOAD_MSR_KERNEL() by LOAD_REG_IMMEDIATE()
      powerpc/64: optimise LOAD_REG_IMMEDIATE_SYM()
      powerpc/prom: convert PROM_BUG() to standard trap
      powerpc/8xx: drop unused self-modifying code alternative to FixupDAR.
      powerpc/8xx: set STACK_END_MAGIC earlier on the init_stack
      powerpc/32s: add an option to exclusively select powerpc 601
      powerpc/32s: get rid of CPU_FTR_601 feature
      powerpc/32s: drop CPU_FTR_USE_RTC feature
      powerpc/32s: use CONFIG_PPC_BOOK3S_601 instead of reading PVR
      powerpc/32: drop CPU_FTR_UNIFIED_ID_CACHE
      powerpc/32: don't use CPU_FTR_COHERENT_ICACHE

Christopher M. Riedl (4):
      powerpc/64s: support nospectre_v2 cmdline option
      powerpc/spinlocks: Refactor SHARED_PROCESSOR
      powerpc/spinlocks: Rename SPLPAR-only spinlocks
      powerpc/spinlocks: Fix oops in __spin_yield() on bare metal

Claudio Carvalho (7):
      powerpc: Add PowerPC Capabilities ELF note
      powerpc/kernel: Add ucall_norets() ultravisor call handler
      powerpc/powernv: Introduce FW_FEATURE_ULTRAVISOR
      powerpc/mm: Write to PTCR only if ultravisor disabled
      powerpc/powernv: Access LDBAR only if ultravisor disabled
      powerpc/powernv/opal-msglog: Refactor memcons code
      powerpc/powernv: Add ultravisor message log interface

Cédric Le Goater (5):
      powerpc/xmon: Check for HV mode when dumping XIVE info from OPAL
      powerpc/xive: Fix dump of XIVE interrupt under pseries
      powerpc/xmon: Add a dump of all XIVE interrupts
      powerpc/xmon: Improve output of XIVE interrupts
      powerpc/xmon: Fix output of XIVE IPI

Daniel Axtens (1):
      powerpc/configs: Disable /dev/port in skiroot defconfig

Ganesh Goudar (1):
      powerpc: dump kernel log before carrying out fadump or kdump

Gautham R. Shenoy (1):
      powerpc/pseries: Fix cpu_hotplug_lock acquisition in resize_hpt()

Greg Kurz (1):
      powerpc/xive: Fix bogus error code returned by OPAL

Gustavo Romero (4):
      powerpc: Document xmon options
      selftests/powerpc: Ignore generated files
      selftests/powerpc: Fix and enhance TM signal context tests
      selftests/powerpc: Retry on host facility unavailable

Hari Bathini (36):
      powerpc/fadump: move internal macros/definitions to a new header
      powerpc/fadump: add helper functions
      powerpc/fadump: declare helper functions in internal header file
      powerpc/fadump: Improve fadump documentation
      powerpc/fadump: use helper functions to reserve/release cpu notes buffer
      powerpc/fadump: move rtas specific definitions to platform code
      powerpc/fadump: introduce callbacks for platform specific operations
      pseries/fadump: define RTAS register/un-register callback functions
      powerpc/fadump: add source info while displaying region contents
      powerpc/fadump: release all the memory above boot memory size
      pseries/fadump: move out platform specific support from generic code
      powerpc/fadump: use FADump instead of fadump for how it is pronounced
      powerpc/opal: add MPIPL interface definitions
      powerpc/fadump: add fadump support on powernv
      powerpc/fadump: improve fadump_reserve_mem()
      powerpc/fadump: register kernel metadata address with opal
      powerpc/fadump: reset metadata address during clean up
      powerpc/fadump: define OPAL register/un-register callback functions
      powerpc/fadump: support copying multiple kernel boot memory regions
      powerpc/fadump: process the crashdump by exporting it as /proc/vmcore
      powerpc/fadump: Warn before processing partial crashdump
      powerpc/fadump: handle invalidation of crashdump and re-registraion
      powerpc/fadump: Update documentation about OPAL platform support
      powerpc/fadump: make use of memblock's bottom up allocation mode
      powerpc/fadump: process architected register state data provided by firmware
      powerpc/fadump: make crash memory ranges array allocation generic
      powerpc/fadump: consider reserved ranges while releasing memory
      powerpc/fadump: improve how crashed kernel's memory is reserved
      powerpc/fadump: add support to preserve crash data on FADUMP disabled kernel
      powerpc/fadump: update documentation about CONFIG_PRESERVE_FA_DUMP
      powerpc/opalcore: export /sys/firmware/opal/core for analysing opal crashes
      powerpc/opalcore: provide an option to invalidate /sys/firmware/opal/core file
      powerpc/fadump: consider f/w load area
      powerpc/fadump: update documentation about option to release opalcore
      powerpc/fadump: remove RMA_START and RMA_END macros
      powerpc/fadump: support holes in kernel boot memory area

Jordan Niethe (2):
      powerpc/xive: Update comment referencing magic loads from an ESB
      powerpc: Remove empty comment

Leonardo Bras (1):
      powerpc/pseries/hotplug-memory.c: Replace nested ifs by switch-case

Madhavan Srinivasan (1):
      powerpc/imc: Dont create debugfs files for cpu-less nodes

Masahiro Yamada (2):
      powerpc: remove meaningless KBUILD_ARFLAGS addition
      powerpc: improve prom_init_check rule

Maxiwell S. Garcia (1):
      Documentation/powerpc: Add ELF note documentation

Michael Anderson (1):
      powerpc/mm: Use UV_WRITE_PATE ucall to register a PATE

Michael Ellerman (11):
      Merge branch 'fixes' into next
      Merge branch 'topic/ppc-kvm' into next
      Merge branch 'topic/mem-encrypt' into next
      Merge branch 'topic/ppc-kvm' into next
      powerpc/64s/exceptions: Use keyword params to shorten arg lists
      powerpc/eeh: Fix build with STACKTRACE=n
      powerpc/powernv: Fix build with IOMMU_API=n
      powerpc/kvm: Move kvm_tmp into .text, shrink to 64K
      powerpc/64s: Remove overlaps_kvm_tmp()
      powerpc/kvm: Explicitly mark kvm guest code as __init
      powerpc/kvm: Add ifdefs around template code

Nathan Chancellor (1):
      PCI: rpaphp: Avoid a sometimes-uninitialized warning

Nathan Lynch (5):
      powerpc/rtas: Unexport rtas_online_cpus_mask, rtas_offline_cpus_mask
      powerpc/rtas: use device model APIs and serialization during LPM
      powerpc/rtas: allow rescheduling while changing cpu states
      powerpc/pseries/mobility: use cond_resched when updating device tree
      powerpc/pseries: correctly track irq state in default idle

Naveen N. Rao (3):
      ftrace: Look up the address of return_to_handler() using helpers
      powerpc/ftrace: Enable HAVE_FUNCTION_GRAPH_RET_ADDR_PTR
      powerpc: Use ftrace_graph_ret_addr() when unwinding

Nicholas Piggin (51):
      powerpc/64s: Make boot look nice(r)
      powerpc/64: allow compiler to cache 'current'
      powerpc/64s/radix: Fix memory hotplug section page table creation
      powerpc/64s/radix: Fix memory hot-unplug page table split
      powerpc/perf: fix imc allocation failure handling
      powerpc/64: Add VIRTUAL_BUG_ON checks for __va and __pa addresses
      powerpc/64s/radix: Remove redundant pfn_pte bitop, add VM_BUG_ON
      powerpc: convert to copy_thread_tls
      powerpc/64: remove support for kernel-mode syscalls
      powerpc/64s/exception: machine check fwnmi remove HV case
      powerpc/64s/exception: machine check remove bitrotted comment
      powerpc/64s/exception: machine check fix KVM guest test
      powerpc/64s/exception: machine check adjust RFI target
      powerpc/64s/exception: machine check pseries should always run the early handler
      powerpc/64s/exception: machine check remove machine_check_pSeries_0 branch
      powerpc/64s/exception: machine check use correct cfar for late handler
      powerpc/64s/powernv: machine check dump SLB contents
      powerpc/64s/pseries: machine check convert to use common event code
      powerpc/64s/exception: machine check pseries should skip the late handler for kernel MCEs
      powerpc/64s/exception: machine check restructure to reuse common macros
      powerpc/64s/exception: machine check move tramp code
      powerpc/64s/exception: simplify machine check early path
      powerpc/64s/exception: machine check move unrecoverable handling out of line
      powerpc/64s/exception: untangle early machine check handler branch
      powerpc/64s/exception: machine check improve labels and comments
      powerpc/64s/exception: Fix DAR load for handle_page_fault error case
      powerpc/64s/exception: move head-64.h exception code to exception-64s.S
      powerpc/64s/exception: Add EXC_HV_OR_STD, which selects HSRR if HVMODE
      powerpc/64s/exception: Fix performance monitor virt handler
      powerpc/64s/exception: remove 0xb00 handler
      powerpc/64s/exception: Replace PROLOG macros and EXC helpers with a gas macro
      powerpc/64s/exception: remove EXCEPTION_PROLOG_0/1, rename _2
      powerpc/64s/exception: Add the virt variant of the denorm interrupt handler
      powerpc/64s/exception: INT_HANDLER support HDAR/HDSISR and use it in HDSI
      powerpc/64s/exception: Add INT_KVM_HANDLER gas macro
      powerpc/64s/exception: KVM_HANDLER reorder arguments to match other macros
      powerpc/64s/exception: Merge EXCEPTION_PROLOG_COMMON_2/3
      powerpc/64s/exception: Add INT_COMMON gas macro to generate common exception code
      powerpc/64s/exception: Expand EXCEPTION_COMMON macro into caller
      powerpc/64s/exception: Expand EXCEPTION_PROLOG_COMMON_1 and 2 into caller
      powerpc/64s/exception: INT_COMMON add DAR, DSISR, reconcile options
      powerpc/64s/exception: move interrupt entry code above the common handler
      powerpc/64s/exception: program check handler do not branch into a macro
      powerpc/64s/exception: Remove pointless KVM handler name bifurcation
      powerpc/64s/exception: reduce page fault unnecessary loads
      powerpc/64s: remove register_process_table callback
      powerpc/64s/radix: tidy up TLB flushing code
      powerpc/64s: make mmu_partition_table_set_entry TLB flush optional
      powerpc/64s/pseries: radix flush translations before MMU is enabled at boot
      powerpc/64s: remove unnecessary translation cache flushes at boot
      powerpc/64s/radix: introduce options to disable use of the tlbie instruction

Oliver O'Halloran (15):
      powerpc/eeh: Add bdfn field to eeh_dev
      powerpc/eeh: Clean up EEH PEs after recovery finishes
      powerpc/eeh: Fix race when freeing PDNs
      powerpc/eeh: Make permanently failed devices non-actionable
      powerpc/eeh: Check slot presence state in eeh_handle_normal_event()
      powerpc/eeh: Defer printing stack trace
      powerpc/eeh: Remove stale CAPI comment
      powernv/eeh: Use generic code to handle hot resets
      pci-hotplug/pnv_php: Add a reset_slot() callback
      pci-hotplug/pnv_php: Add support for IODA3 Power9 PHBs
      pci-hotplug/pnv_php: Add attention indicator support
      powerpc/eeh: Set attention indicator while recovering
      powerpc/eeh: Add debugfs interface to run an EEH check
      powerpc/eeh: Add a eeh_dev_break debugfs interface
      selftests/powerpc: Add basic EEH selftest

Qian Cai (1):
      powerpc/mm/radix: remove useless kernel messages

Ram Pai (3):
      powerpc/prom_init: Add the ESM call to prom_init
      powerpc/pseries/svm: Add helpers for UV_SHARE_PAGE and UV_UNSHARE_PAGE
      powerpc/pseries/svm: Unshare all pages before kexecing a new kernel

Ravi Bangoria (1):
      powerpc/watchpoint: Disable watchpoint hit by larx/stcx instructions

Reza Arbab (1):
      powerpc/mce: Make machine_check_ue_event() static

Ryan Grimm (2):
      powerpc/pseries/svm: Export guest SVM status to user space via sysfs
      powerpc/configs: Enable secure guest support in pseries and ppc64 defconfigs

Sam Bobroff (11):
      powerpc/64: Adjust order in pcibios_init()
      powerpc/eeh: Clear stale EEH_DEV_NO_HANDLER flag
      powerpc/eeh: Improve debug messages around device addition
      powerpc/eeh: Initialize EEH address cache earlier
      powerpc/eeh: EEH for pSeries hot plug
      powerpc/eeh: Refactor around eeh_probe_devices()
      powerpc/eeh: Introduce EEH edev logging macros
      powerpc/eeh: Convert log messages to eeh_edev_* macros
      powerpc/eeh: Fix crash when edev->pdev changes
      powerpc/eeh: Remove unused return path from eeh_pe_dev_traverse()
      powerpc/eeh: Slightly simplify eeh_add_to_parent_pe()

Santosh Sivaraj (5):
      powerpc/mce: Schedule work from irq_work
      extable: Add function to search only kernel exception table
      powerpc: add machine check safe copy_to_user
      powerpc/memcpy: Fix stack corruption for smaller sizes
      seltests/powerpc: Add a selftest for memcpy_mcsafe

Segher Boessenkool (1):
      powerpc: Add attributes for setjmp/longjmp

Sukadev Bhattiprolu (4):
      Documentation/powerpc: Ultravisor API
      powerpc/kvm: Use UV_RETURN ucall to return to ultravisor
      powerpc: Introduce the MSR_S bit
      powerpc/pseries/svm: Disable doorbells in SVM guests

Thiago Jung Bauermann (9):
      x86, s390: Move ARCH_HAS_MEM_ENCRYPT definition to arch/Kconfig
      swiotlb: Remove call to sme_active()
      dma-mapping: Remove dma_check_mask()
      x86, s390/mm: Move sme_active() and sme_me_mask to x86-specific header
      fs/core/vmcore: Move sev_active() reference to x86 arch code
      s390/mm: Remove sev_active() function
      powerpc/pseries: Introduce option to build secure virtual machines
      powerpc/pseries: Add and use LPPACA_SIZE constant
      powerpc/pseries/iommu: Don't use dma_iommu_ops on secure guests

Vasant Hegde (2):
      powerpc/powernv: Enhance opal message read interface
      powerpc/powernv: Add new opal message type

 Documentation/ABI/testing/sysfs-devices-system-cpu             |   10 +
 Documentation/admin-guide/kernel-parameters.txt                |   28 +
 Documentation/powerpc/elfnote.rst                              |   41 +
 Documentation/powerpc/firmware-assisted-dump.rst               |  220 ++-
 Documentation/powerpc/index.rst                                |    2 +
 Documentation/powerpc/ultravisor.rst                           | 1054 +++++++++++++
 arch/Kconfig                                                   |    3 +
 arch/powerpc/Kconfig                                           |   43 +-
 arch/powerpc/Makefile                                          |    1 -
 arch/powerpc/boot/main.c                                       |   41 +
 arch/powerpc/boot/ops.h                                        |    2 +
 arch/powerpc/boot/wrapper                                      |   24 +-
 arch/powerpc/boot/zImage.lds.S                                 |    8 +
 arch/powerpc/configs/pmac32_defconfig                          |    1 -
 arch/powerpc/configs/powernv_defconfig                         |    2 +-
 arch/powerpc/configs/ppc40x_defconfig                          |    1 -
 arch/powerpc/configs/ppc64_defconfig                           |    1 +
 arch/powerpc/configs/pseries_defconfig                         |    1 +
 arch/powerpc/configs/skiroot_defconfig                         |    1 +
 arch/powerpc/include/asm/asm-prototypes.h                      |   14 +-
 arch/powerpc/include/asm/book3s/32/pgtable.h                   |   18 +-
 arch/powerpc/include/asm/book3s/64/mmu.h                       |    4 -
 arch/powerpc/include/asm/book3s/64/pgtable.h                   |    8 +-
 arch/powerpc/include/asm/book3s/64/radix.h                     |    3 -
 arch/powerpc/include/asm/book3s/64/tlbflush-radix.h            |   12 +-
 arch/powerpc/include/asm/book3s/64/tlbflush.h                  |    9 +
 arch/powerpc/include/asm/book3s/pgtable.h                      |   11 +
 arch/powerpc/include/asm/bug.h                                 |    8 -
 arch/powerpc/include/asm/cputable.h                            |   20 +-
 arch/powerpc/include/asm/current.h                             |    3 +-
 arch/powerpc/include/asm/eeh.h                                 |   40 +-
 arch/powerpc/include/asm/elfnote.h                             |   24 +
 arch/powerpc/include/asm/fadump-internal.h                     |  169 ++
 arch/powerpc/include/asm/fadump.h                              |  194 +--
 arch/powerpc/include/asm/firmware.h                            |    5 +-
 arch/powerpc/include/asm/ftrace.h                              |    2 +
 arch/powerpc/include/asm/futex.h                               |    3 +-
 arch/powerpc/include/asm/head-64.h                             |   41 -
 arch/powerpc/include/asm/hugetlb.h                             |    3 -
 arch/powerpc/include/asm/io-workarounds.h                      |   20 +
 arch/powerpc/include/asm/io.h                                  |   16 +-
 arch/powerpc/include/asm/iommu.h                               |   28 +-
 arch/powerpc/include/asm/kvm_host.h                            |    1 +
 arch/powerpc/include/asm/machdep.h                             |    7 -
 arch/powerpc/include/asm/mce.h                                 |   10 +-
 arch/powerpc/include/asm/mem_encrypt.h                         |   26 +
 arch/powerpc/include/asm/mmu.h                                 |    2 +-
 arch/powerpc/include/asm/nohash/32/pgtable.h                   |   18 +-
 arch/powerpc/include/asm/nohash/64/pgtable.h                   |    1 +
 arch/powerpc/include/asm/nohash/pgtable.h                      |   13 +
 arch/powerpc/include/asm/opal-api.h                            |   45 +-
 arch/powerpc/include/asm/opal.h                                |    7 +-
 arch/powerpc/include/asm/page.h                                |   14 +-
 arch/powerpc/include/asm/page_32.h                             |    4 +
 arch/powerpc/include/asm/pci-bridge.h                          |    1 +
 arch/powerpc/include/asm/pgtable.h                             |   14 +-
 arch/powerpc/include/asm/plpar_wrappers.h                      |    6 +
 arch/powerpc/include/asm/ppc-pci.h                             |    7 +-
 arch/powerpc/include/asm/ppc4xx_ocm.h                          |   31 -
 arch/powerpc/include/asm/ppc_asm.h                             |   80 +-
 arch/powerpc/include/asm/ptrace.h                              |    6 +-
 arch/powerpc/include/asm/reg.h                                 |    3 +
 arch/powerpc/include/asm/scom.h                                |  154 --
 arch/powerpc/include/asm/sections.h                            |   11 -
 arch/powerpc/include/asm/setjmp.h                              |    4 +-
 arch/powerpc/include/asm/spinlock.h                            |   62 +-
 arch/powerpc/include/asm/string.h                              |    2 +
 arch/powerpc/include/asm/svm.h                                 |   31 +
 arch/powerpc/include/asm/time.h                                |    6 +-
 arch/powerpc/include/asm/timex.h                               |   34 +-
 arch/powerpc/include/asm/uaccess.h                             |   14 +
 arch/powerpc/include/asm/ultravisor-api.h                      |   33 +
 arch/powerpc/include/asm/ultravisor.h                          |   49 +
 arch/powerpc/include/asm/xive.h                                |    1 +
 arch/powerpc/kernel/.gitignore                                 |    1 +
 arch/powerpc/kernel/Makefile                                   |   23 +-
 arch/powerpc/kernel/asm-offsets.c                              |    1 +
 arch/powerpc/kernel/cputable.c                                 |    6 +-
 arch/powerpc/kernel/dma-iommu.c                                |   11 +-
 arch/powerpc/kernel/eeh.c                                      |  281 +++-
 arch/powerpc/kernel/eeh_cache.c                                |   37 +-
 arch/powerpc/kernel/eeh_dev.c                                  |    2 +
 arch/powerpc/kernel/eeh_driver.c                               |  280 +++-
 arch/powerpc/kernel/eeh_event.c                                |   34 +-
 arch/powerpc/kernel/eeh_pe.c                                   |  145 +-
 arch/powerpc/kernel/entry_32.S                                 |   40 +-
 arch/powerpc/kernel/entry_64.S                                 |   21 +-
 arch/powerpc/kernel/exceptions-64e.S                           |   22 +-
 arch/powerpc/kernel/exceptions-64s.S                           | 1644 ++++++++++----------
 arch/powerpc/kernel/fadump.c                                   | 1340 +++++++---------
 arch/powerpc/kernel/head_32.S                                  |   55 +-
 arch/powerpc/kernel/head_32.h                                  |   21 +-
 arch/powerpc/kernel/head_64.S                                  |    8 +-
 arch/powerpc/kernel/head_8xx.S                                 |   28 +-
 arch/powerpc/kernel/hw_breakpoint.c                            |   77 +-
 arch/powerpc/kernel/io-workarounds.c                           |   13 +-
 arch/powerpc/kernel/iommu.c                                    |   97 +-
 arch/powerpc/kernel/kvm.c                                      |   58 +-
 arch/powerpc/kernel/kvm_emul.S                                 |   16 +
 arch/powerpc/kernel/machine_kexec_64.c                         |    9 +
 arch/powerpc/kernel/mce.c                                      |   71 +-
 arch/powerpc/kernel/mce_power.c                                |   50 +-
 arch/powerpc/kernel/misc_32.S                                  |   36 +-
 arch/powerpc/kernel/note.S                                     |   40 +
 arch/powerpc/kernel/paca.c                                     |   52 +-
 arch/powerpc/kernel/pci-common.c                               |    4 -
 arch/powerpc/kernel/pci-hotplug.c                              |    7 +
 arch/powerpc/kernel/pci_32.c                                   |    4 +
 arch/powerpc/kernel/pci_64.c                                   |   12 +-
 arch/powerpc/kernel/pci_dn.c                                   |   21 +-
 arch/powerpc/kernel/pci_of_scan.c                              |   66 +-
 arch/powerpc/kernel/process.c                                  |   28 +-
 arch/powerpc/kernel/prom.c                                     |    8 +-
 arch/powerpc/kernel/prom_init.c                                |   98 +-
 arch/powerpc/kernel/rtas.c                                     |   15 +-
 arch/powerpc/kernel/security.c                                 |   19 +-
 arch/powerpc/kernel/setup-common.c                             |    8 +-
 arch/powerpc/kernel/setup_32.c                                 |    2 +-
 arch/powerpc/kernel/stacktrace.c                               |    2 +-
 arch/powerpc/kernel/sysfs.c                                    |   20 +
 arch/powerpc/kernel/trace/ftrace.c                             |    5 +-
 arch/powerpc/kernel/trace/ftrace_32.S                          |    1 +
 arch/powerpc/kernel/trace/ftrace_64_mprofile.S                 |    1 +
 arch/powerpc/kernel/trace/ftrace_64_pg.S                       |    1 +
 arch/powerpc/kernel/traps.c                                    |    1 +
 arch/powerpc/kernel/ucall.S                                    |   14 +
 arch/powerpc/kernel/vdso.c                                     |   22 -
 arch/powerpc/kernel/vdso32/datapage.S                          |    2 +
 arch/powerpc/kernel/vdso32/vdso32.lds.S                        |    4 +-
 arch/powerpc/kvm/book3s_64_vio.c                               |   29 +-
 arch/powerpc/kvm/book3s_64_vio_hv.c                            |   38 +-
 arch/powerpc/kvm/book3s_hv.c                                   |    6 +
 arch/powerpc/kvm/book3s_hv_nested.c                            |    4 +-
 arch/powerpc/kvm/book3s_hv_rmhandlers.S                        |   39 +-
 arch/powerpc/lib/Makefile                                      |    4 +-
 arch/powerpc/lib/locks.c                                       |    6 +-
 arch/powerpc/lib/memcpy_mcsafe_64.S                            |  242 +++
 arch/powerpc/mm/Makefile                                       |    2 +-
 arch/powerpc/mm/book3s32/mmu.c                                 |   60 +-
 arch/powerpc/mm/book3s64/hash_utils.c                          |   88 +-
 arch/powerpc/mm/book3s64/pgtable.c                             |  121 +-
 arch/powerpc/mm/book3s64/radix_pgtable.c                       |   80 +-
 arch/powerpc/mm/book3s64/radix_tlb.c                           |  303 ++--
 arch/powerpc/mm/dma-noncoherent.c                              |  318 +---
 arch/powerpc/mm/ioremap.c                                      |   99 ++
 arch/powerpc/mm/ioremap_32.c                                   |   92 ++
 arch/powerpc/mm/ioremap_64.c                                   |  113 ++
 arch/powerpc/mm/kasan/kasan_init_32.c                          |   23 +-
 arch/powerpc/mm/mem.c                                          |   66 +-
 arch/powerpc/mm/mmu_decl.h                                     |    7 +-
 arch/powerpc/mm/nohash/book3e_hugetlbpage.c                    |   16 +-
 arch/powerpc/mm/nohash/tlb.c                                   |    2 +
 arch/powerpc/mm/pgtable_32.c                                   |  155 +-
 arch/powerpc/mm/pgtable_64.c                                   |  203 +--
 arch/powerpc/mm/ptdump/bats.c                                  |    2 +-
 arch/powerpc/mm/ptdump/hashpagetable.c                         |   24 +-
 arch/powerpc/mm/ptdump/ptdump.c                                |   37 +-
 arch/powerpc/perf/imc-pmu.c                                    |   29 +-
 arch/powerpc/platforms/44x/Kconfig                             |    8 -
 arch/powerpc/platforms/4xx/Makefile                            |    1 -
 arch/powerpc/platforms/4xx/ocm.c                               |  390 -----
 arch/powerpc/platforms/Kconfig                                 |    3 +-
 arch/powerpc/platforms/Kconfig.cputype                         |   16 +-
 arch/powerpc/platforms/cell/iommu.c                            |    2 +-
 arch/powerpc/platforms/pasemi/iommu.c                          |    2 +-
 arch/powerpc/platforms/powernv/Kconfig                         |    5 +-
 arch/powerpc/platforms/powernv/Makefile                        |    6 +-
 arch/powerpc/platforms/powernv/eeh-powernv.c                   |   97 +-
 arch/powerpc/platforms/powernv/idle.c                          |    6 +-
 arch/powerpc/platforms/powernv/npu-dma.c                       |  101 +-
 arch/powerpc/platforms/powernv/opal-call.c                     |    5 +-
 arch/powerpc/platforms/powernv/opal-core.c                     |  636 ++++++++
 arch/powerpc/platforms/powernv/opal-fadump.c                   |  716 +++++++++
 arch/powerpc/platforms/powernv/opal-fadump.h                   |  146 ++
 arch/powerpc/platforms/powernv/opal-imc.c                      |   12 +-
 arch/powerpc/platforms/powernv/opal-msglog.c                   |   57 +-
 arch/powerpc/platforms/powernv/opal-prd.c                      |    8 +-
 arch/powerpc/platforms/powernv/opal-xscom.c                    |  213 ++-
 arch/powerpc/platforms/powernv/opal.c                          |   42 +-
 arch/powerpc/platforms/powernv/pci-ioda-tce.c                  |   38 +-
 arch/powerpc/platforms/powernv/pci-ioda.c                      |   98 +-
 arch/powerpc/platforms/powernv/pci.c                           |    3 +-
 arch/powerpc/platforms/powernv/pci.h                           |    2 +-
 arch/powerpc/platforms/powernv/powernv.h                       |    5 +
 arch/powerpc/platforms/powernv/setup.c                         |    9 +
 arch/powerpc/platforms/powernv/ultravisor.c                    |   69 +
 arch/powerpc/platforms/ps3/spu.c                               |   10 +-
 arch/powerpc/platforms/pseries/Kconfig                         |   14 +
 arch/powerpc/platforms/pseries/Makefile                        |    2 +
 arch/powerpc/platforms/pseries/eeh_pseries.c                   |   68 +-
 arch/powerpc/platforms/pseries/hotplug-memory.c                |   26 +-
 arch/powerpc/platforms/pseries/iommu.c                         |   24 +-
 arch/powerpc/platforms/pseries/lpar.c                          |   20 +-
 arch/powerpc/platforms/pseries/mobility.c                      |    9 +
 arch/powerpc/platforms/pseries/pci.c                           |    3 +-
 arch/powerpc/platforms/pseries/ras.c                           |  460 +++---
 arch/powerpc/platforms/pseries/rtas-fadump.c                   |  550 +++++++
 arch/powerpc/platforms/pseries/rtas-fadump.h                   |  114 ++
 arch/powerpc/platforms/pseries/setup.c                         |   32 +-
 arch/powerpc/platforms/pseries/smp.c                           |    3 +-
 arch/powerpc/platforms/pseries/svm.c                           |   85 +
 arch/powerpc/platforms/pseries/vio.c                           |    2 +-
 arch/powerpc/sysdev/Kconfig                                    |    7 -
 arch/powerpc/sysdev/Makefile                                   |    2 -
 arch/powerpc/sysdev/dart_iommu.c                               |    2 +-
 arch/powerpc/sysdev/scom.c                                     |  223 ---
 arch/powerpc/sysdev/xive/common.c                              |   59 +-
 arch/powerpc/sysdev/xive/native.c                              |   26 +
 arch/powerpc/sysdev/xive/spapr.c                               |   57 +-
 arch/powerpc/sysdev/xive/xive-internal.h                       |    2 +
 arch/powerpc/xmon/xmon.c                                       |   51 +-
 arch/s390/Kconfig                                              |    4 +-
 arch/s390/include/asm/mem_encrypt.h                            |    5 +-
 arch/s390/mm/init.c                                            |    7 +-
 arch/x86/Kconfig                                               |    4 +-
 arch/x86/include/asm/mem_encrypt.h                             |   10 +
 arch/x86/kernel/crash_dump_64.c                                |    5 +
 arch/x86/mm/mem_encrypt.c                                      |    2 -
 drivers/misc/cxl/main.c                                        |    4 +
 drivers/misc/ocxl/main.c                                       |    4 +
 drivers/pci/hotplug/pnv_php.c                                  |   59 +-
 drivers/pci/hotplug/rpaphp_core.c                              |   18 +-
 drivers/vfio/vfio_iommu_spapr_tce.c                            |   18 +-
 fs/proc/vmcore.c                                               |    8 +-
 include/linux/crash_dump.h                                     |   14 +
 include/linux/extable.h                                        |    2 +
 include/linux/mem_encrypt.h                                    |   15 +-
 kernel/dma/mapping.c                                           |    8 -
 kernel/dma/swiotlb.c                                           |    3 +-
 kernel/extable.c                                               |   11 +-
 kernel/trace/fgraph.c                                          |    4 +-
 tools/testing/selftests/powerpc/Makefile                       |    1 +
 tools/testing/selftests/powerpc/copyloops/.gitignore           |    9 +-
 tools/testing/selftests/powerpc/copyloops/Makefile             |    7 +-
 tools/testing/selftests/powerpc/copyloops/asm/export.h         |    1 +
 tools/testing/selftests/powerpc/copyloops/memcpy_mcsafe_64.S   |    1 +
 tools/testing/selftests/powerpc/eeh/Makefile                   |    9 +
 tools/testing/selftests/powerpc/eeh/eeh-basic.sh               |   82 +
 tools/testing/selftests/powerpc/eeh/eeh-functions.sh           |   76 +
 tools/testing/selftests/powerpc/ptrace/.gitignore              |    3 +
 tools/testing/selftests/powerpc/security/.gitignore            |    1 +
 tools/testing/selftests/powerpc/stringloops/.gitignore         |    5 +-
 tools/testing/selftests/powerpc/tm/tm-signal-context-chk-fpu.c |   49 +-
 tools/testing/selftests/powerpc/tm/tm-signal-context-chk-gpr.c |   59 +-
 tools/testing/selftests/powerpc/tm/tm-signal-context-chk-vmx.c |   74 +-
 tools/testing/selftests/powerpc/tm/tm-signal-context-chk-vsx.c |  130 +-
 tools/testing/selftests/powerpc/tm/tm.h                        |    3 +-
 247 files changed, 9742 insertions(+), 5448 deletions(-)
 create mode 100644 Documentation/powerpc/elfnote.rst
 create mode 100644 Documentation/powerpc/ultravisor.rst
 create mode 100644 arch/powerpc/include/asm/elfnote.h
 create mode 100644 arch/powerpc/include/asm/fadump-internal.h
 create mode 100644 arch/powerpc/include/asm/mem_encrypt.h
 delete mode 100644 arch/powerpc/include/asm/ppc4xx_ocm.h
 delete mode 100644 arch/powerpc/include/asm/scom.h
 create mode 100644 arch/powerpc/include/asm/svm.h
 create mode 100644 arch/powerpc/include/asm/ultravisor-api.h
 create mode 100644 arch/powerpc/include/asm/ultravisor.h
 create mode 100644 arch/powerpc/kernel/note.S
 create mode 100644 arch/powerpc/kernel/ucall.S
 create mode 100644 arch/powerpc/lib/memcpy_mcsafe_64.S
 create mode 100644 arch/powerpc/mm/ioremap.c
 create mode 100644 arch/powerpc/mm/ioremap_32.c
 create mode 100644 arch/powerpc/mm/ioremap_64.c
 delete mode 100644 arch/powerpc/platforms/4xx/ocm.c
 create mode 100644 arch/powerpc/platforms/powernv/opal-core.c
 create mode 100644 arch/powerpc/platforms/powernv/opal-fadump.c
 create mode 100644 arch/powerpc/platforms/powernv/opal-fadump.h
 create mode 100644 arch/powerpc/platforms/powernv/ultravisor.c
 create mode 100644 arch/powerpc/platforms/pseries/rtas-fadump.c
 create mode 100644 arch/powerpc/platforms/pseries/rtas-fadump.h
 create mode 100644 arch/powerpc/platforms/pseries/svm.c
 delete mode 100644 arch/powerpc/sysdev/scom.c
 create mode 120000 tools/testing/selftests/powerpc/copyloops/memcpy_mcsafe_64.S
 create mode 100644 tools/testing/selftests/powerpc/eeh/Makefile
 create mode 100755 tools/testing/selftests/powerpc/eeh/eeh-basic.sh
 create mode 100755 tools/testing/selftests/powerpc/eeh/eeh-functions.sh
 create mode 100644 tools/testing/selftests/powerpc/security/.gitignore