mbox series

[0/8] hexagon system emu, part 3/3

Message ID 20250301172045.1295412-1-brian.cain@oss.qualcomm.com (mailing list archive)
Headers show
Series hexagon system emu, part 3/3 | expand

Message

Brian Cain March 1, 2025, 5:20 p.m. UTC
hexagon architecture system emulation: part 3/3

This series contains some initial machine definitions, an interrupt
controller device and a test case.  Hexagon "Standalone OS" is used
by the Hexagon SDK to create simple baremetal bootable programs that
can be run on QEMU or the instruction set simulator included with
the Hexagon SDK.  These programs generally depend on semihosting
support, which will come later.

Brian Cain (6):
  hw/hexagon: Add machine configs for sysemu
  hw/hexagon: Add v68, sa8775-cdsp0 defs
  hw/hexagon: Modify "Standalone" symbols
  target/hexagon: add build config for softmmu
  hw/hexagon: Define hexagon "virt" machine
  tests/functional: Add a hexagon minivm test

Sid Manning (2):
  hw/intc: Add l2vic interrupt controller
  hw/hexagon: Add support for cfgbase

 MAINTAINERS                                 |   6 +
 docs/devel/hexagon-l2vic.rst                |  59 +++
 docs/devel/index-internals.rst              |   1 +
 configs/devices/hexagon-softmmu/default.mak |   8 +
 configs/targets/hexagon-softmmu.mak         |   7 +
 qapi/machine.json                           |   2 +-
 include/hw/hexagon/hexagon.h                | 151 +++++++
 include/hw/hexagon/virt.h                   |  41 ++
 include/hw/intc/l2vic.h                     |  37 ++
 target/hexagon/cpu.h                        |   1 +
 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 +++
 hw/hexagon/hexagon_dsp.c                    | 202 ++++++++++
 hw/hexagon/virt.c                           | 395 ++++++++++++++++++
 hw/intc/l2vic.c                             | 417 ++++++++++++++++++++
 target/hexagon/cpu.c                        |   8 +-
 target/hexagon/machine.c                    |   1 -
 hw/Kconfig                                  |   1 +
 hw/hexagon/Kconfig                          |  14 +
 hw/hexagon/meson.build                      |   7 +
 hw/intc/Kconfig                             |   3 +
 hw/intc/meson.build                         |   2 +
 hw/intc/trace-events                        |   4 +
 hw/meson.build                              |   1 +
 target/Kconfig                              |   1 +
 target/hexagon/Kconfig                      |   2 +
 target/hexagon/meson.build                  |   9 +
 tests/functional/meson.build                |   8 +
 tests/functional/test_hexagon_minivm.py     |  42 ++
 30 files changed, 1620 insertions(+), 3 deletions(-)
 create mode 100644 docs/devel/hexagon-l2vic.rst
 create mode 100644 configs/devices/hexagon-softmmu/default.mak
 create mode 100644 configs/targets/hexagon-softmmu.mak
 create mode 100644 include/hw/hexagon/hexagon.h
 create mode 100644 include/hw/hexagon/virt.h
 create mode 100644 include/hw/intc/l2vic.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/virt.c
 create mode 100644 hw/intc/l2vic.c
 create mode 100644 hw/hexagon/Kconfig
 create mode 100644 hw/hexagon/meson.build
 create mode 100644 target/hexagon/Kconfig
 create mode 100755 tests/functional/test_hexagon_minivm.py