On 8/12/2026 1:28 AM, Brian Cain wrote:
> 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-20260811
>
> for you to fetch changes up to 87a03d3fb03d4450fdb7b4ef26e6185496555d1c:
>
> tests/hexagon: add tests for HVX bfloat (2026-08-11 23:20:45 -0700)
Sorry, Stefan! Disregard this pull req.
I was looking at the wrong test results when I thought this passed.
> ----------------------------------------------------------------
> Hexagon queue
>
> 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 | 10 +-
> 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, 4657 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