[GIT PULL] ARC changes for 5.15-rc1

Vineet Gupta vgupta at kernel.org
Sat Sep 4 20:20:23 PDT 2021


Hi Linus,

Finally a big pile of changes for ARC (atomics/mm). These are from our 
internal arc64 tree, preparing mainline for eventual arc64 support. I'm 
spreading them to avoid tsunami of patches in one release. Please pull.

Thx,
-Vineet
--------------->

The following changes since commit e22ce8eb631bdc47a4a4ea7ecf4e4ba499db4f93:

   Linux 5.14-rc7 (2021-08-22 14:24:56 -0700)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc.git/ 
tags/arc-5.15-rc1

for you to fetch changes up to 56809a28d45fcad94b28cfd614600568c0d46545:

   ARC: mm: vmalloc sync from kernel to user table to update PMD ... 
(2021-08-26 13:43:19 -0700)

----------------------------------------------------------------
ARC changes for v5.15-rc1

  - MM rework
    + Implementing up to 4 paging levels (needed in MMUv6)
    + Enable STRICT_MM_TYPECHECK
    + switch pgtable_t back to struct page *

  - Atomics rework / implementing relaxed accessors

  - Retiring support for legacy ARC750 cores and MMUv1,v2

  - A few other build errors, typos

----------------------------------------------------------------
Changcheng Deng (1):
       arch/arc/kernel/: fix misspellings using codespell tool

Randy Dunlap (1):
       ARC: export clear_user_page() for modules

Vineet Gupta (31):
       ARC: atomics: disintegrate header
       ARC: atomic: !LLSC: remove hack in atomic_set() for for UP
       ARC: atomic: !LLSC: use int data type consistently
       ARC: atomic64: LLSC: elide unused atomic_{and,or,xor,andnot}_return
       ARC: atomics: implement relaxed variants
       ARC: switch to generic bitops
       ARC: bitops: fls/ffs to take int (vs long) per asm-generic defines
       ARC: xchg: !LLSC: remove UP micro-optimization/hack
       ARC: cmpxchg/xchg: rewrite as macros to make type safe
       ARC: cmpxchg/xchg: implement relaxed variants (LLSC config only)
       ARC: atomic_cmpxchg/atomic_xchg: implement relaxed variants
       ARC: retire ARC750 support
       ARC: retire MMUv1 and MMUv2 support
       ARC: mm: use SCRATCH_DATA0 register for caching pgdir in ARCv2 only
       ARC: mm: remove tlb paranoid code
       ARC: mm: move mmu/cache externs out to setup.h
       ARC: mm: Fixes to allow STRICT_MM_TYPECHECKS
       ARC: mm: Enable STRICT_MM_TYPECHECKS
       ARC: ioremap: use more commonly used PAGE_KERNEL based uncached flag
       ARC: mm: pmd_populate* to use the canonical set_pmd (and drop 
pmd_set)
       ARC: mm: non-functional code movement/cleanup
       ARC: mm: move MMU specific bits out of ASID allocator
       ARC: mm: move MMU specific bits out of entry code ...
       ARC: mm: disintegrate mmu.h (arcv2 bits out)
       ARC: mm: disintegrate pgtable.h into levels and flags
       ARC: mm: hack to allow 2 level build with 4 level code
       ARC: mm: switch pgtable_t back to struct page *
       ARC: mm: switch to asm-generic/pgalloc.h
       ARC: mm: support 3 levels of page tables
       ARC: mm: support 4 levels of page tables
       ARC: mm: vmalloc sync from kernel to user table to update PMD ...

  arch/arc/Kconfig |  41 +--
  arch/arc/include/asm/atomic-llsc.h |  97 +++++++
  arch/arc/include/asm/atomic-spinlock.h | 102 +++++++
  arch/arc/include/asm/atomic.h | 444 ++----------------------------
  arch/arc/include/asm/atomic64-arcv2.h | 250 +++++++++++++++++
  arch/arc/include/asm/bitops.h | 188 +------------
  arch/arc/include/asm/cache.h |   4 -
  arch/arc/include/asm/cmpxchg.h | 233 ++++++++--------
  arch/arc/include/asm/entry-compact.h |   8 -
  arch/arc/include/asm/hugepage.h |   8 -
  arch/arc/include/asm/mmu-arcv2.h | 103 +++++++
  arch/arc/include/asm/mmu.h |  87 +-----
  arch/arc/include/asm/mmu_context.h |  28 +-
  arch/arc/include/asm/page.h |  74 +++--
  arch/arc/include/asm/pgalloc.h |  81 ++----
  arch/arc/include/asm/pgtable-bits-arcv2.h | 149 ++++++++++
  arch/arc/include/asm/pgtable-levels.h | 189 +++++++++++++
  arch/arc/include/asm/pgtable.h | 339 +----------------------
  arch/arc/include/asm/processor.h |   2 +-
  arch/arc/include/asm/setup.h |  12 +-
  arch/arc/include/asm/smp.h |  14 -
  arch/arc/include/asm/tlb-mmu1.h | 101 -------
  arch/arc/kernel/entry-arcv2.S |   1 +
  arch/arc/kernel/entry.S |   7 +-
  arch/arc/kernel/intc-compact.c |   2 +-
  arch/arc/kernel/smp.c |   4 +-
  arch/arc/kernel/stacktrace.c |   2 +-
  arch/arc/mm/cache.c | 112 +-------
  arch/arc/mm/fault.c |  20 +-
  arch/arc/mm/init.c |   5 +
  arch/arc/mm/ioremap.c |   3 +-
  arch/arc/mm/tlb.c | 268 +++---------------
  arch/arc/mm/tlbex.S |  84 ++----
  33 files changed, 1226 insertions(+), 1836 deletions(-)
  create mode 100644 arch/arc/include/asm/atomic-llsc.h
  create mode 100644 arch/arc/include/asm/atomic-spinlock.h
  create mode 100644 arch/arc/include/asm/atomic64-arcv2.h
  create mode 100644 arch/arc/include/asm/mmu-arcv2.h
  create mode 100644 arch/arc/include/asm/pgtable-bits-arcv2.h
  create mode 100644 arch/arc/include/asm/pgtable-levels.h
  delete mode 100644 arch/arc/include/asm/tlb-mmu1.h





More information about the linux-snps-arc mailing list