All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/14] Hexagon: Add real SoC-style machines
@ 2026-10-19  5:52 Brian Cain
  2026-10-19  5:52 ` [PATCH 01/14] Hexagon: add v85 CPU model Brian Cain
                   ` (13 more replies)
  0 siblings, 14 replies; 35+ messages in thread
From: Brian Cain @ 2026-10-19  5:52 UTC (permalink / raw)
  To: qemu-devel
  Cc: Laurent Vivier, Helge Deller, Pierrick Bouvier, Fabiano Rosas,
	Anton Johansson, Philippe Mathieu-Daudé,
	Alessandro Di Federico, Brian Cain, Paolo Bonzini, Laurent Vivier

Previously we added synthetic machines intended for compatibility with
programs created by the Hexagon SDK.  These simple configurations have a
memory/irq map that doesn't match any real chips, and they are limited
to an interrupt controller and a timer device.

Here we add DSP machines that reflect real-world devices and run some of
the commercial firmware to test it.  Note that for now the boot will not
progress much beyond the initial kernel boot.  Dependencies on other
yet-to-be-modeled devices are preventing the firmware from coming up fully
to a steady/idle state.

Brian Cain (14):
  Hexagon: add v85 CPU model
  hw/hexagon: let a machine place its DDR
  hw/hexagon: introduce hex-board abstraction
  hw/hexagon: convert virt board to hex-board
  hw/misc: add the QDSP6SS PLL, RCG
  hw/hexagon: add the QCS6490 CDSP machine
  hw/hexagon: add the SA8775P CDSP machine
  hw/hexagon: add the SC8480XP NSP0 machine
  hw/hexagon: add the SA8797P NSP0 machine
  hw/hexagon: add the SM8975 NSP machine
  hw/hexagon: add v79NA1 machine
  hw/hexagon: add subsystem-base property
  target/hexagon: fix the allocframe framekey
  tests/functional/hexagon: boot DSP firmware

 MAINTAINERS                                   |   6 +
 docs/system/hexagon/emulation.rst             |   2 +-
 include/hw/hexagon/hex-board.h                |  65 +++
 include/hw/hexagon/hexagon.h                  |  10 +
 include/hw/hexagon/qcom_dsp.h                 |  81 ++++
 include/hw/hexagon/virt.h                     |   6 -
 include/hw/misc/qcom-qdsp6ss-clk.h            |  15 +
 target/hexagon/cpu-qom.h                      |   4 +
 hw/hexagon/machine_cfg_qcs6490_cdsp.h.inc     |  65 +++
 hw/hexagon/machine_cfg_sa8775_cdsp0.h.inc     |   6 +-
 hw/hexagon/machine_cfg_sa8797p_nsp0.h.inc     |  56 +++
 hw/hexagon/machine_cfg_sc8480xp_nsp0.h.inc    |  52 +++
 hw/hexagon/machine_cfg_sm8975_nsp.h.inc       |  55 +++
 hw/hexagon/machine_cfg_v79na_1.h.inc          |  34 ++
 hw/hexagon/hex-board.c                        | 265 ++++++++++++
 hw/hexagon/hex-subsys.c                       |   4 +-
 hw/hexagon/hexagon_dsp.c                      |  84 +++-
 hw/hexagon/qcom_dsp.c                         | 399 ++++++++++++++++++
 hw/hexagon/qcs6490_cdsp.c                     |  64 +++
 hw/hexagon/sa8775p_cdsp.c                     |  59 +++
 hw/hexagon/sa8797p_nsp0.c                     |  68 +++
 hw/hexagon/sc8480xp_nsp0.c                    |  90 ++++
 hw/hexagon/sm8975_nsp.c                       | 102 +++++
 hw/hexagon/virt.c                             | 309 ++------------
 hw/misc/qcom-qdsp6ss-clk.c                    | 208 +++++++++
 linux-user/hexagon/elfload.c                  |   4 +
 target/hexagon/cpu.c                          |   2 +
 target/hexagon/idef-parser/parser-helpers.c   |   2 +-
 tests/qtest/hexagon-config-test.c             |  78 ++++
 tests/qtest/l2vic-test.c                      |  10 +
 tests/qtest/qcom-dsp-test.c                   | 113 +++++
 tests/qtest/qct-qtimer-test.c                 |  10 +
 tests/tcg/hexagon/framekey.c                  |  67 +++
 hw/hexagon/Kconfig                            |  48 ++-
 hw/hexagon/meson.build                        |   7 +
 hw/misc/Kconfig                               |   3 +
 hw/misc/meson.build                           |   3 +
 tests/functional/hexagon/meson.build          |   2 +
 .../hexagon/test_qcom_dsp_firmware.py         |  89 ++++
 tests/qtest/meson.build                       |   4 +-
 tests/tcg/hexagon/meson.build                 |   1 +
 41 files changed, 2254 insertions(+), 298 deletions(-)
 create mode 100644 include/hw/hexagon/hex-board.h
 create mode 100644 include/hw/hexagon/qcom_dsp.h
 create mode 100644 include/hw/misc/qcom-qdsp6ss-clk.h
 create mode 100644 hw/hexagon/machine_cfg_qcs6490_cdsp.h.inc
 create mode 100644 hw/hexagon/machine_cfg_sa8797p_nsp0.h.inc
 create mode 100644 hw/hexagon/machine_cfg_sc8480xp_nsp0.h.inc
 create mode 100644 hw/hexagon/machine_cfg_sm8975_nsp.h.inc
 create mode 100644 hw/hexagon/machine_cfg_v79na_1.h.inc
 create mode 100644 hw/hexagon/hex-board.c
 create mode 100644 hw/hexagon/qcom_dsp.c
 create mode 100644 hw/hexagon/qcs6490_cdsp.c
 create mode 100644 hw/hexagon/sa8775p_cdsp.c
 create mode 100644 hw/hexagon/sa8797p_nsp0.c
 create mode 100644 hw/hexagon/sc8480xp_nsp0.c
 create mode 100644 hw/hexagon/sm8975_nsp.c
 create mode 100644 hw/misc/qcom-qdsp6ss-clk.c
 create mode 100644 tests/qtest/hexagon-config-test.c
 create mode 100644 tests/qtest/qcom-dsp-test.c
 create mode 100644 tests/tcg/hexagon/framekey.c
 create mode 100755 tests/functional/hexagon/test_qcom_dsp_firmware.py

