]> git.proxmox.com Git - mirror_edk2.git/blame - OvmfPkg/Include/IndustryStandard/QemuPciBridgeCapabilities.h
UefiCpuPkg: Move AsmRelocateApLoopStart from Mpfuncs.nasm to AmdSev.nasm
[mirror_edk2.git] / OvmfPkg / Include / IndustryStandard / QemuPciBridgeCapabilities.h
CommitLineData
bdf73b57
LE
1/** @file\r
2 Macro and type definitions for QEMU's Red Hat vendor-specific PCI\r
3 capabilities that provide various hints about PCI Bridges.\r
4\r
5 Refer to "docs/pcie_pci_bridge.txt" in the QEMU source directory.\r
6\r
7 Copyright (C) 2017, Red Hat, Inc.\r
8\r
b26f0cf9 9 SPDX-License-Identifier: BSD-2-Clause-Patent\r
bdf73b57
LE
10**/\r
11\r
12#ifndef __QEMU_PCI_BRIDGE_CAPABILITIES_H__\r
13#define __QEMU_PCI_BRIDGE_CAPABILITIES_H__\r
14\r
15#include <IndustryStandard/Pci23.h>\r
16\r
17//\r
18// The hints apply to PCI Bridges whose PCI_DEVICE_INDEPENDENT_REGION.VendorId\r
19// equals the following value.\r
20//\r
ac0a286f 21#define QEMU_PCI_BRIDGE_VENDOR_ID_REDHAT 0x1B36\r
bdf73b57
LE
22\r
23//\r
24// Common capability header for all hints.\r
25//\r
26#pragma pack (1)\r
27typedef struct {\r
ac0a286f
MK
28 EFI_PCI_CAPABILITY_VENDOR_HDR VendorHdr;\r
29 UINT8 Type;\r
bdf73b57
LE
30} QEMU_PCI_BRIDGE_CAPABILITY_HDR;\r
31#pragma pack ()\r
32\r
33//\r
34// Values defined for QEMU_PCI_BRIDGE_CAPABILITY_HDR.Type.\r
35//\r
ac0a286f 36#define QEMU_PCI_BRIDGE_CAPABILITY_TYPE_RESOURCE_RESERVATION 0x01\r
bdf73b57
LE
37\r
38//\r
39// PCI Resource Reservation structure for when\r
40// QEMU_PCI_BRIDGE_CAPABILITY_HDR.Type equals\r
41// QEMU_PCI_BRIDGE_CAPABILITY_TYPE_RESOURCE_RESERVATION.\r
42//\r
43#pragma pack (1)\r
44typedef struct {\r
ac0a286f
MK
45 QEMU_PCI_BRIDGE_CAPABILITY_HDR BridgeHdr;\r
46 UINT32 BusNumbers;\r
47 UINT64 Io;\r
48 UINT32 NonPrefetchable32BitMmio;\r
49 UINT32 Prefetchable32BitMmio;\r
50 UINT64 Prefetchable64BitMmio;\r
bdf73b57
LE
51} QEMU_PCI_BRIDGE_CAPABILITY_RESOURCE_RESERVATION;\r
52#pragma pack ()\r
53\r
54#endif\r