qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/13] fix --without-default-devices build and (mostly) tests
@ 2024-05-09 17:00 Paolo Bonzini
  2024-05-09 17:00 ` [PATCH 01/13] s390x: move s390_cpu_addr2state to target/s390x/sigp.c Paolo Bonzini
                   ` (12 more replies)
  0 siblings, 13 replies; 31+ messages in thread
From: Paolo Bonzini @ 2024-05-09 17:00 UTC (permalink / raw)
  To: qemu-devel; +Cc: thuth

The recent change to make boards "default y" made them go away from
a --without-default-devices build, because the boards are not anymore
enabled explicitly in configs/devices/.

This is a problem for some targets that were not fully ready for this
and have generic target code that needs symbols from boards or devices.
The more complicated ones are s390x and i386.  In some cases some
components simply have to be required by target/ARCH/, but often
it is better to move some code around, associating it with boards
instead of targets or vice versa.

--without-default-devices builds in practice will always use a
custom config, but let's keep things tidy.  This series does
this for s390x (patches 1 to 5) and x86 (patches 6 to 12).  As a
small addendum, patch 13 fixes qtest for ARM (32- and 64-bit) on a
--without-default-devices build.

The series seems huge, but it's mostly code movement.  Patch 10
in particular moves board building code, which is unrelated to the
X86MachineState superclass and has many dependencies on NUMA or
hw/i386/pc-sysfw.c.

I suspect that there are more issues, for example when building
a CONFIG_MICROVM-only binary.  Fixing builds without boards on vanilla
upstream configs is the more pressing problem, though.

Patches 6 and 7 were tested with the Avocado Xen-on-KVM tests.

Paolo


Paolo Bonzini (13):
  s390x: move s390_cpu_addr2state to target/s390x/sigp.c
  s390_flic: add migration-enabled property
  s390: move css_migration_enabled from machine to css.c
  s390x: select correct components for no-board build
  tests/qtest: s390x: fix operation in a build without any boards or
    devices
  xen: initialize legacy backends from xen_bus_init()
  xen: register legacy backends via xen_backend_init
  i386: correctly select code in hw/i386 that depends on other
    components
  i386: pc: remove unnecessary MachineClass overrides
  hw/i386: split x86.c in multiple parts
  hw/i386: move rtc-reset-reinjection command out of hw/rtc
  i386: select correct components for no-board build
  tests/qtest: arm: fix operation in a build without any boards or
    devices

 include/hw/i386/x86.h               |   10 +-
 include/hw/rtc/mc146818rtc.h        |    2 +-
 include/hw/s390x/css.h              |    6 +
 include/hw/s390x/s390-virtio-ccw.h  |    7 -
 include/hw/s390x/s390_flic.h        |    1 +
 include/hw/xen/xen-legacy-backend.h |   14 +-
 include/hw/xen/xen_pvdev.h          |    1 -
 hw/9pfs/xen-9p-backend.c            |    8 +-
 hw/display/xenfb.c                  |    8 +-
 hw/i386/fw_cfg.c                    |    2 +
 hw/i386/monitor.c                   |   46 ++
 hw/i386/pc.c                        |    4 -
 hw/i386/x86-common.c                | 1007 +++++++++++++++++++++++++
 hw/i386/x86-cpu.c                   |   97 +++
 hw/i386/x86.c                       | 1058 +--------------------------
 hw/intc/ioapic-stub.c               |   29 +
 hw/intc/s390_flic.c                 |    6 +-
 hw/rtc/mc146818rtc.c                |   12 +-
 hw/s390x/css.c                      |   10 +-
 hw/s390x/s390-virtio-ccw.c          |   32 +-
 hw/usb/xen-usb.c                    |   14 +-
 hw/xen/xen-bus.c                    |    4 +
 hw/xen/xen-hvm-common.c             |    2 -
 hw/xen/xen-legacy-backend.c         |   16 -
 hw/xenpv/xen_machine_pv.c           |    5 +-
 target/s390x/sigp.c                 |   17 +
 tests/qtest/arm-cpu-features.c      |    4 +
 tests/qtest/drive_del-test.c        |    7 +-
 tests/qtest/migration-test.c        |    6 +
 tests/qtest/numa-test.c             |    4 +
 .gitlab-ci.d/buildtest.yml          |    4 +-
 hw/i386/meson.build                 |    7 +-
 hw/intc/meson.build                 |    2 +-
 target/i386/Kconfig                 |    1 +
 target/s390x/Kconfig                |    2 +
 35 files changed, 1289 insertions(+), 1166 deletions(-)
 create mode 100644 hw/i386/monitor.c
 create mode 100644 hw/i386/x86-common.c
 create mode 100644 hw/i386/x86-cpu.c
 create mode 100644 hw/intc/ioapic-stub.c

-- 
2.45.0



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

end of thread, other threads:[~2024-05-17  5:48 UTC | newest]

Thread overview: 31+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-05-09 17:00 [PATCH 00/13] fix --without-default-devices build and (mostly) tests Paolo Bonzini
2024-05-09 17:00 ` [PATCH 01/13] s390x: move s390_cpu_addr2state to target/s390x/sigp.c Paolo Bonzini
2024-05-10  4:59   ` Thomas Huth
2024-05-09 17:00 ` [PATCH 02/13] s390_flic: add migration-enabled property Paolo Bonzini
2024-05-10  5:06   ` Thomas Huth
2024-05-16 14:42   ` Marc Hartmayer
2024-05-17  5:47     ` Thomas Huth
2024-05-09 17:00 ` [PATCH 03/13] s390: move css_migration_enabled from machine to css.c Paolo Bonzini
2024-05-10  5:37   ` Thomas Huth
2024-05-10  9:19     ` Paolo Bonzini
2024-05-09 17:00 ` [PATCH 04/13] s390x: select correct components for no-board build Paolo Bonzini
2024-05-10  5:11   ` Thomas Huth
2024-05-09 17:00 ` [PATCH 05/13] tests/qtest: s390x: fix operation in a build without any boards or devices Paolo Bonzini
2024-05-10  5:13   ` Thomas Huth
2024-05-09 17:00 ` [PATCH 06/13] xen: initialize legacy backends from xen_bus_init() Paolo Bonzini
2024-05-10 10:18   ` Philippe Mathieu-Daudé
2024-05-09 17:00 ` [PATCH 07/13] xen: register legacy backends via xen_backend_init Paolo Bonzini
2024-05-10 10:52   ` Philippe Mathieu-Daudé
2024-05-09 17:00 ` [PATCH 08/13] i386: correctly select code in hw/i386 that depends on other components Paolo Bonzini
2024-05-10 12:15   ` Zhao Liu
2024-05-09 17:00 ` [PATCH 09/13] i386: pc: remove unnecessary MachineClass overrides Paolo Bonzini
2024-05-10 12:05   ` Zhao Liu
2024-05-09 17:00 ` [PATCH 10/13] hw/i386: split x86.c in multiple parts Paolo Bonzini
2024-05-10 12:32   ` Zhao Liu
2024-05-09 17:00 ` [PATCH 11/13] hw/i386: move rtc-reset-reinjection command out of hw/rtc Paolo Bonzini
2024-05-10 12:37   ` Zhao Liu
2024-05-09 17:00 ` [PATCH 12/13] i386: select correct components for no-board build Paolo Bonzini
2024-05-10 12:40   ` Zhao Liu
2024-05-09 17:00 ` [PATCH 13/13] tests/qtest: arm: fix operation in a build without any boards or devices Paolo Bonzini
2024-05-10  5:55   ` Thomas Huth
2024-05-10  9:14   ` Philippe Mathieu-Daudé

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).