Add HMX system emulation features and log the HMX opcodes as 'UNIMP' for
now.

In v2:
- Fixed the .introduced references in tag_rev_info.c.inc to use the correct
arch revision for the HMX opcodes.
- Fix the override for mxclracc.

v1: 
https://lore.kernel.org/qemu-devel/[email protected]/

Brian Cain (8):
  target/hexagon: add HMX attrs, state
  hw/hexagon: add the HMX context device
  target/hexagon: add per-CPU HMX configuration
  target/hexagon: import HMX instruction definitions
  target/hexagon: gate HMX exec on SSR:XE2
  hw/hexagon: describe HMX in the device tree
  hw/hexagon: migrate the HMX state
  target/hexagon: implement mxclracc

 include/hw/hexagon/hexagon.h               |   5 +
 include/hw/hexagon/hexagon_hmx_context.h   |  24 ++
 target/hexagon/cpu.h                       |   9 +
 target/hexagon/gen_tcg_hmx.h               |  13 +
 target/hexagon/helper.h                    |   2 +
 target/hexagon/hmx_config.h                |  17 +
 target/hexagon/hmx_state.h                 |  92 ++++++
 target/hexagon/insn.h                      |   1 +
 target/hexagon/translate.h                 |   2 +
 target/hexagon/attribs_def.h.inc           |  13 +
 hw/hexagon/hex-board.c                     |   6 +
 hw/hexagon/hex-subsys.c                    |  23 ++
 hw/hexagon/hexagon_hmx_context.c           | 157 +++++++++
 target/hexagon/cpu.c                       |  25 ++
 target/hexagon/decode.c                    |   3 +
 target/hexagon/genptr.c                    |   1 +
 target/hexagon/hmx_config.c                |  15 +
 target/hexagon/op_helper.c                 |  10 +
 target/hexagon/translate.c                 |  22 ++
 target/hexagon/tag_rev_info.c.inc          | 349 +++++++++++++++++++++
 hw/hexagon/meson.build                     |   1 +
 target/hexagon/gen_idef_parser_funcs.py    |   6 +
 target/hexagon/hex_common.py               |   2 +
 target/hexagon/imported/allext.idef        |   6 +
 target/hexagon/imported/allextenc.def      |   4 +
 target/hexagon/imported/hmx/encode_ext.def | 149 +++++++++
 target/hexagon/imported/hmx/ext.idef       | 175 +++++++++++
 target/hexagon/meson.build                 |  18 +-
 tests/functional/hexagon/test_systests.py  |   3 +
 29 files changed, 1145 insertions(+), 8 deletions(-)
 create mode 100644 include/hw/hexagon/hexagon_hmx_context.h
 create mode 100644 target/hexagon/gen_tcg_hmx.h
 create mode 100644 target/hexagon/hmx_config.h
 create mode 100644 target/hexagon/hmx_state.h
 create mode 100644 hw/hexagon/hexagon_hmx_context.c
 create mode 100644 target/hexagon/hmx_config.c
 create mode 100644 target/hexagon/imported/hmx/encode_ext.def
 create mode 100644 target/hexagon/imported/hmx/ext.idef

-- 
2.34.1

Reply via email to