-- 
2.34.1


^ permalink raw reply	[flat|nested] 35+ messages in thread

end of thread, other threads:[~2026-10-20 14:48 UTC | newest]

Thread overview: 35+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-19  5:52 [PATCH 00/14] Hexagon: Add real SoC-style machines Brian Cain
2026-10-19  5:52 ` [PATCH 01/14] Hexagon: add v85 CPU model Brian Cain
2026-10-19 22:32   ` Anton Johansson via qemu development
2026-10-19 23:58     ` Brian Cain
2026-10-19  5:52 ` [PATCH 02/14] hw/hexagon: let a machine place its DDR Brian Cain
2026-10-19 21:40   ` Pierrick Bouvier
2026-10-19  5:52 ` [PATCH 03/14] hw/hexagon: introduce hex-board abstraction Brian Cain
2026-10-19 21:42   ` Pierrick Bouvier
2026-10-19  5:52 ` [PATCH 04/14] hw/hexagon: convert virt board to hex-board Brian Cain
2026-10-19 21:40   ` Pierrick Bouvier
2026-10-19  5:52 ` [PATCH 05/14] hw/misc: add the QDSP6SS PLL, RCG Brian Cain
2026-10-19 21:51   ` Pierrick Bouvier
2026-10-19  5:52 ` [PATCH 06/14] hw/hexagon: add the QCS6490 CDSP machine Brian Cain
2026-10-19 22:15   ` Pierrick Bouvier
2026-10-20 11:28   ` Anton Johansson via qemu development
2026-10-19  5:52 ` [PATCH 07/14] hw/hexagon: add the SA8775P " Brian Cain
2026-10-19 22:15   ` Pierrick Bouvier
2026-10-19  5:52 ` [PATCH 08/14] hw/hexagon: add the SC8480XP NSP0 machine Brian Cain
2026-10-19 22:15   ` Pierrick Bouvier
2026-10-19  5:52 ` [PATCH 09/14] hw/hexagon: add the SA8797P " Brian Cain
2026-10-19 22:15   ` Pierrick Bouvier
2026-10-19  5:52 ` [PATCH 10/14] hw/hexagon: add the SM8975 NSP machine Brian Cain
2026-10-19 22:15   ` Pierrick Bouvier
2026-10-19  5:52 ` [PATCH 11/14] hw/hexagon: add v79NA1 machine Brian Cain
2026-10-19 22:16   ` Pierrick Bouvier
2026-10-19  5:52 ` [PATCH 12/14] hw/hexagon: add subsystem-base property Brian Cain
2026-10-19 22:16   ` Pierrick Bouvier
2026-10-20 14:53   ` Anton Johansson via qemu development
2026-10-19  5:52 ` [PATCH 13/14] target/hexagon: fix the allocframe framekey Brian Cain
2026-10-19  5:52 ` [PATCH 14/14] tests/functional/hexagon: boot DSP firmware Brian Cain
2026-10-19 13:47   ` Philippe Mathieu-Daudé
2026-10-19 13:51     ` Brian Cain
2026-10-19 15:22       ` Brian Cain
2026-10-19 21:50     ` Pierrick Bouvier
2026-10-19 22:03       ` Brian Cain

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.