qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PULL 00/20] Allow "make check" with "--without-default-devices"
@ 2023-05-22 11:49 Thomas Huth
  2023-05-22 11:49 ` [PULL 01/20] hw/i386/Kconfig: ISAPC works fine without VGA_ISA Thomas Huth
                   ` (20 more replies)
  0 siblings, 21 replies; 22+ messages in thread
From: Thomas Huth @ 2023-05-22 11:49 UTC (permalink / raw)
  To: qemu-devel, Richard Henderson

The following changes since commit aa222a8e4f975284b3f8f131653a4114b3d333b3:

  Merge tag 'for_upstream' of https://git.kernel.org/pub/scm/virt/kvm/mst/qemu into staging (2023-05-19 12:17:16 -0700)

are available in the Git repository at:

  https://gitlab.com/thuth/qemu.git tags/pull-request-2023-05-22

for you to fetch changes up to 3884bf6468ac6bbb58c2b3feaa74e87f821b52f3:

  memory: stricter checks prior to unsetting engaged_in_io (2023-05-22 10:35:28 +0200)

----------------------------------------------------------------
* First batch of fixes to allow "make check" with "--without-default-devices"
* Enable the "bios bits" avocado test in the gitlab-CI
* Another minor fix for the redundancy DMA blocker code

----------------------------------------------------------------
Alexander Bulekov (1):
      memory: stricter checks prior to unsetting engaged_in_io

Ani Sinha (1):
      acpi/tests/avocado/bits: enable bios bits avocado tests on gitlab CI pipeline

Thomas Huth (18):
      hw/i386/Kconfig: ISAPC works fine without VGA_ISA
      softmmu/vl.c: Check for the availability of the VGA device before using it
      hw: Move the default NIC machine class setting from the x86 to the generic one
      softmmu/vl.c: Disable default NIC if it has not been compiled into the binary
      hw/ppc: Use MachineClass->default_nic in the ppc machines
      hw/s390x: Use MachineClass->default_nic in the s390x machine
      hw/sh4: Use MachineClass->default_nic in the sh4 r2d machine
      hw/char/parallel: Move TYPE_ISA_PARALLEL to the header file
      hw/i386: Ignore the default parallel port if it has not been compiled into QEMU
      hw/sparc64/sun4u: Use MachineClass->default_nic and MachineClass->no_parallel
      tests/qtest/readconfig-test: Check for the availability of USB controllers
      tests/qtest/usb-hcd-uhci-test: Skip test if UHCI controller is not available
      tests/qtest/cdrom-test: Fix the test to also work without optional devices
      tests/qtest/virtio-ccw-test: Remove superfluous tests
      tests/qtest: Check for the availability of virtio-ccw devices before using them
      tests/qtest/meson.build: Run the net filter tests only with default devices
      tests/qemu-iotests/172: Run QEMU with -vga none and -nic none
      .gitlab-ci.d/buildtest.yml: Run full "make check" with --without-default-devices

 include/hw/boards.h             |  1 +
 include/hw/char/parallel.h      |  2 ++
 include/hw/i386/pc.h            |  1 -
 hw/char/parallel-isa.c          |  2 +-
 hw/char/parallel.c              |  1 -
 hw/i386/pc.c                    |  3 ++-
 hw/i386/pc_piix.c               |  7 +++++--
 hw/i386/pc_q35.c                |  8 ++++----
 hw/isa/isa-superio.c            |  3 ++-
 hw/ppc/e500.c                   |  3 ++-
 hw/ppc/e500plat.c               |  1 +
 hw/ppc/mac_newworld.c           |  4 +++-
 hw/ppc/mac_oldworld.c           |  4 +++-
 hw/ppc/mpc8544ds.c              |  1 +
 hw/ppc/ppc440_bamboo.c          |  4 +++-
 hw/ppc/prep.c                   |  4 +++-
 hw/s390x/s390-virtio-ccw.c      |  4 +++-
 hw/sh4/r2d.c                    |  4 +++-
 hw/sparc64/sun4u.c              | 11 ++++++++---
 softmmu/memory.c                |  4 +++-
 softmmu/vl.c                    | 20 ++++++++++++++++++-
 tests/qtest/cdrom-test.c        | 16 ++++++++++++---
 tests/qtest/device-plug-test.c  |  9 ++++++++-
 tests/qtest/readconfig-test.c   |  5 ++++-
 tests/qtest/usb-hcd-uhci-test.c |  5 +++++
 tests/qtest/virtio-ccw-test.c   | 43 +++++++++++++----------------------------
 .gitlab-ci.d/buildtest.yml      |  2 +-
 hw/i386/Kconfig                 |  2 +-
 tests/avocado/acpi-bits.py      |  8 ++++----
 tests/qemu-iotests/172          |  2 +-
 tests/qtest/meson.build         | 12 ++++++------
 31 files changed, 125 insertions(+), 71 deletions(-)



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

* [PULL 01/20] hw/i386/Kconfig: ISAPC works fine without VGA_ISA
  2023-05-22 11:49 [PULL 00/20] Allow "make check" with "--without-default-devices" Thomas Huth
@ 2023-05-22 11:49 ` Thomas Huth
  2023-05-22 11:49 ` [PULL 02/20] softmmu/vl.c: Check for the availability of the VGA device before using it Thomas Huth
                   ` (19 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: Thomas Huth @ 2023-05-22 11:49 UTC (permalink / raw)
  To: qemu-devel, Richard Henderson; +Cc: Paolo Bonzini

The "isapc" machine can also be run without VGA card, so there
is no need for a hard requirement with a "select" here - "imply"
is enough.

Message-Id: <20230512124033.502654-2-thuth@redhat.com>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 hw/i386/Kconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/hw/i386/Kconfig b/hw/i386/Kconfig
index d40802d83f..9051083c1e 100644
--- a/hw/i386/Kconfig
+++ b/hw/i386/Kconfig
@@ -80,10 +80,10 @@ config I440FX
 
 config ISAPC
     bool
+    imply VGA_ISA
     select ISA_BUS
     select PC
     select IDE_ISA
-    select VGA_ISA
     # FIXME: it is in the same file as i440fx, and does not compile
     # if separated
     depends on I440FX
-- 
2.31.1



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

* [PULL 02/20] softmmu/vl.c: Check for the availability of the VGA device before using it
  2023-05-22 11:49 [PULL 00/20] Allow "make check" with "--without-default-devices" Thomas Huth
  2023-05-22 11:49 ` [PULL 01/20] hw/i386/Kconfig: ISAPC works fine without VGA_ISA Thomas Huth
