From: Sergey Matyukevich <sergey.matyukev...@synopsys.com> Hi Vineet and all,
This patch series continues to prepare arch/arc for the upcoming ARCv3 support. ARCv3 does not support zero-overhead-loop (ZOL). So this patch series provides a set of changes that make ZOL support optional. The patch series is based on top of Linux 5.17-rc5. It has been tested with enabled CONFIG_ARC_LACKS_ZOL option on ARCv2 HSDK hardware as well as on nSIM simulator for ARCv2. I fixed typos, updated Vineet's email address, and slightly modified several commit messages. Otherwise this patch series is the first chunk of ARCv3 bring-up changes by Vineet, available at Synopsys github: see github.com/foss-for-synopsys-dwc-arc-processors/linux Regards, Sergey Vineet Gupta (13): ARC: uaccess: elide unaliged handling if hardware supports ARC: Kconfig: introduce option to disable ZOL ARC: uaccess: drop CC_OPTIMIZE_FOR_SIZE ARC: uaccess: elide ZOL, use double load/stores ARCv2: memset: don't prefetch for len == 0 which happens a lot ARCv2: memset: elide unaligned handling if hardware supports ARCv2: memset: rewrite using double load/stores ARC: string: use generic C code if no ZOL support ARC: delay: elide ZOL ARC: checksum: elide ZOL ARC: head: elide ZOL ARC: build: inhibit ZOL generation by compiler ARC: pt_regs: handle the case when ZOL is not supported arch/arc/Kconfig | 10 ++ arch/arc/Makefile | 3 + arch/arc/include/asm/asm-macro-dbnz-emul.h | 12 ++ arch/arc/include/asm/asm-macro-dbnz.h | 8 ++ arch/arc/include/asm/asm-macro-ll64-emul.h | 31 +++++ arch/arc/include/asm/asm-macro-ll64.h | 20 +++ arch/arc/include/asm/assembler.h | 41 ++++++ arch/arc/include/asm/checksum.h | 58 +++++++- arch/arc/include/asm/delay.h | 16 +++ arch/arc/include/asm/entry-arcv2.h | 4 + arch/arc/include/asm/entry.h | 2 + arch/arc/include/asm/ptrace.h | 4 +- arch/arc/include/asm/string.h | 15 ++- arch/arc/include/asm/uaccess.h | 29 ++-- arch/arc/kernel/arcksyms.c | 2 + arch/arc/kernel/asm-offsets.c | 2 + arch/arc/kernel/disasm.c | 2 + arch/arc/kernel/head.S | 8 +- arch/arc/kernel/intc-arcv2.c | 2 + arch/arc/kernel/kgdb.c | 4 + arch/arc/kernel/process.c | 2 + arch/arc/kernel/ptrace.c | 12 ++ arch/arc/kernel/signal.c | 8 ++ arch/arc/kernel/troubleshoot.c | 3 + arch/arc/kernel/unaligned.c | 2 + arch/arc/kernel/vmlinux.lds.S | 2 +- arch/arc/lib/Makefile | 6 + arch/arc/lib/memset-archs.S | 147 +++++++++------------ arch/arc/lib/uaccess.S | 144 ++++++++++++++++++++ arch/arc/mm/extable.c | 11 -- 30 files changed, 493 insertions(+), 117 deletions(-) create mode 100644 arch/arc/include/asm/asm-macro-dbnz-emul.h create mode 100644 arch/arc/include/asm/asm-macro-dbnz.h create mode 100644 arch/arc/include/asm/asm-macro-ll64-emul.h create mode 100644 arch/arc/include/asm/asm-macro-ll64.h create mode 100644 arch/arc/include/asm/assembler.h create mode 100644 arch/arc/lib/uaccess.S -- 2.25.1 _______________________________________________ linux-snps-arc mailing list linux-snps-arc@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-snps-arc