[RFC PATCH 00/13] ARC: handle the lack of ZOL support
Vineet Gupta
vgupta at kernel.org
Sun Feb 27 18:09:23 PST 2022
Thx for doing this. I think the series mixes a few things not related to
ZOL removal - the changelog for removal of -Os specific code seems
incorrect etc.
Let me repost with slight more cleanups.
-Vineet
On 2/22/22 06:14, Sergey Matyukevich wrote:
> From: Sergey Matyukevich <sergey.matyukevich at 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
>
More information about the linux-snps-arc
mailing list