All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v3 00/40] Add nanoMIPS support to QEMU
@ 2018-07-19 12:54 Stefan Markovic
  2018-07-19 12:54 ` [Qemu-devel] [PATCH v3 01/40] target/mips: Add preprocessor constants for nanoMIPS Stefan Markovic
                   ` (39 more replies)
  0 siblings, 40 replies; 89+ messages in thread
From: Stefan Markovic @ 2018-07-19 12:54 UTC (permalink / raw)
  To: qemu-devel
  Cc: laurent, riku.voipio, philippe.mathieu.daude, aurelien,
	richard.henderson, amarkovic, smarkovic, pjovanovic, pburton

From: Aleksandar Markovic <amarkovic@wavecomp.com>

v2->v3:

  - added support for nanoMIPS-specifics in ELF headers
  - added support for CP0 Config0.WR bit
  - updated I7200 definition
  - improved indentation of some switch statements
  - slight reorganization of patches (splitting, order)
  - rebased to the latest code

v1->v2:

  - added DSP ASE support
  - added MT ASE support
  - added GDB XML support
  - order of patches changed
  - commit messages and patch title improved accross the board
  - obsolete email addresses for authors and cosigners replaced
    with the right ones
  - some functions renamed to reflect better the documentation
  - some macros renamed to reflect better their nanoMIPS nature
  - streamlined formatting
  - some of other reviewer's comments addressed, but the majority
    was not; this is because the focus of this version was on
    completing the functionality as much as possible; remaining
    comments will be addressed in the subsequent versions of this
    series

This series of patches implements recently announced nanoMIPS on QEMU.
nanoMIPS is a variable length ISA containing 16, 32 and 48-bit wide
instructions. It is designed to be portable at assembly level with
other MIPS and microMIPS code, but contains a number of changes that
enhance code density and efficiency. The largest portion of patches
is nanoMIPS decoding engine.

For more information, please refer to the following link:

https://www.mips.com/products/architectures/nanomips/

Aleksandar Markovic (4):
  target/mips: Add preprocessor constants for nanoMIPS
  elf: Add nanoMIPS specific variations in ELF header fields
  elf: Relax MIPS' elf_check_arch() to accept EM_NANOMIPS too
  linux-user: Don't check FCR31_NAN2008 bit for nanoMIPS

James Hogan (5):
  target/mips: Implement emulation of nanoMIPS EXTW instruction
  target/mips: Adjust exception_resume_pc() for nanoMIPS
  target/mips: Adjust set_hflags_for_handler() for nanoMIPS
  target/mips: Adjust set_pc() for nanoMIPS
  gdbstub: Disable handling of nanoMIPS ISA bit in the MIPS gdbstub

Matthew Fortune (3):
  target/mips: Implement emulation of nanoMIPS ROTX instruction
  target/mips: Add handling of branch delay slots for nanoMIPS
  mips_malta: Add basic nanoMIPS boot code for MIPS' Malta

Paul Burton (1):
  mips_malta: Setup GT64120 BARs in nanoMIPS bootloader

Stefan Markovic (8):
  target/mips: Add nanoMIPS DSP ASE opcodes
  target/mips: Implement MT ASE support for nanoMIPS
  target/mips: Implement DSP ASE support for nanoMIPS
  target/mips: Add updating CP0 BadInstrX register for nanoMIPs only
  target/mips: Implement CP0 Config0.WR bit functionality
  mips_malta: Fix semihosting argument passing for nanoMIPS bare metal
  gdbstub: Add XML support for GDB for nanoMIPS
  target/mips: Add definition of nanoMIPS I7200 CPU

