[PULL v2 00/41] hex queue

Brian Cain <[email protected]>
Newsgroups org.nongnu.qemu-devel
Message-ID <[email protected]>
The following changes since commit e8d693e12af9cbb89d724baadfcc08559669e279:

  tests/qtest: Do not use versioned pc-q35-5.2 machine anymore (2026-08-11 16:12:34 -0400)

are available in the Git repository at:

  https://github.com/qualcomm/qemu tags/pull-hex-20260812v2-1

for you to fetch changes up to 2e555f5b44d1586517e44d47f73afa6062f48b93:

  tests/hexagon: add tests for HVX bfloat (2026-08-11 23:45:45 -0700)

----------------------------------------------------------------
Hexagon queue

v2 fixes build errors introduced while mitigating a checkpatch
failure.

Fixes:
* ssub32_saturate, ssub64_saturate fixes

Features:

* l2vic device
* qtimer device
* HVX-IEEE instructions (v68+)
* HVX GVec overrides for v{avg*,absdiff,sadd,*}

----------------------------------------------------------------
Brian Cain (24):
      hw/hexagon: add hex-subsys
      hw/hexagon: move VTCM to the common machine state
      hw/hexagon: move global registers to hex-subsys
      hw/hexagon: move the TLB to hex-subsys
      hw/hexagon: group the CPUs in a cluster
      bitops.h: Add find_first_bit32()
      hw/hexagon: extract get_reg_value/set_reg_value stubs in globalreg
      hw/hexagon: connect l2vic device
      hw/hexagon/virt: instantiate virtio-mmio transports
      hw/hexagon/virt: add l2vic interrupt-controller and virtio-mmio FDT nodes
      hw/hexagon/virt: connect pl011 UART interrupt
      tests/qtest: add L2VIC qtest
      tests/functional/hexagon: add arch_tests functional test
      hw/timer: Add QCT QTimer device model
      hw/hexagon: connect qtimer device
      tests/qtest: add qct-qtimer qtest
      tests/functional/hexagon: enable more arch_tests cases
      host-utils: fix ssub32/64_saturate return type and clamp direction
      target/hexagon: add GVec overrides for HVX saturating add/sub
      target/hexagon: add GVec override for HVX vmpyih multiply
      target/hexagon: add GVec overrides for HVX absolute difference
      target/hexagon: add GVec overrides for HVX vector average
      tests/tcg/hexagon: add HVX test for V6_vsubwsat saturation
      tests/tcg/hexagon: add HVX tests for vabsdiff

Matheus Tavares Bernardino (15):
      target/hexagon: fix incorrect/too-permissive HVX encodings
      target/hexagon/cpu: add HVX IEEE FP extension
      hexagon: group cpu configurations in their own struct
      hexagon: print info on "-d in_asm" for disabled IEEE FP instructions
      target/hexagon: add v68 HVX IEEE float arithmetic insns
      target/hexagon: add v68 HVX IEEE float min/max insns
      target/hexagon: add v68 HVX IEEE float misc insns
      target/hexagon: add v68 HVX IEEE float conversion insns
      target/hexagon: add v68 HVX IEEE float compare insns
      target/hexagon: add v73 HVX IEEE bfloat16 insns
      tests/hexagon: add tests for v68 HVX IEEE float arithmetics
      tests/hexagon: add tests for v68 HVX IEEE float min/max
      tests/hexagon: add tests for v68 HVX IEEE float conversions
      tests/hexagon: add tests for v68 HVX IEEE float comparisons
      tests/hexagon: add tests for HVX bfloat

Sid Manning (1):
      hw/intc: Add l2vic interrupt controller

