Hexagon sysemu part 3: device models (globalreg, TLB), machine definitions (DSP, Virt), hexagon-softmmu build config, and boot-serial-test.
Changes in v6: - Dropped "Modify Standalone symbols"; added "Add hexagon TLB device implementation" (moved from Part 1, which now only has the header). - globalreg: g_assert(s) -> early-return null guards; dropped public reset wrapper; memset uses sizeof(s->regs). - Machine configs: added TYPE_HEXAGON_COMMON_MACHINE (abstract, holds ram + cfgtable_rom) and TYPE_HEXAGON_DSP_MACHINE; wired up TLB device and global-regs links; isdb symbol detection; new MAINTAINERS "Hexagon Machines" section with Pierrick as R:. - Virt machine: re-parented to HEXAGON_COMMON_MACHINE; replaced static phandle globals with return values; moved enums into .c file; simplified realize paths. - Build config: mttcg_supported = true; fixed reg_fields.h include. - Picked up A-b from Philippe and R-b from Pierrick on several patches. Patches still needing review: - 08/09: hw/hexagon: Define hexagon "virt" machine Brian Cain (8): 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 Sid Manning (1): hw/hexagon: Add support for cfgbase MAINTAINERS | 15 +- 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 | 161 +++++++ include/hw/hexagon/hexagon_globalreg.h | 55 +++ include/hw/hexagon/virt.h | 31 ++ 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 | 224 ++++++++++ hw/hexagon/hexagon_globalreg.c | 316 +++++++++++++ hw/hexagon/hexagon_tlb.c | 466 ++++++++++++++++++++ hw/hexagon/virt.c | 463 +++++++++++++++++++ system/qdev-monitor.c | 2 +- target/hexagon/cpu.c | 1 - target/hexagon/translate.c | 1 + 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/meson.build | 13 +- tests/qemu-iotests/testenv.py | 1 + tests/qtest/meson.build | 2 + 30 files changed, 1996 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/hexagon_tlb.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
