From: James Hogan <james.hogan@mips.com> To: <linux-mips@linux-mips.org> Cc: Marcin Nowakowski <marcin.nowakowski@mips.com>, James Hogan <jhogan@kernel.org>, Ralf Baechle <ralf@linux-mips.org> Subject: [PATCH 0/7] MIPS: Add asm macros for unsupported instructions Date: Wed, 22 Nov 2017 11:30:26 +0000 [thread overview] Message-ID: <cover.41391a6cc5670b90bb8e77eadd07c712793eab03.1511349998.git-series.jhogan@kernel.org> (raw) From: James Hogan <jhogan@kernel.org> This patch series implements Ralf's idea[1] for better supporting older assembler versions which don't implement newer instructions, in inline assembly. It has a number of benefits which are described in the individual patches, but its also particularly beneficial for Marcin's CRC patchset. So far I've converted the VZ, XPA, and MSA abstractions to use it. Old style abstractions remain for MT and DSP instructions, which are left for future patches. There are also other abstraction macros in <asm/asmmacro.h> for use in .S files (particularly for MSA), which similarly don't handle $n register naming and use the $at move trick. Cleaning these up to use something like parse_r is also left for future patches. [1] https://www.linux-mips.org/archives/linux-mips/2017-10/msg00043.html Patch overview: Patch 1 adds some helpers to streamline the construction of assembler macros for instructions unimplemented in the current assembler. It is needed for the other patches. Patches 2-3 update the VZ helpers to make use of the new assembler macro helpers, and make the VZ helpers consistent with the normal c0 register helpers now that it is possible to do so. Patches 4-6 update the XPA helpers to make use of the new assembler macro helpers, and to use the instructions provided by the assembler if they are available. These are also changed to be consistent with the normal register helpers now that it is possible to do so. Patch 7 updates the MSA control register helpers to make use of the new assembler macro helpers. Cc: Ralf Baechle <ralf@linux-mips.org> Cc: Marcin Nowakowski <marcin.nowakowski@mips.com> Cc: linux-mips@linux-mips.org James Hogan (7): MIPS: Add helpers for assembler macro instructions MIPS: VZ: Update helpers to use new asm macros MIPS: VZ: Pass GC0 register names in $n format MIPS: XPA: Use XPA instructions in assembly MIPS: XPA: Allow use of $0 (zero) to MTHC0 MIPS: XPA: Standardise readx/writex accessors MIPS: MSA: Update helpers to use new asm macros arch/mips/Makefile | 6 +- arch/mips/include/asm/mipsregs.h | 663 +++++++++++++++----------------- arch/mips/include/asm/msa.h | 63 +--- 3 files changed, 356 insertions(+), 376 deletions(-) base-commit: e0c5f36b2a638fc3298200c385af7f196d3b5cd4 -- git-series 0.9.1
WARNING: multiple messages have this Message-ID (diff)
From: James Hogan <james.hogan@mips.com> To: linux-mips@linux-mips.org Cc: Marcin Nowakowski <marcin.nowakowski@mips.com>, James Hogan <jhogan@kernel.org>, Ralf Baechle <ralf@linux-mips.org> Subject: [PATCH 0/7] MIPS: Add asm macros for unsupported instructions Date: Wed, 22 Nov 2017 11:30:26 +0000 [thread overview] Message-ID: <cover.41391a6cc5670b90bb8e77eadd07c712793eab03.1511349998.git-series.jhogan@kernel.org> (raw) Message-ID: <20171122113026.kGYeoTC4i1adYaDTe2_vPLDqc3ub83QJyHYCeicN7tQ@z> (raw) From: James Hogan <jhogan@kernel.org> This patch series implements Ralf's idea[1] for better supporting older assembler versions which don't implement newer instructions, in inline assembly. It has a number of benefits which are described in the individual patches, but its also particularly beneficial for Marcin's CRC patchset. So far I've converted the VZ, XPA, and MSA abstractions to use it. Old style abstractions remain for MT and DSP instructions, which are left for future patches. There are also other abstraction macros in <asm/asmmacro.h> for use in .S files (particularly for MSA), which similarly don't handle $n register naming and use the $at move trick. Cleaning these up to use something like parse_r is also left for future patches. [1] https://www.linux-mips.org/archives/linux-mips/2017-10/msg00043.html Patch overview: Patch 1 adds some helpers to streamline the construction of assembler macros for instructions unimplemented in the current assembler. It is needed for the other patches. Patches 2-3 update the VZ helpers to make use of the new assembler macro helpers, and make the VZ helpers consistent with the normal c0 register helpers now that it is possible to do so. Patches 4-6 update the XPA helpers to make use of the new assembler macro helpers, and to use the instructions provided by the assembler if they are available. These are also changed to be consistent with the normal register helpers now that it is possible to do so. Patch 7 updates the MSA control register helpers to make use of the new assembler macro helpers. Cc: Ralf Baechle <ralf@linux-mips.org> Cc: Marcin Nowakowski <marcin.nowakowski@mips.com> Cc: linux-mips@linux-mips.org James Hogan (7): MIPS: Add helpers for assembler macro instructions MIPS: VZ: Update helpers to use new asm macros MIPS: VZ: Pass GC0 register names in $n format MIPS: XPA: Use XPA instructions in assembly MIPS: XPA: Allow use of $0 (zero) to MTHC0 MIPS: XPA: Standardise readx/writex accessors MIPS: MSA: Update helpers to use new asm macros arch/mips/Makefile | 6 +- arch/mips/include/asm/mipsregs.h | 663 +++++++++++++++----------------- arch/mips/include/asm/msa.h | 63 +--- 3 files changed, 356 insertions(+), 376 deletions(-) base-commit: e0c5f36b2a638fc3298200c385af7f196d3b5cd4 -- git-series 0.9.1
next reply other threads:[~2017-11-22 11:32 UTC|newest] Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top 2017-11-22 11:30 James Hogan [this message] 2017-11-22 11:30 ` [PATCH 0/7] MIPS: Add asm macros for unsupported instructions James Hogan 2017-11-22 11:30 ` [PATCH 1/7] MIPS: Add helpers for assembler macro instructions James Hogan 2017-11-22 11:30 ` James Hogan 2018-05-24 19:47 ` Hauke Mehrtens 2017-11-22 11:30 ` [PATCH 2/7] MIPS: VZ: Update helpers to use new asm macros James Hogan 2017-11-22 11:30 ` James Hogan 2017-11-22 11:30 ` [PATCH 3/7] MIPS: VZ: Pass GC0 register names in $n format James Hogan 2017-11-22 11:30 ` James Hogan 2017-11-22 11:30 ` [PATCH 4/7] MIPS: XPA: Use XPA instructions in assembly James Hogan 2017-11-22 11:30 ` James Hogan 2017-11-22 11:30 ` [PATCH 5/7] MIPS: XPA: Allow use of $0 (zero) to MTHC0 James Hogan 2017-11-22 11:30 ` James Hogan 2017-11-22 11:30 ` [PATCH 6/7] MIPS: XPA: Standardise readx/writex accessors James Hogan 2017-11-22 11:30 ` James Hogan 2017-11-22 11:30 ` [PATCH 7/7] MIPS: MSA: Update helpers to use new asm macros James Hogan 2017-11-22 11:30 ` James Hogan
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.41391a6cc5670b90bb8e77eadd07c712793eab03.1511349998.git-series.jhogan@kernel.org \ --to=james.hogan@mips.com \ --cc=jhogan@kernel.org \ --cc=linux-mips@linux-mips.org \ --cc=marcin.nowakowski@mips.com \ --cc=ralf@linux-mips.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: 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.