From: Stefan Agner <stefan@agner.ch> To: linux@armlinux.org.uk Cc: ndesaulniers@google.com, natechancellor@gmail.com, arnd@arndb.de, ard.biesheuvel@linaro.org, nicolas.pitre@linaro.org, thierry.reding@gmail.com, will.deacon@arm.com, julien.thierry@arm.com, mark.rutland@arm.com, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Stefan Agner <stefan@agner.ch> Subject: [PATCH v3 0/5] ARM: convert to unified syntax Date: Tue, 12 Feb 2019 21:01:56 +0100 [thread overview] Message-ID: <cover.1550001435.git.stefan@agner.ch> (raw) This patchset converts all assembly code to unified assembler language (UAL) compatible assembly code. From what I can tell, this mainly boils down to using conditional infixes instead of postfixes. Most of the conversion has been done using the following regular expression: find ./arch/arm/ -name "*.[hSc]" -exec sed -i -r \ "s/^((\s*[._a-zA-Z0-9]*[\:\(])?\s*)([a-z]{3})(eq|ne|cs|hs|cc|lo|mi|pl|vs|vc|hi|ls|ge|lt|gt|le|al)([a-z]{1,2})(\s)/\1\3\5\4\6/" \ {} \; The expression resulted in some false positives and missed some instances where infix conditionals have been used. With this changes applied, I compiled several kernel configurations successfully and without a warning. The file arch/arm/probes/kprobes/test-arm.c is still using some divided syntax assembler. This does not allow to use LLVM's integrated assembler just yet, there is still some assembler which the integrated assembler does not like (yet). But it is a big step towards that direction. -- Stefan Stefan Agner (5): ARM: use unified assembler in macros ARM: use unified assembler in headers ARM: use unified assembler in assembly files ARM: use unified assembler in c files ARM: warn if divided syntax assembler is used arch/arm/Makefile | 7 +--- arch/arm/boot/bootp/init.S | 2 +- arch/arm/boot/compressed/ll_char_wr.S | 4 +- arch/arm/include/asm/assembler.h | 12 +++--- .../include/asm/hardware/entry-macro-iomd.S | 10 ++--- arch/arm/include/asm/vfpmacros.h | 8 ++-- arch/arm/include/debug/tegra.S | 2 +- arch/arm/kernel/debug.S | 2 +- arch/arm/kernel/entry-armv.S | 12 +++--- arch/arm/kernel/entry-common.S | 2 +- arch/arm/kernel/entry-header.S | 8 ++-- arch/arm/lib/bitops.h | 8 ++-- arch/arm/lib/clear_user.S | 2 +- arch/arm/lib/copy_from_user.S | 2 +- arch/arm/lib/copy_page.S | 4 +- arch/arm/lib/copy_template.S | 4 +- arch/arm/lib/copy_to_user.S | 2 +- arch/arm/lib/csumpartial.S | 20 ++++----- arch/arm/lib/csumpartialcopygeneric.S | 4 +- arch/arm/lib/csumpartialcopyuser.S | 2 +- arch/arm/lib/div64.S | 4 +- arch/arm/lib/floppydma.S | 10 ++--- arch/arm/lib/io-readsb.S | 20 ++++----- arch/arm/lib/io-readsl.S | 2 +- arch/arm/lib/io-readsw-armv3.S | 6 +-- arch/arm/lib/io-readsw-armv4.S | 12 +++--- arch/arm/lib/io-writesb.S | 20 ++++----- arch/arm/lib/io-writesl.S | 2 +- arch/arm/lib/io-writesw-armv3.S | 2 +- arch/arm/lib/io-writesw-armv4.S | 6 +-- arch/arm/lib/lib1funcs.S | 4 +- arch/arm/lib/memcpy.S | 4 +- arch/arm/lib/memmove.S | 24 +++++------ arch/arm/lib/memset.S | 42 +++++++++---------- .../mach-ks8695/include/mach/entry-macro.S | 2 +- arch/arm/mach-tegra/reset-handler.S | 2 +- arch/arm/mm/cache-v6.S | 8 ++-- arch/arm/mm/copypage-v4mc.c | 3 +- arch/arm/mm/copypage-v4wb.c | 3 +- arch/arm/mm/copypage-v4wt.c | 3 +- arch/arm/mm/proc-v7m.S | 4 +- 41 files changed, 150 insertions(+), 150 deletions(-) -- 2.20.1
WARNING: multiple messages have this Message-ID (diff)
From: Stefan Agner <stefan@agner.ch> To: linux@armlinux.org.uk Cc: nicolas.pitre@linaro.org, mark.rutland@arm.com, arnd@arndb.de, ard.biesheuvel@linaro.org, will.deacon@arm.com, julien.thierry@arm.com, ndesaulniers@google.com, linux-kernel@vger.kernel.org, Stefan Agner <stefan@agner.ch>, thierry.reding@gmail.com, natechancellor@gmail.com, linux-arm-kernel@lists.infradead.org Subject: [PATCH v3 0/5] ARM: convert to unified syntax Date: Tue, 12 Feb 2019 21:01:56 +0100 [thread overview] Message-ID: <cover.1550001435.git.stefan@agner.ch> (raw) This patchset converts all assembly code to unified assembler language (UAL) compatible assembly code. From what I can tell, this mainly boils down to using conditional infixes instead of postfixes. Most of the conversion has been done using the following regular expression: find ./arch/arm/ -name "*.[hSc]" -exec sed -i -r \ "s/^((\s*[._a-zA-Z0-9]*[\:\(])?\s*)([a-z]{3})(eq|ne|cs|hs|cc|lo|mi|pl|vs|vc|hi|ls|ge|lt|gt|le|al)([a-z]{1,2})(\s)/\1\3\5\4\6/" \ {} \; The expression resulted in some false positives and missed some instances where infix conditionals have been used. With this changes applied, I compiled several kernel configurations successfully and without a warning. The file arch/arm/probes/kprobes/test-arm.c is still using some divided syntax assembler. This does not allow to use LLVM's integrated assembler just yet, there is still some assembler which the integrated assembler does not like (yet). But it is a big step towards that direction. -- Stefan Stefan Agner (5): ARM: use unified assembler in macros ARM: use unified assembler in headers ARM: use unified assembler in assembly files ARM: use unified assembler in c files ARM: warn if divided syntax assembler is used arch/arm/Makefile | 7 +--- arch/arm/boot/bootp/init.S | 2 +- arch/arm/boot/compressed/ll_char_wr.S | 4 +- arch/arm/include/asm/assembler.h | 12 +++--- .../include/asm/hardware/entry-macro-iomd.S | 10 ++--- arch/arm/include/asm/vfpmacros.h | 8 ++-- arch/arm/include/debug/tegra.S | 2 +- arch/arm/kernel/debug.S | 2 +- arch/arm/kernel/entry-armv.S | 12 +++--- arch/arm/kernel/entry-common.S | 2 +- arch/arm/kernel/entry-header.S | 8 ++-- arch/arm/lib/bitops.h | 8 ++-- arch/arm/lib/clear_user.S | 2 +- arch/arm/lib/copy_from_user.S | 2 +- arch/arm/lib/copy_page.S | 4 +- arch/arm/lib/copy_template.S | 4 +- arch/arm/lib/copy_to_user.S | 2 +- arch/arm/lib/csumpartial.S | 20 ++++----- arch/arm/lib/csumpartialcopygeneric.S | 4 +- arch/arm/lib/csumpartialcopyuser.S | 2 +- arch/arm/lib/div64.S | 4 +- arch/arm/lib/floppydma.S | 10 ++--- arch/arm/lib/io-readsb.S | 20 ++++----- arch/arm/lib/io-readsl.S | 2 +- arch/arm/lib/io-readsw-armv3.S | 6 +-- arch/arm/lib/io-readsw-armv4.S | 12 +++--- arch/arm/lib/io-writesb.S | 20 ++++----- arch/arm/lib/io-writesl.S | 2 +- arch/arm/lib/io-writesw-armv3.S | 2 +- arch/arm/lib/io-writesw-armv4.S | 6 +-- arch/arm/lib/lib1funcs.S | 4 +- arch/arm/lib/memcpy.S | 4 +- arch/arm/lib/memmove.S | 24 +++++------ arch/arm/lib/memset.S | 42 +++++++++---------- .../mach-ks8695/include/mach/entry-macro.S | 2 +- arch/arm/mach-tegra/reset-handler.S | 2 +- arch/arm/mm/cache-v6.S | 8 ++-- arch/arm/mm/copypage-v4mc.c | 3 +- arch/arm/mm/copypage-v4wb.c | 3 +- arch/arm/mm/copypage-v4wt.c | 3 +- arch/arm/mm/proc-v7m.S | 4 +- 41 files changed, 150 insertions(+), 150 deletions(-) -- 2.20.1 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next reply other threads:[~2019-02-12 20:02 UTC|newest] Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-02-12 20:01 Stefan Agner [this message] 2019-02-12 20:01 ` [PATCH v3 0/5] ARM: convert to unified syntax Stefan Agner 2019-02-12 20:01 ` [PATCH v3 1/5] ARM: use unified assembler in macros Stefan Agner 2019-02-12 20:01 ` Stefan Agner 2019-02-12 20:01 ` [PATCH v3 2/5] ARM: use unified assembler in headers Stefan Agner 2019-02-12 20:01 ` Stefan Agner 2019-02-12 20:01 ` [PATCH v3 3/5] ARM: use unified assembler in assembly files Stefan Agner 2019-02-12 20:01 ` Stefan Agner 2019-02-12 20:02 ` [PATCH v3 4/5] ARM: use unified assembler in c files Stefan Agner 2019-02-12 20:02 ` Stefan Agner 2019-02-12 20:02 ` [PATCH v3 5/5] ARM: warn if divided syntax assembler is used Stefan Agner 2019-02-12 20:02 ` Stefan Agner
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=cover.1550001435.git.stefan@agner.ch \ --to=stefan@agner.ch \ --cc=ard.biesheuvel@linaro.org \ --cc=arnd@arndb.de \ --cc=julien.thierry@arm.com \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux@armlinux.org.uk \ --cc=mark.rutland@arm.com \ --cc=natechancellor@gmail.com \ --cc=ndesaulniers@google.com \ --cc=nicolas.pitre@linaro.org \ --cc=thierry.reding@gmail.com \ --cc=will.deacon@arm.com \ /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: linkBe 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.