From: Sergey Matyukevich <geomatsi@gmail.com>
To: linux-snps-arc@lists.infradead.org
Cc: Vineet Gupta <vgupta@kernel.org>,
Vladimir Isaev <isaev@synopsys.com>,
Sergey Matyukevich <geomatsi@gmail.com>,
Sergey Matyukevich <sergey.matyukevich@synopsys.com>
Subject: [RFC PATCH 00/13] ARC: handle the lack of ZOL support
Date: Tue, 22 Feb 2022 17:14:53 +0300 [thread overview]
Message-ID: <20220222141506.4003433-1-geomatsi@gmail.com> (raw)
From: Sergey Matyukevich <sergey.matyukevich@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
next reply other threads:[~2022-02-22 14:15 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-02-22 14:14 Sergey Matyukevich [this message]
2022-02-22 14:14 ` [RFC PATCH 01/13] ARC: uaccess: elide unaligned handling if hardware supports Sergey Matyukevich
2022-02-22 14:14 ` [RFC PATCH 02/13] ARC: Kconfig: introduce option to disable ZOL Sergey Matyukevich
2022-02-22 14:14 ` [RFC PATCH 03/13] ARC: uaccess: drop CC_OPTIMIZE_FOR_SIZE Sergey Matyukevich
2022-02-22 14:14 ` [RFC PATCH 04/13] ARC: uaccess: elide ZOL, use double load/stores Sergey Matyukevich
2022-02-22 14:14 ` [RFC PATCH 05/13] ARCv2: memset: don't prefetch for len == 0 which happens a lot Sergey Matyukevich
2022-02-22 14:14 ` [RFC PATCH 06/13] ARCv2: memset: elide unaligned handling if hardware supports Sergey Matyukevich
2022-02-22 14:15 ` [RFC PATCH 07/13] ARCv2: memset: rewrite using double load/stores Sergey Matyukevich
2022-02-22 14:15 ` [RFC PATCH 08/13] ARC: string: use generic C code if no ZOL support Sergey Matyukevich
2022-02-22 14:15 ` [RFC PATCH 09/13] ARC: delay: elide ZOL Sergey Matyukevich
2022-02-22 14:15 ` [RFC PATCH 10/13] ARC: checksum: " Sergey Matyukevich
2022-02-22 14:15 ` [RFC PATCH 11/13] ARC: head: " Sergey Matyukevich
2022-02-22 14:15 ` [RFC PATCH 12/13] ARC: build: inhibit ZOL generation by compiler Sergey Matyukevich
2022-02-22 14:15 ` [RFC PATCH 13/13] ARC: pt_regs: handle the case when ZOL is not supported Sergey Matyukevich
2022-02-28 2:09 ` [RFC PATCH 00/13] ARC: handle the lack of ZOL support Vineet Gupta
2022-03-03 19:22 ` Sergey Matyukevich
2022-03-23 10:09 ` [RFC PATCH 00/13] ARC: handle the lack of ZOL supporty Sergey Matyukevich
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220222141506.4003433-1-geomatsi@gmail.com \
--to=geomatsi@gmail.com \
--cc=isaev@synopsys.com \
--cc=linux-snps-arc@lists.infradead.org \
--cc=sergey.matyukevich@synopsys.com \
--cc=vgupta@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox