[PATCH 00/10] single-binary: fix compilation/execution for {arm, aarch32, microblaze}

Pierrick Bouvier posted 10 patches 2 days, 11 hours ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20260528051642.115721-1-pierrick.bouvier@oss.qualcomm.com
Maintainers: Jason Wang <jasowang@redhat.com>, Alex Williamson <alex@shazbot.org>, "Cédric Le Goater" <clg@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>, "Marc-André Lureau" <marcandre.lureau@redhat.com>, "Daniel P. Berrangé" <berrange@redhat.com>, "Philippe Mathieu-Daudé" <philmd@mailo.com>, Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com>, Peter Xu <peterx@redhat.com>, Fabiano Rosas <farosas@suse.de>, Richard Henderson <richard.henderson@linaro.org>, Peter Maydell <peter.maydell@linaro.org>, Pedro Barbuda <pbarbuda@microsoft.com>, Mohamed Mediouni <mohamed@unpredictable.fr>, Michael Rolnik <mrolnik@gmail.com>, Brian Cain <brian.cain@oss.qualcomm.com>, Helge Deller <deller@gmx.de>, Zhao Liu <zhao1.liu@intel.com>, Song Gao <gaosong@loongson.cn>, Laurent Vivier <laurent@vivier.eu>, "Edgar E. Iglesias" <edgar.iglesias@gmail.com>, Aurelien Jarno <aurelien@aurel32.net>, Jiaxun Yang <jiaxun.yang@flygoat.com>, Aleksandar Rikalo <arikalo@gmail.com>, Stafford Horne <shorne@gmail.com>, Nicholas Piggin <npiggin@gmail.com>, Chinmay Rath <rathc@linux.ibm.com>, Glenn Miles <milesg@linux.ibm.com>, Harsh Prateek Bora <harshpb@linux.ibm.com>, Palmer Dabbelt <palmer@dabbelt.com>, Alistair Francis <alistair.francis@wdc.com>, Weiwei Li <liwei1518@gmail.com>, Daniel Henrique Barboza <daniel.barboza@oss.qualcomm.com>, Liu Zhiwei <zhiwei_liu@linux.alibaba.com>, Chao Liu <chao.liu.zevorn@gmail.com>, Yoshinori Sato <yoshinori.sato@nifty.com>, Ilya Leoshkevich <iii@linux.ibm.com>, David Hildenbrand <david@kernel.org>, Cornelia Huck <cohuck@redhat.com>, Eric Farman <farman@linux.ibm.com>, Matthew Rosato <mjrosato@linux.ibm.com>, Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>, Artyom Tarasenko <atar4qemu@gmail.com>, Max Filippov <jcmvbkbc@gmail.com>
accel/meson.build             |  3 ++-
hw/net/meson.build            |  5 ++---
hw/vfio/meson.build           |  2 +-
meson.build                   | 26 +++++++++++++-------------
migration/meson.build         |  4 ++--
net/meson.build               |  6 ++++--
target/alpha/meson.build      |  4 +++-
target/arm/meson.build        | 10 +++++++---
target/arm/whpx/meson.build   |  2 +-
target/avr/meson.build        |  4 +++-
target/hexagon/meson.build    |  1 +
target/hppa/meson.build       |  4 +++-
target/i386/meson.build       |  4 +++-
target/loongarch/meson.build  |  4 +++-
target/m68k/meson.build       |  4 +++-
target/microblaze/helper.c    |  2 +-
target/microblaze/helper.h    |  2 +-
target/microblaze/meson.build |  4 +++-
target/microblaze/translate.c |  2 +-
target/mips/meson.build       |  4 +++-
target/or1k/meson.build       |  4 +++-
target/ppc/meson.build        |  4 +++-
target/riscv/meson.build      |  4 +++-
target/rx/meson.build         |  4 +++-
target/s390x/meson.build      |  4 +++-
target/sh4/meson.build        |  4 +++-
target/sparc/meson.build      |  4 +++-
target/tricore/meson.build    |  4 +++-
target/xtensa/meson.build     |  4 +++-
29 files changed, 87 insertions(+), 46 deletions(-)
[PATCH 00/10] single-binary: fix compilation/execution for {arm, aarch32, microblaze}
Posted by Pierrick Bouvier 2 days, 11 hours ago
We are getting close to have an initial proof of concept with a single binary
embedding the three target arch listed in title.

Those latest changes mostly solve link issues with symbol conflicts. Also, it
fixes an issue with accel-arm-cpu QOM type getting registered twice for arm and
aarch64. From there, we are able to compile, link, and launch a single-binary.
We still have more issues to solve though (filtering cpus, machines and devices).

Pierrick Bouvier (10):
  target/arm/meson: move kvm-stub to arm_stubs_ss
  target/arm/whpx: move whpx-stub to arm_stubs_ss
  accel/accel-target.c: move compilation to every target meson.build
  target/arm: deduplicate accel/accel-target.c
  meson.build: move some subdir before system lib creation
  hw/net: use stub_ss for vhost_net-stub.c
  migration: use stub_ss for vfio-stub.c
  net: use stub_ss for vhost-user-stub.c and vhost-vdpa-stub.c
  target/microblaze: rename helper unaligned_access to
    microblaze_unaligned_access
  hw/vfio: use stub_ss for iommufd-stubs.c

 accel/meson.build             |  3 ++-
 hw/net/meson.build            |  5 ++---
 hw/vfio/meson.build           |  2 +-
 meson.build                   | 26 +++++++++++++-------------
 migration/meson.build         |  4 ++--
 net/meson.build               |  6 ++++--
 target/alpha/meson.build      |  4 +++-
 target/arm/meson.build        | 10 +++++++---
 target/arm/whpx/meson.build   |  2 +-
 target/avr/meson.build        |  4 +++-
 target/hexagon/meson.build    |  1 +
 target/hppa/meson.build       |  4 +++-
 target/i386/meson.build       |  4 +++-
 target/loongarch/meson.build  |  4 +++-
 target/m68k/meson.build       |  4 +++-
 target/microblaze/helper.c    |  2 +-
 target/microblaze/helper.h    |  2 +-
 target/microblaze/meson.build |  4 +++-
 target/microblaze/translate.c |  2 +-
 target/mips/meson.build       |  4 +++-
 target/or1k/meson.build       |  4 +++-
 target/ppc/meson.build        |  4 +++-
 target/riscv/meson.build      |  4 +++-
 target/rx/meson.build         |  4 +++-
 target/s390x/meson.build      |  4 +++-
 target/sh4/meson.build        |  4 +++-
 target/sparc/meson.build      |  4 +++-
 target/tricore/meson.build    |  4 +++-
 target/xtensa/meson.build     |  4 +++-
 29 files changed, 87 insertions(+), 46 deletions(-)

-- 
2.47.3