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
