On Mon, Jun 22, 2026 at 6:33 PM Brian Cain <[email protected]> wrote: > > The following changes since commit b83371668192a705b878e909c5ae9c1233cbd5fb: > > Merge tag 'pbouvier/pr/plugins-20260618' of https://gitlab.com/p-b-o/qemu > into staging (2026-06-19 15:00:01 -0400) > > are available in the Git repository at: > > https://github.com/qualcomm/qemu tags/pull-hex-20260622 > > for you to fetch changes up to 4f876e63daaa40bea293c2eeced2ac6418b3d13a: > > target/hexagon/idef-parser: open input file in binary mode (2026-06-22 > 14:30:23 -0700) > > ---------------------------------------------------------------- > hex queue - sysemu > > v2 PR: Fix for wasm build error in `target/hexagon/meson.build`: > > ../target/hexagon/meson.build:285:47: ERROR: Program 'emscripten' not > found or not executable
Hi Brian, There is a wasm build failure: Run-time dependency libffi found: YES 3.5.2 Program scripts/decodetree.py found: YES (/builds/qemu-project/qemu/build/pyvenv/bin/python3 /builds/qemu-project/qemu/scripts/decodetree.py) Program ../scripts/feature_to_c.py found: YES (/builds/qemu-project/qemu/build/pyvenv/bin/python3 /builds/qemu-project/qemu/gdbstub/../scripts/feature_to_c.py) Program flex found: NO ../target/hexagon/meson.build:294:8: ERROR: Program 'flex' not found or not executable https://gitlab.com/qemu-project/qemu/-/jobs/14996902150 See `make docker-help` for how to run test-build locally in a emsdk-wasm64-cross container. The ./configure arguments are "--static --cpu=wasm64 --wasm64-32bit-address-limit --disable-tools --enable-debug --enable-tcg-interpreter" (I got this from .gitlab-ci.d/buildtest.yml). Thanks, Stefan > > ---------------------------------------------------------------- > Brian Cain (72): > target/hexagon: use cmd_array() instead of get_id() > docs: Add hexagon sysemu docs > docs/system: Add hexagon CPU emulation > target/hexagon: Fix badva reference, delete CAUSE > target/hexagon: Add missing A_CALL attr, hintjumpr to multi_cof > target/hexagon: Handle system/guest registers in gen_analyze_funcs.py > and hex_common.py > target/hexagon: Suppress unused-variable warnings for sysemu source regs > target/hexagon: Switch to tag_ignore(), generate via > get_{user,sys}_tags() > target/hexagon: Add privilege check, use tag_ignore() > target/hexagon: Add a placeholder fp exception > target/hexagon: Add guest, system reg number defs > target/hexagon: Add guest, system reg number state > target/hexagon: Add TCG values for sreg, greg > target/hexagon: Add guest/sys reg writes to DisasContext > target/hexagon: Add imported macro, attr defs for sysemu > target/hexagon: Add new macro definitions for sysemu > target/hexagon: Add handlers for guest/sysreg r/w > target/hexagon: Add placeholder greg/sreg r/w helpers > target/hexagon: Add vmstate representation > target/hexagon: Make A_PRIV, "J2_trap*" insts need_env() > target/hexagon: Define register fields for system regs > target/hexagon: Implement do_raise_exception() > target/hexagon: Add system reg insns > target/hexagon: Add sysemu TCG overrides > target/hexagon: Add implicit attributes to sysemu macros > target/hexagon: Add TCG overrides for int handler insts > target/hexagon: Add TCG overrides for thread ctl > target/hexagon: Add TCG overrides for rte, nmi > target/hexagon: Add sreg_{read,write} helpers > target/hexagon: Add representation to count cycles > target/hexagon: Add implementation of cycle counters > target/hexagon: Add pcycle setting functionality > target/hexagon: Add cpu modes, mmu indices, next_PC to state > hw/hexagon: Declare hexagon TLB device interface > target/hexagon: Update TARGET_PAGE_BITS, stubs for > modify_ssr/get_exe_mode > target/hexagon: Define f{S,G}ET_FIELD macros > target/hexagon: Add hex_interrupts support > target/hexagon: Implement {c,}swi helpers > target/hexagon: Implement iassign{r,w} helpers > target/hexagon: Implement start/stop helpers, soft reset > target/hexagon: Implement {g,s}etimask helpers > target/hexagon: Implement wait helper > target/hexagon: Implement get_exe_mode() > target/hexagon: Implement hex_tlb_entry_get_perm() > target/hexagon: Implement software interrupt > target/hexagon: Implement stack overflow exception > target/hexagon: Implement exec_interrupt, set_irq > target/hexagon: Implement hexagon_tlb_fill() > target/hexagon: Implement siad inst > target/hexagon: Implement hexagon_resume_threads() > target/hexagon: Implement setprio, resched > target/hexagon: Add sysemu_ops, cpu_get_phys_page_debug() > target/hexagon: extend hexagon_cpu_mmu_index() for sysemu > target/hexagon: Decode trap1, rte as COF > target/hexagon: Implement modify_ssr, resched, pending_interrupt > target/hexagon: Add pkt_ends_tb to translation > target/hexagon: Add next_PC, {s,g}reg writes > target/hexagon: Add implicit sysreg writes > target/hexagon: Define system, guest reg names > target/hexagon: Add k0 {un,}lock > target/hexagon: Add PC to raise_exception, use fTRAP() helper > target/hexagon: Add TCG overrides for transfer insts > target/hexagon: Add support for loadw_phys > hw/hexagon: Add globalreg model > hw/hexagon: Add global register tracing > hw/hexagon: Add hexagon TLB device implementation > hw/hexagon: Add machine configs for sysemu > hw/hexagon: Add v68, sa8775-cdsp0 defs > target/hexagon: add build config for softmmu > hw/hexagon: Define hexagon "virt" machine > tests/qtest: Add hexagon boot-serial-test > target/hexagon/idef-parser: open input file in binary mode > > Matheus Tavares Bernardino (2): > target/hexagon: add simple cpu_exec_reset and pointer_wrap > target/hexagon: Add guest reg reading functionality > > Sid Manning (1): > hw/hexagon: Add support for cfgbase > > MAINTAINERS | 16 + > docs/devel/hexagon-sys.rst | 112 ++++++ > docs/devel/index-internals.rst | 1 + > docs/system/hexagon/cdsp.rst | 12 + > docs/system/hexagon/emulation.rst | 15 + > docs/system/target-hexagon.rst | 103 +++++ > docs/system/targets.rst | 1 + > configs/devices/hexagon-softmmu/default.mak | 7 + > configs/targets/hexagon-softmmu.mak | 8 + > meson.build | 1 + > hw/hexagon/trace.h | 2 + > include/hw/hexagon/hexagon.h | 161 ++++++++ > include/hw/hexagon/hexagon_globalreg.h | 55 +++ > include/hw/hexagon/hexagon_tlb.h | 46 +++ > include/hw/hexagon/virt.h | 30 ++ > target/hexagon/cpu-param.h | 2 +- > target/hexagon/cpu.h | 89 ++++- > target/hexagon/cpu_bits.h | 75 +++- > target/hexagon/cpu_helper.h | 26 ++ > target/hexagon/gen_tcg.h | 16 +- > target/hexagon/gen_tcg_sys.h | 139 +++++++ > target/hexagon/helper.h | 27 +- > target/hexagon/hex_interrupts.h | 15 + > target/hexagon/hex_mmu.h | 26 ++ > target/hexagon/hex_regs.h | 117 ++++++ > target/hexagon/hexswi.h | 17 + > target/hexagon/idef-parser/parser-helpers.h | 2 + > target/hexagon/internal.h | 22 ++ > target/hexagon/macros.h | 38 +- > target/hexagon/sys_macros.h | 252 ++++++++++++ > target/hexagon/translate.h | 47 +++ > hw/hexagon/machine_cfg_sa8775_cdsp0.h.inc | 64 ++++ > hw/hexagon/machine_cfg_v66g_1024.h.inc | 64 ++++ > hw/hexagon/machine_cfg_v68n_1024.h.inc | 65 ++++ > target/hexagon/attribs_def.h.inc | 35 +- > target/hexagon/reg_fields_def.h.inc | 107 ++++++ > hw/hexagon/hexagon_dsp.c | 225 +++++++++++ > hw/hexagon/hexagon_globalreg.c | 316 +++++++++++++++ > hw/hexagon/hexagon_tlb.c | 467 ++++++++++++++++++++++ > hw/hexagon/virt.c | 347 +++++++++++++++++ > linux-user/hexagon/cpu_loop.c | 23 ++ > system/qdev-monitor.c | 2 +- > target/hexagon/arch.c | 5 + > target/hexagon/cpu.c | 422 +++++++++++++++++++- > target/hexagon/cpu_helper.c | 399 +++++++++++++++++++ > target/hexagon/decode.c | 14 + > target/hexagon/genptr.c | 173 ++++++++- > target/hexagon/hex_interrupts.c | 371 ++++++++++++++++++ > target/hexagon/hex_mmu.c | 270 +++++++++++++ > target/hexagon/hexswi.c | 271 +++++++++++++ > target/hexagon/idef-parser/parser-helpers.c | 9 + > target/hexagon/machine.c | 32 ++ > target/hexagon/op_helper.c | 576 > +++++++++++++++++++++++++++- > target/hexagon/translate.c | 265 ++++++++++++- > tests/qtest/boot-serial-test.c | 8 + > hw/Kconfig | 1 + > hw/hexagon/Kconfig | 14 + > hw/hexagon/meson.build | 7 + > hw/hexagon/trace-events | 3 + > hw/meson.build | 1 + > target/Kconfig | 1 + > target/hexagon/Kconfig | 2 + > target/hexagon/gen_analyze_funcs.py | 14 +- > target/hexagon/gen_helper_funcs.py | 26 +- > target/hexagon/gen_helper_protos.py | 23 +- > target/hexagon/gen_idef_parser_funcs.py | 2 + > target/hexagon/gen_op_attribs.py | 2 +- > target/hexagon/gen_opcodes_def.py | 5 +- > target/hexagon/gen_tcg_funcs.py | 35 +- > target/hexagon/hex_common.py | 184 ++++++++- > target/hexagon/idef-parser/idef-parser.y | 5 +- > target/hexagon/imported/encode_pp.def | 129 ++++++- > target/hexagon/imported/ldst.idef | 3 + > target/hexagon/imported/macros.def | 482 ++++++++++++++++++++++- > target/hexagon/imported/system.idef | 244 +++++++++++- > target/hexagon/meson.build | 30 +- > tests/qemu-iotests/testenv.py | 1 + > tests/qtest/meson.build | 2 + > 78 files changed, 7076 insertions(+), 150 deletions(-) > create mode 100644 docs/devel/hexagon-sys.rst > create mode 100644 docs/system/hexagon/cdsp.rst > create mode 100644 docs/system/hexagon/emulation.rst > create mode 100644 docs/system/target-hexagon.rst > create mode 100644 configs/devices/hexagon-softmmu/default.mak > create mode 100644 configs/targets/hexagon-softmmu.mak > create mode 100644 hw/hexagon/trace.h > create mode 100644 include/hw/hexagon/hexagon.h > create mode 100644 include/hw/hexagon/hexagon_globalreg.h > create mode 100644 include/hw/hexagon/hexagon_tlb.h > create mode 100644 include/hw/hexagon/virt.h > create mode 100644 target/hexagon/cpu_helper.h > create mode 100644 target/hexagon/gen_tcg_sys.h > create mode 100644 target/hexagon/hex_interrupts.h > create mode 100644 target/hexagon/hex_mmu.h > create mode 100644 target/hexagon/hexswi.h > create mode 100644 target/hexagon/sys_macros.h > create mode 100644 hw/hexagon/machine_cfg_sa8775_cdsp0.h.inc > create mode 100644 hw/hexagon/machine_cfg_v66g_1024.h.inc > create mode 100644 hw/hexagon/machine_cfg_v68n_1024.h.inc > create mode 100644 hw/hexagon/hexagon_dsp.c > create mode 100644 hw/hexagon/hexagon_globalreg.c > create mode 100644 hw/hexagon/hexagon_tlb.c > create mode 100644 hw/hexagon/virt.c > create mode 100644 target/hexagon/cpu_helper.c > create mode 100644 target/hexagon/hex_interrupts.c > create mode 100644 target/hexagon/hex_mmu.c > create mode 100644 target/hexagon/hexswi.c > create mode 100644 target/hexagon/machine.c > create mode 100644 hw/hexagon/Kconfig > create mode 100644 hw/hexagon/meson.build > create mode 100644 hw/hexagon/trace-events > create mode 100644 target/hexagon/Kconfig > mode change 100755 => 100644 target/hexagon/imported/macros.def
