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

Philippe Mathieu-Daudé posted 2 patches 6 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20240305220938.85410-1-philmd@linaro.org
Maintainers: "Alex Bennée" <alex.bennee@linaro.org>, "Philippe Mathieu-Daudé" <philmd@linaro.org>, Thomas Huth <thuth@redhat.com>, Wainer dos Santos Moschetta <wainersm@redhat.com>, Beraldo Leal <bleal@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>, "Marc-André Lureau" <marcandre.lureau@redhat.com>, "Daniel P. Berrangé" <berrange@redhat.com>, Eric Blake <eblake@redhat.com>, Markus Armbruster <armbru@redhat.com>, Eduardo Habkost <eduardo@habkost.net>, Marcel Apfelbaum <marcel.apfelbaum@gmail.com>, Yanan Wang <wangyanan55@huawei.com>, Laurent Vivier <lvivier@redhat.com>
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
[PATCH v4 0/2] target: New binary to prototype heterogeneous machines
Posted by Philippe Mathieu-Daudé 6 months ago
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

-- 
2.41.0