[GIT PULL] Please pull powerpc/linux.git powerpc-5.2-1 tag

Michael Ellerman mpe at ellerman.id.au
Fri May 10 22:20:55 AEST 2019


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi Linus,

Please pull powerpc updates for 5.2.

Slightly delayed due to the issue with printk() calling probe_kernel_read()
interacting with our new user access prevention stuff, but all fixed now.

The only out-of-area changes are the addition of a cpuhp_state, small additions
to Documentation and MAINTAINERS updates.

No conflicts that I'm aware of.

cheers


The following changes since commit 79a3aaa7b82e3106be97842dedfd8429248896e6:

  Linux 5.1-rc3 (2019-03-31 14:39:29 -0700)

are available in the git repository at:

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

for you to fetch changes up to 8150a153c013aa2dd1ffae43370b89ac1347a7fb:

  powerpc/64s: Use early_mmu_has_feature() in set_kuap() (2019-05-09 14:28:56 +1000)

- ------------------------------------------------------------------
powerpc updates for 5.2

Highlights:

 - Support for Kernel Userspace Access/Execution Prevention (like
   SMAP/SMEP/PAN/PXN) on some 64-bit and 32-bit CPUs. This prevents the kernel
   from accidentally accessing userspace outside copy_to/from_user(), or
   ever executing userspace.

 - KASAN support on 32-bit.

 - Rework of where we map the kernel, vmalloc, etc. on 64-bit hash to use the
   same address ranges we use with the Radix MMU.

 - A rewrite into C of large parts of our idle handling code for 64-bit Book3S
   (ie. power8 & power9).

 - A fast path entry for syscalls on 32-bit CPUs, for a 12-17% speedup in the
   null_syscall benchmark.

 - On 64-bit bare metal we have support for recovering from errors with the time
   base (our clocksource), however if that fails currently we hang in __delay()
   and never crash. We now have support for detecting that case and short
   circuiting __delay() so we at least panic() and reboot.

 - Add support for optionally enabling the DAWR on Power9, which had to be
   disabled by default due to a hardware erratum. This has the effect of
   enabling hardware breakpoints for GDB, the downside is a badly behaved
   program could crash the machine by pointing the DAWR at cache inhibited
   memory. This is opt-in obviously.

 - xmon, our crash handler, gets support for a read only mode where operations
   that could change memory or otherwise disturb the system are disabled.

Plus many clean-ups, reworks and minor fixes etc.

Thanks to:
  Christophe Leroy, Akshay Adiga, Alastair D'Silva, Alexey Kardashevskiy, Andrew
  Donnellan, Aneesh Kumar K.V, Anju T Sudhakar, Anton Blanchard, Ben Hutchings,
  Bo YU, Breno Leitao, Cédric Le Goater, Christopher M. Riedl, Christoph
  Hellwig, Colin Ian King, David Gibson, Ganesh Goudar, Gautham R. Shenoy,
  George Spelvin, Greg Kroah-Hartman, Greg Kurz, Horia Geantă, Jagadeesh
  Pagadala, Joel Stanley, Joe Perches, Julia Lawall, Laurentiu Tudor, Laurent
  Vivier, Lukas Bulwahn, Madhavan Srinivasan, Mahesh Salgaonkar, Mathieu
  Malaterre, Michael Neuling, Mukesh Ojha, Nathan Fontenot, Nathan Lynch,
  Nicholas Piggin, Nick Desaulniers, Oliver O'Halloran, Peng Hao, Qian Cai, Ravi
  Bangoria, Rick Lindsley, Russell Currey, Sachin Sant, Stewart Smith, Sukadev
  Bhattiprolu, Thomas Huth, Tobin C. Harding, Tyrel Datwyler, Valentin
  Schneider, Wei Yongjun, Wen Yang, YueHaibing.

- ------------------------------------------------------------------
Alastair D'Silva (11):
      ocxl: Rename struct link to ocxl_link
      ocxl: read_pasid never returns an error, so make it void
      ocxl: Remove superfluous 'extern' from headers
      ocxl: Remove some unused exported symbols
      ocxl: Split pci.c
      ocxl: Don't pass pci_dev around
      ocxl: Create a clear delineation between ocxl backend & frontend
      ocxl: Allow external drivers to use OpenCAPI contexts
      ocxl: afu_irq only deals with IRQ IDs, not offsets
      ocxl: move event_fd handling to frontend
      ocxl: Provide global MMIO accessors for external drivers

Alexey Kardashevskiy (1):
      powerpc/powernv/ioda: Handle failures correctly in pnv_pci_ioda_iommu_bypass_supported()

Andrew Donnellan (2):
      powerpc/powernv: Squash sparse warnings in opal-call.c
      MAINTAINERS: Update cxl/ocxl email address

Aneesh Kumar K.V (16):
      powerpc/mm/radix: Don't do SLB preload when using the radix MMU
      powerpc/mm: Fix build error with FLATMEM book3s64 config
      powerpc/mm: Remove PPC_MM_SLICES #ifdef for book3s64
      powerpc/mm: Add helpers for accessing hash translation related variables
      powerpc/mm: Move slb_addr_linit to early_init_mmu
      powerpc/mm: Reduce memory usage for mm_context_t for radix
      powerc/mm/hash: Reduce hash_mm_context size
      powerpc/mm/hash64: Add a variable to track the end of IO mapping
      powerpc/mm/hash64: Map all the kernel regions in the same 0xc range
      powerpc/mm: Validate address values against different region limits
      powerpc/mm: Drop the unnecessary region check
      powerpc/mm/hash: Simplify the region id calculation.
      powerpc/mm: Print kernel map details to dmesg
      powerpc/mm/hash: Rename KERNEL_REGION_ID to LINEAR_MAP_REGION_ID
      powerpc/mm: Fix section mismatch warning
      powerpc/mm/radix: Fix kernel crash when running subpage protect test

Anju T Sudhakar (6):
      powerpc/perf: Return accordingly on invalid chip-id in
      powerpc/perf: Fix loop exit condition in nest_imc_event_init
      powerpc/include: Add data structures and macros for IMC trace mode
      powerpc/perf: Rearrange setting of ldbar for thread-imc
      powerpc/perf: Trace imc events detection and cpuhotplug
      powerpc/perf: Trace imc PMU functions

Anton Blanchard (1):
      powerpc: Add doorbell tracepoints

Ben Hutchings (1):
      powerpc: vdso: Make vdso32 installation conditional in vdso_install

Bo YU (1):
      powerpc/boot: Fix missing check of lseek() return value

Breno Leitao (2):
      powerpc/tm: Avoid machine crash on rt_sigreturn()
      selftests/powerpc: Add a signal fuzzer selftest

Christoph Hellwig (1):
      powerpc: remove the __kernel_io_end export

Christophe Leroy (101):
      powerpc/highmem: Change BUG_ON() to WARN_ON()
      powerpc: Add framework for Kernel Userspace Protection
      powerpc: Add skeleton for Kernel Userspace Execution Prevention
      powerpc: Add a framework for Kernel Userspace Access Protection
      powerpc/32: Remove MSR_PR test when returning from syscall
      powerpc/32: Prepare for Kernel Userspace Access Protection
      powerpc/8xx: Only define APG0 and APG1
      powerpc/8xx: Add Kernel Userspace Execution Prevention
      powerpc/8xx: Add Kernel Userspace Access Protection
      powerpc/32s: Implement Kernel Userspace Execution Prevention.
      powerpc/32s: Prepare Kernel Userspace Access Protection
      powerpc/32s: Implement Kernel Userspace Access Protection
      powerpc/book3e: drop BUG_ON() in map_kernel_page()
      powerpc/nohash64: clean pgtable.h
      powerpc/mm: change #include "mmu_decl.h" to <mm/mmu_decl.h>
      powerpc/mm: Move book3s64 specifics in subdirectory mm/book3s64
      powerpc/mm: Move book3s32 specifics in subdirectory mm/book3s64
      powerpc/mm: Move nohash specifics in subdirectory mm/nohash
      powerpc/mm: fix erroneous duplicate slb_addr_limit init
      powerpc/mm: no slice for nohash/64
      powerpc/mm: hand a context_t over to slice_mask_for_size() instead of mm_struct
      powerpc/mm: move slice_mask_for_size() into mmu.h
      powerpc/mm: get rid of mm_ctx_slice_mask_xxx()
      powerpc/mm: remove unnecessary #ifdef CONFIG_PPC64
      powerpc/mm: remove a couple of #ifdef CONFIG_PPC_64K_PAGES in mm/slice.c
      powerpc/8xx: get rid of #ifdef CONFIG_HUGETLB_PAGE for slices
      powerpc/mm: define get_slice_psize() all the time
      powerpc/mm: define subarch SLB_ADDR_LIMIT_DEFAULT
      powerpc/book3e: drop mmu_get_tsize()
      powerpc/64: only book3s/64 supports CONFIG_PPC_64K_PAGES
      powerpc/book3e: hugetlbpage is only for CONFIG_PPC_FSL_BOOK3E
      powerpc/mm: move __find_linux_pte() out of hugetlbpage.c
      powerpc/mm: make hugetlbpage.c depend on CONFIG_HUGETLB_PAGE
      powerpc/mm: make gup_hugepte() static
      powerpc/mm: split asm/hugetlb.h into dedicated subarch files
      powerpc/mm: add a helper to populate hugepd
      powerpc/mm: cleanup ifdef mess in add_huge_page_size()
      powerpc/mm: move hugetlb_disabled into asm/hugetlb.h
      powerpc/mm: cleanup HPAGE_SHIFT setup
      powerpc/mm: cleanup remaining ifdef mess in hugetlbpage.c
      powerpc/mm: flatten function __find_linux_pte() step 1
      powerpc/mm: flatten function __find_linux_pte() step 2
      powerpc/mm: flatten function __find_linux_pte() step 3
      powerpc/mm: drop __bad_pte()
      powerpc/mm: convert Book3E 64 to pte_fragment
      powerpc/mm: move pgtable_t in asm/mmu.h
      powerpc/mm: get rid of nohash/32/mmu.h and nohash/64/mmu.h
      powerpc/Kconfig: select PPC_MM_SLICES from subarch type
      powerpc/book3e: move early_alloc_pgtable() to init section
      powerpc/mm: don't use pte_alloc_kernel() until slab is available on PPC32
      powerpc/mm: inline pte_alloc_one_kernel() and pte_alloc_one() on PPC32
      powerpc/mm: refactor pte_alloc_one() and pte_free() families definition.
      powerpc/mm: refactor definition of pgtable_cache[]
      powerpc/mm: Only keep one version of pmd_populate() functions on nohash/32
      powerpc/mm: refactor pgtable freeing functions on nohash
      powerpc/mm: refactor pmd_pgtable()
      powerpc/mm: refactor pgd_alloc() and pgd_free() on nohash
      powerpc/32: Move early_init() in a separate file
      powerpc: prepare string/mem functions for KASAN
      powerpc: remove CONFIG_CMDLINE #ifdef mess
      powerpc/prom_init: don't use string functions from lib/
      powerpc: don't use direct assignation during early boot.
      powerpc/32: use memset() instead of memset_io() to zero BSS
      powerpc/32: make KVIRT_TOP dependent on FIXMAP_START
      powerpc/32: prepare shadow area for KASAN
      powerpc: disable KASAN instrumentation on early/critical files.
      powerpc/32: Add KASAN support
      powerpc/32s: move hash code patching out of MMU_init_hw()
      powerpc/32s: set up an early static hash table for KASAN.
      powerpc/32s: map kasan zero shadow with PAGE_READONLY instead of PAGE_KERNEL_RO
      powerpc/32s: drop Hash_end
      powerpc/32s: don't try to print hash table address.
      powerpc/mm: print hash info in a helper
      powerpc/32: Refactor EXCEPTION entry macros for head_8xx.S and head_32.S
      powerpc/32: move LOAD_MSR_KERNEL() into head_32.h and use it
      powerpc/32: make the 6xx/8xx EXC_XFER_TEMPLATE() similar to the 40x/booke one
      powerpc/40x: Don't use SPRN_SPRG_SCRATCH2 in EXCEPTION_PROLOG
      powerpc/40x: add exception frame marker
      powerpc/40x: Split and rename NORMAL_EXCEPTION_PROLOG
      powerpc/40x: Refactor exception entry macros by using head_32.h
      powerpc/fsl_booke: ensure SPEFloatingPointException() reenables interrupts
      powerpc/32: enter syscall with MSR_EE inconditionaly set
      powerpc/32: Enter exceptions with MSR_EE unset
      powerpc/32: get rid of COPY_EE in exception entry
      powerpc: Fix 32-bit handling of MSR_EE on exceptions
      powerpc/32: implement fast entry for syscalls on non BOOKE
      powerpc/32: implement fast entry for syscalls on BOOKE
      powerpc/32: don't do syscall stuff in transfer_to_handler
      powerpc/32: Don't add dummy frames when calling trace_hardirqs_on/off
      powerpc/fadump: define an empty fadump_cleanup()
      powerpc/mm: define an empty mm_iommu_init()
      powerpc/setup: Remove unnecessary #ifdef CONFIG_ALTIVEC
      powerpc/setup: cleanup ifdef mess in check_cache_coherency()
      powerpc/setup: cleanup the #ifdef CONFIG_TAU block
      powerpc/setup: replace ifdefs by IS_ENABLED() wherever possible.
      powerpc/irq: drop __irq_offset_value
      powerpc/prom_init: get rid of PROM_SCRATCH_SIZE
      powerpc/kasan: add missing/lost Makefile
      powerpc/mm: Fix makefile for KASAN
      powerpc/mm: fix redundant inclusion of pgtable-frag.o in Makefile
      powerpc/mm: fix section mismatch for setup_kup()

