Merge tag 'arc-4.18-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc
authorLinus Torvalds <torvalds@linux-foundation.org>
Fri, 20 Jul 2018 18:33:22 +0000 (11:33 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 20 Jul 2018 18:33:22 +0000 (11:33 -0700)
Pull ARC fixes from Vineet Gupta:
 "ARC is back after radio silence in 4.17:

   - Fix CONFIG_SWAP [Alexey]

   - Robustify cmpxchg emulation for systems w/o atomics [Alexey /
     PeterZ]

   - Allow mprotext(PROT_EXEC) for stack mappings [Vineet]

   - HSDK platform enable PCIe, APG GPIO [Gustavo]

   - miscll other fixes, config updates etc"

* tag 'arc-4.18-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc:
  ARCv2: [plat-hsdk]: Save accl reg pair by default
  ARC: mm: allow mprotect to make stack mappings executable
  ARC: Fix CONFIG_SWAP
  ARC: [arcompact] entry.S: minor code movement
  ARC: configs: Remove CONFIG_INITRAMFS_SOURCE from defconfigs
  ARC: configs: remove no longer needed CONFIG_DEVPTS_MULTIPLE_INSTANCES
  ARC: Improve cmpxchg syscall implementation
  ARC: [plat-hsdk]: Configure APB GPIO controller on ARC HSDK platform
  ARC: [plat-hsdk] Add PCIe support
  ARC: Enable machine_desc->init_per_cpu for !CONFIG_SMP
  ARC: Explicitly add -mmedium-calls to CFLAGS

1  2 
arch/arc/Kconfig
arch/arc/include/asm/pgtable.h

diff --combined arch/arc/Kconfig
index e81bcd271be72e7b1e2bbece5b2b7442ebd7b462,bc0bcf01ec98c054e455a19f0b54375a7f92990c..9cf59fc60eab80f5f7a74b846b0e3e8efbaac593
@@@ -9,15 -9,11 +9,15 @@@
  config ARC
        def_bool y
        select ARC_TIMERS
 +      select ARCH_HAS_SYNC_DMA_FOR_CPU
 +      select ARCH_HAS_SYNC_DMA_FOR_DEVICE
        select ARCH_HAS_SG_CHAIN
        select ARCH_SUPPORTS_ATOMIC_RMW if ARC_HAS_LLSC
        select BUILDTIME_EXTABLE_SORT
        select CLONE_BACKWARDS
        select COMMON_CLK
 +      select DMA_NONCOHERENT_OPS
 +      select DMA_NONCOHERENT_MMAP
        select GENERIC_ATOMIC64 if !ISA_ARCV2 || !(ARC_HAS_LL64 && ARC_HAS_LLSC)
        select GENERIC_CLOCKEVENTS
        select GENERIC_FIND_FIRST_BIT
@@@ -48,7 -44,6 +48,7 @@@
        select HAVE_GENERIC_DMA_COHERENT
        select HAVE_KERNEL_GZIP
        select HAVE_KERNEL_LZMA
 +      select ARCH_HAS_PTE_SPECIAL
  
  config MIGHT_HAVE_PCI
        bool
@@@ -413,7 -408,7 +413,7 @@@ config ARC_HAS_DIV_RE
  
  config ARC_HAS_ACCL_REGS
        bool "Reg Pair ACCL:ACCH (FPU and/or MPY > 6)"
-       default n
+       default y
        help
          Depending on the configuration, CPU can contain accumulator reg-pair
          (also referred to as r58:r59). These can also be used by gcc as GPR so
@@@ -458,11 -453,16 +458,11 @@@ config ARC_HAS_PAE4
        default n
        depends on ISA_ARCV2
        select HIGHMEM
 +      select PHYS_ADDR_T_64BIT
        help
          Enable access to physical memory beyond 4G, only supported on
          ARC cores with 40 bit Physical Addressing support
  
 -config ARCH_PHYS_ADDR_T_64BIT
 -      def_bool ARC_HAS_PAE40
 -
 -config ARCH_DMA_ADDR_T_64BIT
 -      bool
 -
  config ARC_KVADDR_SIZE
        int "Kernel Virtual Address Space size (MB)"
        range 0 512
index 8ec5599a0957e3f2314a63450f46588125d94a82,77676e18da698b22aad76d609db662e7661fd50b..cf4be70d589259df60bfa2198da9f8c7c0a543c7
@@@ -320,6 -320,8 +320,6 @@@ PTE_BIT_FUNC(mkexec,       |= (_PAGE_EXECUTE)
  PTE_BIT_FUNC(mkspecial,       |= (_PAGE_SPECIAL));
  PTE_BIT_FUNC(mkhuge,  |= (_PAGE_HW_SZ));
  
 -#define __HAVE_ARCH_PTE_SPECIAL
 -
  static inline pte_t pte_modify(pte_t pte, pgprot_t newprot)
  {
        return __pte((pte_val(pte) & _PAGE_CHG_MASK) | pgprot_val(newprot));
@@@ -377,7 -379,7 +377,7 @@@ void update_mmu_cache(struct vm_area_st
  
  /* Decode a PTE containing swap "identifier "into constituents */
  #define __swp_type(pte_lookalike)     (((pte_lookalike).val) & 0x1f)
- #define __swp_offset(pte_lookalike)   ((pte_lookalike).val << 13)
+ #define __swp_offset(pte_lookalike)   ((pte_lookalike).val >> 13)
  
  /* NOPs, to keep generic kernel happy */
  #define __pte_to_swp_entry(pte)       ((swp_entry_t) { pte_val(pte) })