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
--
2.34.1