1 /* 2 * QEMU ACPI PCI bridge 3 * 4 * Copyright (c) 2023 Red Hat, Inc. 5 * 6 * Author: 7 * Igor Mammedov <imammedo@redhat.com> 8 * 9 * SPDX-License-Identifier: GPL-2.0-or-later 10 * 11 * This work is licensed under the terms of the GNU GPL, version 2 or later. 12 * See the COPYING file in the top-level directory. 13 */ 14 15 #include "qemu/osdep.h" 16 #include "hw/acpi/pci.h" 17 #include "hw/pci/pci_bridge.h" 18 #include "hw/acpi/pcihp.h" 19 20 void build_pci_bridge_aml(AcpiDevAmlIf *adev, Aml *scope) 21 { 22 PCIBridge *br = PCI_BRIDGE(adev); 23 24 if (!DEVICE(br)->hotplugged) { 25 PCIBus *sec_bus = pci_bridge_get_sec_bus(br); 26 27 build_append_pci_bus_devices(scope, sec_bus); 28 29 /* 30 * generate hotplug slots descriptors if 31 * bridge has ACPI PCI hotplug attached, 32 */ 33 if (object_property_find(OBJECT(sec_bus), ACPI_PCIHP_PROP_BSEL)) { 34 build_append_pcihp_slots(scope, sec_bus); 35 } 36 } 37 } 38