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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.