Christopher M. Riedl (1):
      powerpc/xmon: add read-only mode

Colin Ian King (1):
      powerpc/mm: fix spelling mistake "Outisde" -> "Outside"

Cédric Le Goater (1):
      powerpc/xive: add OPAL extensions for the XIVE native exploitation support

Ganesh Goudar (1):
      powerpc/pseries: hwpoison the pages upon hitting UE

George Spelvin (1):
      powerpc/crypto: Use cheaper random numbers for crc-vpmsum self-test

Horia Geantă (1):
      powerpc/dts/fsl: add crypto node alias for B4

Jagadeesh Pagadala (1):
      powerpc: Remove duplicate headers

Joe Perches (1):
      powerpc/powernv/ioda2: Add __printf format/argument verification

Joel Stanley (2):
      powerpc/configs: Add (back) MLX5 ethernet support to skiroot_defconfig
      Documentation: powerpc: Expand the DAWR acronym

Julia Lawall (1):
      powerpc/83xx: Add missing of_node_put() after of_device_is_available()

Laurent Vivier (1):
      powerpc/mm: move warning from resize_hpt_for_hotplug()

Laurentiu Tudor (1):
      powerpc/booke64: set RI in default MSR

Lukas Bulwahn (1):
      MAINTAINERS: Update remaining @linux.vnet.ibm.com addresses

Madhavan Srinivasan (4):
      powerpc/perf: init pmu from core-book3s
      powerpc/perf: Add generic compat mode pmu driver
      powerpc/perf: Remove PM_BR_CMPL_ALT from power9 event list
      powerpc/perf: Add privileged access check for thread_imc

Mahesh Salgaonkar (5):
      powerpc/pseries/mce: Improve array initialization.
      powerpc/powernv/mce: Reduce MCE console logs to lesser lines.
      powerpc/powernv/mce: Print correct severity for MCE error.
      powerpc/powernv/mce: Print additional information about MCE error.
      powerpc/hmi: Fix kernel hang when TB is in error state.

Mathieu Malaterre (3):
      powerpc/embedded6xx: Make some functions static
      powerpc/embedded6xx: Remove unused functions holly_power_off and holly_halt
      powerpc/64s: Remove 'dummy_copy_buffer'

Michael Ellerman (11):
      Merge branch 'fixes' into next
      powerpc/32: Add ppc_defconfig
      powerpc: Fix defconfig choice logic when cross compiling
      powerpc/mm/64: Document the sizes of/sizes mapped by Pxx_INDEX_SIZE
      powerpc/powernv/idle: Restore AMR/UAMOR/AMOR after idle
      powerpc/64s: Implement KUAP for Radix MMU
      powerpc/mm: Detect bad KUAP faults
      powerpc/powernv/idle: Restore AMR/UAMOR/AMOR/IAMR after idle
      Merge branch 'topic/ppc-kvm' into next
      powerpc/security: Show powerpc_security_features in debugfs
      powerpc/64s: Use early_mmu_has_feature() in set_kuap()

