From nobody Sun Dec 14 05:52:16 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752535639; cv=none; d=zohomail.com; s=zohoarc; b=auR+z4l+2sRyxf5pKMJFLE/j0fwYVbTE+qFzlcdbNGBQcVVsJ2VsgCmtgSyUgtK5J+EcygjTOqhmknnkQvc2M9xK/O7Ku0kua4KRsqN8gm+Y3r1MtW+w4TXlpLohYPNJ/LIRKC+5TkCR9CTgXSBeD7Qm0ZMOPlTovlTSSaNZ1zk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752535639; h=Content-Type:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=plxvBEcPHMctPzf6xD9j7d/D3J7YMP4bRSmar6SnUeM=; b=Ij1fmmrUAOGTFfk6fISGk220/3CfHDkEtoTOnv6uj7nYadgio0w8nJLTjlte/bcZjdnFVk/UkJ9YZNhpH9HHElXen+q8YX4u9RGwzAMNJDuG5t0KVHxA6SLcAfcl8maN7lB8KaqR7vkhveCO2wCQPgqszbZg5DenyxrC41afQfA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752535639796986.6021463772267; Mon, 14 Jul 2025 16:27:19 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSIl-0004b1-Db; Mon, 14 Jul 2025 19:09:45 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSHn-0008OT-F1 for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:08:39 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSHl-0005jo-O1 for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:08:39 -0400 Received: from mail-wm1-f70.google.com (mail-wm1-f70.google.com [209.85.128.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-257-YFRwpRJoNC-9XaEQFxZWvw-1; Mon, 14 Jul 2025 19:08:34 -0400 Received: by mail-wm1-f70.google.com with SMTP id 5b1f17b1804b1-455ea9cb0beso26557425e9.0 for ; Mon, 14 Jul 2025 16:08:34 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b5e8e262c6sm13329144f8f.85.2025.07.14.16.08.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:08:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534516; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=plxvBEcPHMctPzf6xD9j7d/D3J7YMP4bRSmar6SnUeM=; b=cn3Lp4Uz+BMNJwZvr+yHWty3/dXs5ZQ/x7IMy7oReLzyL8D5Zn3FE185HbTWZc0cJOsteo Y+uxKjXXhI6EbEEtkjVAHWdsYP/CfZOs0NsVclmte6U9IgGKfPEbHY8yPEkvEjf/QEbrgT cSMlVUr94tNKRyyw/rifjNQbkCNep0g= X-MC-Unique: YFRwpRJoNC-9XaEQFxZWvw-1 X-Mimecast-MFC-AGG-ID: YFRwpRJoNC-9XaEQFxZWvw_1752534513 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534512; x=1753139312; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=plxvBEcPHMctPzf6xD9j7d/D3J7YMP4bRSmar6SnUeM=; b=IbrlTRhvsCG5C2Z2IdoaTC5BelskZ1OwlV/K0RQv63tITSNvhZKPh41fjEPMPkq5HO a9yMEiYMIu/rDsIwcFSPL+wqY6vgSWwTz6A9eWEUW0gxWiQN0cOseF5wLMahgOhoXjUX nrO4ztb50cLogXv2XQviaJnnTzBc+2wrNYNpD+EDzWY3ZxBQpQdVBcMKyTjaROcaXaEh E99FHQdaYj1rRQVIk/BZBRk3Tmd1CoEw69nmNNrMEwf9AXmazwr3ijEZcK/PbnZ5A+vx lVDPEEjNlsk7cUupBtV2LVDNcH9J/aCp/zHy1Zlc9XJfWuI+AjdNO+2GC08Bx28voAyp 08uA== X-Gm-Message-State: AOJu0YzkTokkeLLFrBGqMPQJ3kLxBbgcGzhHUfjxjuJAqKi96TZwS+lf 9FRX4yuDQQ+twD/J1GbKLR3S/NAYvJEiMah3M21vA7tIch7HWpTzfeIs5Ct7xS1Lm+mvQ8r4YqV eP5jf7egvU5m8t4zqs9vXG/xBZjE2YpRBSaSxD+GyTuevE/QHLXiIBSzAFiX2g+xiWYtqXydpRS ep9UJLT7f4GSd6LKPDyWvvIbUXZsXaB+vnNA== X-Gm-Gg: ASbGnctY3uFtRhkjzwxL+ziSQyblhflzeslQOXYGi3FQHYLN4f0LnmZQsT+3bfIIU3I 3VNcmBHuLVmgclJGciu2NwWd/TZ5rALZLkcrqURsc/qkACErUQUDw+llPebJrirEHWUpf0BI7Ee QRsIvZ3hHZDxNQxlPqxBRghVeGuHASRy1W+Uih2TFp9lWA1AMRfefLPwsbdErm/HBOH7klAm61M YhyQkCfdQO+BH9zQ/eX2kML0LszdKoGqGNVAFABnCv+XTa2O4sB6Ad+StoUe3TlBfU7MEJjtXLf ZwAScRmsTqxnuOYZbVN41eUPzkspN8Lc X-Received: by 2002:a05:600c:3b17:b0:455:fc16:9eb3 with SMTP id 5b1f17b1804b1-455fc16a2ccmr88895035e9.33.1752534512299; Mon, 14 Jul 2025 16:08:32 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHBoIXJHcEcQ8Muau466UevAvgsGG48A6dX83SmCqWaG5XQXmJXTlJKhdgBYsCCLywhd1Ss2Q== X-Received: by 2002:a05:600c:3b17:b0:455:fc16:9eb3 with SMTP id 5b1f17b1804b1-455fc16a2ccmr88894845e9.33.1752534511786; Mon, 14 Jul 2025 16:08:31 -0700 (PDT) Date: Mon, 14 Jul 2025 19:08:29 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Eric Auger , Jonathan Cameron , Shannon Zhao , Igor Mammedov , Ani Sinha , qemu-arm@nongnu.org Subject: [PULL 53/97] hw/pci-host/gpex-acpi: Use GED acpi pcihp property Message-ID: <48d3d65d86eb120f8441e49a1552a5094345f599.1752534227.git.mst@redhat.com> References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.129.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752535640388116600 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Eric Auger Retrieve the acpi pcihp property value from the ged. In case this latter is not set, PCI native hotplug is used on pci0. For expander bridges we keep pci native hotplug, as done on x86 q35. Signed-off-by: Eric Auger Reviewed-by: Jonathan Cameron Message-Id: <20250714080639.2525563-8-eric.auger@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- include/hw/pci-host/gpex.h | 1 + hw/arm/virt-acpi-build.c | 9 +++++++++ hw/pci-host/gpex-acpi.c | 3 ++- 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/include/hw/pci-host/gpex.h b/include/hw/pci-host/gpex.h index 84471533af..feaf827474 100644 --- a/include/hw/pci-host/gpex.h +++ b/include/hw/pci-host/gpex.h @@ -45,6 +45,7 @@ struct GPEXConfig { MemMapEntry pio; int irq; PCIBus *bus; + bool pci_native_hotplug; }; =20 typedef struct GPEXIrq GPEXIrq; diff --git a/hw/arm/virt-acpi-build.c b/hw/arm/virt-acpi-build.c index 782b17b966..f3bad69aa7 100644 --- a/hw/arm/virt-acpi-build.c +++ b/hw/arm/virt-acpi-build.c @@ -144,12 +144,21 @@ static void acpi_dsdt_add_pci(Aml *scope, const MemMa= pEntry *memmap, int ecam_id =3D VIRT_ECAM_ID(vms->highmem_ecam); bool cxl_present =3D false; PCIBus *bus =3D vms->bus; + bool acpi_pcihp =3D false; + + if (vms->acpi_dev) { + acpi_pcihp =3D object_property_get_bool(OBJECT(vms->acpi_dev), + ACPI_PM_PROP_ACPI_PCIHP_BRID= GE, + NULL); + } + struct GPEXConfig cfg =3D { .mmio32 =3D memmap[VIRT_PCIE_MMIO], .pio =3D memmap[VIRT_PCIE_PIO], .ecam =3D memmap[ecam_id], .irq =3D irq, .bus =3D vms->bus, + .pci_native_hotplug =3D !acpi_pcihp, }; =20 if (vms->highmem_mmio) { diff --git a/hw/pci-host/gpex-acpi.c b/hw/pci-host/gpex-acpi.c index 80fc2bf032..44737a8d81 100644 --- a/hw/pci-host/gpex-acpi.c +++ b/hw/pci-host/gpex-acpi.c @@ -203,6 +203,7 @@ void acpi_dsdt_add_gpex(Aml *scope, struct GPEXConfig *= cfg) if (is_cxl) { build_cxl_osc_method(dev); } else { + /* pxb bridges do not have ACPI PCI Hot-plug enabled */ acpi_dsdt_add_host_bridge_methods(dev, true); } =20 @@ -278,7 +279,7 @@ void acpi_dsdt_add_gpex(Aml *scope, struct GPEXConfig *= cfg) } aml_append(dev, aml_name_decl("_CRS", rbuf)); =20 - acpi_dsdt_add_host_bridge_methods(dev, true); + acpi_dsdt_add_host_bridge_methods(dev, cfg->pci_native_hotplug); =20 Aml *dev_res0 =3D aml_device("%s", "RES0"); aml_append(dev_res0, aml_name_decl("_HID", aml_string("PNP0C02"))); --=20 MST