@ 2023-05-22 11:49 ` Thomas Huth
  2023-05-22 11:49 ` [PULL 03/20] hw: Move the default NIC machine class setting from the x86 to the generic one Thomas Huth
                   ` (18 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: Thomas Huth @ 2023-05-22 11:49 UTC (permalink / raw)
  To: qemu-devel, Richard Henderson; +Cc: Paolo Bonzini

In case the user disabled the default VGA device in the binary (e.g.
with the "--without-default-devices" configure switch), we should
not try to use it by default if QEMU is running with the default
devices, otherwise it aborts when trying to use it. Simply emit a
warning instead.

Message-Id: <20230512124033.502654-3-thuth@redhat.com>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 softmmu/vl.c | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/softmmu/vl.c b/softmmu/vl.c
index 6c2427262b..43d3b972da 100644
--- a/softmmu/vl.c
+++ b/softmmu/vl.c
@@ -957,7 +957,18 @@ static const char *
 get_default_vga_model(const MachineClass *machine_class)
 {
     if (machine_class->default_display) {
-        return machine_class->default_display;
+        for (int t = 0; t < VGA_TYPE_MAX; t++) {
+            const VGAInterfaceInfo *ti = &vga_interfaces[t];
+
+            if (ti->opt_name && vga_interface_available(t) &&
+                g_str_equal(ti->opt_name, machine_class->default_display)) {
+                return machine_class->default_display;
+            }
+        }
+
+        warn_report_once("Default display '%s' is not available in this binary",
+                         machine_class->default_display);
+        return NULL;
     } else if (vga_interface_available(VGA_CIRRUS)) {
         return "cirrus";
     } else if (vga_interface_available(VGA_STD)) {
-- 
2.31.1



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

* [PULL 03/20] hw: Move the default NIC machine class setting from the x86 to the generic one
  2023-05-22 11:49 [PULL 00/20] Allow "make check" with "--without-default-devices" Thomas Huth
  2023-05-22 11:49 ` [PULL 01/20] hw/i386/Kconfig: ISAPC works fine without VGA_ISA Thomas Huth
  2023-05-22 11:49 ` [PULL 02/20] softmmu/vl.c: Check for the availability of the VGA device before using it Thomas Huth
@ 2023-05-22 11:49 ` Thomas Huth
  2023-05-22 11:49 ` [PULL 04/20] softmmu/vl.c: Disable default NIC if it has not been compiled into the binary Thomas Huth
                   ` (17 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: Thomas Huth @ 2023-05-22 11:49 UTC (permalink / raw)
  To: qemu-devel, Richard Henderson; +Cc: Paolo Bonzini

We are going to re-use this setting for other targets, so let's
move this to the main MachineClass.

Message-Id: <20230512124033.502654-4-thuth@redhat.com>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 include/hw/boards.h  | 1 +
 include/hw/i386/pc.h | 1 -
 hw/i386/pc.c         | 3 ++-
 hw/i386/pc_piix.c    | 4 ++--
 hw/i386/pc_q35.c     | 6 ++----
 5 files changed, 7 insertions(+), 8 deletions(-)

diff --git a/include/hw/boards.h b/include/hw/boards.h
index f4117fdb9a..a385010909 100644
--- a/include/hw/boards.h
+++ b/include/hw/boards.h
@@ -253,6 +253,7 @@ struct MachineClass {
     const char *default_machine_opts;
     const char *default_boot_order;
     const char *default_display;
+    const char *default_nic;
     GPtrArray *compat_props;
     const char *hw_version;
     ram_addr_t default_ram_size;
diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h
index 79e755879d..c661e9cc80 100644
--- a/include/hw/i386/pc.h
+++ b/include/hw/i386/pc.h
@@ -93,7 +93,6 @@ struct PCMachineClass {
     /* Device configuration: */
     bool pci_enabled;
     bool kvmclock_enabled;
-    const char *default_nic_model;
 
     /* Compat options: */
 
diff --git a/hw/i386/pc.c b/hw/i386/pc.c
index b3d826a83a..bb62c994fa 100644
--- a/hw/i386/pc.c
+++ b/hw/i386/pc.c
@@ -1364,12 +1364,13 @@ void pc_basic_device_init(struct PCMachineState *pcms,
 
 void pc_nic_init(PCMachineClass *pcmc, ISABus *isa_bus, PCIBus *pci_bus)
 {
+    MachineClass *mc = MACHINE_CLASS(pcmc);
     int i;
 
     rom_set_order_override(FW_CFG_ORDER_OVERRIDE_NIC);
     for (i = 0; i < nb_nics; i++) {
         NICInfo *nd = &nd_table[i];
-        const char *model = nd->model ? nd->model : pcmc->default_nic_model;
+        const char *model = nd->model ? nd->model : mc->default_nic;
 
         if (g_str_equal(model, "ne2k_isa")) {
             pc_init_ne2k_isa(isa_bus, nd);
diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
index 10070ea9a5..17892ad580 100644
--- a/hw/i386/pc_piix.c
+++ b/hw/i386/pc_piix.c
@@ -450,7 +450,6 @@ static void pc_xen_hvm_init(MachineState *machine)
 static void pc_i440fx_machine_options(MachineClass *m)
 {
     PCMachineClass *pcmc = PC_MACHINE_CLASS(m);
-    pcmc->default_nic_model = "e1000";
     pcmc->pci_root_uid = 0;
     pcmc->default_cpu_version = 1;
 
@@ -458,6 +457,7 @@ static void pc_i440fx_machine_options(MachineClass *m)
     m->desc = "Standard PC (i440FX + PIIX, 1996)";
     m->default_machine_opts = "firmware=bios-256k.bin";
     m->default_display = "std";
+    m->default_nic = "e1000";
     machine_class_allow_dynamic_sysbus_dev(m, TYPE_RAMFB_DEVICE);
     machine_class_allow_dynamic_sysbus_dev(m, TYPE_VMBUS_BRIDGE);
 }
@@ -884,7 +884,7 @@ static void isapc_machine_options(MachineClass *m)
     pcmc->gigabyte_align = false;
     pcmc->smbios_legacy_mode = true;
     pcmc->has_reserved_memory = false;
-    pcmc->default_nic_model = "ne2k_isa";
+    m->default_nic = "ne2k_isa";
     m->default_cpu_type = X86_CPU_TYPE_NAME("486");
 }
 
diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c
index 8030d53da6..7e0f354edd 100644
--- a/hw/i386/pc_q35.c
+++ b/hw/i386/pc_q35.c
@@ -356,7 +356,6 @@ static void pc_q35_init(MachineState *machine)
 static void pc_q35_machine_options(MachineClass *m)
 {
     PCMachineClass *pcmc = PC_MACHINE_CLASS(m);
-    pcmc->default_nic_model = "e1000e";
     pcmc->pci_root_uid = 0;
     pcmc->default_cpu_version = 1;
 
@@ -365,6 +364,7 @@ static void pc_q35_machine_options(MachineClass *m)
     m->units_per_default_bus = 1;
     m->default_machine_opts = "firmware=bios-256k.bin";
     m->default_display = "std";
+    m->default_nic = "e1000e";
     m->default_kernel_irqchip_split = false;
     m->no_floppy = 1;
     machine_class_allow_dynamic_sysbus_dev(m, TYPE_AMD_IOMMU_DEVICE);
@@ -577,10 +577,8 @@ DEFINE_Q35_MACHINE(v2_12, "pc-q35-2.12", NULL,
 
 static void pc_q35_2_11_machine_options(MachineClass *m)
 {
-    PCMachineClass *pcmc = PC_MACHINE_CLASS(m);
-
     pc_q35_2_12_machine_options(m);
-    pcmc->default_nic_model = "e1000";
+    m->default_nic = "e1000";
     compat_props_add(m->compat_props, hw_compat_2_11, hw_compat_2_11_len);
     compat_props_add(m->compat_props, pc_compat_2_11, pc_compat_2_11_len);
 }
-- 
2.31.1



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

* [PULL 04/20] softmmu/vl.c: Disable default NIC if it has not been compiled into the binary
  2023-05-22 11:49 [PULL 00/20] Allow "make check" with "--without-default-devices" Thomas Huth
                   ` (2 preceding siblings ...)
  2023-05-22 11:49 ` [PULL 03/20] hw: Move the default NIC machine class setting from the x86 to the generic one Thomas Huth
@ 2023-05-22 11:49 ` Thomas Huth
  2023-05-22 11:49 ` [PULL 05/20] hw/ppc: Use MachineClass->default_nic in the ppc machines Thomas Huth
                   ` (16 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: Thomas Huth @ 2023-05-22 11:49 UTC (permalink / raw)
  To: qemu-devel, Richard Henderson; +Cc: Paolo Bonzini

Don't try to instantiate a default NIC if it is not available (since
this will cause QEMU to abort). Emit a warning instead.

Message-Id: <20230512124033.502654-5-thuth@redhat.com>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 softmmu/vl.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/softmmu/vl.c b/softmmu/vl.c
index 43d3b972da..b0b96f67fa 100644
--- a/softmmu/vl.c
+++ b/softmmu/vl.c
@@ -1294,6 +1294,13 @@ static void qemu_disable_default_devices(void)
         default_monitor = 0;
         default_net = 0;
         default_vga = 0;
+    } else {
+        if (default_net && machine_class->default_nic &&
+            !module_object_class_by_name(machine_class->default_nic)) {
+            warn_report("Default NIC '%s' is not available in this binary",
+                        machine_class->default_nic);
+            default_net = 0;
+        }
     }
 }
 
-- 
2.31.1



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

* [PULL 05/20] hw/ppc: Use MachineClass->default_nic in the ppc machines
  2023-05-22 11:49 [PULL 00/20] Allow "make check" with "--without-default-devices" Thomas Huth
                   ` (3 preceding siblings ...)
  2023-05-22 11:49 ` [PULL 04/20] softmmu/vl.c: Disable default NIC if it has not been compiled into the binary Thomas Huth
@ 2023-05-22 11:49 ` Thomas Huth
  2023-05-22 11:50 ` [PULL 06/20] hw/s390x: Use MachineClass->default_nic in the s390x machine Thomas Huth
                   ` (15 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: Thomas Huth @ 2023-05-22 11:49 UTC (permalink / raw)
  To: qemu-devel, Richard Henderson; +Cc: Paolo Bonzini

Mark the default NIC via the new MachineClass->default_nic setting
so that the machine-defaults code in vl.c can decide whether the
default NIC is usable or not (for example when compiling with the
"--without-default-devices" configure switch).

Message-Id: <20230512124033.502654-6-thuth@redhat.com>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 hw/ppc/e500.c          | 3 ++-
 hw/ppc/e500plat.c      | 1 +
 hw/ppc/mac_newworld.c  | 4 +++-
 hw/ppc/mac_oldworld.c  | 4 +++-
 hw/ppc/mpc8544ds.c     | 1 +
 hw/ppc/ppc440_bamboo.c | 4 +++-
 hw/ppc/prep.c          | 4 +++-
 7 files changed, 16 insertions(+), 5 deletions(-)

diff --git a/hw/ppc/e500.c b/hw/ppc/e500.c
index 117c9c08ed..b6eb599751 100644
--- a/hw/ppc/e500.c
+++ b/hw/ppc/e500.c
@@ -898,6 +898,7 @@ void ppce500_init(MachineState *machine)
     MemoryRegion *address_space_mem = get_system_memory();
     PPCE500MachineState *pms = PPCE500_MACHINE(machine);
     const PPCE500MachineClass *pmc = PPCE500_MACHINE_GET_CLASS(machine);
+    MachineClass *mc = MACHINE_CLASS(pmc);
     PCIBus *pci_bus;
     CPUPPCState *env = NULL;
     uint64_t loadaddr;
@@ -1073,7 +1074,7 @@ void ppce500_init(MachineState *machine)
     if (pci_bus) {
         /* Register network interfaces. */
         for (i = 0; i < nb_nics; i++) {
-            pci_nic_init_nofail(&nd_table[i], pci_bus, "virtio-net-pci", NULL);
+            pci_nic_init_nofail(&nd_table[i], pci_bus, mc->default_nic, NULL);
         }
     }
 
diff --git a/hw/ppc/e500plat.c b/hw/ppc/e500plat.c
index 3032bd3f6d..7aa2f2107a 100644
--- a/hw/ppc/e500plat.c
+++ b/hw/ppc/e500plat.c
@@ -99,6 +99,7 @@ static void e500plat_machine_class_init(ObjectClass *oc, void *data)
     mc->max_cpus = 32;
     mc->default_cpu_type = POWERPC_CPU_TYPE_NAME("e500v2_v30");
     mc->default_ram_id = "mpc8544ds.ram";
+    mc->default_nic = "virtio-net-pci";
     machine_class_allow_dynamic_sysbus_dev(mc, TYPE_ETSEC_COMMON);
  }
 
diff --git a/hw/ppc/mac_newworld.c b/hw/ppc/mac_newworld.c
index 460c14b5e3..535710314a 100644
--- a/hw/ppc/mac_newworld.c
+++ b/hw/ppc/mac_newworld.c
@@ -132,6 +132,7 @@ static void ppc_core99_reset(void *opaque)
 static void ppc_core99_init(MachineState *machine)
 {
     Core99MachineState *core99_machine = CORE99_MACHINE(machine);
+    MachineClass *mc = MACHINE_GET_CLASS(machine);
     PowerPCCPU *cpu = NULL;
     CPUPPCState *env = NULL;
     char *filename;
@@ -444,7 +445,7 @@ static void ppc_core99_init(MachineState *machine)
     }
 
     for (i = 0; i < nb_nics; i++) {
-        pci_nic_init_nofail(&nd_table[i], pci_bus, "sungem", NULL);
+        pci_nic_init_nofail(&nd_table[i], pci_bus, mc->default_nic, NULL);
     }
 
     /* The NewWorld NVRAM is not located in the MacIO device */
@@ -577,6 +578,7 @@ static void core99_machine_class_init(ObjectClass *oc, void *data)
     mc->max_cpus = 1;
     mc->default_boot_order = "cd";
     mc->default_display = "std";
+    mc->default_nic = "sungem";
     mc->kvm_type = core99_kvm_type;
 #ifdef TARGET_PPC64
     mc->default_cpu_type = POWERPC_CPU_TYPE_NAME("970fx_v3.1");
diff --git a/hw/ppc/mac_oldworld.c b/hw/ppc/mac_oldworld.c
index 2e4cc3fe0b..510ff0eaaf 100644
--- a/hw/ppc/mac_oldworld.c
+++ b/hw/ppc/mac_oldworld.c
@@ -87,6 +87,7 @@ static void ppc_heathrow_reset(void *opaque)
 static void ppc_heathrow_init(MachineState *machine)
 {
     const char *bios_name = machine->firmware ?: PROM_FILENAME;
+    MachineClass *mc = MACHINE_GET_CLASS(machine);
     PowerPCCPU *cpu = NULL;
     CPUPPCState *env = NULL;
     char *filename;
@@ -276,7 +277,7 @@ static void ppc_heathrow_init(MachineState *machine)
     pci_vga_init(pci_bus);
 
     for (i = 0; i < nb_nics; i++) {
-        pci_nic_init_nofail(&nd_table[i], pci_bus, "ne2k_pci", NULL);
+        pci_nic_init_nofail(&nd_table[i], pci_bus, mc->default_nic, NULL);
     }
 
     /* MacIO IDE */
@@ -424,6 +425,7 @@ static void heathrow_class_init(ObjectClass *oc, void *data)
     mc->kvm_type = heathrow_kvm_type;
     mc->default_cpu_type = POWERPC_CPU_TYPE_NAME("750_v3.1");
     mc->default_display = "std";
+    mc->default_nic = "ne2k_pci";
     mc->ignore_boot_device_suffixes = true;
     mc->default_ram_id = "ppc_heathrow.ram";
     fwc->get_dev_path = heathrow_fw_dev_path;
diff --git a/hw/ppc/mpc8544ds.c b/hw/ppc/mpc8544ds.c
index 7dd5219736..b7130903d6 100644
--- a/hw/ppc/mpc8544ds.c
+++ b/hw/ppc/mpc8544ds.c
@@ -61,6 +61,7 @@ static void mpc8544ds_machine_class_init(ObjectClass *oc, void *data)
     mc->max_cpus = 15;
     mc->default_cpu_type = POWERPC_CPU_TYPE_NAME("e500v2_v30");
     mc->default_ram_id = "mpc8544ds.ram";
+    mc->default_nic = "virtio-net-pci";
 }
 
 #define TYPE_MPC8544DS_MACHINE  MACHINE_TYPE_NAME("mpc8544ds")
diff --git a/hw/ppc/ppc440_bamboo.c b/hw/ppc/ppc440_bamboo.c
index 2880c81cb1..f969fa3c29 100644
--- a/hw/ppc/ppc440_bamboo.c
+++ b/hw/ppc/ppc440_bamboo.c
@@ -161,6 +161,7 @@ static void bamboo_init(MachineState *machine)
 {
     const char *kernel_filename = machine->kernel_filename;
     const char *initrd_filename = machine->initrd_filename;
+    MachineClass *mc = MACHINE_GET_CLASS(machine);
     unsigned int pci_irq_nrs[4] = { 28, 27, 26, 25 };
     MemoryRegion *address_space_mem = get_system_memory();
     MemoryRegion *isa = g_new(MemoryRegion, 1);
@@ -246,7 +247,7 @@ static void bamboo_init(MachineState *machine)
              * There are no PCI NICs on the Bamboo board, but there are
              * PCI slots, so we can pick whatever default model we want.
              */
-            pci_nic_init_nofail(&nd_table[i], pcibus, "e1000", NULL);
+            pci_nic_init_nofail(&nd_table[i], pcibus, mc->default_nic, NULL);
         }
     }
 
@@ -296,6 +297,7 @@ static void bamboo_machine_init(MachineClass *mc)
     mc->init = bamboo_init;
     mc->default_cpu_type = POWERPC_CPU_TYPE_NAME("440epb");
     mc->default_ram_id = "ppc4xx.sdram";
+    mc->default_nic = "e1000";
 }
 
 DEFINE_MACHINE("bamboo", bamboo_machine_init)
diff --git a/hw/ppc/prep.c b/hw/ppc/prep.c
index d00280c0f8..4610abddbd 100644
--- a/hw/ppc/prep.c
+++ b/hw/ppc/prep.c
@@ -229,6 +229,7 @@ static int prep_set_cmos_checksum(DeviceState *dev, void *opaque)
 static void ibm_40p_init(MachineState *machine)
 {
     const char *bios_name = machine->firmware ?: "openbios-ppc";
+    MachineClass *mc = MACHINE_GET_CLASS(machine);
     CPUPPCState *env = NULL;
     uint16_t cmos_checksum;
     PowerPCCPU *cpu;
@@ -323,7 +324,7 @@ static void ibm_40p_init(MachineState *machine)
         pci_vga_init(pci_bus);
 
         for (i = 0; i < nb_nics; i++) {
-            pci_nic_init_nofail(&nd_table[i], pci_bus, "pcnet",
+            pci_nic_init_nofail(&nd_table[i], pci_bus, mc->default_nic,
                                 i == 0 ? "3" : NULL);
         }
     }
@@ -427,6 +428,7 @@ static void ibm_40p_machine_init(MachineClass *mc)
     mc->default_boot_order = "c";
     mc->default_cpu_type = POWERPC_CPU_TYPE_NAME("604");
     mc->default_display = "std";
+    mc->default_nic = "pcnet";
 }
 
 DEFINE_MACHINE("40p", ibm_40p_machine_init)
-- 
2.31.1



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

* [PULL 06/20] hw/s390x: Use MachineClass->default_nic in the s390x machine
  2023-05-22 11:49 [PULL 00/20] Allow "make check" with "--without-default-devices" Thomas Huth
                   ` (4 preceding siblings ...)
  2023-05-22 11:49 ` [PULL 05/20] hw/ppc: Use MachineClass->default_nic in the ppc machines Thomas Huth
@ 2023-05-22 11:50 ` Thomas Huth
  2023-05-22 11:50 ` [PULL 07/20] hw/sh4: Use MachineClass->default_nic in the sh4 r2d machine Thomas Huth
                   ` (14 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: Thomas Huth @ 2023-05-22 11:50 UTC (permalink / raw)
  To: qemu-devel, Richard Henderson; +Cc: Paolo Bonzini

Mark the default NIC via the new MachineClass->default_nic setting
so that the machine-defaults code in vl.c can decide whether the
default NIC is usable or not (for example when compiling with the
"--without-default-devices" configure switch).

Message-Id: <20230512124033.502654-7-thuth@redhat.com>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 hw/s390x/s390-virtio-ccw.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c
index 2516b89b32..2dece8eab8 100644
--- a/hw/s390x/s390-virtio-ccw.c
+++ b/hw/s390x/s390-virtio-ccw.c
@@ -245,6 +245,7 @@ static void s390_create_sclpconsole(const char *type, Chardev *chardev)
 
 static void ccw_init(MachineState *machine)
 {
+    MachineClass *mc = MACHINE_GET_CLASS(machine);
     int ret;
     VirtualCssBus *css_bus;
     DeviceState *dev;
@@ -292,7 +293,7 @@ static void ccw_init(MachineState *machine)
     }
 
     /* Create VirtIO network adapters */
-    s390_create_virtio_net(BUS(css_bus), "virtio-net-ccw");
+    s390_create_virtio_net(BUS(css_bus), mc->default_nic);
 
     /* init consoles */
     if (serial_hd(0)) {
@@ -746,6 +747,7 @@ static void ccw_machine_class_init(ObjectClass *oc, void *data)
     hc->unplug_request = s390_machine_device_unplug_request;
     nc->nmi_monitor_handler = s390_nmi;
     mc->default_ram_id = "s390.ram";
+    mc->default_nic = "virtio-net-ccw";
 
     object_class_property_add_bool(oc, "aes-key-wrap",
                                    machine_get_aes_key_wrap,
-- 
2.31.1



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

* [PULL 07/20] hw/sh4: Use MachineClass->default_nic in the sh4 r2d machine
  2023-05-22 11:49 [PULL 00/20] Allow "make check" with "--without-default-devices" Thomas Huth
                   ` (5 preceding siblings ...)
  2023-05-22 11:50 ` [PULL 06/20] hw/s390x: Use MachineClass->default_nic in the s390x machine Thomas Huth
@ 2023-05-22 11:50 ` Thomas Huth
  2023-05-22 11:50 ` [PULL 08/20] hw/char/parallel: Move TYPE_ISA_PARALLEL to the header file Thomas Huth
                   ` (13 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: Thomas Huth @ 2023-05-22 11:50 UTC (permalink / raw)
  To: qemu-devel, Richard Henderson; +Cc: Paolo Bonzini

Mark the default NIC via the new MachineClass->default_nic setting
so that the machine-defaults code in vl.c can decide whether the
default NIC is usable or not (for example when compiling with the
"--without-default-devices" configure switch).

Message-Id: <20230512124033.502654-8-thuth@redhat.com>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 hw/sh4/r2d.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/hw/sh4/r2d.c b/hw/sh4/r2d.c
index 826a0a31b5..4944994e9c 100644
--- a/hw/sh4/r2d.c
+++ b/hw/sh4/r2d.c
@@ -232,6 +232,7 @@ static void r2d_init(MachineState *machine)
     const char *kernel_filename = machine->kernel_filename;
     const char *kernel_cmdline = machine->kernel_cmdline;
     const char *initrd_filename = machine->initrd_filename;
+    MachineClass *mc = MACHINE_GET_CLASS(machine);
     SuperHCPU *cpu;
     CPUSH4State *env;
     ResetData *reset_info;
@@ -310,7 +311,7 @@ static void r2d_init(MachineState *machine)
     /* NIC: rtl8139 on-board, and 2 slots. */
     for (i = 0; i < nb_nics; i++)
         pci_nic_init_nofail(&nd_table[i], pci_bus,
-                            "rtl8139", i == 0 ? "2" : NULL);
+                            mc->default_nic, i == 0 ? "2" : NULL);
 
     /* USB keyboard */
     usb_create_simple(usb_bus_find(-1), "usb-kbd");
@@ -375,6 +376,7 @@ static void r2d_machine_init(MachineClass *mc)
     mc->init = r2d_init;
     mc->block_default_type = IF_IDE;
     mc->default_cpu_type = TYPE_SH7751R_CPU;
+    mc->default_nic = "rtl8139";
 }
 
 DEFINE_MACHINE("r2d", r2d_machine_init)
-- 
2.31.1



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

* [PULL 08/20] hw/char/parallel: Move TYPE_ISA_PARALLEL to the header file
  2023-05-22 11:49 [PULL 00/20] Allow "make check" with "--without-default-devices" Thomas Huth
                   ` (6 preceding siblings ...)
  2023-05-22 11:50 ` [PULL 07/20] hw/sh4: Use MachineClass->default_nic in the sh4 r2d machine Thomas Huth
@ 2023-05-22 11:50 ` Thomas Huth
  2023-05-22 11:50 ` [PULL 09/20] hw/i386: Ignore the default parallel port if it has not been compiled into QEMU Thomas Huth
                   ` (12 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: Thomas Huth @ 2023-05-22 11:50 UTC (permalink / raw)
  To: qemu-devel, Richard Henderson; +Cc: Paolo Bonzini

We are going to require the macro from other files, too, so move
this #define to the header file.

Message-Id: <20230512124033.502654-9-thuth@redhat.com>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 include/hw/char/parallel.h | 2 ++
 hw/char/parallel-isa.c     | 2 +-
 hw/char/parallel.c         | 1 -
 hw/isa/isa-superio.c       | 3 ++-
 4 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/include/hw/char/parallel.h b/include/hw/char/parallel.h
index 0a23c0f57e..29d2876d00 100644
--- a/include/hw/char/parallel.h
+++ b/include/hw/char/parallel.h
@@ -4,6 +4,8 @@
 #include "hw/isa/isa.h"
 #include "chardev/char.h"
 
+#define TYPE_ISA_PARALLEL "isa-parallel"
+
 void parallel_hds_isa_init(ISABus *bus, int n);
 
 bool parallel_mm_init(MemoryRegion *address_space,
diff --git a/hw/char/parallel-isa.c b/hw/char/parallel-isa.c
index 1ccbb96e70..547ae69304 100644
--- a/hw/char/parallel-isa.c
+++ b/hw/char/parallel-isa.c
@@ -21,7 +21,7 @@ static void parallel_init(ISABus *bus, int index, Chardev *chr)
     DeviceState *dev;
     ISADevice *isadev;
 
-    isadev = isa_new("isa-parallel");
+    isadev = isa_new(TYPE_ISA_PARALLEL);
     dev = DEVICE(isadev);
     qdev_prop_set_uint32(dev, "index", index);
     qdev_prop_set_chr(dev, "chardev", chr);
diff --git a/hw/char/parallel.c b/hw/char/parallel.c
index af551e7864..3d32589bb3 100644
--- a/hw/char/parallel.c
+++ b/hw/char/parallel.c
@@ -93,7 +93,6 @@ typedef struct ParallelState {
     PortioList portio_list;
 } ParallelState;
 
-#define TYPE_ISA_PARALLEL "isa-parallel"
 OBJECT_DECLARE_SIMPLE_TYPE(ISAParallelState, ISA_PARALLEL)
 
 struct ISAParallelState {
diff --git a/hw/isa/isa-superio.c b/hw/isa/isa-superio.c
index c81bfe58ef..9292ec3bcf 100644
--- a/hw/isa/isa-superio.c
+++ b/hw/isa/isa-superio.c
@@ -16,6 +16,7 @@
 #include "qapi/error.h"
 #include "sysemu/blockdev.h"
 #include "chardev/char.h"
+#include "hw/char/parallel.h"
 #include "hw/block/fdc.h"
 #include "hw/isa/superio.h"
 #include "hw/qdev-properties.h"
@@ -51,7 +52,7 @@ static void isa_superio_realize(DeviceState *dev, Error **errp)
             } else {
                 name = g_strdup_printf("parallel%d", i);
             }
-            isa = isa_new("isa-parallel");
+            isa = isa_new(TYPE_ISA_PARALLEL);
             d = DEVICE(isa);
             qdev_prop_set_uint32(d, "index", i);
             if (k->parallel.get_iobase) {
-- 
2.31.1



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

* [PULL 09/20] hw/i386: Ignore the default parallel port if it has not been compiled into QEMU
  2023-05-22 11:49 [PULL 00/20] Allow "make check" with "--without-default-devices" Thomas Huth
                   ` (7 preceding siblings ...)
  2023-05-22 11:50 ` [PULL 08/20] hw/char/parallel: Move TYPE_ISA_PARALLEL to the header file Thomas Huth
@ 2023-05-22 11:50 ` Thomas Huth
  2023-05-22 11:50 ` [PULL 10/20] hw/sparc64/sun4u: Use MachineClass->default_nic and MachineClass->no_parallel Thomas Huth
                   ` (11 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: Thomas Huth @ 2023-05-22 11:50 UTC (permalink / raw)
  To: qemu-devel, Richard Henderson; +Cc: Paolo Bonzini

Don't try to instantiate the parallel port if it has not been
enabled in the build configuration.

Message-Id: <20230512124033.502654-10-thuth@redhat.com>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 hw/i386/pc_piix.c | 3 +++
 hw/i386/pc_q35.c  | 2 ++
 2 files changed, 5 insertions(+)

diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
index 17892ad580..d5b0dcd1fe 100644
--- a/hw/i386/pc_piix.c
+++ b/hw/i386/pc_piix.c
@@ -26,6 +26,7 @@
 #include CONFIG_DEVICES
 
 #include "qemu/units.h"
+#include "hw/char/parallel.h"
 #include "hw/dma/i8257.h"
 #include "hw/loader.h"
 #include "hw/i386/x86.h"
@@ -458,6 +459,7 @@ static void pc_i440fx_machine_options(MachineClass *m)
     m->default_machine_opts = "firmware=bios-256k.bin";
     m->default_display = "std";
     m->default_nic = "e1000";
+    m->no_parallel = !module_object_class_by_name(TYPE_ISA_PARALLEL);
     machine_class_allow_dynamic_sysbus_dev(m, TYPE_RAMFB_DEVICE);
     machine_class_allow_dynamic_sysbus_dev(m, TYPE_VMBUS_BRIDGE);
 }
@@ -886,6 +888,7 @@ static void isapc_machine_options(MachineClass *m)
     pcmc->has_reserved_memory = false;
     m->default_nic = "ne2k_isa";
     m->default_cpu_type = X86_CPU_TYPE_NAME("486");
+    m->no_parallel = !module_object_class_by_name(TYPE_ISA_PARALLEL);
 }
 
 DEFINE_PC_MACHINE(isapc, "isapc", pc_init_isa,
diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c
index 7e0f354edd..6155427e48 100644
--- a/hw/i386/pc_q35.c
+++ b/hw/i386/pc_q35.c
@@ -30,6 +30,7 @@
 
 #include "qemu/osdep.h"
 #include "qemu/units.h"
+#include "hw/char/parallel.h"
 #include "hw/loader.h"
 #include "hw/i2c/smbus_eeprom.h"
 #include "hw/rtc/mc146818rtc.h"
@@ -367,6 +368,7 @@ static void pc_q35_machine_options(MachineClass *m)
     m->default_nic = "e1000e";
     m->default_kernel_irqchip_split = false;
     m->no_floppy = 1;
+    m->no_parallel = !module_object_class_by_name(TYPE_ISA_PARALLEL);
     machine_class_allow_dynamic_sysbus_dev(m, TYPE_AMD_IOMMU_DEVICE);
     machine_class_allow_dynamic_sysbus_dev(m, TYPE_INTEL_IOMMU_DEVICE);
     machine_class_allow_dynamic_sysbus_dev(m, TYPE_RAMFB_DEVICE);
-- 
2.31.1



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

* [PULL 10/20] hw/sparc64/sun4u: Use MachineClass->default_nic and MachineClass->no_parallel
  2023-05-22 11:49 [PULL 00/20] Allow "make check" with "--without-default-devices" Thomas Huth
                   ` (8 preceding siblings ...)
  2023-05-22 11:50 ` [PULL 09/20] hw/i386: Ignore the default parallel port if it has not been compiled into QEMU Thomas Huth
@ 2023-05-22 11:50 ` Thomas Huth
  2023-05-22 11:50 ` [PULL 11/20] tests/qtest/readconfig-test: Check for the availability of USB controllers Thomas Huth
                   ` (10 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: Thomas Huth @ 2023-05-22 11:50 UTC (permalink / raw)
  To: qemu-devel, Richard Henderson; +Cc: Paolo Bonzini

Announce the default NIC via MachineClass->default_nic and set up
MachineClass->no_parallel according to the availability of the
"isa-parallel" device, so that the Sun machines also work when
QEMU has been configured with "--without-default-devices".

Message-Id: <20230512124033.502654-11-thuth@redhat.com>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 hw/sparc64/sun4u.c | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/hw/sparc64/sun4u.c b/hw/sparc64/sun4u.c
index eae7589462..e2858a0331 100644
--- a/hw/sparc64/sun4u.c
+++ b/hw/sparc64/sun4u.c
@@ -553,6 +553,7 @@ static void sun4uv_init(MemoryRegion *address_space_mem,
                         MachineState *machine,
                         const struct hwdef *hwdef)
 {
+    MachineClass *mc = MACHINE_GET_CLASS(machine);
     SPARCCPU *cpu;
     Nvram *nvram;
     unsigned int i;
@@ -645,15 +646,15 @@ static void sun4uv_init(MemoryRegion *address_space_mem,
         PCIBus *bus;
         nd = &nd_table[i];
 
-        if (!nd->model || strcmp(nd->model, "sunhme") == 0) {
+        if (!nd->model || strcmp(nd->model, mc->default_nic) == 0) {
             if (!onboard_nic) {
                 pci_dev = pci_new_multifunction(PCI_DEVFN(1, 1),
-                                                   true, "sunhme");
+                                                   true, mc->default_nic);
                 bus = pci_busA;
                 memcpy(&macaddr, &nd->macaddr.a, sizeof(MACAddr));
                 onboard_nic = true;
             } else {
-                pci_dev = pci_new(-1, "sunhme");
+                pci_dev = pci_new(-1, mc->default_nic);
                 bus = pci_busB;
             }
         } else {
@@ -816,6 +817,8 @@ static void sun4u_class_init(ObjectClass *oc, void *data)
     mc->default_cpu_type = SPARC_CPU_TYPE_NAME("TI-UltraSparc-IIi");
     mc->ignore_boot_device_suffixes = true;
     mc->default_display = "std";
+    mc->default_nic = "sunhme";
+    mc->no_parallel = !module_object_class_by_name(TYPE_ISA_PARALLEL);
     fwc->get_dev_path = sun4u_fw_dev_path;
 }
 
@@ -840,6 +843,8 @@ static void sun4v_class_init(ObjectClass *oc, void *data)
     mc->default_boot_order = "c";
     mc->default_cpu_type = SPARC_CPU_TYPE_NAME("Sun-UltraSparc-T1");
     mc->default_display = "std";
+    mc->default_nic = "sunhme";
+    mc->no_parallel = !module_object_class_by_name(TYPE_ISA_PARALLEL);
 }
 
 static const TypeInfo sun4v_type = {
-- 
2.31.1



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

* [PULL 11/20] tests/qtest/readconfig-test: Check for the availability of USB controllers
  2023-05-22 11:49 [PULL 00/20] Allow "make check" with "--without-default-devices" Thomas Huth
                   ` (9 preceding siblings ...)
  2023-05-22 11:50 ` [PULL 10/20] hw/sparc64/sun4u: Use MachineClass->default_nic and MachineClass->no_parallel Thomas Huth
@ 2023-05-22 11:50 ` Thomas Huth
  2023-05-22 11:50 ` [PULL 12/20] tests/qtest/usb-hcd-uhci-test: Skip test if UHCI controller is not available Thomas Huth
                   ` (9 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: Thomas Huth @ 2023-05-22 11:50 UTC (permalink / raw)
  To: qemu-devel, Richard Henderson; +Cc: Paolo Bonzini

The USB controllers might not be available in the QEMU binary
(e.g. when using the "--without-default-devices" configure switch),
so we have to check whether the devices can be used before running
the related test.

Message-Id: <20230512124033.502654-12-thuth@redhat.com>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 tests/qtest/readconfig-test.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/tests/qtest/readconfig-test.c b/tests/qtest/readconfig-test.c
index 918d45684b..ac7242451b 100644
--- a/tests/qtest/readconfig-test.c
+++ b/tests/qtest/readconfig-test.c
@@ -207,7 +207,10 @@ int main(int argc, char *argv[])
     if (g_str_equal(arch, "i386") ||
         g_str_equal(arch, "x86_64")) {
         qtest_add_func("readconfig/x86/memdev", test_x86_memdev);
-        qtest_add_func("readconfig/x86/ich9-ehci-uhci", test_docs_config_ich9);
+        if (qtest_has_device("ich9-usb-ehci1") &&
+            qtest_has_device("ich9-usb-uhci1")) {
+            qtest_add_func("readconfig/x86/ich9-ehci-uhci", test_docs_config_ich9);
+        }
     }
 #if defined(CONFIG_SPICE) && !defined(__FreeBSD__)
     qtest_add_func("readconfig/spice", test_spice);
-- 
2.31.1



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

* [PULL 12/20] tests/qtest/usb-hcd-uhci-test: Skip test if UHCI controller is not available
  2023-05-22 11:49 [PULL 00/20] Allow "make check" with "--without-default-devices" Thomas Huth
                   ` (10 preceding siblings ...)
  2023-05-22 11:50 ` [PULL 11/20] tests/qtest/readconfig-test: Check for the availability of USB controllers Thomas Huth
@ 2023-05-22 11:50 ` Thomas Huth
  2023-05-22 11:50 ` [PULL 13/20] tests/qtest/cdrom-test: Fix the test to also work without optional devices Thomas Huth
                   ` (8 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: Thomas Huth @ 2023-05-22 11:50 UTC (permalink / raw)
  To: qemu-devel, Richard Henderson; +Cc: Paolo Bonzini

The test is already fenced with CONFIG_USB_UHCI in meson.build, but in
case we build the ppc or mips targets in parallel, this config switch
is still set in "config_all_devices" and thus the test is still run.
Thus we need an explicit additional check here before adding the tests
to the test plan.

Message-Id: <20230512124033.502654-13-thuth@redhat.com>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 tests/qtest/usb-hcd-uhci-test.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/tests/qtest/usb-hcd-uhci-test.c b/tests/qtest/usb-hcd-uhci-test.c
index f264d2bf73..84ac2f3c1a 100644
--- a/tests/qtest/usb-hcd-uhci-test.c
+++ b/tests/qtest/usb-hcd-uhci-test.c
@@ -66,6 +66,11 @@ int main(int argc, char **argv)
 
     g_test_init(&argc, &argv, NULL);
 
+    if (!qtest_has_device("piix3-usb-uhci")) {
+        g_debug("piix3-usb-uhci not available");
+        return 0;
+    }
+
     qtest_add_func("/uhci/pci/init", test_uhci_init);
     qtest_add_func("/uhci/pci/port1", test_port_1);
     qtest_add_func("/uhci/pci/hotplug", test_uhci_hotplug);
-- 
2.31.1



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

* [PULL 13/20] tests/qtest/cdrom-test: Fix the test to also work without optional devices
  2023-05-22 11:49 [PULL 00/20] Allow "make check" with "--without-default-devices" Thomas Huth
                   ` (11 preceding siblings ...)
  2023-05-22 11:50 ` [PULL 12/20] tests/qtest/usb-hcd-uhci-test: Skip test if UHCI controller is not available Thomas Huth
@ 2023-05-22 11:50 ` Thomas Huth
  2023-05-22 11:50 ` [PULL 14/20] tests/qtest/virtio-ccw-test: Remove superfluous tests Thomas Huth
                   ` (7 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: Thomas Huth @ 2023-05-22 11:50 UTC (permalink / raw)
  To: qemu-devel, Richard Henderson; +Cc: Paolo Bonzini

It's possible to disable virtio-scsi and virtio-blk in the binaries,
so we must not run the corresponding tests if these devices are missing.

Message-Id: <20230512124033.502654-14-thuth@redhat.com>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 tests/qtest/cdrom-test.c | 16 +++++++++++++---
 1 file changed, 13 insertions(+), 3 deletions(-)

diff --git a/tests/qtest/cdrom-test.c b/tests/qtest/cdrom-test.c
index 2b7e10d920..d1cc375849 100644
--- a/tests/qtest/cdrom-test.c
+++ b/tests/qtest/cdrom-test.c
@@ -136,9 +136,12 @@ static void add_x86_tests(void)
     }
 
     qtest_add_data_func("cdrom/boot/default", "-cdrom ", test_cdboot);
-    qtest_add_data_func("cdrom/boot/virtio-scsi",
-                        "-device virtio-scsi -device scsi-cd,drive=cdr "
-                        "-blockdev file,node-name=cdr,filename=", test_cdboot);
+    if (qtest_has_device("virtio-scsi-ccw")) {
+        qtest_add_data_func("cdrom/boot/virtio-scsi",
+                            "-device virtio-scsi -device scsi-cd,drive=cdr "
+                            "-blockdev file,node-name=cdr,filename=",
+                            test_cdboot);
+    }
     /*
      * Unstable CI test under load
      * See https://lists.gnu.org/archive/html/qemu-devel/2019-02/msg05509.html
@@ -183,10 +186,17 @@ static void add_s390x_tests(void)
 {
     if (!qtest_has_accel("tcg") && !qtest_has_accel("kvm")) {
         g_test_skip("No KVM or TCG accelerator available, skipping boot tests");
+    }
+    if (!qtest_has_device("virtio-blk-ccw")) {
         return;
     }
 
     qtest_add_data_func("cdrom/boot/default", "-cdrom ", test_cdboot);
+
+    if (!qtest_has_device("virtio-scsi-ccw")) {
+        return;
+    }
+
     qtest_add_data_func("cdrom/boot/virtio-scsi",
                         "-device virtio-scsi -device scsi-cd,drive=cdr "
                         "-blockdev file,node-name=cdr,filename=", test_cdboot);
-- 
2.31.1



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

* [PULL 14/20] tests/qtest/virtio-ccw-test: Remove superfluous tests
  2023-05-22 11:49 [PULL 00/20] Allow "make check" with "--without-default-devices" Thomas Huth
                   ` (12 preceding siblings ...)
  2023-05-22 11:50 ` [PULL 13/20] tests/qtest/cdrom-test: Fix the test to also work without optional devices Thomas Huth
@ 2023-05-22 11:50 ` Thomas Huth
  2023-05-22 11:50 ` [PULL 15/20] tests/qtest: Check for the availability of virtio-ccw devices before using them Thomas Huth
                   ` (6 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: Thomas Huth @ 2023-05-22 11:50 UTC (permalink / raw)
  To: qemu-devel, Richard Henderson; +Cc: Paolo Bonzini

virtio-balloon-ccw is already tested in the device-plug-test,
virtio-blk-ccw is already tested in cdrom-test, and virtio-net-ccw
is already tested in the pxe-test, so there is not much point
in doing "nop" tests here again.

Message-Id: <20230512124033.502654-15-thuth@redhat.com>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 tests/qtest/virtio-ccw-test.c | 23 -----------------------
 1 file changed, 23 deletions(-)

diff --git a/tests/qtest/virtio-ccw-test.c b/tests/qtest/virtio-ccw-test.c
index 2de77bb6fe..c0790e3ba2 100644
--- a/tests/qtest/virtio-ccw-test.c
+++ b/tests/qtest/virtio-ccw-test.c
@@ -17,12 +17,6 @@
 #include "libqtest-single.h"
 #include "libqos/virtio.h"
 
-static void virtio_balloon_nop(void)
-{
-    global_qtest = qtest_initf("-device virtio-balloon-ccw");
-    qtest_end();
-}
-
 static void virtconsole_nop(void)
 {
     global_qtest = qtest_initf("-device virtio-serial-ccw,id=vser0 "
@@ -53,20 +47,6 @@ static void virtio_serial_hotplug(void)
     qtest_quit(qts);
 }
 
-static void virtio_blk_nop(void)
-{
-    global_qtest = qtest_initf("-drive if=none,id=drv0,file=null-co://,"
-                               "file.read-zeroes=on,format=raw "
-                                "-device virtio-blk-ccw,drive=drv0");
-    qtest_end();
-}
-
-static void virtio_net_nop(void)
-{
-    global_qtest = qtest_initf("-device virtio-net-ccw");
-    qtest_end();
-}
-
 static void virtio_rng_nop(void)
 {
     global_qtest = qtest_initf("-device virtio-rng-ccw");
@@ -96,13 +76,10 @@ static void virtio_scsi_hotplug(void)
 int main(int argc, char **argv)
 {
     g_test_init(&argc, &argv, NULL);
-    qtest_add_func("/virtio/balloon/nop", virtio_balloon_nop);
     qtest_add_func("/virtio/console/nop", virtconsole_nop);
     qtest_add_func("/virtio/serialport/nop", virtserialport_nop);
     qtest_add_func("/virtio/serial/nop", virtio_serial_nop);
     qtest_add_func("/virtio/serial/hotplug", virtio_serial_hotplug);
-    qtest_add_func("/virtio/block/nop", virtio_blk_nop);
-    qtest_add_func("/virtio/net/nop", virtio_net_nop);
     qtest_add_func("/virtio/rng/nop", virtio_rng_nop);
     qtest_add_func("/virtio/scsi/nop", virtio_scsi_nop);
     qtest_add_func("/virtio/scsi/hotplug", virtio_scsi_hotplug);
-- 
2.31.1



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

* [PULL 15/20] tests/qtest: Check for the availability of virtio-ccw devices before using them
  2023-05-22 11:49 [PULL 00/20] Allow "make check" with "--without-default-devices" Thomas Huth
                   ` (13 preceding siblings ...)
  2023-05-22 11:50 ` [PULL 14/20] tests/qtest/virtio-ccw-test: Remove superfluous tests Thomas Huth
@ 2023-05-22 11:50 ` Thomas Huth
  2023-05-22 11:50 ` [PULL 16/20] tests/qtest/meson.build: Run the net filter tests only with default devices Thomas Huth
                   ` (5 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: Thomas Huth @ 2023-05-22 11:50 UTC (permalink / raw)
  To: qemu-devel, Richard Henderson; +Cc: Paolo Bonzini

The devices might not have been compiled into the QEMU binary, so we
have to check before we can use them.

Message-Id: <20230512124033.502654-16-thuth@redhat.com>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 tests/qtest/device-plug-test.c |  9 ++++++++-
 tests/qtest/virtio-ccw-test.c  | 20 +++++++++++++-------
 2 files changed, 21 insertions(+), 8 deletions(-)

diff --git a/tests/qtest/device-plug-test.c b/tests/qtest/device-plug-test.c
index 01cecd6e20..abd544b70c 100644
--- a/tests/qtest/device-plug-test.c
+++ b/tests/qtest/device-plug-test.c
@@ -156,7 +156,14 @@ static void test_q35_pci_unplug_json_request(void)
 
 static void test_ccw_unplug(void)
 {
-    QTestState *qtest = qtest_initf("-device virtio-balloon-ccw,id=dev0");
+    QTestState *qtest;
+
+    if (!qtest_has_device("virtio-balloon-ccw")) {
+        g_test_skip("Device virtio-balloon-ccw not available");
+        return;
+    }
+
+    qtest = qtest_initf("-device virtio-balloon-ccw,id=dev0");
 
     qtest_qmp_device_del_send(qtest, "dev0");
     wait_device_deleted_event(qtest, "dev0");
diff --git a/tests/qtest/virtio-ccw-test.c b/tests/qtest/virtio-ccw-test.c
index c0790e3ba2..f4f5858b84 100644
--- a/tests/qtest/virtio-ccw-test.c
+++ b/tests/qtest/virtio-ccw-test.c
@@ -76,13 +76,19 @@ static void virtio_scsi_hotplug(void)
 int main(int argc, char **argv)
 {
     g_test_init(&argc, &argv, NULL);
-    qtest_add_func("/virtio/console/nop", virtconsole_nop);
-    qtest_add_func("/virtio/serialport/nop", virtserialport_nop);
-    qtest_add_func("/virtio/serial/nop", virtio_serial_nop);
-    qtest_add_func("/virtio/serial/hotplug", virtio_serial_hotplug);
-    qtest_add_func("/virtio/rng/nop", virtio_rng_nop);
-    qtest_add_func("/virtio/scsi/nop", virtio_scsi_nop);
-    qtest_add_func("/virtio/scsi/hotplug", virtio_scsi_hotplug);
+    if (qtest_has_device("virtio-serial-ccw")) {
+        qtest_add_func("/virtio/console/nop", virtconsole_nop);
+        qtest_add_func("/virtio/serialport/nop", virtserialport_nop);
+        qtest_add_func("/virtio/serial/nop", virtio_serial_nop);
+        qtest_add_func("/virtio/serial/hotplug", virtio_serial_hotplug);
+    }
+    if (qtest_has_device("virtio-rng-ccw")) {
+        qtest_add_func("/virtio/rng/nop", virtio_rng_nop);
+    }
+    if (qtest_has_device("virtio-rng-ccw")) {
+        qtest_add_func("/virtio/scsi/nop", virtio_scsi_nop);
+        qtest_add_func("/virtio/scsi/hotplug", virtio_scsi_hotplug);
+    }
 
     return g_test_run();
 }
-- 
2.31.1



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

* [PULL 16/20] tests/qtest/meson.build: Run the net filter tests only with default devices
  2023-05-22 11:49 [PULL 00/20] Allow "make check" with "--without-default-devices" Thomas Huth
                   ` (14 preceding siblings ...)
  2023-05-22 11:50 ` [PULL 15/20] tests/qtest: Check for the availability of virtio-ccw devices before using them Thomas Huth
@ 2023-05-22 11:50 ` Thomas Huth
  2023-05-22 11:50 ` [PULL 17/20] tests/qemu-iotests/172: Run QEMU with -vga none and -nic none Thomas Huth
                   ` (4 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: Thomas Huth @ 2023-05-22 11:50 UTC (permalink / raw)
  To: qemu-devel, Richard Henderson

These tests rely on a default NIC to be available. Skip them if we
used the "--without-default-devices" configure option.

Message-Id: <20230512124033.502654-17-thuth@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 tests/qtest/meson.build | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/tests/qtest/meson.build b/tests/qtest/meson.build
index ab422772d3..4c5585ac0f 100644
--- a/tests/qtest/meson.build
+++ b/tests/qtest/meson.build
@@ -34,10 +34,12 @@ qtests_pci = \
 qtests_cxl = \
   (config_all_devices.has_key('CONFIG_CXL') ? ['cxl-test'] : [])
 
+# FIXME: Get rid of get_option('default_devices') here and check
+#        for the availability of the default NICs in the tests
 qtests_filter = \
-  (slirp.found() ? ['test-netfilter'] : []) + \
-  (config_host.has_key('CONFIG_POSIX') ? ['test-filter-mirror'] : []) + \
-  (config_host.has_key('CONFIG_POSIX') ? ['test-filter-redirector'] : [])
+  (get_option('default_devices') and slirp.found() ? ['test-netfilter'] : []) + \
+  (get_option('default_devices') and config_host.has_key('CONFIG_POSIX') ? ['test-filter-mirror'] : []) + \
+  (get_option('default_devices') and config_host.has_key('CONFIG_POSIX') ? ['test-filter-redirector'] : [])
 
 qtests_i386 = \
   (slirp.found() ? ['pxe-test'] : []) + \
@@ -221,9 +223,7 @@ qtests_aarch64 = \
    'migration-test']
 
 qtests_s390x = \
-  (slirp.found() ? ['pxe-test', 'test-netfilter'] : []) +                 \
-  (config_host.has_key('CONFIG_POSIX') ? ['test-filter-mirror'] : []) +                         \
-  (config_host.has_key('CONFIG_POSIX') ? ['test-filter-redirector'] : []) +                     \
+  qtests_filter + \
   ['boot-serial-test',
    'drive_del-test',
    'device-plug-test',
-- 
2.31.1



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

* [PULL 17/20] tests/qemu-iotests/172: Run QEMU with -vga none and -nic none
  2023-05-22 11:49 [PULL 00/20] Allow "make check" with "--without-default-devices" Thomas Huth
                   ` (15 preceding siblings ...)
  2023-05-22 11:50 ` [PULL 16/20] tests/qtest/meson.build: Run the net filter tests only with default devices Thomas Huth
@ 2023-05-22 11:50 ` Thomas Huth
  2023-05-22 11:50 ` [PULL 18/20] .gitlab-ci.d/buildtest.yml: Run full "make check" with --without-default-devices Thomas Huth
                   ` (3 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: Thomas Huth @ 2023-05-22 11:50 UTC (permalink / raw)
  To: qemu-devel, Richard Henderson; +Cc: Paolo Bonzini

This way QEMU won't complain in case the VGA card or the NIC device
are not available in the binary, thus it won't spoil the output
and the test then passes with such QEMU binaries that have a limited
configuration, too.

Message-Id: <20230512124033.502654-18-thuth@redhat.com>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 tests/qemu-iotests/172 | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tests/qemu-iotests/172 b/tests/qemu-iotests/172
index ff269ca7b5..4da0e0f2e2 100755
--- a/tests/qemu-iotests/172
+++ b/tests/qemu-iotests/172
@@ -56,7 +56,7 @@ do_run_qemu()
             done
         fi
         echo quit
-    ) | $QEMU -accel qtest -nographic -monitor stdio -serial none "$@"
+    ) | $QEMU -accel qtest -nographic -monitor stdio -serial none -vga none -nic none "$@"
     echo
 }
 
-- 
2.31.1



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

* [PULL 18/20] .gitlab-ci.d/buildtest.yml: Run full "make check" with --without-default-devices
  2023-05-22 11:49 [PULL 00/20] Allow "make check" with "--without-default-devices" Thomas Huth
                   ` (16 preceding siblings ...)
  2023-05-22 11:50 ` [PULL 17/20] tests/qemu-iotests/172: Run QEMU with -vga none and -nic none Thomas Huth
@ 2023-05-22 11:50 ` Thomas Huth
  2023-05-22 11:50 ` [PULL 19/20] acpi/tests/avocado/bits: enable bios bits avocado tests on gitlab CI pipeline Thomas Huth
                   ` (2 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: Thomas Huth @ 2023-05-22 11:50 UTC (permalink / raw)
  To: qemu-devel, Richard Henderson; +Cc: Paolo Bonzini

Thanks to the fixes from the previous patches, we can now run
the full set of "make check" with all targets here.

Message-Id: <20230512124033.502654-19-thuth@redhat.com>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 .gitlab-ci.d/buildtest.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.gitlab-ci.d/buildtest.yml b/.gitlab-ci.d/buildtest.yml
index 307cba1aab..0f1be14cb6 100644
--- a/.gitlab-ci.d/buildtest.yml
+++ b/.gitlab-ci.d/buildtest.yml
@@ -527,7 +527,7 @@ build-without-defaults:
       --disable-strip
     TARGETS: avr-softmmu mips64-softmmu s390x-softmmu sh4-softmmu
       sparc64-softmmu hexagon-linux-user i386-linux-user s390x-linux-user
-    MAKE_CHECK_ARGS: check-unit check-qtest-avr check-qtest-mips64
+    MAKE_CHECK_ARGS: check
 
 build-libvhost-user:
   extends: .base_job_template
-- 
2.31.1



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

* [PULL 19/20] acpi/tests/avocado/bits: enable bios bits avocado tests on gitlab CI pipeline
  2023-05-22 11:49 [PULL 00/20] Allow "make check" with "--without-default-devices" Thomas Huth
                   ` (17 preceding siblings ...)
  2023-05-22 11:50 ` [PULL 18/20] .gitlab-ci.d/buildtest.yml: Run full "make check" with --without-default-devices Thomas Huth
@ 2023-05-22 11:50 ` Thomas Huth
  2023-05-22 11:50 ` [PULL 20/20] memory: stricter checks prior to unsetting engaged_in_io Thomas Huth
  2023-05-22 22:20 ` [PULL 00/20] Allow "make check" with "--without-default-devices" Richard Henderson
  20 siblings, 0 replies; 22+ messages in thread
From: Thomas Huth @ 2023-05-22 11:50 UTC (permalink / raw)
  To: qemu-devel, Richard Henderson; +Cc: Ani Sinha

From: Ani Sinha <anisinha@redhat.com>

Biosbits avocado tests on gitlab has thus far been disabled because some
packages needed by this test was missing in the container images used by gitlab
CI. These packages have now been added with the commit:

da9000784c90d ("tests/lcitool: Add mtools and xorriso and remove genisoimage as dependencies")

Therefore, this change enables bits avocado test on gitlab.
At the same time, the bits cleanup code has also been made more robust with
this change.

Signed-off-by: Ani Sinha <anisinha@redhat.com>
Message-Id: <20230517065357.5614-1-anisinha@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 tests/avocado/acpi-bits.py | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/tests/avocado/acpi-bits.py b/tests/avocado/acpi-bits.py
index 14038fa3c4..3ed286dcbd 100644
--- a/tests/avocado/acpi-bits.py
+++ b/tests/avocado/acpi-bits.py
@@ -123,9 +123,9 @@ def base_args(self):
         """return the base argument to QEMU binary"""
         return self._base_args
 
-@skipIf(not supported_platform() or missing_deps() or os.getenv('GITLAB_CI'),
-        'incorrect platform or dependencies (%s) not installed ' \
-        'or running on GitLab' % ','.join(deps))
+@skipIf(not supported_platform() or missing_deps(),
+        'unsupported platform or dependencies (%s) not installed' \
+        % ','.join(deps))
 class AcpiBitsTest(QemuBaseTest): #pylint: disable=too-many-instance-attributes
     """
     ACPI and SMBIOS tests using biosbits.
@@ -356,7 +356,7 @@ def tearDown(self):
         """
         if self._vm:
             self.assertFalse(not self._vm.is_running)
-        if not os.getenv('BITS_DEBUG'):
+        if not os.getenv('BITS_DEBUG') and self._workDir:
             self.logger.info('removing the work directory %s', self._workDir)
             shutil.rmtree(self._workDir)
         else:
-- 
2.31.1



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

* [PULL 20/20] memory: stricter checks prior to unsetting engaged_in_io
  2023-05-22 11:49 [PULL 00/20] Allow "make check" with "--without-default-devices" Thomas Huth
                   ` (18 preceding siblings ...)
  2023-05-22 11:50 ` [PULL 19/20] acpi/tests/avocado/bits: enable bios bits avocado tests on gitlab CI pipeline Thomas Huth
@ 2023-05-22 11:50 ` Thomas Huth
  2023-05-22 22:20 ` [PULL 00/20] Allow "make check" with "--without-default-devices" Richard Henderson
  20 siblings, 0 replies; 22+ messages in thread
From: Thomas Huth @ 2023-05-22 11:50 UTC (permalink / raw)
  To: qemu-devel, Richard Henderson; +Cc: Alexander Bulekov, Darren Kenny

From: Alexander Bulekov <alxndr@bu.edu>

engaged_in_io could be unset by an MR with re-entrancy checks disabled.
Ensure that only MRs that can set the engaged_in_io flag can unset it.

Signed-off-by: Alexander Bulekov <alxndr@bu.edu>
Message-Id: <20230516084002.3813836-1-alxndr@bu.edu>
Reviewed-by: Darren Kenny <darren.kenny@oracle.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 softmmu/memory.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/softmmu/memory.c b/softmmu/memory.c
index 342c121514..9ee4131d75 100644
--- a/softmmu/memory.c
+++ b/softmmu/memory.c
@@ -534,6 +534,7 @@ static MemTxResult access_with_adjusted_size(hwaddr addr,
     unsigned access_size;
     unsigned i;
     MemTxResult r = MEMTX_OK;
+    bool reentrancy_guard_applied = false;
 
     if (!access_size_min) {
         access_size_min = 1;
@@ -552,6 +553,7 @@ static MemTxResult access_with_adjusted_size(hwaddr addr,
             return MEMTX_ACCESS_ERROR;
         }
         mr->dev->mem_reentrancy_guard.engaged_in_io = true;
+        reentrancy_guard_applied = true;
     }
 
     /* FIXME: support unaligned access? */
@@ -568,7 +570,7 @@ static MemTxResult access_with_adjusted_size(hwaddr addr,
                         access_mask, attrs);
         }
     }
-    if (mr->dev) {
+    if (mr->dev && reentrancy_guard_applied) {
         mr->dev->mem_reentrancy_guard.engaged_in_io = false;
     }
     return r;
-- 
2.31.1



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

* Re: [PULL 00/20] Allow "make check" with "--without-default-devices"
  2023-05-22 11:49 [PULL 00/20] Allow "make check" with "--without-default-devices" Thomas Huth
                   ` (19 preceding siblings ...)
  2023-05-22 11:50 ` [PULL 20/20] memory: stricter checks prior to unsetting engaged_in_io Thomas Huth
@ 2023-05-22 22:20 ` Richard Henderson
  20 siblings, 0 replies; 22+ messages in thread
From: Richard Henderson @ 2023-05-22 22:20 UTC (permalink / raw)
  To: Thomas Huth, qemu-devel

On 5/22/23 04:49, Thomas Huth wrote:
> The following changes since commit aa222a8e4f975284b3f8f131653a4114b3d333b3:
> 
>    Merge tag 'for_upstream' ofhttps://git.kernel.org/pub/scm/virt/kvm/mst/qemu  into staging (2023-05-19 12:17:16 -0700)
> 
> are available in the Git repository at:
> 
>    https://gitlab.com/thuth/qemu.git  tags/pull-request-2023-05-22
> 
> for you to fetch changes up to 3884bf6468ac6bbb58c2b3feaa74e87f821b52f3:
> 
>    memory: stricter checks prior to unsetting engaged_in_io (2023-05-22 10:35:28 +0200)
> 
> ----------------------------------------------------------------
> * First batch of fixes to allow "make check" with "--without-default-devices"
> * Enable the "bios bits" avocado test in the gitlab-CI
> * Another minor fix for the redundancy DMA blocker code
> 
> ----------------------------------------------------------------
> Alexander Bulekov (1):
>        memory: stricter checks prior to unsetting engaged_in_io
> 
> Ani Sinha (1):
>        acpi/tests/avocado/bits: enable bios bits avocado tests on gitlab CI pipeline
> 
> Thomas Huth (18):
>        hw/i386/Kconfig: ISAPC works fine without VGA_ISA
>        softmmu/vl.c: Check for the availability of the VGA device before using it
>        hw: Move the default NIC machine class setting from the x86 to the generic one
>        softmmu/vl.c: Disable default NIC if it has not been compiled into the binary
>        hw/ppc: Use MachineClass->default_nic in the ppc machines
>        hw/s390x: Use MachineClass->default_nic in the s390x machine
>        hw/sh4: Use MachineClass->default_nic in the sh4 r2d machine
>        hw/char/parallel: Move TYPE_ISA_PARALLEL to the header file
>        hw/i386: Ignore the default parallel port if it has not been compiled into QEMU
>        hw/sparc64/sun4u: Use MachineClass->default_nic and MachineClass->no_parallel
>        tests/qtest/readconfig-test: Check for the availability of USB controllers
>        tests/qtest/usb-hcd-uhci-test: Skip test if UHCI controller is not available
>        tests/qtest/cdrom-test: Fix the test to also work without optional devices
>        tests/qtest/virtio-ccw-test: Remove superfluous tests
>        tests/qtest: Check for the availability of virtio-ccw devices before using them
>        tests/qtest/meson.build: Run the net filter tests only with default devices
>        tests/qemu-iotests/172: Run QEMU with -vga none and -nic none
>        .gitlab-ci.d/buildtest.yml: Run full "make check" with --without-default-devices

Applied, thanks.  Please update https://wiki.qemu.org/ChangeLog/8.1 as appropriate.


r~



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

end of thread, other threads:[~2023-05-22 22:21 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-05-22 11:49 [PULL 00/20] Allow "make check" with "--without-default-devices" Thomas Huth
2023-05-22 11:49 ` [PULL 01/20] hw/i386/Kconfig: ISAPC works fine without VGA_ISA Thomas Huth
2023-05-22 11:49 ` [PULL 02/20] softmmu/vl.c: Check for the availability of the VGA device before using it Thomas Huth
2023-05-22 11:49 ` [PULL 03/20] hw: Move the default NIC machine class setting from the x86 to the generic one Thomas Huth
2023-05-22 11:49 ` [PULL 04/20] softmmu/vl.c: Disable default NIC if it has not been compiled into the binary Thomas Huth
2023-05-22 11:49 ` [PULL 05/20] hw/ppc: Use MachineClass->default_nic in the ppc machines Thomas Huth
2023-05-22 11:50 ` [PULL 06/20] hw/s390x: Use MachineClass->default_nic in the s390x machine Thomas Huth
2023-05-22 11:50 ` [PULL 07/20] hw/sh4: Use MachineClass->default_nic in the sh4 r2d machine Thomas Huth
2023-05-22 11:50 ` [PULL 08/20] hw/char/parallel: Move TYPE_ISA_PARALLEL to the header file Thomas Huth
2023-05-22 11:50 ` [PULL 09/20] hw/i386: Ignore the default parallel port if it has not been compiled into QEMU Thomas Huth
2023-05-22 11:50 ` [PULL 10/20] hw/sparc64/sun4u: Use MachineClass->default_nic and MachineClass->no_parallel Thomas Huth
2023-05-22 11:50 ` [PULL 11/20] tests/qtest/readconfig-test: Check for the availability of USB controllers Thomas Huth
2023-05-22 11:50 ` [PULL 12/20] tests/qtest/usb-hcd-uhci-test: Skip test if UHCI controller is not available Thomas Huth
2023-05-22 11:50 ` [PULL 13/20] tests/qtest/cdrom-test: Fix the test to also work without optional devices Thomas Huth
2023-05-22 11:50 ` [PULL 14/20] tests/qtest/virtio-ccw-test: Remove superfluous tests Thomas Huth
2023-05-22 11:50 ` [PULL 15/20] tests/qtest: Check for the availability of virtio-ccw devices before using them Thomas Huth
2023-05-22 11:50 ` [PULL 16/20] tests/qtest/meson.build: Run the net filter tests only with default devices Thomas Huth
2023-05-22 11:50 ` [PULL 17/20] tests/qemu-iotests/172: Run QEMU with -vga none and -nic none Thomas Huth
2023-05-22 11:50 ` [PULL 18/20] .gitlab-ci.d/buildtest.yml: Run full "make check" with --without-default-devices Thomas Huth
2023-05-22 11:50 ` [PULL 19/20] acpi/tests/avocado/bits: enable bios bits avocado tests on gitlab CI pipeline Thomas Huth
2023-05-22 11:50 ` [PULL 20/20] memory: stricter checks prior to unsetting engaged_in_io Thomas Huth
2023-05-22 22:20 ` [PULL 00/20] Allow "make check" with "--without-default-devices" Richard Henderson

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).