Michael Neuling (1):
      powerpc: Add force enable of DAWR on P9 option

Nathan Fontenot (1):
      powerpc/pseries: Track LMB nid instead of using device tree

Nathan Lynch (2):
      powerpc/numa: improve control of topology updates
      powerpc/numa: document topology_updates_enabled, disable by default

Nicholas Piggin (3):
      powerpc/watchdog: Use hrtimers for per-CPU heartbeat
      powerpc/64s: Reimplement book3s idle code in C
      powerpc/64: Don't trace code that runs with the soft irq mask unreconciled

Nick Desaulniers (1):
      powerpc/vdso: Drop unnecessary cc-ldoption

Qian Cai (3):
      powerpc/mm: Silence unused-but-set-variable warnings
      powerpc/pseries/iommu: Fix set but not used values
      powerpc/pseries/pmem: Fix a set but not used value

Rick Lindsley (1):
      powerpc/book3s/64: check for NULL pointer in pgd_alloc()

Russell Currey (7):
      powerpc/64: Fix booting large kernels with STRICT_KERNEL_RWX
      powerpc/powernv/idle: Restore IAMR after idle
      powerpc/64: Setup KUP on secondary CPUs
      powerpc/mm/radix: Use KUEP API for Radix MMU
      powerpc/lib: Refactor __patch_instruction() to use __put_user_asm()
      powerpc/mm/ptdump: Wrap seq_printf() to handle NULL pointers
      powerpc/mm: Warn if W+X pages found on boot

Sachin Sant (1):
      powerpc/mm: Fix hugetlb page initialization

Sukadev Bhattiprolu (1):
      MAINTAINERS: Remove non-existent VAS file

Thomas Huth (1):
      powerpc/configs: Enable CONFIG_USB_XHCI_HCD by default

Tobin C. Harding (1):
      powerpc/cacheinfo: Fix kobject memleak

Valentin Schneider (1):
      powerpc/entry: Remove unneeded need_resched() loop

Wei Yongjun (1):
      ocxl: Fix return value check in afu_ioctl()

Wen Yang (1):
      powerpc/8xx: Fix possible device node reference leak

