mbox series

[v4,0/2] target: New binary to prototype heterogeneous machines

Message ID 20240305220938.85410-1-philmd@linaro.org (mailing list archive)
Headers show
Series target: New binary to prototype heterogeneous machines | expand

Message

Philippe Mathieu-Daudé March 5, 2024, 10:09 p.m. UTC
Since v3:
- Rename binary (Manos, danpb, mjt, armbru)
- Protect distros with complicated ./configure option (danpb)
- Do not install (Manos)

Since v2:
- Run check-qtest instead of check-unit in CI (Alex)

Almost 2 years later we got hundreds of cleanups patches
merged, so we can get this patch in. Building the 'any'
target has to be explictly requested in ./configure
target-list argument.

This binary will be use to rework QEMU startup code,
paving the way toward dynamic machines. It might also
allow experimenting with multiple TCG target frontends
and possibly prototyping concurrent HW/SW accelerations.

The corresponding CI jobs takes <3min!!!
https://gitlab.com/philmd/qemu/-/jobs/6177909577
Duration: 2 minutes 50 seconds

v1: https://lore.kernel.org/qemu-devel/20220215002658.60678-1-f4bug@amsat.org/
v2: https://lore.kernel.org/qemu-devel/20240209152945.25727-1-philmd@linaro.org/

Philippe Mathieu-Daudé (2):
  meson: Make qemu-system binary installation optional
  target: Add system emulation aiming to target any architecture

 configure                               |  6 ++++++
 configs/devices/any-softmmu/default.mak |  9 +++++++++
 configs/targets/any-softmmu.mak         |  3 +++
 meson.build                             | 25 ++++++++++++++++++-------
 qapi/machine.json                       |  2 +-
 include/sysemu/arch_init.h              |  1 +
 target/any/cpu-param.h                  | 13 +++++++++++++
 target/any/cpu-qom.h                    | 12 ++++++++++++
 target/any/cpu.h                        | 24 ++++++++++++++++++++++++
 .gitlab-ci.d/buildtest.yml              | 21 +++++++++++++++++++++
 hw/any/meson.build                      |  5 +++++
 hw/meson.build                          |  1 +
 meson_options.txt                       |  3 +++
 scripts/meson-buildoptions.sh           |  5 +++++
 target/Kconfig                          |  1 +
 target/any/Kconfig                      |  4 ++++
 target/any/meson.build                  |  7 +++++++
 target/meson.build                      |  1 +
 tests/qtest/meson.build                 |  6 +++++-
 19 files changed, 140 insertions(+), 9 deletions(-)
 create mode 100644 configs/devices/any-softmmu/default.mak
 create mode 100644 configs/targets/any-softmmu.mak
 create mode 100644 target/any/cpu-param.h
 create mode 100644 target/any/cpu-qom.h
 create mode 100644 target/any/cpu.h
 create mode 100644 hw/any/meson.build
 create mode 100644 target/any/Kconfig
 create mode 100644 target/any/meson.build