[PATCH v2 0/9] hexagon: Add scalar v75=>v81 support

Brian Cain posted 9 patches 2 weeks, 3 days ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20260909040137.3414132-1-brian.cain@oss.qualcomm.com
Maintainers: Brian Cain <brian.cain@oss.qualcomm.com>, Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com>, Laurent Vivier <laurent@vivier.eu>, Helge Deller <deller@gmx.de>
include/hw/hexagon/hexagon.h                |  11 ++
target/hexagon/cpu-qom.h                    |   6 +
target/hexagon/cpu.h                        |   4 +-
target/hexagon/hex_regs.h                   |  42 ++++++
target/hexagon/sys_macros.h                 |  11 +-
hw/hexagon/machine_cfg_v81dgb_1.h.inc       |  73 +++++++++
hw/hexagon/machine_cfg_v81qa_1.h.inc        |  73 +++++++++
target/hexagon/attribs_def.h.inc            |   3 +
target/hexagon/reg_fields_def.h.inc         |  10 +-
hw/hexagon/hexagon_dsp.c                    |  48 +++++-
hw/hexagon/hexagon_globalreg.c              |  10 ++
linux-user/hexagon/elfload.c                |   6 +
target/hexagon/cpu.c                        |  14 +-
target/hexagon/cpu_helper.c                 |  15 +-
target/hexagon/genptr.c                     |   8 +-
target/hexagon/hex_interrupts.c             | 141 ++++++++++++------
target/hexagon/op_helper.c                  |  58 +++++---
target/hexagon/translate.c                  |   8 +-
tests/tcg/hexagon/check_rev_gating.c        |  32 +++-
tests/tcg/hexagon/v73_scalar.c              |   7 +
tests/tcg/hexagon/v79_scalar.c              | 157 ++++++++++++++++++++
target/hexagon/tag_rev_info.c.inc           |  30 +++-
target/hexagon/imported/encode_pp.def       |  21 +++
target/hexagon/imported/ldst.idef           |  21 +++
target/hexagon/imported/system.idef         |   7 +
tests/functional/hexagon/test_arch_tests.py |  21 +++
tests/tcg/hexagon/meson.build               |   1 +
27 files changed, 752 insertions(+), 86 deletions(-)
create mode 100644 hw/hexagon/machine_cfg_v81dgb_1.h.inc
create mode 100644 hw/hexagon/machine_cfg_v81qa_1.h.inc
create mode 100644 tests/tcg/hexagon/v79_scalar.c
[PATCH v2 0/9] hexagon: Add scalar v75=>v81 support
Posted by Brian Cain 2 weeks, 3 days ago
Add support for the scalar opcodes from v75 through v81, and
v81 machines to go along with those.

Added in v2:
- widened interrupt/CPU masks for v81
- expanded global system regs for v81
- moved 'sim' machine alias to v81qa_1
- test case to cover wider v81 interrupt masks

v1: https://lore.kernel.org/qemu-devel/20260908133512.2353957-1-brian.cain@oss.qualcomm.com/

Brian Cain (9):
  target/hexagon: add the v75, v79 and v81 CPU models
  target/hexagon: add the v73 J2_unpause scalar instruction
  target/hexagon: add the v79 instructions
  target/hexagon: add Y2_tlbpp as unimplemented
  hw/hexagon: add the V81DGB_1 and V81QA_1 machines
  hw/hexagon: move "sim" alias to "V81QA_1"
  target/hexagon: widen v81 CPU masks
  target/hexagon: add v81 interrupt registers
  tests/functional: cover v81 system registers

 include/hw/hexagon/hexagon.h                |  11 ++
 target/hexagon/cpu-qom.h                    |   6 +
 target/hexagon/cpu.h                        |   4 +-
 target/hexagon/hex_regs.h                   |  42 ++++++
 target/hexagon/sys_macros.h                 |  11 +-
 hw/hexagon/machine_cfg_v81dgb_1.h.inc       |  73 +++++++++
 hw/hexagon/machine_cfg_v81qa_1.h.inc        |  73 +++++++++
 target/hexagon/attribs_def.h.inc            |   3 +
 target/hexagon/reg_fields_def.h.inc         |  10 +-
 hw/hexagon/hexagon_dsp.c                    |  48 +++++-
 hw/hexagon/hexagon_globalreg.c              |  10 ++
 linux-user/hexagon/elfload.c                |   6 +
 target/hexagon/cpu.c                        |  14 +-
 target/hexagon/cpu_helper.c                 |  15 +-
 target/hexagon/genptr.c                     |   8 +-
 target/hexagon/hex_interrupts.c             | 141 ++++++++++++------
 target/hexagon/op_helper.c                  |  58 +++++---
 target/hexagon/translate.c                  |   8 +-
 tests/tcg/hexagon/check_rev_gating.c        |  32 +++-
 tests/tcg/hexagon/v73_scalar.c              |   7 +
 tests/tcg/hexagon/v79_scalar.c              | 157 ++++++++++++++++++++
 target/hexagon/tag_rev_info.c.inc           |  30 +++-
 target/hexagon/imported/encode_pp.def       |  21 +++
 target/hexagon/imported/ldst.idef           |  21 +++
 target/hexagon/imported/system.idef         |   7 +
 tests/functional/hexagon/test_arch_tests.py |  21 +++
 tests/tcg/hexagon/meson.build               |   1 +
 27 files changed, 752 insertions(+), 86 deletions(-)
 create mode 100644 hw/hexagon/machine_cfg_v81dgb_1.h.inc
 create mode 100644 hw/hexagon/machine_cfg_v81qa_1.h.inc
 create mode 100644 tests/tcg/hexagon/v79_scalar.c

-- 
2.34.1