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
