]> git.proxmox.com Git - mirror_edk2.git/blob - OvmfPkg/Include/IndustryStandard/QemuPciBridgeCapabilities.h
OvmfPkg/MemEncryptSevLib: find pages of initial SMRAM save state map
[mirror_edk2.git] / OvmfPkg / Include / IndustryStandard / QemuPciBridgeCapabilities.h
1 /** @file
2 Macro and type definitions for QEMU's Red Hat vendor-specific PCI
3 capabilities that provide various hints about PCI Bridges.
4
5 Refer to "docs/pcie_pci_bridge.txt" in the QEMU source directory.
6
7 Copyright (C) 2017, Red Hat, Inc.
8
9 This program and the accompanying materials are licensed and made available
10 under the terms and conditions of the BSD License which accompanies this
11 distribution. The full text of the license may be found at
12 http://opensource.org/licenses/bsd-license.php
13
14 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT
15 WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
16 **/
17
18 #ifndef __QEMU_PCI_BRIDGE_CAPABILITIES_H__
19 #define __QEMU_PCI_BRIDGE_CAPABILITIES_H__
20
21 #include <IndustryStandard/Pci23.h>
22
23 //
24 // The hints apply to PCI Bridges whose PCI_DEVICE_INDEPENDENT_REGION.VendorId
25 // equals the following value.
26 //
27 #define QEMU_PCI_BRIDGE_VENDOR_ID_REDHAT 0x1B36
28
29 //
30 // Common capability header for all hints.
31 //
32 #pragma pack (1)
33 typedef struct {
34 EFI_PCI_CAPABILITY_VENDOR_HDR VendorHdr;
35 UINT8 Type;
36 } QEMU_PCI_BRIDGE_CAPABILITY_HDR;
37 #pragma pack ()
38
39 //
40 // Values defined for QEMU_PCI_BRIDGE_CAPABILITY_HDR.Type.
41 //
42 #define QEMU_PCI_BRIDGE_CAPABILITY_TYPE_RESOURCE_RESERVATION 0x01
43
44 //
45 // PCI Resource Reservation structure for when
46 // QEMU_PCI_BRIDGE_CAPABILITY_HDR.Type equals
47 // QEMU_PCI_BRIDGE_CAPABILITY_TYPE_RESOURCE_RESERVATION.
48 //
49 #pragma pack (1)
50 typedef struct {
51 QEMU_PCI_BRIDGE_CAPABILITY_HDR BridgeHdr;
52 UINT32 BusNumbers;
53 UINT64 Io;
54 UINT32 NonPrefetchable32BitMmio;
55 UINT32 Prefetchable32BitMmio;
56 UINT64 Prefetchable64BitMmio;
57 } QEMU_PCI_BRIDGE_CAPABILITY_RESOURCE_RESERVATION;
58 #pragma pack ()
59
60 #endif