From: Fredrik Noring <noring@nocrew.org>
To: "Aleksandar Markovic" <amarkovic@wavecomp.com>,
"Aurelien Jarno" <aurelien@aurel32.net>,
"Philippe Mathieu-Daudé" <f4bug@amsat.org>
Cc: "Jürgen Urban" <JuergenUrban@gmx.de>,
"Maciej W. Rozycki" <macro@linux-mips.org>,
qemu-devel@nongnu.org
Subject: [Qemu-devel] [PATCH v2 00/12] target/mips: Amend R5900 support
Date: Thu, 1 Nov 2018 18:33:56 +0100 [thread overview]
Message-ID: <cover.1541093316.git.noring@nocrew.org> (raw)
This series amends the R5900 support with the following noncritical
features:
- R5900 MFLO1, MFHI1, MTLO1 and MTHI1 are generated in gen_HILO1_tx79.
- R5900 DIV1 and DIVU1 are generated in gen_div1_tx79.
- The R5900 LQ and SQ instructions are now also covered by the Toshiba
MMI ASE, as per the TX79 manual[1].
- The three-operand MADD and MADDU instructions specific to the R5900
and the Toshiba TX19, TX39 and TX79 cores are now supported and tested
by the R5900 TCG test suite.
- The three-operand MADD1 and MADDU1 pipeline 1 instructions specific
to the R5900 and the Toshiba TX79 core are now supported and tested
by the R5900 TCG test suite.
- The membership field of struct mips_opcode is now uint64_t instead
of unsigned long, that is too small in 32-bit builds.
- R5900 disassembly constants are defined.
- The R5900 instructions DIV1, DIVU1, MFLO, MTLO, MFHI, MTHI, MULT1 and
MULTU1 are now disassembled. Unfortunately, the opcodes for MADD1 and
MADDU1 clash with the opcodes for CLZ and CLO, resulting in incorrect
disassembly. MADD1 and MADDU1 are therefore left undefined.
This series has been successfully built with the 8 different build
configurations
{gcc,clang} x -m64 x mips{,64}el-{linux-user,softmmu}
in addition successfully completing the R5900 test suite
cd tests/tcg/mips/mipsr5900 && make check
Reference:
[1] "Toshiba TX System RISC TX79 Core Architecture", Toshiba Corporation,
section B.3.2, p. B-4, <https://wiki.qemu.org/File:C790.pdf>.
Changes in v2:
- Drop rejected rename of ASE_MMI to ASE_TOSHIBA_MMI
- Generate R5900 DIV1 and DIVU1 in gen_div1_tx79
- Generate R5900 MFLO1, MFHI1, MTLO1 and MTHI1 in gen_HILO1_tx79
Fredrik Noring (10):
target/mips: Generate R5900 MFLO1, MFHI1, MTLO1 and MTHI1 in gen_HILO1_tx79
target/mips: Generate R5900 DIV1 and DIVU1 in gen_div1_tx79
target/mips: R5900 LQ and SQ also belong to the Toshiba MMI ASE
target/mips: Support R5900 three-operand MADD1 and MADDU1
tests/tcg/mips: Test R5900 three-operand MADD
tests/tcg/mips: Test R5900 three-operand MADD1
tests/tcg/mips: Test R5900 three-operand MADDU
tests/tcg/mips: Test R5900 three-operand MADDU1
disas/mips: Define R5900 disassembly constants
disas/mips: Disassemble R5900 DIV[U]1, M{F,T}{LO,HI}1 and MULT[U]1
Philippe Mathieu-Daudé (2):
target/mips: Support Toshiba specific three-operand MADD and MADDU
disas/mips: Increase 'member of ISAs' flag holder size
disas/mips.c | 22 +++-
target/mips/translate.c | 206 ++++++++++++++++++++++++++----
tests/tcg/mips/mipsr5900/Makefile | 2 +
tests/tcg/mips/mipsr5900/madd.c | 78 +++++++++++
tests/tcg/mips/mipsr5900/maddu.c | 70 ++++++++++
5 files changed, 351 insertions(+), 27 deletions(-)
create mode 100644 tests/tcg/mips/mipsr5900/madd.c
create mode 100644 tests/tcg/mips/mipsr5900/maddu.c
--
2.18.1
next reply other threads:[~2018-11-01 17:34 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-11-01 17:33 Fredrik Noring [this message]
2018-11-01 17:34 ` [Qemu-devel] [PATCH v2 01/12] target/mips: Generate R5900 MFLO1, MFHI1, MTLO1 and MTHI1 in gen_HILO1_tx79 Fredrik Noring
2018-11-01 17:34 ` [Qemu-devel] [PATCH v2 02/12] target/mips: Generate R5900 DIV1 and DIVU1 in gen_div1_tx79 Fredrik Noring
2018-11-01 17:34 ` [Qemu-devel] [PATCH v2 03/12] target/mips: R5900 LQ and SQ also belong to the Toshiba MMI ASE Fredrik Noring
2018-11-01 17:35 ` [Qemu-devel] [PATCH v2 04/12] target/mips: Support Toshiba specific three-operand MADD and MADDU Fredrik Noring
2018-12-27 21:00 ` Aleksandar Markovic
2018-11-01 17:35 ` [Qemu-devel] [PATCH v2 05/12] target/mips: Support R5900 three-operand MADD1 and MADDU1 Fredrik Noring
2018-12-27 21:01 ` Aleksandar Markovic
2018-11-01 17:35 ` [Qemu-devel] [PATCH v2 06/12] tests/tcg/mips: Test R5900 three-operand MADD Fredrik Noring
2018-12-27 21:02 ` Aleksandar Markovic
2018-11-01 17:35 ` [Qemu-devel] [PATCH v2 07/12] tests/tcg/mips: Test R5900 three-operand MADD1 Fredrik Noring
2018-12-27 21:02 ` Aleksandar Markovic
2018-11-01 17:35 ` [Qemu-devel] [PATCH v2 08/12] tests/tcg/mips: Test R5900 three-operand MADDU Fredrik Noring
2018-12-27 21:03 ` Aleksandar Markovic
2018-11-01 17:35 ` [Qemu-devel] [PATCH v2 09/12] tests/tcg/mips: Test R5900 three-operand MADDU1 Fredrik Noring
2018-12-27 21:03 ` Aleksandar Markovic
2019-01-01 18:27 ` Fredrik Noring
2019-01-04 15:03 ` Aleksandar Markovic
2019-01-07 16:51 ` Fredrik Noring
2019-01-13 18:57 ` Fredrik Noring
2019-01-14 0:44 ` Aleksandar Markovic
2019-01-14 19:49 ` Fredrik Noring
2019-01-15 2:58 ` Aleksandar Markovic
2018-11-01 17:36 ` [Qemu-devel] [PATCH v2 10/12] disas/mips: Increase 'member of ISAs' flag holder size Fredrik Noring
2018-11-01 17:36 ` [Qemu-devel] [PATCH v2 11/12] disas/mips: Define R5900 disassembly constants Fredrik Noring
2018-11-01 17:36 ` [Qemu-devel] [PATCH v2 12/12] disas/mips: Disassemble R5900 DIV[U]1, M{F, T}{LO, HI}1 and MULT[U]1 Fredrik Noring
2018-11-05 15:04 ` Aleksandar Markovic
2018-11-07 19:10 ` Fredrik Noring
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.1541093316.git.noring@nocrew.org \
--to=noring@nocrew.org \
--cc=JuergenUrban@gmx.de \
--cc=amarkovic@wavecomp.com \
--cc=aurelien@aurel32.net \
--cc=f4bug@amsat.org \
--cc=macro@linux-mips.org \
--cc=qemu-devel@nongnu.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;
as well as URLs for NNTP newsgroup(s).