[PULL v2 00/75] hex queue

Brian Cain posted 75 patches 21 hours ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20260622222904.607771-1-brian.cain@oss.qualcomm.com
Maintainers: Brian Cain <brian.cain@oss.qualcomm.com>, Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com>, Paolo Bonzini <pbonzini@redhat.com>, Laurent Vivier <laurent@vivier.eu>, Helge Deller <deller@gmx.de>, "Marc-André Lureau" <marcandre.lureau@redhat.com>, "Daniel P. Berrangé" <berrange@redhat.com>, "Philippe Mathieu-Daudé" <philmd@mailo.com>, Alessandro Di Federico <ale@rev.ng>, Anton Johansson <anjo@rev.ng>, Kevin Wolf <kwolf@redhat.com>, Hanna Reitz <hreitz@redhat.com>, Fabiano Rosas <farosas@suse.de>
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
[PULL v2 00/75] hex queue
Posted by Brian Cain 21 hours ago
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

----------------------------------------------------------------
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
Re: [PULL v2 00/75] hex queue
Posted by Stefan Hajnoczi 2 hours ago
On Mon, Jun 22, 2026 at 6:33 PM Brian Cain <brian.cain@oss.qualcomm.com> 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
Re: [PULL v2 00/75] hex queue
Posted by Brian Cain 2 hours ago
On 6/23/2026 12:22 PM, Stefan Hajnoczi wrote:
> On Mon, Jun 22, 2026 at 6:33 PM Brian Cain <brian.cain@oss.qualcomm.com> 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

hmm - I think this should be coming from the host and not the target.

> 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).

Sorry - will test it out comprehensively before v3.


> 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

Re: [PULL v2 00/75] hex queue
Posted by Richard Henderson 13 minutes ago
On 6/23/26 10:57, Brian Cain wrote:
> 
> On 6/23/2026 12:22 PM, Stefan Hajnoczi wrote:
>> On Mon, Jun 22, 2026 at 6:33 PM Brian Cain <brian.cain@oss.qualcomm.com> 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
> 
> hmm - I think this should be coming from the host and not the target.

Need an update to emsdk-wasm64-cross.docker


r~