[PATCH 00/20] ARC updates

From: Vineet Gupta
Date: Mon Aug 14 2023 - 20:48:58 EST


Hi,

This is a pile of miscll improvements/updates sitting in one of my local trees.
Given the recent warning fix, we coudl also push them out.
@Alexey, @Shahab: care to give these a spin on hsdk (and test ARC700 build/boot on nSIM if possible).

Thx,
-Vineet

Vineet Gupta (20):
ARC: uaccess: remove arc specific out-of-line handles for -Os
ARC: uaccess: use optimized generic __strnlen_user/__strncpy_from_user
ARC: uaccess: elide unaliged handling if hardware supports
ARCv2: memset: don't prefetch for len == 0 which happens a alot
ARC: boot log: eliminate struct cpuinfo_arc #1: mm
ARC: boot log: eliminate struct cpuinfo_arc #2: cache
ARC: boot log: eliminate struct cpuinfo_arc #3: don't export
ARC: boot log: eliminate struct cpuinfo_arc #4: boot log per ISA
ARC: entry: use gp to cache task pointer (vs. r25)
ARC: kernel stack: INIT_THREAD need not setup @init_stack in @ksp
ARC: __switch_to: asm with dwarf ops (vs. inline asm)
ARC: __switch_to: move ksp to thread_info from thread_struct
ARC: entry: rework (non-functional)
ARC: entry: ARcompact EV_ProtV to use r10 directly
ARC: entry: EV_MachineCheck dont re-read ECR
ARC: entry: Add more common chores to EXCEPTION_PROLOGUE
ARC: entry: replace 8 byte OR with 4 byte BSET
ARC: entry: replace 8 byte ADD.ne with 4 byte ADD2.ne
ARCv2: entry: rearrange pt_regs slightly
ARC: pt_regs: create seperate type for ecr

arch/arc/Kconfig | 8 +-
arch/arc/Makefile | 6 +-
arch/arc/include/asm/arcregs.h | 99 ++---
arch/arc/include/asm/current.h | 2 +-
arch/arc/include/asm/dwarf.h | 32 +-
arch/arc/include/asm/entry-arcv2.h | 66 ++--
arch/arc/include/asm/entry-compact.h | 50 ++-
arch/arc/include/asm/entry.h | 107 ++---
arch/arc/include/asm/processor.h | 7 +-
arch/arc/include/asm/ptrace.h | 62 ++-
arch/arc/include/asm/setup.h | 6 +-
arch/arc/include/asm/thread_info.h | 10 +-
arch/arc/include/asm/uaccess.h | 21 +-
arch/arc/kernel/Makefile | 9 +-
arch/arc/kernel/asm-offsets.c | 14 +-
arch/arc/kernel/ctx_sw.c | 112 ------
arch/arc/kernel/ctx_sw_asm.S | 76 ++--
arch/arc/kernel/entry-arcv2.S | 15 -
arch/arc/kernel/entry-compact.S | 16 +-
arch/arc/kernel/entry.S | 70 ++--
arch/arc/kernel/kgdb.c | 2 +-
arch/arc/kernel/mcip.c | 2 -
arch/arc/kernel/process.c | 17 +-
arch/arc/kernel/ptrace.c | 8 +-
arch/arc/kernel/setup.c | 561 ++++++++++++---------------
arch/arc/kernel/traps.c | 4 +-
arch/arc/kernel/troubleshoot.c | 13 +-
arch/arc/lib/memset-archs.S | 3 +-
arch/arc/mm/cache.c | 171 +++-----
arch/arc/mm/extable.c | 11 -
arch/arc/mm/fault.c | 6 +-
arch/arc/mm/tlb.c | 94 ++---
32 files changed, 667 insertions(+), 1013 deletions(-)
delete mode 100644 arch/arc/kernel/ctx_sw.c

--
2.34.1