YueHaibing (1):
      ocxl: remove set but not used variables 'tid' and 'lpid'


 Documentation/admin-guide/kernel-parameters.txt    |    4 +-
 Documentation/powerpc/DAWR-POWER9.txt              |   40 +-
 MAINTAINERS                                        |   13 +-
 arch/powerpc/Kconfig                               |   10 +-
 arch/powerpc/Kconfig.debug                         |   32 +
 arch/powerpc/Makefile                              |   15 +-
 arch/powerpc/boot/addnote.c                        |    6 +-
 arch/powerpc/boot/dts/fsl/b4qds.dtsi               |    1 +
 arch/powerpc/configs/pseries_defconfig             |    1 +
 arch/powerpc/configs/skiroot_defconfig             |    2 +
 arch/powerpc/crypto/crc-vpmsum_test.c              |   10 +-
 arch/powerpc/include/asm/book3s/32/kup.h           |  145 +++
 arch/powerpc/include/asm/book3s/32/mmu-hash.h      |    9 +-
 arch/powerpc/include/asm/book3s/32/pgalloc.h       |   41 -
 arch/powerpc/include/asm/book3s/32/pgtable.h       |   13 +-
 arch/powerpc/include/asm/book3s/64/hash-4k.h       |   23 +-
 arch/powerpc/include/asm/book3s/64/hash-64k.h      |   21 +-
 arch/powerpc/include/asm/book3s/64/hash.h          |   95 +-
 arch/powerpc/include/asm/book3s/64/hugetlb.h       |   72 ++
 arch/powerpc/include/asm/book3s/64/kup-radix.h     |  108 ++
 arch/powerpc/include/asm/book3s/64/mmu-hash.h      |   70 +-
 arch/powerpc/include/asm/book3s/64/mmu.h           |  104 +-
 arch/powerpc/include/asm/book3s/64/pgalloc.h       |   52 +-
 arch/powerpc/include/asm/book3s/64/pgtable.h       |   12 +-
 arch/powerpc/include/asm/book3s/64/radix-4k.h      |    9 +-
 arch/powerpc/include/asm/book3s/64/radix-64k.h     |    8 +-
 arch/powerpc/include/asm/book3s/64/radix.h         |   40 +-
 arch/powerpc/include/asm/book3s/64/slice.h         |   13 +-
 arch/powerpc/include/asm/cpuidle.h                 |   19 +-
 arch/powerpc/include/asm/drmem.h                   |   21 +
 arch/powerpc/include/asm/exception-64s.h           |    2 +
 arch/powerpc/include/asm/fadump.h                  |    1 +
 arch/powerpc/include/asm/feature-fixups.h          |    3 +
 arch/powerpc/include/asm/fixmap.h                  |    5 +
 arch/powerpc/include/asm/futex.h                   |    4 +
 arch/powerpc/include/asm/hugetlb.h                 |   87 +-
 arch/powerpc/include/asm/hw_breakpoint.h           |    8 +
 arch/powerpc/include/asm/imc-pmu.h                 |   39 +
 arch/powerpc/include/asm/kasan.h                   |   40 +
 arch/powerpc/include/asm/kup.h                     |   73 ++
 arch/powerpc/include/asm/mce.h                     |   97 +-
 arch/powerpc/include/asm/mmu.h                     |   28 +-
 arch/powerpc/include/asm/mmu_context.h             |    7 +-
 arch/powerpc/include/asm/nohash/32/hugetlb-8xx.h   |   44 +
 arch/powerpc/include/asm/nohash/32/kup-8xx.h       |   58 ++
 arch/powerpc/include/asm/nohash/32/mmu-8xx.h       |  102 +-
 arch/powerpc/include/asm/nohash/32/mmu.h           |   25 -
 arch/powerpc/include/asm/nohash/32/pgalloc.h       |  123 +--
 arch/powerpc/include/asm/nohash/32/pgtable.h       |   13 +-
 arch/powerpc/include/asm/nohash/32/slice.h         |    2 +
 arch/powerpc/include/asm/nohash/64/mmu.h           |   12 -
 arch/powerpc/include/asm/nohash/64/pgalloc.h       |  117 +--
 arch/powerpc/include/asm/nohash/64/pgtable.h       |   12 +-
 arch/powerpc/include/asm/nohash/64/slice.h         |   12 -
 arch/powerpc/include/asm/nohash/hugetlb-book3e.h   |   45 +
 arch/powerpc/include/asm/nohash/mmu-book3e.h       |    2 +
 arch/powerpc/include/asm/nohash/mmu.h              |   16 +-
 arch/powerpc/include/asm/nohash/pgalloc.h          |   56 ++
 arch/powerpc/include/asm/nohash/pte-book3e.h       |    5 -
 arch/powerpc/include/asm/opal-api.h                |   18 +-
 arch/powerpc/include/asm/opal.h                    |    9 +
 arch/powerpc/include/asm/paca.h                    |   40 +-
 arch/powerpc/include/asm/page.h                    |   23 +-
 arch/powerpc/include/asm/pgalloc.h                 |   51 +
 arch/powerpc/include/asm/pgtable-be-types.h        |    9 +-
 arch/powerpc/include/asm/pgtable-types.h           |    9 +-
 arch/powerpc/include/asm/pgtable.h                 |    9 +-
 arch/powerpc/include/asm/processor.h               |   12 +-
 arch/powerpc/include/asm/ptrace.h                  |   11 +-
 arch/powerpc/include/asm/reg.h                     |    8 +-
 arch/powerpc/include/asm/reg_booke.h               |    2 +-
 arch/powerpc/include/asm/slice.h                   |    9 +-
 arch/powerpc/include/asm/sparsemem.h               |    4 +-
 arch/powerpc/include/asm/string.h                  |   32 +-
 arch/powerpc/include/asm/task_size_64.h            |    2 +-
 arch/powerpc/include/asm/time.h                    |    2 +
 arch/powerpc/include/asm/trace.h                   |   16 +
 arch/powerpc/include/asm/uaccess.h                 |   38 +-
 arch/powerpc/include/asm/xive.h                    |   14 +
 arch/powerpc/kernel/Makefile                       |   14 +-
 arch/powerpc/kernel/asm-offsets.c                  |   25 +-
 arch/powerpc/kernel/cacheinfo.c                    |   13 +-
 arch/powerpc/kernel/cputable.c                     |   13 +-
 arch/powerpc/kernel/dbell.c                        |    3 +
 arch/powerpc/kernel/early_32.c                     |   36 +
 arch/powerpc/kernel/entry_32.S                     |  186 ++--
 arch/powerpc/kernel/entry_64.S                     |   35 +-
 arch/powerpc/kernel/exceptions-64s.S               |   26 +-
 arch/powerpc/kernel/fadump.c                       |    1 +
 arch/powerpc/kernel/fpu.S                          |    1 +
 arch/powerpc/kernel/head_32.S                      |  258 ++---
 arch/powerpc/kernel/head_32.h                      |  203 ++++
 arch/powerpc/kernel/head_40x.S                     |  155 +--
 arch/powerpc/kernel/head_44x.S                     |   12 +-
 arch/powerpc/kernel/head_64.S                      |    4 +-
 arch/powerpc/kernel/head_8xx.S                     |  136 +--
 arch/powerpc/kernel/head_booke.h                   |  131 ++-
 arch/powerpc/kernel/head_fsl_booke.S               |   32 +-
 arch/powerpc/kernel/hw_breakpoint.c                |   62 +-
 arch/powerpc/kernel/idle_book3s.S                  | 1060 +++-----------------
 arch/powerpc/kernel/irq.c                          |   16 +-
 arch/powerpc/kernel/mce.c                          |  106 +-
 arch/powerpc/kernel/mce_power.c                    |  253 ++---
 arch/powerpc/kernel/paca.c                         |   12 +-
 arch/powerpc/kernel/process.c                      |   35 +-
 arch/powerpc/kernel/prom_init.c                    |  248 +++--
 arch/powerpc/kernel/prom_init_check.sh             |   12 +-
 arch/powerpc/kernel/ptrace.c                       |    3 +-
 arch/powerpc/kernel/security.c                     |    8 +
 arch/powerpc/kernel/setup-common.c                 |  116 +--
 arch/powerpc/kernel/setup_32.c                     |   28 -
 arch/powerpc/kernel/setup_64.c                     |   10 +
 arch/powerpc/kernel/signal_64.c                    |   27 +-
 arch/powerpc/kernel/time.c                         |   10 +-
 arch/powerpc/kernel/traps.c                        |    8 +
 arch/powerpc/kernel/vdso32/Makefile                |    5 +-
 arch/powerpc/kernel/vdso64/Makefile                |    5 +-
 arch/powerpc/kernel/vector.S                       |    1 +
 arch/powerpc/kernel/watchdog.c                     |   81 +-
 arch/powerpc/kvm/book3s_hv.c                       |    3 +-
 arch/powerpc/kvm/book3s_hv_rm_xics.c               |    2 +-
 arch/powerpc/kvm/book3s_hv_rmhandlers.S            |  141 +--
 arch/powerpc/lib/Makefile                          |   19 +-
 arch/powerpc/lib/checksum_wrappers.c               |    4 +
 arch/powerpc/lib/code-patching.c                   |    5 +-
 arch/powerpc/lib/copy_32.S                         |   12 +-
 arch/powerpc/lib/mem_64.S                          |    9 +-
 arch/powerpc/lib/memcpy_64.S                       |    4 +-
 arch/powerpc/mm/Makefile                           |   47 +-
 arch/powerpc/mm/book3s32/Makefile                  |    9 +
 .../mm/{hash_low_32.S => book3s32/hash_low.S}      |    6 +-
 arch/powerpc/mm/{ppc_mmu_32.c => book3s32/mmu.c}   |   76 +-
 .../mmu_context.c}                                 |    0
 arch/powerpc/mm/{tlb_hash32.c => book3s32/tlb.c}   |    2 +-
 arch/powerpc/mm/book3s64/Makefile                  |   24 +
 .../powerpc/mm/{hash64_4k.c => book3s64/hash_4k.c} |    2 +-
 .../mm/{hash64_64k.c => book3s64/hash_64k.c}       |    2 +-
 .../hash_hugepage.c}                               |    2 +-
 .../hash_hugetlbpage.c}                            |   31 +-
 .../{hash_native_64.c => book3s64/hash_native.c}   |    0
 .../{pgtable-hash64.c => book3s64/hash_pgtable.c}  |   15 +-
 .../mm/{tlb_hash64.c => book3s64/hash_tlb.c}       |   18 +-
 .../mm/{hash_utils_64.c => book3s64/hash_utils.c}  |  145 ++-
 .../{mmu_context_iommu.c => book3s64/iommu_api.c}  |    0
 .../mmu_context.c}                                 |   29 +-
 .../mm/{pgtable-book3s64.c => book3s64/pgtable.c}  |    2 +-
 arch/powerpc/mm/{ => book3s64}/pkeys.c             |    1 +
 .../radix_hugetlbpage.c}                           |    0
 .../{pgtable-radix.c => book3s64/radix_pgtable.c}  |  117 ++-
 .../mm/{tlb-radix.c => book3s64/radix_tlb.c}       |    0
 arch/powerpc/mm/{ => book3s64}/slb.c               |   31 +-
 .../mm/{subpage-prot.c => book3s64/subpage_prot.c} |   39 +-
 arch/powerpc/mm/{ => book3s64}/vphn.c              |    6 +-
 arch/powerpc/mm/{ => book3s64}/vphn.h              |    3 +-
 arch/powerpc/mm/copro_fault.c                      |   18 +-
 arch/powerpc/mm/dma-noncoherent.c                  |    2 +-
 arch/powerpc/mm/drmem.c                            |    6 +-
 arch/powerpc/mm/fault.c                            |   49 +-
 arch/powerpc/mm/highmem.c                          |   14 +-
 arch/powerpc/mm/hugetlbpage.c                      |  242 +----
 arch/powerpc/mm/init-common.c                      |   26 +
 arch/powerpc/mm/init_32.c                          |    8 +-
 arch/powerpc/mm/init_64.c                          |    2 +-
 arch/powerpc/mm/kasan/Makefile                     |    5 +
 arch/powerpc/mm/kasan/kasan_init_32.c              |  183 ++++
 arch/powerpc/mm/mem.c                              |   17 +-
 arch/powerpc/mm/mmu_context.c                      |    2 +-
 arch/powerpc/mm/mmu_decl.h                         |    9 +-
 arch/powerpc/mm/{40x_mmu.c => nohash/40x.c}        |    2 +-
 arch/powerpc/mm/{44x_mmu.c => nohash/44x.c}        |    2 +-
 arch/powerpc/mm/{8xx_mmu.c => nohash/8xx.c}        |   26 +-
 arch/powerpc/mm/nohash/Makefile                    |   18 +
 .../book3e_hugetlbpage.c}                          |   52 +-
 .../{pgtable-book3e.c => nohash/book3e_pgtable.c}  |    9 +-
 .../mm/{fsl_booke_mmu.c => nohash/fsl_booke.c}     |    2 +-
 .../{mmu_context_nohash.c => nohash/mmu_context.c} |    2 +-
 arch/powerpc/mm/{tlb_nohash.c => nohash/tlb.c}     |   19 +-
 .../mm/{tlb_nohash_low.S => nohash/tlb_low.S}      |    0
 arch/powerpc/mm/{ => nohash}/tlb_low_64e.S         |   31 -
 arch/powerpc/mm/numa.c                             |   35 +-
 arch/powerpc/mm/pgtable.c                          |  114 +++
 arch/powerpc/mm/pgtable_32.c                       |   47 +-
 arch/powerpc/mm/pgtable_64.c                       |   13 +-
 arch/powerpc/mm/ptdump/hashpagetable.c             |    2 +-
 arch/powerpc/mm/ptdump/ptdump.c                    |   86 +-
 arch/powerpc/mm/slice.c                            |  109 +-
 arch/powerpc/perf/Makefile                         |    3 +-
 arch/powerpc/perf/core-book3s.c                    |   28 +
 arch/powerpc/perf/generic-compat-pmu.c             |  234 +++++
 arch/powerpc/perf/imc-pmu.c                        |  347 ++++++-
 arch/powerpc/perf/internal.h                       |   12 +
 arch/powerpc/perf/power5+-pmu.c                    |    4 +-
 arch/powerpc/perf/power5-pmu.c                     |    4 +-
 arch/powerpc/perf/power6-pmu.c                     |    4 +-
 arch/powerpc/perf/power7-pmu.c                     |    4 +-
 arch/powerpc/perf/power8-pmu.c                     |    3 +-
 arch/powerpc/perf/power9-events-list.h             |    2 -
 arch/powerpc/perf/power9-pmu.c                     |    3 +-
 arch/powerpc/perf/ppc970-pmu.c                     |    4 +-
 arch/powerpc/platforms/83xx/usb.c                  |    4 +-
 arch/powerpc/platforms/8xx/pic.c                   |    3 +-
 arch/powerpc/platforms/Kconfig.cputype             |   45 +-
 arch/powerpc/platforms/cell/spu_base.c             |    4 +-
 arch/powerpc/platforms/embedded6xx/holly.c         |   19 +-
 arch/powerpc/platforms/powermac/Makefile           |    6 +
 arch/powerpc/platforms/powernv/idle.c              |  902 +++++++++++++----
 arch/powerpc/platforms/powernv/opal-call.c         |    6 +
 arch/powerpc/platforms/powernv/opal-imc.c          |    5 +-
 arch/powerpc/platforms/powernv/opal.c              |   23 +-
 arch/powerpc/platforms/powernv/pci-ioda.c          |   35 +-
 arch/powerpc/platforms/powernv/pci.h               |    2 +
 arch/powerpc/platforms/powernv/setup.c             |    5 +-
 arch/powerpc/platforms/powernv/subcore.c           |    2 +-
 arch/powerpc/platforms/pseries/hotplug-memory.c    |   17 +-
 arch/powerpc/platforms/pseries/iommu.c             |   13 +-
 arch/powerpc/platforms/pseries/lpar.c              |    3 +-
 arch/powerpc/platforms/pseries/pmem.c              |    3 +-
 arch/powerpc/platforms/pseries/ras.c               |  135 ++-
 arch/powerpc/purgatory/Makefile                    |    3 +
 arch/powerpc/sysdev/xive/native.c                  |   99 ++
 arch/powerpc/xmon/Makefile                         |    1 +
 arch/powerpc/xmon/xmon.c                           |   66 +-
 drivers/misc/cxl/fault.c                           |    2 +-
 drivers/misc/ocxl/Makefile                         |    3 +-
 drivers/misc/ocxl/afu_irq.c                        |  102 +-
 drivers/misc/ocxl/config.c                         |   13 +-
 drivers/misc/ocxl/context.c                        |   31 +-
 drivers/misc/ocxl/core.c                           |  574 +++++++++++
 drivers/misc/ocxl/file.c                           |  182 +++-
 drivers/misc/ocxl/link.c                           |   42 +-
 drivers/misc/ocxl/mmio.c                           |  234 +++++
 drivers/misc/ocxl/ocxl_internal.h                  |   94 +-
 drivers/misc/ocxl/pci.c                            |  565 +----------
 drivers/misc/ocxl/sysfs.c                          |   54 +-
 drivers/misc/ocxl/trace.h                          |   12 +-
 include/linux/cpuhotplug.h                         |    1 +
 include/misc/ocxl.h                                |  359 ++++++-
 .../selftests/powerpc/copyloops/asm/export.h       |    1 +
 .../selftests/powerpc/copyloops/asm/kasan.h        |    0
 .../selftests/powerpc/copyloops/asm/ppc_asm.h      |    1 +
 tools/testing/selftests/powerpc/harness.c          |    6 +-
 tools/testing/selftests/powerpc/include/reg.h      |    2 +
 tools/testing/selftests/powerpc/signal/.gitignore  |    1 +
 tools/testing/selftests/powerpc/signal/Makefile    |    3 +-
 tools/testing/selftests/powerpc/signal/sigfuz.c    |  325 ++++++
 tools/testing/selftests/powerpc/vphn/vphn.c        |    2 +-
 tools/testing/selftests/powerpc/vphn/vphn.h        |    2 +-
 247 files changed, 7819 insertions(+), 4558 deletions(-)
 create mode 100644 arch/powerpc/include/asm/book3s/32/kup.h
 create mode 100644 arch/powerpc/include/asm/book3s/64/kup-radix.h
 create mode 100644 arch/powerpc/include/asm/kasan.h
 create mode 100644 arch/powerpc/include/asm/kup.h
 create mode 100644 arch/powerpc/include/asm/nohash/32/hugetlb-8xx.h
 create mode 100644 arch/powerpc/include/asm/nohash/32/kup-8xx.h
 delete mode 100644 arch/powerpc/include/asm/nohash/32/mmu.h
 delete mode 100644 arch/powerpc/include/asm/nohash/64/mmu.h
 delete mode 100644 arch/powerpc/include/asm/nohash/64/slice.h
 create mode 100644 arch/powerpc/include/asm/nohash/hugetlb-book3e.h
 create mode 100644 arch/powerpc/kernel/early_32.c
 create mode 100644 arch/powerpc/kernel/head_32.h
 create mode 100644 arch/powerpc/mm/book3s32/Makefile
 rename arch/powerpc/mm/{hash_low_32.S => book3s32/hash_low.S} (99%)
 rename arch/powerpc/mm/{ppc_mmu_32.c => book3s32/mmu.c} (86%)
 rename arch/powerpc/mm/{mmu_context_hash32.c => book3s32/mmu_context.c} (100%)
 rename arch/powerpc/mm/{tlb_hash32.c => book3s32/tlb.c} (99%)
 create mode 100644 arch/powerpc/mm/book3s64/Makefile
 rename arch/powerpc/mm/{hash64_4k.c => book3s64/hash_4k.c} (98%)
 rename arch/powerpc/mm/{hash64_64k.c => book3s64/hash_64k.c} (99%)
 rename arch/powerpc/mm/{hugepage-hash64.c => book3s64/hash_hugepage.c} (98%)
 rename arch/powerpc/mm/{hugetlbpage-hash64.c => book3s64/hash_hugetlbpage.c} (84%)
 rename arch/powerpc/mm/{hash_native_64.c => book3s64/hash_native.c} (100%)
 rename arch/powerpc/mm/{pgtable-hash64.c => book3s64/hash_pgtable.c} (97%)
 rename arch/powerpc/mm/{tlb_hash64.c => book3s64/hash_tlb.c} (95%)
 rename arch/powerpc/mm/{hash_utils_64.c => book3s64/hash_utils.c} (94%)
 rename arch/powerpc/mm/{mmu_context_iommu.c => book3s64/iommu_api.c} (100%)
 rename arch/powerpc/mm/{mmu_context_book3s64.c => book3s64/mmu_context.c} (86%)
 rename arch/powerpc/mm/{pgtable-book3s64.c => book3s64/pgtable.c} (99%)
 rename arch/powerpc/mm/{ => book3s64}/pkeys.c (99%)
 rename arch/powerpc/mm/{hugetlbpage-radix.c => book3s64/radix_hugetlbpage.c} (100%)
 rename arch/powerpc/mm/{pgtable-radix.c => book3s64/radix_pgtable.c} (93%)
 rename arch/powerpc/mm/{tlb-radix.c => book3s64/radix_tlb.c} (100%)
 rename arch/powerpc/mm/{ => book3s64}/slb.c (97%)
 rename arch/powerpc/mm/{subpage-prot.c => book3s64/subpage_prot.c} (91%)
 rename arch/powerpc/mm/{ => book3s64}/vphn.c (94%)
 rename arch/powerpc/mm/{ => book3s64}/vphn.h (98%)
 create mode 100644 arch/powerpc/mm/kasan/Makefile
 create mode 100644 arch/powerpc/mm/kasan/kasan_init_32.c
 rename arch/powerpc/mm/{40x_mmu.c => nohash/40x.c} (99%)
 rename arch/powerpc/mm/{44x_mmu.c => nohash/44x.c} (99%)
 rename arch/powerpc/mm/{8xx_mmu.c => nohash/8xx.c} (92%)
 create mode 100644 arch/powerpc/mm/nohash/Makefile
 rename arch/powerpc/mm/{hugetlbpage-book3e.c => nohash/book3e_hugetlbpage.c} (93%)
 rename arch/powerpc/mm/{pgtable-book3e.c => nohash/book3e_pgtable.c} (93%)
 rename arch/powerpc/mm/{fsl_booke_mmu.c => nohash/fsl_booke.c} (99%)
 rename arch/powerpc/mm/{mmu_context_nohash.c => nohash/mmu_context.c} (99%)
 rename arch/powerpc/mm/{tlb_nohash.c => nohash/tlb.c} (98%)
 rename arch/powerpc/mm/{tlb_nohash_low.S => nohash/tlb_low.S} (100%)
 rename arch/powerpc/mm/{ => nohash}/tlb_low_64e.S (97%)
 create mode 100644 arch/powerpc/perf/generic-compat-pmu.c
 create mode 100644 arch/powerpc/perf/internal.h
 create mode 100644 drivers/misc/ocxl/core.c
 create mode 100644 drivers/misc/ocxl/mmio.c
 create mode 100644 tools/testing/selftests/powerpc/copyloops/asm/kasan.h
 create mode 100644 tools/testing/selftests/powerpc/signal/sigfuz.c
