The following changes since commit 2c0584588c9fedc2a8abc087c01a498ce80997d0:

  Merge tag 'pbouvier/pr/multi_target-20261024' of 
https://gitlab.com/p-b-o/qemu into staging (2026-10-27 06:08:01 -0500)

are available in the Git repository at:

  https://github.com/qualcomm/qemu tags/pull-hex-20261027

for you to fetch changes up to 16dba888bdeac0430d9dc7ed5dc13d6bbd384820:

  scripts/clean_functional_cache: tolerate missing .stamp files (2026-10-27 
07:23:27 -0700)

v4:
- added "tolerate missing .stamp files" to address clean cache issue
- rebased on pbouvier/pr/multi_target-20261024, fixed helper
architecture qualification in "implement SSR.SS single-step".

----------------------------------------------------------------
hexagon: v85, DSP machines, singlestep, bugfixes

- v85 scalar: atomics, CFI/_rb, vector stack
- new DSP machines: SM8975 NSP, SA8797P NSP0, SC8480XP NSP0, SA8775P CDSP0,
QCS6490 CDSP.
- bugfixes:
    - coverity, ubsan findings in semihosting, decoder
    - handling framekey w/dealloc_return
- handle singlestep exception
- performance improvements: TLB flush, l2vic
- test coverage
- MTTCG fixes: enabling MTTCG exposed races in lock/interrupts and ciad.

----------------------------------------------------------------
Brian Cain (41):
      target/hexagon: fix allocframe FRAMEKEY scrambling
      target/hexagon: implement SSR.SS single-step
      target/hexagon: sort tag_rev_info entries by version
      Hexagon: add v85 CPU model
      hw/hexagon: add v85 machines
      linux-user/hexagon: report ISA HWCAP through v85
      target/hexagon: add v85 scalar atomics
      target/hexagon: add v83 trap2 and vector stack instructions
      target/hexagon: reject reserved L4_loadw_phys encoding from v83
      target/hexagon: preserve callr target when Rs is LR
      target/hexagon: implement control flow integrity (CFI)
      target/hexagon: add vsf* instructions
      tests/tcg/hexagon: add v85 scalar tests
      target/hexagon: use get_user*() for semihosting arguments
      target/hexagon: fix semihosting OPEN filename handling
      target/hexagon: fix semihosting STAT filename handling
      target/hexagon: fix semihosting ACCESS filename handling
      hw/hexagon: let a machine place its DDR
      hw/hexagon: introduce hex-board abstraction
      hw/hexagon: convert virt board to hex-board
      hw/misc: add the QDSP6SS PLL, RCG
      hw/hexagon: add the QCS6490 CDSP machine
      hw/hexagon: add the SA8775P CDSP machine
      hw/hexagon: add the SC8480XP NSP0 machine
      hw/hexagon: add the SA8797P NSP0 machine
      hw/hexagon: add the SM8975 NSP machine
      hw/hexagon: add v79NA1 machine
      hw/hexagon: serialize config table as little endian
      hw/hexagon: add subsystem-base property
      tests/functional/hexagon: boot DSP firmware
      target/hexagon: acquire BQL before reading interrupt state
      target/hexagon: check exception_index in has_work
      target/hexagon: drop a pending HALT when resuming
      hw/intc: ciad should forward its mask to l2vic
      target/hexagon: assert qfloat shift
      target/hexagon: reset implicit USR write state
      target/hexagon: avoid negative slot shift
      target/hexagon: flush the softtlb once per tlbinvasid
      target/hexagon: only flush the softtlb when SSR.ASID changes
      hw/intc/hex-l2vic: find the next pending irq a word at a time
      scripts/clean_functional_cache: tolerate missing .stamp files

