[PATCH v4 0/9] Hexagon system emulation - Part 3/3

Brian Cain posted 9 patches 3 days, 12 hours ago
Failed in applying to current master (apply log)
MAINTAINERS                                 |   3 +
configs/devices/hexagon-softmmu/default.mak |   8 +
configs/targets/hexagon-softmmu.mak         |   8 +
meson.build                                 |   1 +
hw/hexagon/trace.h                          |   2 +
include/hw/hexagon/hexagon.h                | 150 +++++++
include/hw/hexagon/hexagon_globalreg.h      |  56 +++
include/hw/hexagon/virt.h                   |  43 ++
target/hexagon/cpu.h                        |   7 +-
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                    | 188 ++++++++
hw/hexagon/hexagon_globalreg.c              | 318 ++++++++++++++
hw/hexagon/virt.c                           | 456 ++++++++++++++++++++
system/qdev-monitor.c                       |   2 +-
target/hexagon/cpu.c                        |   6 +-
target/hexagon/translate.c                  |   1 +
tests/qtest/boot-serial-test.c              |   8 +
hw/Kconfig                                  |   1 +
hw/hexagon/Kconfig                          |  15 +
hw/hexagon/meson.build                      |   8 +
hw/hexagon/trace-events                     |   3 +
hw/meson.build                              |   1 +
target/Kconfig                              |   1 +
target/hexagon/Kconfig                      |   2 +
target/hexagon/meson.build                  |  13 +-
tests/qemu-iotests/testenv.py               |   1 +
tests/qtest/meson.build                     |   2 +
29 files changed, 1486 insertions(+), 11 deletions(-)
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/virt.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/virt.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
[PATCH v4 0/9] Hexagon system emulation - Part 3/3
Posted by Brian Cain 3 days, 12 hours ago
This is Part 3 of the Hexagon system emulation series.  It adds the
board-level support, machine definitions, and build infrastructure
needed to run hexagon-softmmu.

This includes:
 - Global register model (QOM device for shared system registers)
 - Global register tracing
 - Machine configuration definitions (v66g, v68n, sa8775-cdsp0)
 - cfgbase support
 - Hexagon "virt" machine definition
 - Build configuration for hexagon-softmmu target
 - Boot serial test for hexagon

Based on Part 1 v6 + Part 2 v4.

Changes since v3:
 - Rebased onto Part 1 v6 / Part 2 v4
 - Created hw/hexagon/trace.h wrapper (Philippe)
 - Converted TARGET_SUPPORTS_MTTCG=y to
   TCGCPUOps::mttcg_supported = true (Philippe)
 - Added TARGET_NOT_USING_LEGACY_LDST_PHYS_API=y and
   TARGET_NOT_USING_LEGACY_NATIVE_ENDIAN_API=y to
   hexagon-softmmu.mak (Philippe)
 - Added const qualifier to machine config structs (Philippe)
 - Fixed mid-block variable declarations (C89 style)
 - Moved DEFINE_PROP_LINK("tlb") to virt machine commit

Previous versions:
 - v3: https://lore.kernel.org/qemu-devel/20260311042019.1085030-1-brian.cain@oss.qualcomm.com/
 - v2: https://lore.kernel.org/qemu-devel/20250902034951.1948194-1-brian.cain@oss.qualcomm.com/
 - v1: https://lore.kernel.org/qemu-devel/20250301172045.1295412-1-brian.cain@oss.qualcomm.com/

Brian Cain (8):
  hw/hexagon: Add globalreg model
  hw/hexagon: Add global register tracing
  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/qtest: Add hexagon boot-serial-test

Sid Manning (1):
  hw/hexagon: Add support for cfgbase

 MAINTAINERS                                 |   3 +
 configs/devices/hexagon-softmmu/default.mak |   8 +
 configs/targets/hexagon-softmmu.mak         |   8 +
 meson.build                                 |   1 +
 hw/hexagon/trace.h                          |   2 +
 include/hw/hexagon/hexagon.h                | 150 +++++++
 include/hw/hexagon/hexagon_globalreg.h      |  56 +++
 include/hw/hexagon/virt.h                   |  43 ++
 target/hexagon/cpu.h                        |   7 +-
 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                    | 188 ++++++++
 hw/hexagon/hexagon_globalreg.c              | 318 ++++++++++++++
 hw/hexagon/virt.c                           | 456 ++++++++++++++++++++
 system/qdev-monitor.c                       |   2 +-
 target/hexagon/cpu.c                        |   6 +-
 target/hexagon/translate.c                  |   1 +
 tests/qtest/boot-serial-test.c              |   8 +
 hw/Kconfig                                  |   1 +
 hw/hexagon/Kconfig                          |  15 +
 hw/hexagon/meson.build                      |   8 +
 hw/hexagon/trace-events                     |   3 +
 hw/meson.build                              |   1 +
 target/Kconfig                              |   1 +
 target/hexagon/Kconfig                      |   2 +
 target/hexagon/meson.build                  |  13 +-
 tests/qemu-iotests/testenv.py               |   1 +
 tests/qtest/meson.build                     |   2 +
 29 files changed, 1486 insertions(+), 11 deletions(-)
 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/virt.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/virt.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

-- 
2.34.1