-----BEGIN PGP SIGNATURE-----

iQIcBAEBAgAGBQJc1WwkAAoJEFHr6jzI4aWANQgP/2RYeiPkwLHLaSzLug+hfKC9
lT0SdKT4nMcxZaT74FpYLpKihu5WaWO4Cye2UMNTZGR5ZeX7sOtTJJtGB9cHBs8s
/nXFunaaDI0R8qU73rRWezDGJ2iqQAfZb5eUIMByENM/paD7AIyeQjpC2ZLHJCVM
f4Yts/1dp7kdqiIZ0DOmeS1fqUSC6pRTZmZK34e5ALGuUUal7QIdQ406yjxszndW
cM09rS92skIXveHtABKvMetpezFt78aAv8Gq7OhJyR8ffos2/f7rXLi9F1Flg1o3
nQwtTy+SukTYqdYOukdVVJeRcHKnKyY0YyCj/5sVmLw9DFhLCzYdeSanSxT+O3zh
U/gXuH1AYL8dcKgOD9iEhzjISyeM5VXLxjaT7jAaltoVz/KXIDYLuWjVAjpwvLyv
ZFyGmDLQkvg2uoiaamdPBlTavx6x7PpoUyYuMxdznK4zkAB9be9Y5sG8bVlh0qeV
DsCiiecRbXt8Xp48rIfO483B7xaH2DKvFOnXR4AnWFFe+oUlpjnbELmJUryMxvmz
4Yv9sAgLl/6BGTe57HXAKGtzUUnRJXivnrelWrEz/jDk2x9vCgDfG4QFQNXt/acT
tATwAJWAMUklVXC6FwSjC7m344jzkGBeImINAX9rydwscljUgEgBX9dI4BMaJQij
XXnj5AMLik9Ka4i0i/jN
=cuou
-----END PGP SIGNATURE-----


More information about the Linuxppc-dev mailing list