Marco Liebel (1):
      hw/hexagon: add V73NC_1 machine

 MAINTAINERS                                        |   6 +
 docs/system/hexagon/emulation.rst                  |   2 +-
 include/hw/hexagon/hex-board.h                     |  65 ++++
 include/hw/hexagon/hexagon.h                       |  18 +-
 include/hw/hexagon/hexagon_tlb.h                   |   2 +
 include/hw/hexagon/qcom_dsp.h                      |  81 ++++
 include/hw/hexagon/virt.h                          |   6 -
 include/hw/intc/hex-l2vic.h                        |  14 +-
 include/hw/misc/qcom-qdsp6ss-clk.h                 |  15 +
 linux-user/hexagon/target_elf.h                    |   2 +
 target/hexagon/cpu-qom.h                           |   4 +
 target/hexagon/cpu.h                               |  12 +
 target/hexagon/cpu_bits.h                          |   3 +
 target/hexagon/cpu_helper.h                        |   2 -
 target/hexagon/decode.h                            |   2 +
 target/hexagon/gen_tcg.h                           | 124 ++++++-
 target/hexagon/gen_tcg_sys.h                       |   9 +
 target/hexagon/genptr.h                            |  12 +
 target/hexagon/helper.h                            |   6 +
 target/hexagon/hex_mmu.h                           |   3 +-
 target/hexagon/hex_regs.h                          |   2 +
 target/hexagon/idef-parser/parser-helpers.h        |   1 +
 target/hexagon/macros.h                            |  12 +
 target/hexagon/translate.h                         |   5 +
 tests/tcg/hexagon/cfi_tgts.h                       |  18 +
 hw/hexagon/machine_cfg_qcs6490_cdsp.h.inc          |  65 ++++
 hw/hexagon/machine_cfg_sa8775_cdsp0.h.inc          |   6 +-
 hw/hexagon/machine_cfg_sa8797p_nsp0.h.inc          |  56 +++
 hw/hexagon/machine_cfg_sc8480xp_nsp0.h.inc         |  52 +++
 hw/hexagon/machine_cfg_sm8975_nsp.h.inc            |  55 +++
 hw/hexagon/machine_cfg_v73nc_1.h.inc               |  73 ++++
 hw/hexagon/machine_cfg_v79na_1.h.inc               |  34 ++
 hw/hexagon/machine_cfg_v85na_1.h.inc               |  50 +++
 hw/hexagon/machine_cfg_v85qa_1.h.inc               |  51 +++
 target/hexagon/attribs_def.h.inc                   |   2 +
 target/hexagon/reg_fields_def.h.inc                |   1 +
 hw/hexagon/hex-board.c                             | 265 +++++++++++++
 hw/hexagon/hex-subsys.c                            |  14 +-
 hw/hexagon/hexagon_dsp.c                           | 163 +++++++-
 hw/hexagon/hexagon_tlb.c                           |  18 +
 hw/hexagon/qcom_dsp.c                              | 410 +++++++++++++++++++++
 hw/hexagon/qcs6490_cdsp.c                          |  64 ++++
 hw/hexagon/sa8775p_cdsp.c                          |  59 +++
 hw/hexagon/sa8797p_nsp0.c                          |  68 ++++
 hw/hexagon/sc8480xp_nsp0.c                         |  90 +++++
 hw/hexagon/sm8975_nsp.c                            | 102 +++++
 hw/hexagon/virt.c                                  | 309 ++--------------
 hw/intc/hex-l2vic.c                                |  27 +-
 hw/misc/qcom-qdsp6ss-clk.c                         | 208 +++++++++++
 linux-user/hexagon/cpu_loop.c                      |  14 +
 linux-user/hexagon/elfload.c                       |  10 +
 linux-user/hexagon/signal.c                        |   8 +
 target/hexagon/cpu.c                               |  17 +-
 target/hexagon/cpu_helper.c                        |  66 +---
 target/hexagon/decode.c                            |  25 +-
 target/hexagon/genptr.c                            |  91 +++++
 target/hexagon/hex_interrupts.c                    |  11 +-
 target/hexagon/hex_mmu.c                           |  28 +-
 target/hexagon/hexswi.c                            | 170 ++++++---
 target/hexagon/iclass.c                            |   1 +
 target/hexagon/idef-parser/parser-helpers.c        |  16 +-
 target/hexagon/machine.c                           |   3 +-
 target/hexagon/mmvec/hvx_qfloat.c                  |   5 +
 target/hexagon/op_helper.c                         |  93 ++++-
 target/hexagon/printinsn.c                         |   3 +-
 target/hexagon/translate.c                         | 112 +++++-
 tests/qtest/hexagon-config-test.c                  |  78 ++++
 tests/qtest/l2vic-test.c                           |  10 +
 tests/qtest/qcom-dsp-test.c                        | 113 ++++++
 tests/qtest/qct-qtimer-test.c                      |  10 +
 tests/tcg/hexagon/atomics.c                        | 111 ++++++
 tests/tcg/hexagon/cfi_tlb.c                        |  99 +++++
 tests/tcg/hexagon/cfi_user.c                       |  73 ++++
 tests/tcg/hexagon/check_rev_gating.c               |  10 +
 tests/tcg/hexagon/framekey.c                       |  54 +++
 tests/tcg/hexagon/invalid-encoding.c               |  20 +
 tests/tcg/hexagon/trap2.c                          |  34 ++
 tests/tcg/hexagon/v83_scalar_fp.c                  |  98 +++++
 tests/tcg/hexagon/vallocframe.c                    | 130 +++++++
 target/hexagon/tag_rev_info.c.inc                  |  82 ++++-
 hw/hexagon/Kconfig                                 |  48 ++-
 hw/hexagon/meson.build                             |   7 +
 hw/misc/Kconfig                                    |   3 +
 hw/misc/meson.build                                |   3 +
 scripts/clean_functional_cache.py                  |   2 +-
 target/hexagon/gen_idef_parser_funcs.py            |   4 +-
 target/hexagon/idef-parser/idef-parser.lex         |   8 +
 target/hexagon/idef-parser/idef-parser.y           |   9 +-
 target/hexagon/imported/alu.idef                   |   3 +
 target/hexagon/imported/branch.idef                |  38 ++
 target/hexagon/imported/encode_pp.def              |  43 ++-
 target/hexagon/imported/encode_subinsn.def         |   1 +
 target/hexagon/imported/float.idef                 |  49 +++
 target/hexagon/imported/ldst.idef                  |  16 +-
 target/hexagon/imported/macros.def                 |  10 +
 target/hexagon/imported/subinsns.idef              |   2 +
 target/hexagon/imported/system.idef                |   9 +
 tests/functional/hexagon/meson.build               |   2 +
 tests/functional/hexagon/test_qcom_dsp_firmware.py |  97 +++++
 tests/functional/hexagon/test_systests.py          |   3 +
 tests/qtest/meson.build                            |   4 +-
 tests/tcg/hexagon/cfi_tgts.S                       | 178 +++++++++
 tests/tcg/hexagon/meson.build                      |  25 +-
 103 files changed, 4351 insertions(+), 476 deletions(-)
 create mode 100644 include/hw/hexagon/hex-board.h
 create mode 100644 include/hw/hexagon/qcom_dsp.h
 create mode 100644 include/hw/misc/qcom-qdsp6ss-clk.h
 create mode 100644 tests/tcg/hexagon/cfi_tgts.h
 create mode 100644 hw/hexagon/machine_cfg_qcs6490_cdsp.h.inc
 create mode 100644 hw/hexagon/machine_cfg_sa8797p_nsp0.h.inc
 create mode 100644 hw/hexagon/machine_cfg_sc8480xp_nsp0.h.inc
 create mode 100644 hw/hexagon/machine_cfg_sm8975_nsp.h.inc
 create mode 100644 hw/hexagon/machine_cfg_v73nc_1.h.inc
 create mode 100644 hw/hexagon/machine_cfg_v79na_1.h.inc
 create mode 100644 hw/hexagon/machine_cfg_v85na_1.h.inc
 create mode 100644 hw/hexagon/machine_cfg_v85qa_1.h.inc
 create mode 100644 hw/hexagon/hex-board.c
 create mode 100644 hw/hexagon/qcom_dsp.c
 create mode 100644 hw/hexagon/qcs6490_cdsp.c
 create mode 100644 hw/hexagon/sa8775p_cdsp.c
 create mode 100644 hw/hexagon/sa8797p_nsp0.c
 create mode 100644 hw/hexagon/sc8480xp_nsp0.c
 create mode 100644 hw/hexagon/sm8975_nsp.c
 create mode 100644 hw/misc/qcom-qdsp6ss-clk.c
 create mode 100644 tests/qtest/hexagon-config-test.c
 create mode 100644 tests/qtest/qcom-dsp-test.c
 create mode 100644 tests/tcg/hexagon/cfi_tlb.c
 create mode 100644 tests/tcg/hexagon/cfi_user.c
 create mode 100644 tests/tcg/hexagon/framekey.c
 create mode 100644 tests/tcg/hexagon/trap2.c
 create mode 100644 tests/tcg/hexagon/v83_scalar_fp.c
 create mode 100644 tests/tcg/hexagon/vallocframe.c
 create mode 100755 tests/functional/hexagon/test_qcom_dsp_firmware.py
 create mode 100644 tests/tcg/hexagon/cfi_tgts.S

Reply via email to