Yongbok Kim (19):
  target/mips: Add nanoMIPS base instruction set opcodes
  target/mips: Add decode_nanomips_opc() function
  target/mips: Add nanoMIPS decoding and extraction utilities
  target/mips: Add emulation of misc nanoMIPS 16-bit instructions
  target/mips: Add emulation of nanoMIPS 16-bit load and store
    instructions
  target/mips: Add emulation of nanoMIPS 16-bit logic instructions
  target/mips: Add emulation of nanoMIPS 16-bit save and restore
    instructions
  target/mips: Add emulation of some common nanoMIPS 32-bit instructions
  target/mips: Add emulation of nanoMIPS 48-bit instructions
  target/mips: Add emulation of nanoMIPS FP instructions
  target/mips: Add emulation of misc nanoMIPS instructions (pool32a0)
  target/mips: Add emulation of misc nanoMIPS instructions (pool32axf)
  target/mips: Add emulation of misc nanoMIPS instructions (pool p_lsx)
  target/mips: Add emulation of nanoMIPS 32-bit load and store
    instructions
  target/mips: Add emulation of nanoMIPS branch instructions
  target/mips: Implement emulation of nanoMIPS LLWP/SCWP pair
  target/mips: Add updating BadInstr and BadInstrP registers for
    nanoMIPS
  target/mips: Adjust behavior of Config3's ISAOnExc bit for nanoMIPS
  target/mips: Fix ERET/ERETNC behavior related to ADEL exception

 MAINTAINERS                      |    3 +-
 gdb-xml/nanomips-cp0.xml         |   13 +
 gdb-xml/nanomips-cpu.xml         |   44 +
 gdb-xml/nanomips-dsp.xml         |   20 +
 gdb-xml/nanomips-fpu.xml         |   45 +
 gdb-xml/nanomips-linux.xml       |   20 +
 hw/mips/mips_malta.c             |  153 +-
 include/elf.h                    |   20 +
 linux-user/elfload.c             |    2 +
 linux-user/mips/cpu_loop.c       |   28 +-
 target/mips/cpu.h                |    2 +
 target/mips/gdbstub.c            |   13 +-
 target/mips/helper.c             |   47 +-
 target/mips/helper.h             |    4 +
 target/mips/mips-defs.h          |    4 +
 target/mips/op_helper.c          |  147 +-
 target/mips/translate.c          | 7305 ++++++++++++++++++++++++++++++--------
 target/mips/translate_init.inc.c |   40 +
 18 files changed, 6474 insertions(+), 1436 deletions(-)
 create mode 100644 gdb-xml/nanomips-cp0.xml
 create mode 100644 gdb-xml/nanomips-cpu.xml
 create mode 100644 gdb-xml/nanomips-dsp.xml
 create mode 100644 gdb-xml/nanomips-fpu.xml
 create mode 100644 gdb-xml/nanomips-linux.xml

-- 
2.7.4

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

end of thread, other threads:[~2018-07-27 15:50 UTC | newest]

