Merge tag 'powerpc-5.3-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc...
authorLinus Torvalds <torvalds@linux-foundation.org>
Sat, 13 Jul 2019 23:08:36 +0000 (16:08 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sat, 13 Jul 2019 23:08:36 +0000 (16:08 -0700)
Pull powerpc updates from Michael Ellerman:
 "Notable changes:

   - Removal of the NPU DMA code, used by the out-of-tree Nvidia driver,
     as well as some other functions only used by drivers that haven't
     (yet?) made it upstream.

   - A fix for a bug in our handling of hardware watchpoints (eg. perf
     record -e mem: ...) which could lead to register corruption and
     kernel crashes.

   - Enable HAVE_ARCH_HUGE_VMAP, which allows us to use large pages for
     vmalloc when using the Radix MMU.

   - A large but incremental rewrite of our exception handling code to
     use gas macros rather than multiple levels of nested CPP macros.

  And the usual small fixes, cleanups and improvements.

  Thanks to: Alastair D'Silva, Alexey Kardashevskiy, Andreas Schwab,
  Aneesh Kumar K.V, Anju T Sudhakar, Anton Blanchard, Arnd Bergmann,
  Athira Rajeev, Cédric Le Goater, Christian Lamparter, Christophe
  Leroy, Christophe Lombard, Christoph Hellwig, Daniel Axtens, Denis
  Efremov, Enrico Weigelt, Frederic Barrat, Gautham R. Shenoy, Geert
  Uytterhoeven, Geliang Tang, Gen Zhang, Greg Kroah-Hartman, Greg Kurz,
  Gustavo Romero, Krzysztof Kozlowski, Madhavan Srinivasan, Masahiro
  Yamada, Mathieu Malaterre, Michael Neuling, Nathan Lynch, Naveen N.
  Rao, Nicholas Piggin, Nishad Kamdar, Oliver O'Halloran, Qian Cai, Ravi
  Bangoria, Sachin Sant, Sam Bobroff, Satheesh Rajendran, Segher
  Boessenkool, Shaokun Zhang, Shawn Anastasio, Stewart Smith, Suraj
  Jitindar Singh, Thiago Jung Bauermann, YueHaibing"

* tag 'powerpc-5.3-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux: (163 commits)
  powerpc/powernv/idle: Fix restore of SPRN_LDBAR for POWER9 stop state.
  powerpc/eeh: Handle hugepages in ioremap space
  ocxl: Update for AFU descriptor template version 1.1
  powerpc/boot: pass CONFIG options in a simpler and more robust way
  powerpc/boot: add {get, put}_unaligned_be32 to xz_config.h
  powerpc/irq: Don't WARN continuously in arch_local_irq_restore()
  powerpc/module64: Use symbolic instructions names.
  powerpc/module32: Use symbolic instructions names.
  powerpc: Move PPC_HA() PPC_HI() and PPC_LO() to ppc-opcode.h
  powerpc/module64: Fix comment in R_PPC64_ENTRY handling
  powerpc/boot: Add lzo support for uImage
  powerpc/boot: Add lzma support for uImage
  powerpc/boot: don't force gzipped uImage
  powerpc/8xx: Add microcode patch to move SMC parameter RAM.
  powerpc/8xx: Use IO accessors in microcode programming.
  powerpc/8xx: replace #ifdefs by IS_ENABLED() in microcode.c
  powerpc/8xx: refactor programming of microcode CPM params.
  powerpc/8xx: refactor printing of microcode patch name.
  powerpc/8xx: Refactor microcode write
  powerpc/8xx: refactor writing of CPM microcode arrays
  ...

79 files changed:
1  2 
Documentation/admin-guide/kernel-parameters.txt
arch/powerpc/Kconfig
arch/powerpc/boot/wrapper
arch/powerpc/configs/ppc6xx_defconfig
arch/powerpc/include/asm/cacheflush.h
arch/powerpc/include/asm/exception-64s.h
arch/powerpc/include/asm/hw_breakpoint.h
arch/powerpc/include/asm/iommu.h
arch/powerpc/include/asm/lppaca.h
arch/powerpc/include/asm/opal-api.h
arch/powerpc/include/asm/opal.h
arch/powerpc/include/asm/paca.h
arch/powerpc/include/asm/pgtable.h
arch/powerpc/include/asm/pnv-pci.h
arch/powerpc/include/asm/powernv.h
arch/powerpc/include/asm/ppc-opcode.h
arch/powerpc/include/asm/ps3stor.h
arch/powerpc/include/asm/vas.h
arch/powerpc/kernel/asm-offsets.c
arch/powerpc/kernel/cacheinfo.c
arch/powerpc/kernel/eeh.c
arch/powerpc/kernel/eeh_cache.c
arch/powerpc/kernel/head_64.S
arch/powerpc/kernel/hw_breakpoint.c
arch/powerpc/kernel/irq.c
arch/powerpc/kernel/mce_power.c
arch/powerpc/kernel/misc_64.S
arch/powerpc/kernel/module_32.c
arch/powerpc/kernel/module_64.c
arch/powerpc/kernel/pci_of_scan.c
arch/powerpc/kernel/process.c
arch/powerpc/kernel/prom_init.c
arch/powerpc/kernel/rtas.c
arch/powerpc/kvm/book3s_64_mmu_radix.c
arch/powerpc/kvm/book3s_hv.c
arch/powerpc/kvm/book3s_hv_builtin.c
arch/powerpc/kvm/book3s_hv_tm.c
arch/powerpc/lib/ldstfp.S
arch/powerpc/lib/pmem.c
arch/powerpc/mm/book3s64/hash_native.c
arch/powerpc/mm/book3s64/hash_utils.c
arch/powerpc/mm/book3s64/mmu_context.c
arch/powerpc/mm/book3s64/pgtable.c
arch/powerpc/mm/book3s64/radix_pgtable.c
arch/powerpc/mm/book3s64/radix_tlb.c
arch/powerpc/mm/hugetlbpage.c
arch/powerpc/mm/init_64.c
arch/powerpc/mm/mem.c
arch/powerpc/mm/numa.c
arch/powerpc/mm/pgtable.c
arch/powerpc/mm/pgtable_32.c
arch/powerpc/mm/pgtable_64.c
arch/powerpc/mm/ptdump/ptdump.c
arch/powerpc/perf/hv-24x7.c
arch/powerpc/platforms/4xx/uic.c
arch/powerpc/platforms/cell/spufs/file.c
arch/powerpc/platforms/powermac/sleep.S
arch/powerpc/platforms/powernv/eeh-powernv.c
arch/powerpc/platforms/powernv/idle.c
arch/powerpc/platforms/powernv/npu-dma.c
arch/powerpc/platforms/powernv/opal.c
arch/powerpc/platforms/powernv/pci-ioda.c
arch/powerpc/platforms/powernv/pci.c
arch/powerpc/platforms/powernv/vas-window.c
arch/powerpc/platforms/powernv/vas.h
arch/powerpc/platforms/pseries/dlpar.c
arch/powerpc/platforms/pseries/dtl.c
arch/powerpc/platforms/pseries/hotplug-memory.c
arch/powerpc/platforms/pseries/hvconsole.c
arch/powerpc/platforms/pseries/lpar.c
arch/powerpc/platforms/pseries/mobility.c
arch/powerpc/platforms/pseries/setup.c
arch/powerpc/platforms/pseries/vio.c
arch/powerpc/sysdev/dart_iommu.c
arch/powerpc/sysdev/xive/spapr.c
arch/powerpc/xmon/xmon.c
drivers/macintosh/smu.c
scripts/recordmcount.h
tools/testing/selftests/powerpc/tm/tm-vmxcopy.c

Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
@@@ -140,20 -140,30 +140,44 @@@ static inline void pte_frag_set(mm_cont
  }
  #endif
  
+ #ifndef pmd_is_leaf
+ #define pmd_is_leaf pmd_is_leaf
+ static inline bool pmd_is_leaf(pmd_t pmd)
+ {
+       return false;
+ }
+ #endif
+ #ifndef pud_is_leaf
+ #define pud_is_leaf pud_is_leaf
+ static inline bool pud_is_leaf(pud_t pud)
+ {
+       return false;
+ }
+ #endif
+ #ifndef pgd_is_leaf
+ #define pgd_is_leaf pgd_is_leaf
+ static inline bool pgd_is_leaf(pgd_t pgd)
+ {
+       return false;
+ }
+ #endif
 +#ifdef CONFIG_PPC64
 +#define is_ioremap_addr is_ioremap_addr
 +static inline bool is_ioremap_addr(const void *x)
 +{
 +#ifdef CONFIG_MMU
 +      unsigned long addr = (unsigned long)x;
 +
 +      return addr >= IOREMAP_BASE && addr < IOREMAP_END;
 +#else
 +      return false;
 +#endif
 +}
 +#endif /* CONFIG_PPC64 */
 +
  #endif /* __ASSEMBLY__ */
  
  #endif /* _ASM_POWERPC_PGTABLE_H */
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
@@@ -1,10 -1,12 +1,8 @@@
 +// SPDX-License-Identifier: GPL-2.0-or-later
  /*
-  * The file intends to implement the platform dependent EEH operations on
-  * powernv platform. Actually, the powernv was created in order to fully
-  * hypervisor support.
+  * PowerNV Platform dependent EEH operations
   *
   * Copyright Benjamin Herrenschmidt & Gavin Shan, IBM Corporation 2013.
 - *
 - * This program is free software; you can redistribute it and/or modify
 - * it under the terms of the GNU General Public License as published by
 - * the Free Software Foundation; either version 2 of the License, or
 - * (at your option) any later version.
   */
  
  #include <linux/atomic.h>
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
@@@ -4,8 -3,13 +4,9 @@@
   *
   * Copyright (C) 2010 Nathan Fontenot
   * Copyright (C) 2010 IBM Corporation
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License version
 - * 2 as published by the Free Software Foundation.
   */
  
+ #include <linux/cpu.h>
  #include <linux/kernel.h>
  #include <linux/kobject.h>
  #include <linux/smp.h>
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge