qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 00/11] target/mips: Amend R5900 support
@ 2018-10-25 17:28 Fredrik Noring
  2018-10-25 17:30 ` [Qemu-devel] [PATCH 01/11] target/mips: Rename ASE_MMI to ASE_TOSHIBA_MMI, with Toshiba namespace Fredrik Noring
                   ` (10 more replies)
  0 siblings, 11 replies; 13+ messages in thread
From: Fredrik Noring @ 2018-10-25 17:28 UTC (permalink / raw)
  To: Aleksandar Markovic, Aurelien Jarno, Philippe Mathieu-Daudé
  Cc: Jürgen Urban, Maciej W. Rozycki, qemu-devel

This series amends the R5900 support with the following noncritical
features:

- The vendor-specific Application-Specific Extension (ASE) ASE_MMI is
  renamed to ASE_TOSHIBA_MMI, because several vendors have multimedia
  instruction (MMI) sets and other extensions of various kinds. ASE
  vendor namespaces make it clear these are not generic architectural
  features and also avoid name clashes.

- 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 16 different build
configurations

    {gcc,clang} x -m{32,64} x mips{,64}el-{linux-user,softmmu}

in addition to 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>.

Fredrik Noring (9):
  target/mips: Rename ASE_MMI to ASE_TOSHIBA_MMI, with Toshiba namespace
  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/mips-defs.h           |  2 +-
 target/mips/translate.c           | 77 ++++++++++++++++++++++++++----
 target/mips/translate_init.inc.c  |  2 +-
 tests/tcg/mips/mipsr5900/Makefile |  2 +
 tests/tcg/mips/mipsr5900/madd.c   | 78 +++++++++++++++++++++++++++++++
 tests/tcg/mips/mipsr5900/maddu.c  | 70 +++++++++++++++++++++++++++
 7 files changed, 240 insertions(+), 13 deletions(-)
 create mode 100644 tests/tcg/mips/mipsr5900/madd.c
 create mode 100644 tests/tcg/mips/mipsr5900/maddu.c

-- 
2.18.1

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2018-10-26 14:00 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-10-25 17:28 [Qemu-devel] [PATCH 00/11] target/mips: Amend R5900 support Fredrik Noring
2018-10-25 17:30 ` [Qemu-devel] [PATCH 01/11] target/mips: Rename ASE_MMI to ASE_TOSHIBA_MMI, with Toshiba namespace Fredrik Noring
2018-10-26 14:00   ` Aleksandar Markovic
2018-10-25 17:30 ` [Qemu-devel] [PATCH 02/11] target/mips: R5900 LQ and SQ also belong to the Toshiba MMI ASE Fredrik Noring
2018-10-25 17:31 ` [Qemu-devel] [PATCH 03/11] target/mips: Support Toshiba specific three-operand MADD and MADDU Fredrik Noring
2018-10-25 17:32 ` [Qemu-devel] [PATCH 04/11] target/mips: Support R5900 three-operand MADD1 and MADDU1 Fredrik Noring
2018-10-25 17:32 ` [Qemu-devel] [PATCH 05/11] tests/tcg/mips: Test R5900 three-operand MADD Fredrik Noring
2018-10-25 17:32 ` [Qemu-devel] [PATCH 06/11] tests/tcg/mips: Test R5900 three-operand MADD1 Fredrik Noring
2018-10-25 17:33 ` [Qemu-devel] [PATCH 07/11] tests/tcg/mips: Test R5900 three-operand MADDU Fredrik Noring
2018-10-25 17:33 ` [Qemu-devel] [PATCH 08/11] tests/tcg/mips: Test R5900 three-operand MADDU1 Fredrik Noring
2018-10-25 17:34 ` [Qemu-devel] [PATCH 09/11] disas/mips: Increase 'member of ISAs' flag holder size Fredrik Noring
2018-10-25 17:34 ` [Qemu-devel] [PATCH 10/11] disas/mips: Define R5900 disassembly constants Fredrik Noring
2018-10-25 17:34 ` [Qemu-devel] [PATCH 11/11] disas/mips: Disassemble R5900 DIV[U]1, M{F, T}{LO, HI}1 and MULT[U]1 Fredrik Noring

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).