Merge tag 'powerpc-4.11-2' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc...
authorLinus Torvalds <torvalds@linux-foundation.org>
Wed, 1 Mar 2017 18:10:16 +0000 (10:10 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 1 Mar 2017 18:10:16 +0000 (10:10 -0800)
Pull more powerpc updates from Michael Ellerman:
 "Highlights include:

   - an update of the disassembly code used by xmon to the latest
     versions in binutils. We've received permission from all the
     authors of the relevant binutils changes to relicense their changes
     to the relevant files from GPLv3 to GPLv2, for inclusion in Linux.
     Thanks to Peter Bergner for doing the leg work to get permission
     from everyone.

   - addition of the "architected" Power9 CPU table entry, allowing us
     to boot in Power9 architected mode under a hypervisor.

   - updates to the Power9 PMU code.

   - implementation of clear_bit_unlock_is_negative_byte() to optimise
     unlock_page().

   - Freescale updates from Scott: "Highlights include 8xx breakpoints
     and perf, t1042rdb display support, and board updates."

  Thanks to:
    Al Viro, Andrew Donnellan, Aneesh Kumar K.V, Balbir Singh, Douglas
    Miller, Frédéric Weisbecker, Gavin Shan, Madhavan Srinivasan,
    Michael Roth, Nathan Fontenot, Naveen N. Rao, Nicholas Piggin, Peter
    Bergner, Paul E. McKenney, Rashmica Gupta, Russell Currey, Sahil
    Mehta, Stewart Smith"

* tag 'powerpc-4.11-2' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux: (48 commits)
  powerpc: Remove leftover cputime_to_nsecs call causing build error
  powerpc/mm/hash: Always clear UPRT and Host Radix bits when setting up CPU
  powerpc/optprobes: Fix TOC handling in optprobes trampoline
  powerpc/pseries: Advertise Hot Plug Event support to firmware
  cxl: fix nested locking hang during EEH hotplug
  powerpc/xmon: Dump memory in CPU endian format
  powerpc/pseries: Revert 'Auto-online hotplugged memory'
  powerpc/powernv: Make PCI non-optional
  powerpc/64: Implement clear_bit_unlock_is_negative_byte()
  powerpc/powernv: Remove unused variable in pnv_pci_sriov_disable()
  powerpc/kernel: Remove error message in pcibios_setup_phb_resources()
  powerpc/mm: Fix typo in set_pte_at()
  pci/hotplug/pnv-php: Disable MSI and PCI device properly
  pci/hotplug/pnv-php: Disable surprise hotplug capability on conflicts
  pci/hotplug/pnv-php: Remove WARN_ON() in pnv_php_put_slot()
  powerpc: Add POWER9 architected mode to cputable
  powerpc/perf: use is_kernel_addr macro in perf_get_misc_flags()
  powerpc/perf: Avoid FAB_*_MATCH checks for power9
  powerpc/perf: Add restrictions to PMC5 in power9 DD1
  powerpc/perf: Use Instruction Counter value
  ...

14 files changed:
1  2 
MAINTAINERS
arch/powerpc/Kconfig
arch/powerpc/include/asm/reg.h
arch/powerpc/kernel/asm-offsets.c
arch/powerpc/kernel/entry_32.S
arch/powerpc/kernel/pci-common.c
arch/powerpc/kernel/process.c
arch/powerpc/kernel/prom_init.c
arch/powerpc/kernel/time.c
arch/powerpc/platforms/cell/spufs/file.c
arch/powerpc/platforms/powernv/pci-ioda.c
arch/powerpc/xmon/ppc-opc.c
arch/powerpc/xmon/xmon.c
drivers/pci/hotplug/pnv_php.c

diff --cc MAINTAINERS
Simple merge
Simple merge
Simple merge
index f25239b3a06f4934a6d2e0e448680a3dfe329e87,b6709021fee55bec3ae4ae8620b1a47abcbc3adb..4367e7df51a18567af06a86aab714ed0dda79211
@@@ -88,39 -91,42 +91,39 @@@ int main(void
  #endif /* CONFIG_PPC64 */
  
  #ifdef CONFIG_LIVEPATCH
-       DEFINE(TI_livepatch_sp, offsetof(struct thread_info, livepatch_sp));
+       OFFSET(TI_livepatch_sp, thread_info, livepatch_sp);
  #endif
  
-       DEFINE(KSP, offsetof(struct thread_struct, ksp));
-       DEFINE(PT_REGS, offsetof(struct thread_struct, regs));
 -#ifdef CONFIG_CC_STACKPROTECTOR
 -      DEFINE(TSK_STACK_CANARY, offsetof(struct task_struct, stack_canary));
 -#endif
+       OFFSET(KSP, thread_struct, ksp);
+       OFFSET(PT_REGS, thread_struct, regs);
  #ifdef CONFIG_BOOKE
-       DEFINE(THREAD_NORMSAVES, offsetof(struct thread_struct, normsave[0]));
+       OFFSET(THREAD_NORMSAVES, thread_struct, normsave[0]);
  #endif
-       DEFINE(THREAD_FPEXC_MODE, offsetof(struct thread_struct, fpexc_mode));
-       DEFINE(THREAD_FPSTATE, offsetof(struct thread_struct, fp_state));
-       DEFINE(THREAD_FPSAVEAREA, offsetof(struct thread_struct, fp_save_area));
-       DEFINE(FPSTATE_FPSCR, offsetof(struct thread_fp_state, fpscr));
-       DEFINE(THREAD_LOAD_FP, offsetof(struct thread_struct, load_fp));
+       OFFSET(THREAD_FPEXC_MODE, thread_struct, fpexc_mode);
+       OFFSET(THREAD_FPSTATE, thread_struct, fp_state);
+       OFFSET(THREAD_FPSAVEAREA, thread_struct, fp_save_area);
+       OFFSET(FPSTATE_FPSCR, thread_fp_state, fpscr);
+       OFFSET(THREAD_LOAD_FP, thread_struct, load_fp);
  #ifdef CONFIG_ALTIVEC
-       DEFINE(THREAD_VRSTATE, offsetof(struct thread_struct, vr_state));
-       DEFINE(THREAD_VRSAVEAREA, offsetof(struct thread_struct, vr_save_area));
-       DEFINE(THREAD_VRSAVE, offsetof(struct thread_struct, vrsave));
-       DEFINE(THREAD_USED_VR, offsetof(struct thread_struct, used_vr));
-       DEFINE(VRSTATE_VSCR, offsetof(struct thread_vr_state, vscr));
-       DEFINE(THREAD_LOAD_VEC, offsetof(struct thread_struct, load_vec));
+       OFFSET(THREAD_VRSTATE, thread_struct, vr_state);
+       OFFSET(THREAD_VRSAVEAREA, thread_struct, vr_save_area);
+       OFFSET(THREAD_VRSAVE, thread_struct, vrsave);
+       OFFSET(THREAD_USED_VR, thread_struct, used_vr);
+       OFFSET(VRSTATE_VSCR, thread_vr_state, vscr);
+       OFFSET(THREAD_LOAD_VEC, thread_struct, load_vec);
  #endif /* CONFIG_ALTIVEC */
  #ifdef CONFIG_VSX
-       DEFINE(THREAD_USED_VSR, offsetof(struct thread_struct, used_vsr));
+       OFFSET(THREAD_USED_VSR, thread_struct, used_vsr);
  #endif /* CONFIG_VSX */
  #ifdef CONFIG_PPC64
-       DEFINE(KSP_VSID, offsetof(struct thread_struct, ksp_vsid));
+       OFFSET(KSP_VSID, thread_struct, ksp_vsid);
  #else /* CONFIG_PPC64 */
-       DEFINE(PGDIR, offsetof(struct thread_struct, pgdir));
+       OFFSET(PGDIR, thread_struct, pgdir);
  #ifdef CONFIG_SPE
-       DEFINE(THREAD_EVR0, offsetof(struct thread_struct, evr[0]));
-       DEFINE(THREAD_ACC, offsetof(struct thread_struct, acc));
-       DEFINE(THREAD_SPEFSCR, offsetof(struct thread_struct, spefscr));
-       DEFINE(THREAD_USED_SPE, offsetof(struct thread_struct, used_spe));
+       OFFSET(THREAD_EVR0, thread_struct, evr[0]);
+       OFFSET(THREAD_ACC, thread_struct, acc);
+       OFFSET(THREAD_SPEFSCR, thread_struct, spefscr);
+       OFFSET(THREAD_USED_SPE, thread_struct, used_spe);
  #endif /* CONFIG_SPE */
  #endif /* CONFIG_PPC64 */
  #if defined(CONFIG_4xx) || defined(CONFIG_BOOKE)
  #endif /* CONFIG_PPC_BOOK3E */
  
  #ifdef CONFIG_PPC_STD_MMU_64
-       DEFINE(PACASLBCACHE, offsetof(struct paca_struct, slb_cache));
-       DEFINE(PACASLBCACHEPTR, offsetof(struct paca_struct, slb_cache_ptr));
-       DEFINE(PACAVMALLOCSLLP, offsetof(struct paca_struct, vmalloc_sllp));
+       OFFSET(PACASLBCACHE, paca_struct, slb_cache);
+       OFFSET(PACASLBCACHEPTR, paca_struct, slb_cache_ptr);
+       OFFSET(PACAVMALLOCSLLP, paca_struct, vmalloc_sllp);
  #ifdef CONFIG_PPC_MM_SLICES
-       DEFINE(MMUPSIZESLLP, offsetof(struct mmu_psize_def, sllp));
+       OFFSET(MMUPSIZESLLP, mmu_psize_def, sllp);
  #else
-       DEFINE(PACACONTEXTSLLP, offsetof(struct paca_struct, mm_ctx_sllp));
+       OFFSET(PACACONTEXTSLLP, paca_struct, mm_ctx_sllp);
  #endif /* CONFIG_PPC_MM_SLICES */
-       DEFINE(PACA_EXGEN, offsetof(struct paca_struct, exgen));
-       DEFINE(PACA_EXMC, offsetof(struct paca_struct, exmc));
-       DEFINE(PACA_EXSLB, offsetof(struct paca_struct, exslb));
-       DEFINE(PACALPPACAPTR, offsetof(struct paca_struct, lppaca_ptr));
-       DEFINE(PACA_SLBSHADOWPTR, offsetof(struct paca_struct, slb_shadow_ptr));
-       DEFINE(SLBSHADOW_STACKVSID,
-              offsetof(struct slb_shadow, save_area[SLB_NUM_BOLTED - 1].vsid));
-       DEFINE(SLBSHADOW_STACKESID,
-              offsetof(struct slb_shadow, save_area[SLB_NUM_BOLTED - 1].esid));
-       DEFINE(SLBSHADOW_SAVEAREA, offsetof(struct slb_shadow, save_area));
-       DEFINE(LPPACA_PMCINUSE, offsetof(struct lppaca, pmcregs_in_use));
-       DEFINE(LPPACA_DTLIDX, offsetof(struct lppaca, dtl_idx));
-       DEFINE(LPPACA_YIELDCOUNT, offsetof(struct lppaca, yield_count));
-       DEFINE(PACA_DTL_RIDX, offsetof(struct paca_struct, dtl_ridx));
+       OFFSET(PACA_EXGEN, paca_struct, exgen);
+       OFFSET(PACA_EXMC, paca_struct, exmc);
+       OFFSET(PACA_EXSLB, paca_struct, exslb);
+       OFFSET(PACALPPACAPTR, paca_struct, lppaca_ptr);
+       OFFSET(PACA_SLBSHADOWPTR, paca_struct, slb_shadow_ptr);
+       OFFSET(SLBSHADOW_STACKVSID, slb_shadow, save_area[SLB_NUM_BOLTED - 1].vsid);
+       OFFSET(SLBSHADOW_STACKESID, slb_shadow, save_area[SLB_NUM_BOLTED - 1].esid);
+       OFFSET(SLBSHADOW_SAVEAREA, slb_shadow, save_area);
+       OFFSET(LPPACA_PMCINUSE, lppaca, pmcregs_in_use);
+       OFFSET(LPPACA_DTLIDX, lppaca, dtl_idx);
+       OFFSET(LPPACA_YIELDCOUNT, lppaca, yield_count);
+       OFFSET(PACA_DTL_RIDX, paca_struct, dtl_ridx);
  #endif /* CONFIG_PPC_STD_MMU_64 */
-       DEFINE(PACAEMERGSP, offsetof(struct paca_struct, emergency_sp));
+       OFFSET(PACAEMERGSP, paca_struct, emergency_sp);
  #ifdef CONFIG_PPC_BOOK3S_64
-       DEFINE(PACAMCEMERGSP, offsetof(struct paca_struct, mc_emergency_sp));
-       DEFINE(PACA_IN_MCE, offsetof(struct paca_struct, in_mce));
- #endif
-       DEFINE(PACAHWCPUID, offsetof(struct paca_struct, hw_cpu_id));
-       DEFINE(PACAKEXECSTATE, offsetof(struct paca_struct, kexec_state));
-       DEFINE(PACA_DSCR_DEFAULT, offsetof(struct paca_struct, dscr_default));
-       DEFINE(ACCOUNT_STARTTIME,
-              offsetof(struct paca_struct, accounting.starttime));
-       DEFINE(ACCOUNT_STARTTIME_USER,
-              offsetof(struct paca_struct, accounting.starttime_user));
-       DEFINE(ACCOUNT_USER_TIME,
-              offsetof(struct paca_struct, accounting.utime));
-       DEFINE(ACCOUNT_SYSTEM_TIME,
-              offsetof(struct paca_struct, accounting.stime));
-       DEFINE(PACA_TRAP_SAVE, offsetof(struct paca_struct, trap_save));
-       DEFINE(PACA_NAPSTATELOST, offsetof(struct paca_struct, nap_state_lost));
-       DEFINE(PACA_SPRG_VDSO, offsetof(struct paca_struct, sprg_vdso));
+       OFFSET(PACAMCEMERGSP, paca_struct, mc_emergency_sp);
+       OFFSET(PACA_IN_MCE, paca_struct, in_mce);
+ #endif
+       OFFSET(PACAHWCPUID, paca_struct, hw_cpu_id);
+       OFFSET(PACAKEXECSTATE, paca_struct, kexec_state);
+       OFFSET(PACA_DSCR_DEFAULT, paca_struct, dscr_default);
+       OFFSET(ACCOUNT_STARTTIME, paca_struct, accounting.starttime);
+       OFFSET(ACCOUNT_STARTTIME_USER, paca_struct, accounting.starttime_user);
 -      OFFSET(ACCOUNT_USER_TIME, paca_struct, accounting.user_time);
 -      OFFSET(ACCOUNT_SYSTEM_TIME, paca_struct, accounting.system_time);
++      OFFSET(ACCOUNT_USER_TIME, paca_struct, accounting.utime);
++      OFFSET(ACCOUNT_SYSTEM_TIME, paca_struct, accounting.stime);
+       OFFSET(PACA_TRAP_SAVE, paca_struct, trap_save);
+       OFFSET(PACA_NAPSTATELOST, paca_struct, nap_state_lost);
+       OFFSET(PACA_SPRG_VDSO, paca_struct, sprg_vdso);
  #else /* CONFIG_PPC64 */
  #ifdef CONFIG_VIRT_CPU_ACCOUNTING_NATIVE
-       DEFINE(ACCOUNT_STARTTIME,
-              offsetof(struct thread_info, accounting.starttime));
-       DEFINE(ACCOUNT_STARTTIME_USER,
-              offsetof(struct thread_info, accounting.starttime_user));
-       DEFINE(ACCOUNT_USER_TIME,
-              offsetof(struct thread_info, accounting.utime));
-       DEFINE(ACCOUNT_SYSTEM_TIME,
-              offsetof(struct thread_info, accounting.stime));
+       OFFSET(ACCOUNT_STARTTIME, thread_info, accounting.starttime);
+       OFFSET(ACCOUNT_STARTTIME_USER, thread_info, accounting.starttime_user);
 -      OFFSET(ACCOUNT_USER_TIME, thread_info, accounting.user_time);
 -      OFFSET(ACCOUNT_SYSTEM_TIME, thread_info, accounting.system_time);
++      OFFSET(ACCOUNT_USER_TIME, thread_info, accounting.utime);
++      OFFSET(ACCOUNT_SYSTEM_TIME, thread_info, accounting.stime);
  #endif
  #endif /* CONFIG_PPC64 */
  
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge