master
h 47 lines 1.57 KB
Raw
1 /*
2 * Support for generating PCI related ACPI tables and passing them to Guests
3 *
4 * Copyright (C) 2006 Fabrice Bellard
5 * Copyright (C) 2008-2010 Kevin O'Connor <kevin@koconnor.net>
6 * Copyright (C) 2013-2019 Red Hat Inc
7 * Copyright (C) 2019 Intel Corporation
8 *
9 * Author: Wei Yang <richardw.yang@linux.intel.com>
10 * Author: Michael S. Tsirkin <mst@redhat.com>
11 *
12 * This program is free software; you can redistribute it and/or modify
13 * it under the terms of the GNU General Public License as published by
14 * the Free Software Foundation; either version 2 of the License, or
15 * (at your option) any later version.
16
17 * This program is distributed in the hope that it will be useful,
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 * GNU General Public License for more details.
21
22 * You should have received a copy of the GNU General Public License along
23 * with this program; if not, see <http://www.gnu.org/licenses/>.
24 */
25
26 #ifndef HW_ACPI_PCI_H
27 #define HW_ACPI_PCI_H
28
29 #include "hw/acpi/bios-linker-loader.h"
30 #include "hw/acpi/acpi_aml_interface.h"
31
32 typedef struct AcpiMcfgInfo {
33 uint64_t base;
34 uint32_t size;
35 } AcpiMcfgInfo;
36
37 void build_mcfg(GArray *table_data, BIOSLinker *linker, AcpiMcfgInfo *info,
38 const char *oem_id, const char *oem_table_id);
39
40 void build_pci_bridge_aml(AcpiDevAmlIf *adev, Aml *scope);
41
42 void build_srat_generic_affinity_structures(GArray *table_data);
43
44 Aml *build_pci_host_bridge_osc_method(bool enable_native_pcie_hotplug);
45 Aml *build_pci_bridge_edsm(void);
46
47 #endif