qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: qemu-devel@nongnu.org
Cc: Peter Maydell <peter.maydell@linaro.org>,
	Eric Auger <eric.auger@redhat.com>,
	Gustavo Romero <gustavo.romero@linaro.org>,
	Igor Mammedov <imammedo@redhat.com>,
	Jonathan Cameron <jonathan.cameron@huawei.com>,
	Ani Sinha <anisinha@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>
Subject: [PULL 60/97] hw/i386/acpi-build: Move build_append_pci_bus_devices/pcihp_slots to pcihp
Date: Mon, 14 Jul 2025 19:08:49 -0400	[thread overview]
Message-ID: <6ae7823a41146c5fd2fd8d1c2ce5f8d27865ace5.1752534227.git.mst@redhat.com> (raw)
In-Reply-To: <cover.1752534227.git.mst@redhat.com>

From: Eric Auger <eric.auger@redhat.com>

We intend to reuse build_append_pci_bus_devices and build_append_pcihp_slots
on ARM. So let's move them to hw/acpi/pcihp.c as well as all static
helpers they use.

No functional change intended.

Signed-off-by: Eric Auger <eric.auger@redhat.com>
Reviewed-by: Gustavo Romero <gustavo.romero@linaro.org>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Reviewed-by: Jonathan Cameron <jonathan.cameron@huawei.com>
Message-Id: <20250714080639.2525563-15-eric.auger@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
---
 include/hw/acpi/pci.h   |   1 -
 include/hw/acpi/pcihp.h |   2 +
 hw/acpi/pcihp.c         | 173 ++++++++++++++++++++++++++++++++++++++++
 hw/i386/acpi-build.c    | 172 ---------------------------------------
 4 files changed, 175 insertions(+), 173 deletions(-)

diff --git a/include/hw/acpi/pci.h b/include/hw/acpi/pci.h
index 8a328b580c..69bae95eac 100644
--- a/include/hw/acpi/pci.h
+++ b/include/hw/acpi/pci.h
@@ -37,7 +37,6 @@ typedef struct AcpiMcfgInfo {
 void build_mcfg(GArray *table_data, BIOSLinker *linker, AcpiMcfgInfo *info,
                 const char *oem_id, const char *oem_table_id);
 
-void build_append_pci_bus_devices(Aml *parent_scope, PCIBus *bus);
 void build_pci_bridge_aml(AcpiDevAmlIf *adev, Aml *scope);
 
 void build_srat_generic_affinity_structures(GArray *table_data);
diff --git a/include/hw/acpi/pcihp.h b/include/hw/acpi/pcihp.h
index f4fd44cb32..5506a58862 100644
--- a/include/hw/acpi/pcihp.h
+++ b/include/hw/acpi/pcihp.h
@@ -80,6 +80,8 @@ void build_append_pcihp_resources(Aml *table,
                                   uint64_t io_addr, uint64_t io_len);
 bool build_append_notification_callback(Aml *parent_scope, const PCIBus *bus);
 
+void build_append_pci_bus_devices(Aml *parent_scope, PCIBus *bus);
+
 /* Called on reset */
 void acpi_pcihp_reset(AcpiPciHpState *s);
 
diff --git a/hw/acpi/pcihp.c b/hw/acpi/pcihp.c
index b64d06afc9..2c76edeb15 100644
--- a/hw/acpi/pcihp.c
+++ b/hw/acpi/pcihp.c
@@ -27,6 +27,7 @@
 #include "qemu/osdep.h"
 #include "hw/acpi/pcihp.h"
 #include "hw/acpi/aml-build.h"
+#include "hw/acpi/acpi_aml_interface.h"
 #include "hw/pci-host/i440fx.h"
 #include "hw/pci/pci.h"
 #include "hw/pci/pci_bridge.h"
@@ -761,6 +762,178 @@ bool build_append_notification_callback(Aml *parent_scope, const PCIBus *bus)
     return !!nr_notifiers;
 }
 