Thread overview: 89+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-07-19 12:54 [Qemu-devel] [PATCH v3 00/40] Add nanoMIPS support to QEMU Stefan Markovic
2018-07-19 12:54 ` [Qemu-devel] [PATCH v3 01/40] target/mips: Add preprocessor constants for nanoMIPS Stefan Markovic
2018-07-19 12:54 ` [Qemu-devel] [PATCH v3 02/40] target/mips: Add nanoMIPS base instruction set opcodes Stefan Markovic
2018-07-19 12:54 ` [Qemu-devel] [PATCH v3 03/40] target/mips: Add nanoMIPS DSP ASE opcodes Stefan Markovic
2018-07-19 16:28   ` Richard Henderson
2018-07-19 12:54 ` [Qemu-devel] [PATCH v3 04/40] target/mips: Add decode_nanomips_opc() function Stefan Markovic
2018-07-19 16:39   ` Richard Henderson
2018-07-24 10:56     ` Aleksandar Markovic
2018-07-19 12:54 ` [Qemu-devel] [PATCH v3 05/40] target/mips: Add nanoMIPS decoding and extraction utilities Stefan Markovic
2018-07-19 16:57   ` Richard Henderson
2018-07-24 11:00     ` Aleksandar Markovic
2018-07-19 12:54 ` [Qemu-devel] [PATCH v3 06/40] target/mips: Add emulation of misc nanoMIPS 16-bit instructions Stefan Markovic
2018-07-19 18:06   ` Richard Henderson
2018-07-19 12:54 ` [Qemu-devel] [PATCH v3 07/40] target/mips: Add emulation of nanoMIPS 16-bit load and store instructions Stefan Markovic
2018-07-19 18:28   ` Richard Henderson
2018-07-19 12:54 ` [Qemu-devel] [PATCH v3 08/40] target/mips: Add emulation of nanoMIPS 16-bit logic instructions Stefan Markovic
2018-07-19 12:54 ` [Qemu-devel] [PATCH v3 09/40] target/mips: Add emulation of nanoMIPS 16-bit save and restore instructions Stefan Markovic
2018-07-19 18:34   ` Richard Henderson
2018-07-19 12:54 ` [Qemu-devel] [PATCH v3 10/40] target/mips: Add emulation of some common nanoMIPS 32-bit instructions Stefan Markovic
2018-07-19 18:52   ` Richard Henderson
2018-07-19 12:54 ` [Qemu-devel] [PATCH v3 11/40] target/mips: Add emulation of nanoMIPS 48-bit instructions Stefan Markovic
2018-07-19 19:01   ` Richard Henderson
2018-07-19 12:54 ` [Qemu-devel] [PATCH v3 12/40] target/mips: Add emulation of nanoMIPS FP instructions Stefan Markovic
2018-07-19 19:03   ` Richard Henderson
2018-07-19 12:54 ` [Qemu-devel] [PATCH v3 13/40] target/mips: Add emulation of misc nanoMIPS instructions (pool32a0) Stefan Markovic
2018-07-19 19:08   ` Richard Henderson
2018-07-25 15:38     ` Aleksandar Markovic
2018-07-25 19:07       ` Richard Henderson
2018-07-19 12:54 ` [Qemu-devel] [PATCH v3 14/40] target/mips: Add emulation of misc nanoMIPS instructions (pool32axf) Stefan Markovic
2018-07-19 19:13   ` Richard Henderson
2018-07-20 16:15     ` Aleksandar Markovic
2018-07-19 12:54 ` [Qemu-devel] [PATCH v3 15/40] target/mips: Add emulation of misc nanoMIPS instructions (pool p_lsx) Stefan Markovic
2018-07-19 19:19   ` Richard Henderson
2018-07-19 12:54 ` [Qemu-devel] [PATCH v3 16/40] target/mips: Implement emulation of nanoMIPS ROTX instruction Stefan Markovic
2018-07-19 19:19   ` Richard Henderson
2018-07-19 12:54 ` [Qemu-devel] [PATCH v3 17/40] target/mips: Implement emulation of nanoMIPS EXTW instruction Stefan Markovic
2018-07-19 20:59   ` Richard Henderson
2018-07-19 12:54 ` [Qemu-devel] [PATCH v3 18/40] target/mips: Add emulation of nanoMIPS 32-bit load and store instructions Stefan Markovic
2018-07-20  4:59   ` Richard Henderson
2018-07-25 15:46     ` Aleksandar Markovic
2018-07-25 19:18       ` Richard Henderson
2018-07-25 19:32     ` Peter Maydell
2018-07-19 12:54 ` [Qemu-devel] [PATCH v3 19/40] target/mips: Add emulation of nanoMIPS branch instructions Stefan Markovic
2018-07-20  5:28   ` Richard Henderson
2018-07-19 12:54 ` [Qemu-devel] [PATCH v3 20/40] target/mips: Implement MT ASE support for nanoMIPS Stefan Markovic
2018-07-21 15:19   ` Richard Henderson
2018-07-19 12:54 ` [Qemu-devel] [PATCH v3 21/40] target/mips: Implement DSP " Stefan Markovic
2018-07-21 15:52   ` Richard Henderson
2018-07-21 18:04   ` Richard Henderson
2018-07-19 12:54 ` [Qemu-devel] [PATCH v3 22/40] target/mips: Add handling of branch delay slots " Stefan Markovic
2018-07-21 18:03   ` Richard Henderson
2018-07-19 12:54 ` [Qemu-devel] [PATCH v3 23/40] target/mips: Implement emulation of nanoMIPS LLWP/SCWP pair Stefan Markovic
2018-07-21 18:15   ` Richard Henderson
2018-07-23 17:21     ` Aleksandar Markovic
2018-07-27 15:29     ` Aleksandar Markovic
2018-07-27 15:50       ` Richard Henderson
2018-07-19 12:54 ` [Qemu-devel] [PATCH v3 24/40] target/mips: Add updating BadInstr and BadInstrP registers for nanoMIPS Stefan Markovic
2018-07-23 16:36   ` Richard Henderson
2018-07-24 10:47   ` Aleksandar Markovic
2018-07-19 12:54 ` [Qemu-devel] [PATCH v3 25/40] target/mips: Add updating CP0 BadInstrX register for nanoMIPs only Stefan Markovic
2018-07-23 16:35   ` Richard Henderson
2018-07-19 12:54 ` [Qemu-devel] [PATCH v3 26/40] target/mips: Implement CP0 Config0.WR bit functionality Stefan Markovic
2018-07-23 16:46   ` Richard Henderson
2018-07-19 12:54 ` [Qemu-devel] [PATCH v3 27/40] target/mips: Adjust behavior of Config3's ISAOnExc bit for nanoMIPS Stefan Markovic
2018-07-23 16:48   ` Richard Henderson
2018-07-19 12:55 ` [Qemu-devel] [PATCH v3 28/40] target/mips: Adjust exception_resume_pc() " Stefan Markovic
2018-07-23 16:54   ` Richard Henderson
2018-07-19 12:55 ` [Qemu-devel] [PATCH v3 29/40] target/mips: Adjust set_hflags_for_handler() " Stefan Markovic
2018-07-23 16:54   ` Richard Henderson
2018-07-19 12:55 ` [Qemu-devel] [PATCH v3 30/40] target/mips: Adjust set_pc() " Stefan Markovic
2018-07-23 16:55   ` Richard Henderson
2018-07-19 12:55 ` [Qemu-devel] [PATCH v3 31/40] target/mips: Fix ERET/ERETNC behavior related to ADEL exception Stefan Markovic
2018-07-23 16:56   ` Richard Henderson
2018-07-19 12:55 ` [Qemu-devel] [PATCH v3 32/40] elf: Add nanoMIPS specific variations in ELF header fields Stefan Markovic
2018-07-23 16:59   ` Richard Henderson
2018-07-23 17:39     ` Aleksandar Markovic
2018-07-23 17:43       ` Aleksandar Markovic
2018-07-19 12:55 ` [Qemu-devel] [PATCH v3 33/40] elf: Relax MIPS' elf_check_arch() to accept EM_NANOMIPS too Stefan Markovic
2018-07-23 17:01   ` Richard Henderson
2018-07-19 12:55 ` [Qemu-devel] [PATCH v3 34/40] linux-user: Don't check FCR31_NAN2008 bit for nanoMIPS Stefan Markovic
2018-07-23 17:02   ` Richard Henderson
2018-07-19 12:55 ` [Qemu-devel] [PATCH v3 35/40] mips_malta: Add basic nanoMIPS boot code for MIPS' Malta Stefan Markovic
2018-07-19 12:55 ` [Qemu-devel] [PATCH v3 36/40] mips_malta: Setup GT64120 BARs in nanoMIPS bootloader Stefan Markovic
2018-07-19 12:55 ` [Qemu-devel] [PATCH v3 37/40] mips_malta: Fix semihosting argument passing for nanoMIPS bare metal Stefan Markovic
2018-07-19 12:55 ` [Qemu-devel] [PATCH v3 38/40] gdbstub: Disable handling of nanoMIPS ISA bit in the MIPS gdbstub Stefan Markovic
2018-07-23 17:03   ` Richard Henderson
2018-07-19 12:55 ` [Qemu-devel] [PATCH v3 39/40] gdbstub: Add XML support for GDB for nanoMIPS Stefan Markovic
2018-07-19 12:55 ` [Qemu-devel] [PATCH v3 40/40] target/mips: Add definition of nanoMIPS I7200 CPU Stefan Markovic
2018-07-23 17:05   ` Richard Henderson

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.