/** @file Macro and type definitions for QEMU's Red Hat vendor-specific PCI capabilities that provide various hints about PCI Bridges. Refer to "docs/pcie_pci_bridge.txt" in the QEMU source directory. Copyright (C) 2017, Red Hat, Inc. SPDX-License-Identifier: BSD-2-Clause-Patent **/ #ifndef __QEMU_PCI_BRIDGE_CAPABILITIES_H__ #define __QEMU_PCI_BRIDGE_CAPABILITIES_H__ #include // // The hints apply to PCI Bridges whose PCI_DEVICE_INDEPENDENT_REGION.VendorId // equals the following value. // #define QEMU_PCI_BRIDGE_VENDOR_ID_REDHAT 0x1B36 // // Common capability header for all hints. // #pragma pack (1) typedef struct { EFI_PCI_CAPABILITY_VENDOR_HDR VendorHdr; UINT8 Type; } QEMU_PCI_BRIDGE_CAPABILITY_HDR; #pragma pack () // // Values defined for QEMU_PCI_BRIDGE_CAPABILITY_HDR.Type. // #define QEMU_PCI_BRIDGE_CAPABILITY_TYPE_RESOURCE_RESERVATION 0x01 // // PCI Resource Reservation structure for when // QEMU_PCI_BRIDGE_CAPABILITY_HDR.Type equals // QEMU_PCI_BRIDGE_CAPABILITY_TYPE_RESOURCE_RESERVATION. // #pragma pack (1) typedef struct { QEMU_PCI_BRIDGE_CAPABILITY_HDR BridgeHdr; UINT32 BusNumbers; UINT64 Io; UINT32 NonPrefetchable32BitMmio; UINT32 Prefetchable32BitMmio; UINT64 Prefetchable64BitMmio; } QEMU_PCI_BRIDGE_CAPABILITY_RESOURCE_RESERVATION; #pragma pack () #endif