+static Aml *aml_pci_device_dsm(void)
+{
+    Aml *method;
+
+    method = aml_method("_DSM", 4, AML_SERIALIZED);
+    {
+        Aml *params = aml_local(0);
+        Aml *pkg = aml_package(2);
+        aml_append(pkg, aml_int(0));
+        aml_append(pkg, aml_int(0));
+        aml_append(method, aml_store(pkg, params));
+        aml_append(method,
+            aml_store(aml_name("BSEL"), aml_index(params, aml_int(0))));
+        aml_append(method,
+            aml_store(aml_name("ASUN"), aml_index(params, aml_int(1))));
+        aml_append(method,
+            aml_return(aml_call5("PDSM", aml_arg(0), aml_arg(1),
+                                 aml_arg(2), aml_arg(3), params))
+        );
+    }
+    return method;
+}
+
+static Aml *aml_pci_static_endpoint_dsm(PCIDevice *pdev)
+{
+    Aml *method;
+
+    g_assert(pdev->acpi_index != 0);
+    method = aml_method("_DSM", 4, AML_SERIALIZED);
+    {
+        Aml *params = aml_local(0);
+        Aml *pkg = aml_package(1);
+        aml_append(pkg, aml_int(pdev->acpi_index));
+        aml_append(method, aml_store(pkg, params));
+        aml_append(method,
+            aml_return(aml_call5("EDSM", aml_arg(0), aml_arg(1),
+                                 aml_arg(2), aml_arg(3), params))
+        );
+    }
+    return method;
+}
+
+static void build_append_pcihp_notify_entry(Aml *method, int slot)
+{
+    Aml *if_ctx;
+    int32_t devfn = PCI_DEVFN(slot, 0);
+
+    if_ctx = aml_if(aml_and(aml_arg(0), aml_int(0x1U << slot), NULL));
+    aml_append(if_ctx, aml_notify(aml_name("S%.02X", devfn), aml_arg(1)));
+    aml_append(method, if_ctx);
+}
+
+static bool is_devfn_ignored_generic(const int devfn, const PCIBus *bus)
+{
+    const PCIDevice *pdev = bus->devices[devfn];
+
+    if (PCI_FUNC(devfn)) {
+        if (IS_PCI_BRIDGE(pdev)) {
+            /*
+             * Ignore only hotplugged PCI bridges on !0 functions, but
+             * allow describing cold plugged bridges on all functions
+             */
+            if (DEVICE(pdev)->hotplugged) {
+                return true;
+            }
+        }
+    }
+    return false;
+}
+
+static bool is_devfn_ignored_hotplug(const int devfn, const PCIBus *bus)
+{
+    PCIDevice *pdev = bus->devices[devfn];
+    if (pdev) {
+        return is_devfn_ignored_generic(devfn, bus) ||
+               !DEVICE_GET_CLASS(pdev)->hotpluggable ||
+               /* Cold plugged bridges aren't themselves hot-pluggable */
+               (IS_PCI_BRIDGE(pdev) && !DEVICE(pdev)->hotplugged);
+    } else { /* non populated slots */
+         /*
+          * hotplug is supported only for non-multifunction device
+          * so generate device description only for function 0
+          */
+        if (PCI_FUNC(devfn) ||
+            (pci_bus_is_express(bus) && PCI_SLOT(devfn) > 0)) {
+            return true;
+        }
+    }
+    return false;
+}
+
+void build_append_pcihp_slots(Aml *parent_scope, PCIBus *bus)
+{
+    int devfn;
+    Aml *dev, *notify_method = NULL, *method;
+    QObject *bsel = object_property_get_qobject(OBJECT(bus),
+                        ACPI_PCIHP_PROP_BSEL, NULL);
+    uint64_t bsel_val = qnum_get_uint(qobject_to(QNum, bsel));
+    qobject_unref(bsel);
+
+    aml_append(parent_scope, aml_name_decl("BSEL", aml_int(bsel_val)));
+    notify_method = aml_method("DVNT", 2, AML_NOTSERIALIZED);
+
+    for (devfn = 0; devfn < ARRAY_SIZE(bus->devices); devfn++) {
+        int slot = PCI_SLOT(devfn);
+        int adr = slot << 16 | PCI_FUNC(devfn);
+
+        if (is_devfn_ignored_hotplug(devfn, bus)) {
+            continue;
+        }
+
+        if (bus->devices[devfn]) {
+            dev = aml_scope("S%.02X", devfn);
+        } else {
+            dev = aml_device("S%.02X", devfn);
+            aml_append(dev, aml_name_decl("_ADR", aml_int(adr)));
+        }
+
+        /*
+         * Can't declare _SUN here for every device as it changes 'slot'
+         * enumeration order in linux kernel, so use another variable for it
+         */
+        aml_append(dev, aml_name_decl("ASUN", aml_int(slot)));
+        aml_append(dev, aml_pci_device_dsm());
+
+        aml_append(dev, aml_name_decl("_SUN", aml_int(slot)));
+        /* add _EJ0 to make slot hotpluggable  */
+        method = aml_method("_EJ0", 1, AML_NOTSERIALIZED);
+        aml_append(method,
+            aml_call2("PCEJ", aml_name("BSEL"), aml_name("_SUN"))
+        );
+        aml_append(dev, method);
+
+        build_append_pcihp_notify_entry(notify_method, slot);
+
+        /* device descriptor has been composed, add it into parent context */
+        aml_append(parent_scope, dev);
+    }
+    aml_append(parent_scope, notify_method);
+}
+
+void build_append_pci_bus_devices(Aml *parent_scope, PCIBus *bus)
+{
+    int devfn;
+    Aml *dev;
+
+    for (devfn = 0; devfn < ARRAY_SIZE(bus->devices); devfn++) {
+        /* ACPI spec: 1.0b: Table 6-2 _ADR Object Bus Types, PCI type */
+        int adr = PCI_SLOT(devfn) << 16 | PCI_FUNC(devfn);
+        PCIDevice *pdev = bus->devices[devfn];
+
+        if (!pdev || is_devfn_ignored_generic(devfn, bus)) {
+            continue;
+        }
+
+        /* start to compose PCI device descriptor */
+        dev = aml_device("S%.02X", devfn);
+        aml_append(dev, aml_name_decl("_ADR", aml_int(adr)));
+
+        call_dev_aml_func(DEVICE(bus->devices[devfn]), dev);
+        /* add _DSM if device has acpi-index set */
+        if (pdev->acpi_index &&
+            !object_property_get_bool(OBJECT(pdev), "hotpluggable",
+                                      &error_abort)) {
+            aml_append(dev, aml_pci_static_endpoint_dsm(pdev));
+        }
+
+        /* device descriptor has been composed, add it into parent context */
+        aml_append(parent_scope, dev);
+    }
+}
+
 const VMStateDescription vmstate_acpi_pcihp_pci_status = {
     .name = "acpi_pcihp_pci_status",
     .version_id = 1,
diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c
index 3275675e60..fe8bc62c03 100644
--- a/hw/i386/acpi-build.c
+++ b/hw/i386/acpi-build.c
@@ -338,29 +338,6 @@ build_facs(GArray *table_data)
     g_array_append_vals(table_data, reserved, 40); /* Reserved */
 }
 