Taylor Simpson (1):
      Hexagon (target/hexagon) Clean up disassembly of control and system regs

 MAINTAINERS                                  |   7 +
 docs/devel/hexagon-l2vic.rst                 |  55 +++
 docs/devel/index-internals.rst               |   1 +
 include/hw/hexagon/hex-subsys.h              |  32 ++
 include/hw/hexagon/hexagon.h                 |   6 +
 include/hw/hexagon/hexagon_globalreg.h       |   8 +
 include/hw/hexagon/virt.h                    |   4 +-
 include/hw/intc/hex-l2vic.h                  |  61 +++
 include/hw/timer/qct-qtimer.h                |  43 ++
 include/qemu/bitops.h                        |  30 +-
 include/qemu/host-utils.h                    |  24 +-
 target/hexagon/cpu.h                         |  12 +-
 target/hexagon/cpu_bits.h                    |  12 +-
 target/hexagon/gen_tcg_hvx.h                 | 170 +++++++
 target/hexagon/genptr.h                      |   4 +
 target/hexagon/helper.h                      |   5 +
 target/hexagon/mmvec/hvx_ieee_fp.h           |  69 +++
 target/hexagon/mmvec/macros.h                |  11 +-
 target/hexagon/mmvec/mmvec.h                 |   3 +
 target/hexagon/printinsn.h                   |   2 +-
 target/hexagon/translate.h                   |   1 +
 tests/tcg/hexagon/hex_test.h                 |  32 ++
 tests/tcg/hexagon/hvx_misc.h                 |  73 +++
 target/hexagon/attribs_def.h.inc             |   9 +
 disas/hexagon.c                              |   4 +-
 hw/hexagon/hex-subsys.c                      | 175 +++++++
 hw/hexagon/hexagon_dsp.c                     |  45 +-
 hw/hexagon/hexagon_globalreg.c               |  65 ++-
 hw/hexagon/virt.c                            | 130 ++++--
 hw/intc/hex-l2vic.c                          | 556 ++++++++++++++++++++++
 hw/timer/qct-qtimer.c                        | 667 +++++++++++++++++++++++++++
 target/hexagon/arch.c                        |   8 +
 target/hexagon/cpu.c                         |  23 +-
 target/hexagon/decode.c                      |   4 +-
 target/hexagon/genptr.c                      |  70 +++
 target/hexagon/mmvec/hvx_ieee_fp.c           | 137 ++++++
 target/hexagon/op_helper.c                   |  37 +-
 target/hexagon/printinsn.c                   | 108 ++++-
 target/hexagon/translate.c                   |   5 +-
 tests/qtest/l2vic-test.c                     | 249 ++++++++++
 tests/qtest/qct-qtimer-test.c                | 385 ++++++++++++++++
 tests/tcg/hexagon/fp_hvx.c                   | 226 +++++++++
 tests/tcg/hexagon/fp_hvx_cmp.c               | 275 +++++++++++
 tests/tcg/hexagon/fp_hvx_cvt.c               | 219 +++++++++
 tests/tcg/hexagon/fp_hvx_disabled.c          |  57 +++
 tests/tcg/hexagon/hvx_misc.c                 |  77 ++++
 hw/hexagon/Kconfig                           |   3 +
 hw/hexagon/meson.build                       |   1 +
 hw/intc/Kconfig                              |   3 +
 hw/intc/meson.build                          |   2 +
 hw/intc/trace-events                         |   4 +
 hw/timer/Kconfig                             |   3 +
 hw/timer/meson.build                         |   2 +
 hw/timer/trace-events                        |   5 +
 target/hexagon/gen_printinsn.py              |  14 +-
 target/hexagon/gen_tcg_funcs.py              |  12 +
 target/hexagon/hex_common.py                 |  27 ++
 target/hexagon/imported/mmvec/encode_ext.def | 126 ++++-
 target/hexagon/imported/mmvec/ext.idef       | 369 ++++++++++++++-
 target/hexagon/meson.build                   |   1 +
 tests/functional/hexagon/test_arch_tests.py  |  38 ++
 tests/qtest/meson.build                      |   2 +-
 tests/tcg/hexagon/Makefile.target            |  14 +
 63 files changed, 4658 insertions(+), 164 deletions(-)
 create mode 100644 docs/devel/hexagon-l2vic.rst
 create mode 100644 include/hw/hexagon/hex-subsys.h
 create mode 100644 include/hw/intc/hex-l2vic.h
 create mode 100644 include/hw/timer/qct-qtimer.h
 create mode 100644 target/hexagon/mmvec/hvx_ieee_fp.h
 create mode 100644 hw/hexagon/hex-subsys.c
 create mode 100644 hw/intc/hex-l2vic.c
 create mode 100644 hw/timer/qct-qtimer.c
 create mode 100644 target/hexagon/mmvec/hvx_ieee_fp.c
 create mode 100644 tests/qtest/l2vic-test.c
 create mode 100644 tests/qtest/qct-qtimer-test.c
 create mode 100644 tests/tcg/hexagon/fp_hvx.c
 create mode 100644 tests/tcg/hexagon/fp_hvx_cmp.c
 create mode 100644 tests/tcg/hexagon/fp_hvx_cvt.c
 create mode 100644 tests/tcg/hexagon/fp_hvx_disabled.c
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.