qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v2 00/16] target/xtensa: switch to libisa
@ 2017-12-19  5:38 Max Filippov
  2017-12-19  5:38 ` [Qemu-devel] [PATCH v2 01/16] target/xtensa: pass actual frame size to the entry helper Max Filippov
                   ` (16 more replies)
  0 siblings, 17 replies; 19+ messages in thread
From: Max Filippov @ 2017-12-19  5:38 UTC (permalink / raw)
  To: qemu-devel; +Cc: Richard Henderson, Max Filippov

Hello,

this series adds libisa to the Xtensa target, changes decoder and
instruction translators to use it, switches existing xtensa cores
to use it, adds support for a number of new instructions and adds
disassembler for Xtensa.

Libisa is the canonical way of dealing with Xtensa instructions
decoding and encoding. Libisa is a configuration-independent library
with a stable interface plus generated configuration-specific
xtensa-modules.c file with implementations of decoding and encoding
functions. Libisa is MIT-licensed and originally distributed
xtensa-modules.c files are also MIT-licensed and are available as a
part of the xtensa configuration overlay.

This transition makes it possible to support variable-encoding
instructions of the core ISA, like const16, and will allow to support
advanced Xtensa features, like FLIX and TIE.

Development branch is available at:

   git://github.com/OSLL/qemu-xtensa.git xtensa-libisa

Changes v1->v2:
- add sed transformation to target/xtensa/import-core.sh that drops
  #include "ansidecl.h" from imported xtensa-modules.c;
- drop #include "ansidecl.h" from xtensa-modules.c for converted cores;
- reimplement translate_const16 using tcg_gen_deposit_i32.

Max Filippov (16):
  target/xtensa: pass actual frame size to the entry helper
  target/xtensa: import libisa source
  target/xtensa: extract core opcode translators
  target/xtensa: extract FPU2000 opcode translators
  target/xtensa: update import_core.sh script for libisa
  target/xtensa: switch dc232b to libisa
  target/xtensa: switch dc233c to libisa
  target/xtensa: switch fsf to libisa
  target/xtensa: use libisa for instruction decoding
  target/xtensa: tests: fix memctl SR test
  target/xtensa: drop DisasContext::litbase
  target/xtensa: add internal/noop SRs and opcodes
  target/xtensa: implement salt/saltu
  target/xtensa: implement GPIO32
  target/xtensa: implement const16
  target/xtensa: implement disassembler

 MAINTAINERS                                |     1 +
 disas/Makefile.objs                        |     1 +
 disas/xtensa.c                             |   133 +
 include/disas/bfd.h                        |     1 +
 include/hw/xtensa/xtensa-isa.h             |   838 ++
 target/xtensa/Makefile.objs                |     1 +
 target/xtensa/core-dc232b.c                |     4 +
 target/xtensa/core-dc232b/xtensa-modules.c | 14105 +++++++++++++++++++++++++
 target/xtensa/core-dc233c.c                |     4 +
 target/xtensa/core-dc233c/xtensa-modules.c | 15232 +++++++++++++++++++++++++++
 target/xtensa/core-fsf.c                   |     5 +
 target/xtensa/core-fsf/xtensa-modules.c    |  9841 +++++++++++++++++
 target/xtensa/cpu.c                        |     9 +
 target/xtensa/cpu.h                        |    31 +
 target/xtensa/helper.c                     |    37 +
 target/xtensa/import_core.sh               |    15 +
 target/xtensa/op_helper.c                  |     2 +-
 target/xtensa/translate.c                  |  5883 +++++++----
 target/xtensa/xtensa-isa-internal.h        |   231 +
 target/xtensa/xtensa-isa.c                 |  1745 +++
 target/xtensa/xtensa-isa.h                 |     1 +
 tests/tcg/xtensa/test_sr.S                 |     2 +-
 22 files changed, 45949 insertions(+), 2173 deletions(-)
 create mode 100644 disas/xtensa.c
 create mode 100644 include/hw/xtensa/xtensa-isa.h
 create mode 100644 target/xtensa/core-dc232b/xtensa-modules.c
 create mode 100644 target/xtensa/core-dc233c/xtensa-modules.c
 create mode 100644 target/xtensa/core-fsf/xtensa-modules.c
 create mode 100644 target/xtensa/xtensa-isa-internal.h
 create mode 100644 target/xtensa/xtensa-isa.c
 create mode 100644 target/xtensa/xtensa-isa.h

-- 
2.1.4

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

end of thread, other threads:[~2018-01-18 13:34 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-12-19  5:38 [Qemu-devel] [PATCH v2 00/16] target/xtensa: switch to libisa Max Filippov
2017-12-19  5:38 ` [Qemu-devel] [PATCH v2 01/16] target/xtensa: pass actual frame size to the entry helper Max Filippov
2017-12-19  5:38 ` [Qemu-devel] [PATCH v2 02/16] target/xtensa: import libisa source Max Filippov
2017-12-19  5:38 ` [Qemu-devel] [PATCH v2 03/16] target/xtensa: extract core opcode translators Max Filippov
2017-12-19  5:38 ` [Qemu-devel] [PATCH v2 04/16] target/xtensa: extract FPU2000 " Max Filippov
2017-12-19  5:38 ` [Qemu-devel] [PATCH v2 05/16] target/xtensa: update import_core.sh script for libisa Max Filippov
2017-12-19  5:38 ` [Qemu-devel] [PATCH v2 06/16] target/xtensa: switch dc232b to libisa Max Filippov
2017-12-19  5:38 ` [Qemu-devel] [PATCH v2 07/16] target/xtensa: switch dc233c " Max Filippov
2017-12-19  5:38 ` [Qemu-devel] [PATCH v2 08/16] target/xtensa: switch fsf " Max Filippov
2017-12-19  5:38 ` [Qemu-devel] [PATCH v2 09/16] target/xtensa: use libisa for instruction decoding Max Filippov
2017-12-19  5:38 ` [Qemu-devel] [PATCH v2 10/16] target/xtensa: tests: fix memctl SR test Max Filippov
2017-12-19  5:38 ` [Qemu-devel] [PATCH v2 11/16] target/xtensa: drop DisasContext::litbase Max Filippov
2017-12-19  5:38 ` [Qemu-devel] [PATCH v2 12/16] target/xtensa: add internal/noop SRs and opcodes Max Filippov
2017-12-19  5:38 ` [Qemu-devel] [PATCH v2 13/16] target/xtensa: implement salt/saltu Max Filippov
2017-12-19  5:38 ` [Qemu-devel] [PATCH v2 14/16] target/xtensa: implement GPIO32 Max Filippov
2017-12-19  5:38 ` [Qemu-devel] [PATCH v2 15/16] target/xtensa: implement const16 Max Filippov
2017-12-19  5:38 ` [Qemu-devel] [PATCH v2 16/16] target/xtensa: implement disassembler Max Filippov
2018-01-18 13:34   ` Peter Maydell
2017-12-19  6:14 ` [Qemu-devel] [PATCH v2 00/16] target/xtensa: switch to libisa no-reply

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