-static Aml *aml_pci_device_dsm(void)
-{
-    Aml *method;
-
-    method = aml_method("_DSM", 4, AML_SERIALIZED);
-    {
-        Aml *params = aml_local(0);
-        Aml *pkg = aml_package(2);
-        aml_append(pkg, aml_int(0));
-        aml_append(pkg, aml_int(0));
-        aml_append(method, aml_store(pkg, params));
-        aml_append(method,
-            aml_store(aml_name("BSEL"), aml_index(params, aml_int(0))));
-        aml_append(method,
-            aml_store(aml_name("ASUN"), aml_index(params, aml_int(1))));
-        aml_append(method,
-            aml_return(aml_call5("PDSM", aml_arg(0), aml_arg(1),
-                                 aml_arg(2), aml_arg(3), params))
-        );
-    }
-    return method;
-}
-
 static Aml *aml_pci_edsm(void)
 {
     Aml *method, *ifctx;
@@ -414,155 +391,6 @@ static Aml *aml_pci_edsm(void)
     return method;
 }
 
-static Aml *aml_pci_static_endpoint_dsm(PCIDevice *pdev)
-{
-    Aml *method;
-
-    g_assert(pdev->acpi_index != 0);
-    method = aml_method("_DSM", 4, AML_SERIALIZED);
-    {
-        Aml *params = aml_local(0);
-        Aml *pkg = aml_package(1);
-        aml_append(pkg, aml_int(pdev->acpi_index));
-        aml_append(method, aml_store(pkg, params));
-        aml_append(method,
-            aml_return(aml_call5("EDSM", aml_arg(0), aml_arg(1),
-                                 aml_arg(2), aml_arg(3), params))
-        );
-    }
-    return method;
-}
-
-static void build_append_pcihp_notify_entry(Aml *method, int slot)
-{
-    Aml *if_ctx;
-    int32_t devfn = PCI_DEVFN(slot, 0);
-
-    if_ctx = aml_if(aml_and(aml_arg(0), aml_int(0x1U << slot), NULL));
-    aml_append(if_ctx, aml_notify(aml_name("S%.02X", devfn), aml_arg(1)));
-    aml_append(method, if_ctx);
-}
-
-static bool is_devfn_ignored_generic(const int devfn, const PCIBus *bus)
-{
-    const PCIDevice *pdev = bus->devices[devfn];
-
-    if (PCI_FUNC(devfn)) {
-        if (IS_PCI_BRIDGE(pdev)) {
-            /*
-             * Ignore only hotplugged PCI bridges on !0 functions, but
-             * allow describing cold plugged bridges on all functions
-             */
-            if (DEVICE(pdev)->hotplugged) {
-                return true;
-            }
-        }
-    }
-    return false;
-}
-
-static bool is_devfn_ignored_hotplug(const int devfn, const PCIBus *bus)
-{
-    PCIDevice *pdev = bus->devices[devfn];
-    if (pdev) {
-        return is_devfn_ignored_generic(devfn, bus) ||
-               !DEVICE_GET_CLASS(pdev)->hotpluggable ||
-               /* Cold plugged bridges aren't themselves hot-pluggable */
-               (IS_PCI_BRIDGE(pdev) && !DEVICE(pdev)->hotplugged);
-    } else { /* non populated slots */
-         /*
-         * hotplug is supported only for non-multifunction device
-         * so generate device description only for function 0
-         */
-        if (PCI_FUNC(devfn) ||
-            (pci_bus_is_express(bus) && PCI_SLOT(devfn) > 0)) {
-            return true;
-        }
-    }
-    return false;
-}
-
-void build_append_pcihp_slots(Aml *parent_scope, PCIBus *bus)
-{
-    int devfn;
-    Aml *dev, *notify_method = NULL, *method;
-    QObject *bsel = object_property_get_qobject(OBJECT(bus),
-                        ACPI_PCIHP_PROP_BSEL, NULL);
-    uint64_t bsel_val = qnum_get_uint(qobject_to(QNum, bsel));
-    qobject_unref(bsel);
-
-    aml_append(parent_scope, aml_name_decl("BSEL", aml_int(bsel_val)));
-    notify_method = aml_method("DVNT", 2, AML_NOTSERIALIZED);
-
-    for (devfn = 0; devfn < ARRAY_SIZE(bus->devices); devfn++) {
-        int slot = PCI_SLOT(devfn);
-        int adr = slot << 16 | PCI_FUNC(devfn);
-
-        if (is_devfn_ignored_hotplug(devfn, bus)) {
-            continue;
-        }
-
-        if (bus->devices[devfn]) {
-            dev = aml_scope("S%.02X", devfn);
-        } else {
-            dev = aml_device("S%.02X", devfn);
-            aml_append(dev, aml_name_decl("_ADR", aml_int(adr)));
-        }
-
-        /*
-         * Can't declare _SUN here for every device as it changes 'slot'
-         * enumeration order in linux kernel, so use another variable for it
-         */
-        aml_append(dev, aml_name_decl("ASUN", aml_int(slot)));
-        aml_append(dev, aml_pci_device_dsm());
-
-        aml_append(dev, aml_name_decl("_SUN", aml_int(slot)));
-        /* add _EJ0 to make slot hotpluggable  */
-        method = aml_method("_EJ0", 1, AML_NOTSERIALIZED);
-        aml_append(method,
-            aml_call2("PCEJ", aml_name("BSEL"), aml_name("_SUN"))
-        );
-        aml_append(dev, method);
-
-        build_append_pcihp_notify_entry(notify_method, slot);
-
-        /* device descriptor has been composed, add it into parent context */
-        aml_append(parent_scope, dev);
-    }
-    aml_append(parent_scope, notify_method);
-}
-
-void build_append_pci_bus_devices(Aml *parent_scope, PCIBus *bus)
-{
-    int devfn;
-    Aml *dev;
-
-    for (devfn = 0; devfn < ARRAY_SIZE(bus->devices); devfn++) {
-        /* ACPI spec: 1.0b: Table 6-2 _ADR Object Bus Types, PCI type */
-        int adr = PCI_SLOT(devfn) << 16 | PCI_FUNC(devfn);
-        PCIDevice *pdev = bus->devices[devfn];
-
-        if (!pdev || is_devfn_ignored_generic(devfn, bus)) {
-            continue;
-        }
-
-        /* start to compose PCI device descriptor */
-        dev = aml_device("S%.02X", devfn);
-        aml_append(dev, aml_name_decl("_ADR", aml_int(adr)));
-
-        call_dev_aml_func(DEVICE(bus->devices[devfn]), dev);
-        /* add _DSM if device has acpi-index set */
-        if (pdev->acpi_index &&
-            !object_property_get_bool(OBJECT(pdev), "hotpluggable",
-                                      &error_abort)) {
-            aml_append(dev, aml_pci_static_endpoint_dsm(pdev));
-        }
-
-        /* device descriptor has been composed, add it into parent context */
-        aml_append(parent_scope, dev);
-    }
-}
-
 /*
  * build_prt - Define interrupt routing rules
  *
-- 
MST



  parent reply	other threads:[~2025-07-14 23:25 UTC|newest]

Thread overview: 103+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-07-14 23:06 [PULL 00/97] virtio,pci,pc: features, fixes, tests Michael S. Tsirkin
2025-07-14 23:06 ` [PULL 01/97] qdev-properties: Add DEFINE_PROP_ON_OFF_AUTO_BIT64() Michael S. Tsirkin
2025-07-14 23:06 ` [PULL 02/97] net/vhost-vdpa: Report hashing capability Michael S. Tsirkin
2025-07-14 23:06 ` [PULL 03/97] virtio-net: Move virtio_net_get_features() down Michael S. Tsirkin
2025-07-14 23:06 ` [PULL 04/97] virtio-net: Retrieve peer hashing capability Michael S. Tsirkin
2025-07-14 23:06 ` [PULL 05/97] net/vhost-vdpa: Remove dummy SetSteeringEBPF Michael S. Tsirkin
2025-07-14 23:06 ` [PULL 06/97] virtio-net: Add hash type options Michael S. Tsirkin
2025-07-14 23:06 ` [PULL 07/97] vhost: Fix used memslot tracking when destroying a vhost device Michael S. Tsirkin
2025-07-14 23:06 ` [PULL 08/97] softmmu/runstate: add a way to detect force shutdowns Michael S. Tsirkin
2025-07-14 23:06 ` [PULL 09/97] vhost: add a helper for force stopping a device Michael S. Tsirkin
2025-07-14 23:06 ` [PULL 10/97] vhost-user-blk: add an option to skip GET_VRING_BASE for force shutdown Michael S. Tsirkin
2025-07-14 23:06 ` [PULL 11/97] tests/acpi: Add empty ACPI data files for LoongArch Michael S. Tsirkin
2025-07-14 23:06 ` [PULL 12/97] tests/qtest/bios-tables-test: Add basic testing " Michael S. Tsirkin
2025-07-14 23:06 ` [PULL 13/97] rebuild-expected-aml.sh: Add support " Michael S. Tsirkin
2025-07-14 23:06 ` [PULL 14/97] tests/acpi: Fill acpi table data " Michael S. Tsirkin
2025-07-14 23:06 ` [PULL 15/97] tests/acpi: Remove stale allowed tables Michael S. Tsirkin
2025-07-14 23:06 ` [PULL 16/97] hw/acpi: Fix GPtrArray memory leak in crs_range_merge Michael S. Tsirkin
2025-07-14 23:06 ` [PULL 17/97] amd_iommu: Fix Miscellaneous Information Register 0 encoding Michael S. Tsirkin
2025-07-14 23:06 ` [PULL 18/97] amd_iommu: Fix Device ID decoding for INVALIDATE_IOTLB_PAGES command Michael S. Tsirkin
2025-07-14 23:07 ` [PULL 19/97] amd_iommu: Update bitmasks representing DTE reserved fields Michael S. Tsirkin
2025-07-14 23:07 ` [PULL 20/97] amd_iommu: Fix masks for various IOMMU MMIO Registers Michael S. Tsirkin
2025-07-14 23:07 ` [PULL 21/97] amd_iommu: Fix mask to retrieve Interrupt Table Root Pointer from DTE Michael S. Tsirkin
2025-07-14 23:07 ` [PULL 22/97] amd_iommu: Fix the calculation for Device Table size Michael S. Tsirkin
2025-07-14 23:07 ` [PULL 23/97] amd_iommu: Remove duplicated definitions Michael S. Tsirkin
2025-07-14 23:07 ` [PULL 24/97] amd_iommu: Fix truncation of oldval in amdvi_writeq Michael S. Tsirkin
2025-07-14 23:07 ` [PULL 25/97] acpi: Add machine option to disable SPCR table Michael S. Tsirkin
2025-07-14 23:07 ` [PULL 26/97] tests/qtest/bios-tables-test: Add test for disabling SPCR on AArch64 Michael S. Tsirkin
2025-07-14 23:07 ` [PULL 27/97] tests/qtest/bios-tables-test: Add test for disabling SPCR on RISC-V Michael S. Tsirkin
2025-07-14 23:07 ` [PULL 28/97] rust: bindings: allow any number of params Michael S. Tsirkin
2025-07-14 23:30   ` Manos Pitsidianakis
2025-07-15  6:17     ` Michael S. Tsirkin
2025-07-15  6:56   ` [PULL v2 " Michael S. Tsirkin
2025-07-14 23:07 ` [PULL 29/97] pci: Add a memory attribute for pre-translated DMA operations Michael S. Tsirkin
2025-07-14 23:07 ` [PULL 30/97] memory: Add permissions in IOMMUAccessFlags Michael S. Tsirkin
2025-07-14 23:07 ` [PULL 31/97] memory: Allow to store the PASID in IOMMUTLBEntry Michael S. Tsirkin
2025-07-14 23:07 ` [PULL 32/97] intel_iommu: Fill the PASID field when creating an IOMMUTLBEntry Michael S. Tsirkin
2025-07-14 23:07 ` [PULL 33/97] intel_iommu: Declare supported PASID size Michael S. Tsirkin
2025-07-14 23:07 ` [PULL 34/97] intel_iommu: Implement vtd_get_iotlb_info from PCIIOMMUOps Michael S. Tsirkin
2025-07-14 23:07 ` [PULL 35/97] intel_iommu: Implement the PCIIOMMUOps callbacks related to invalidations of device-IOTLB Michael S. Tsirkin
2025-07-14 23:07 ` [PULL 36/97] intel_iommu: Return page walk level even when the translation fails Michael S. Tsirkin
2025-07-14 23:07 ` [PULL 37/97] intel_iommu: Set address mask when a translation fails and adjust W permission Michael S. Tsirkin
2025-07-14 23:07 ` [PULL 38/97] intel_iommu: Add support for ATS Michael S. Tsirkin
2025-07-14 23:07 ` [PULL 39/97] target/qmp: Use target_cpu_type() Michael S. Tsirkin
2025-07-14 23:07 ` [PULL 40/97] qemu/target-info: Factor target_arch() out Michael S. Tsirkin
2025-07-14 23:07 ` [PULL 41/97] qemu/target-info: Add %target_arch field to TargetInfo Michael S. Tsirkin
2025-07-14 23:08 ` [PULL 42/97] qemu/target-info: Add target_endian_mode() Michael S. Tsirkin
2025-07-14 23:08 ` [PULL 43/97] qemu: Convert target_words_bigendian() to TargetInfo API Michael S. Tsirkin
2025-07-14 23:08 ` [PULL 44/97] gdbstub/helpers: Replace TARGET_BIG_ENDIAN -> target_big_endian() Michael S. Tsirkin
2025-07-14 23:08 ` [PULL 45/97] qemu: Declare all load/store helper in 'qemu/bswap.h' Michael S. Tsirkin
2025-07-14 23:08 ` [PULL 46/97] hw/virtio: Build various files once Michael S. Tsirkin
2025-07-14 23:08 ` [PULL 47/97] hw/i386/acpi-build: Make aml_pci_device_dsm() static Michael S. Tsirkin
2025-07-14 23:08 ` [PULL 48/97] hw/acpi: Rename and move build_x86_acpi_pci_hotplug to pcihp Michael S. Tsirkin
2025-07-14 23:08 ` [PULL 49/97] hw/pci-host/gpex-acpi: Add native_pci_hotplug arg to acpi_dsdt_add_pci_osc Michael S. Tsirkin
2025-07-14 23:08 ` [PULL 50/97] tests/qtest/bios-tables-test: Prepare for changes in the DSDT table Michael S. Tsirkin
2025-07-14 23:08 ` [PULL 51/97] hw/pci-host/gpex-acpi: Split host bridge OSC and DSM generation Michael S. Tsirkin
2025-07-14 23:08 ` [PULL 52/97] hw/acpi/ged: Add a acpi-pci-hotplug-with-bridge-support property Michael S. Tsirkin
2025-07-14 23:08 ` [PULL 53/97] hw/pci-host/gpex-acpi: Use GED acpi pcihp property Michael S. Tsirkin
2025-07-14 23:08 ` [PULL 54/97] hw/i386/acpi-build: Turn build_q35_osc_method into a generic method Michael S. Tsirkin
2025-07-14 23:08 ` [PULL 55/97] hw/pci-host/gpex-acpi: Use build_pci_host_bridge_osc_method Michael S. Tsirkin
2025-07-14 23:08 ` [PULL 56/97] tests/qtest/bios-tables-test: Update DSDT blobs after GPEX _OSC change Michael S. Tsirkin
2025-07-14 23:08 ` [PULL 57/97] hw/i386/acpi-build: Introduce build_append_pcihp_resources() helper Michael S. Tsirkin
2025-07-14 23:08 ` [PULL 58/97] hw/acpi/pcihp: Add an AmlRegionSpace arg to build_acpi_pci_hotplug Michael S. Tsirkin
2025-07-14 23:08 ` [PULL 59/97] hw/i386/acpi-build: Move build_append_notification_callback to pcihp Michael S. Tsirkin
2025-07-14 23:08 ` Michael S. Tsirkin [this message]
2025-07-14 23:08 ` [PULL 61/97] hw/i386/acpi-build: Use AcpiPciHpState::root in acpi_set_pci_info Michael S. Tsirkin
2025-07-14 23:08 ` [PULL 62/97] hw/i386/acpi-build: Move aml_pci_edsm to a generic place Michael S. Tsirkin
2025-07-14 23:08 ` [PULL 63/97] qtest/bios-tables-test: Prepare for fixing the aarch64 viot test Michael S. Tsirkin
2025-07-14 23:09 ` [PULL 64/97] qtest/bios-tables-test: Add a variant to " Michael S. Tsirkin
2025-07-14 23:09 ` [PULL 65/97] qtest/bios-tables-test: Generate DSDT.viot Michael S. Tsirkin
2025-07-14 23:09 ` [PULL 66/97] tests/qtest/bios-tables-test: Prepare for changes in the arm virt DSDT table Michael S. Tsirkin
2025-07-14 23:09 ` [PULL 67/97] hw/arm/virt-acpi-build: Let non hotplug ports support static acpi-index Michael S. Tsirkin
2025-07-14 23:09 ` [PULL 68/97] tests/qtest/bios-tables-test: Update ARM DSDT reference blobs Michael S. Tsirkin
2025-07-14 23:09 ` [PULL 69/97] hw/arm/virt-acpi-build: Modify the DSDT ACPI table to enable ACPI PCI hotplug Michael S. Tsirkin
2025-07-14 23:09 ` [PULL 70/97] hw/acpi/ged: Add a bus link property Michael S. Tsirkin
2025-07-14 23:09 ` [PULL 71/97] hw/arm/virt: Pass the bus on the ged creation Michael S. Tsirkin
2025-07-14 23:09 ` [PULL 72/97] hw/acpi/ged: Call pcihp plug callbacks in hotplug handler implementation Michael S. Tsirkin
2025-07-14 23:09 ` [PULL 73/97] hw/acpi/pcihp: Remove root arg in acpi_pcihp_init Michael S. Tsirkin
2025-07-14 23:09 ` [PULL 74/97] hw/acpi/ged: Prepare the device to react to PCI hotplug events Michael S. Tsirkin
2025-07-14 23:09 ` [PULL 75/97] hw/acpi/ged: Support migration of AcpiPciHpState Michael S. Tsirkin
2025-07-14 23:09 ` [PULL 76/97] hw/core/sysbus: Introduce sysbus_mmio_map_name() helper Michael S. Tsirkin
2025-07-14 23:09 ` [PULL 77/97] hw/arm/virt: Minor code reshuffling in create_acpi_ged Michael S. Tsirkin
2025-07-14 23:09 ` [PULL 78/97] hw/arm/virt: Let virt support pci hotplug/unplug GED event Michael S. Tsirkin
2025-07-14 23:09 ` [PULL 79/97] tests/qtest/bios-tables-test: Prepare for addition of acpi pci hp tests Michael S. Tsirkin
2025-07-14 23:09 ` [PULL 80/97] tests/qtest/bios-tables-test: Add aarch64 ACPI PCI hotplug test Michael S. Tsirkin
2025-07-14 23:09 ` [PULL 81/97] qtest/bios-tables-test: Generate reference blob for DSDT.hpoffacpiindex Michael S. Tsirkin
2025-07-14 23:09 ` [PULL 82/97] qtest/bios-tables-test: Generate reference blob for DSDT.acpipcihp Michael S. Tsirkin
2025-07-14 23:09 ` [PULL 83/97] tests: virt: Allow changes to PPTT test table Michael S. Tsirkin
2025-07-14 23:09 ` [PULL 84/97] hw/acpi/aml-build: Set identical implementation flag for PPTT processor nodes Michael S. Tsirkin
2025-07-14 23:09 ` [PULL 85/97] hw/acpi/aml-build: Build a root node in the PPTT table Michael S. Tsirkin
2025-07-14 23:09 ` [PULL 86/97] tests: virt: Update expected ACPI tables for virt test Michael S. Tsirkin
2025-07-14 23:10 ` [PULL 87/97] hw/cxl: fix DC extent capacity tracking Michael S. Tsirkin
2025-07-14 23:10 ` [PULL 88/97] hw/cxl: mailbox-utils: 0x5600 - FMAPI Get DCD Info Michael S. Tsirkin
2025-07-14 23:10 ` [PULL 89/97] hw/mem: cxl_type3: Add dsmas_flags to CXLDCRegion struct Michael S. Tsirkin
2025-07-14 23:10 ` [PULL 90/97] hw/cxl: mailbox-utils: 0x5601 - FMAPI Get Host Region Config Michael S. Tsirkin
2025-07-14 23:10 ` [PULL 91/97] hw/cxl: Move definition for dynamic_capacity_uuid and enum for DC event types to header Michael S. Tsirkin
2025-07-14 23:10 ` [PULL 92/97] hw/mem: cxl_type3: Add DC Region bitmap lock Michael S. Tsirkin
2025-07-14 23:10 ` [PULL 93/97] hw/cxl: mailbox-utils: 0x5602 - FMAPI Set DC Region Config Michael S. Tsirkin
2025-07-14 23:10 ` [PULL 94/97] hw/cxl: mailbox-utils: 0x5603 - FMAPI Get DC Region Extent Lists Michael S. Tsirkin
2025-07-14 23:10 ` [PULL 95/97] hw/cxl: Create helper function to create DC Event Records from extents Michael S. Tsirkin
2025-07-14 23:10 ` [PULL 96/97] hw/cxl: mailbox-utils: 0x5604 - FMAPI Initiate DC Add Michael S. Tsirkin
2025-07-14 23:10 ` [PULL 97/97] hw/cxl: mailbox-utils: 0x5605 - FMAPI Initiate DC Release Michael S. Tsirkin
2025-07-15  6:57 ` [PULL 00/97] virtio,pci,pc: features, fixes, tests Michael S. Tsirkin
2025-07-16 12:39 ` Stefan Hajnoczi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=6ae7823a41146c5fd2fd8d1c2ce5f8d27865ace5.1752534227.git.mst@redhat.com \
    --to=mst@redhat.com \
    --cc=anisinha@redhat.com \
    --cc=eduardo@habkost.net \
    --cc=eric.auger@redhat.com \
    --cc=gustavo.romero@linaro.org \
    --cc=imammedo@redhat.com \
    --cc=jonathan.cameron@huawei.com \
    --cc=marcel.apfelbaum@gmail.com \
    --cc=pbonzini@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    --cc=richard.henderson@linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).