+++ /dev/null
-/** @file\r
-The PCI Root Bridge header file.\r
-\r
-Copyright (c) 2013-2015 Intel Corporation.\r
-\r
-SPDX-License-Identifier: BSD-2-Clause-Patent\r
-\r
-\r
-**/\r
-\r
-#ifndef _PCI_ROOT_BRIDGE_H_\r
-#define _PCI_ROOT_BRIDGE_H_\r
-\r
-#include <PiDxe.h>\r
-#include <IndustryStandard/Acpi.h>\r
-#include <IndustryStandard/Pci.h>\r
-#include <PciHostResource.h>\r
-\r
-//\r
-// Driver Consumed Protocol Prototypes\r
-//\r
-#include <Protocol/Metronome.h>\r
-#include <Protocol/CpuIo2.h>\r
-#include <Protocol/DevicePath.h>\r
-#include <Protocol/Runtime.h>\r
-#include <Protocol/PciRootBridgeIo.h>\r
-#include <Library/UefiLib.h>\r
-#include <Library/DebugLib.h>\r
-#include <Library/DevicePathLib.h>\r
-#include <Library/BaseMemoryLib.h>\r
-#include <Library/DxeServicesTableLib.h>\r
-#include <Library/UefiBootServicesTableLib.h>\r
-#include <Library/BaseLib.h>\r
-\r
-\r
-//\r
-// Define the region of memory used for DMA memory\r
-//\r
-#define DMA_MEMORY_TOP 0x0000000001FFFFFFULL\r
-\r
-//\r
-// The number of PCI root bridges\r
-//\r
-#define ROOT_BRIDGE_COUNT 1\r
-\r
-//\r
-// The default latency for controllers\r
-//\r
-#define DEFAULT_PCI_LATENCY 0x20\r
-\r
-//\r
-// Define resource status constant\r
-//\r
-typedef struct {\r
- EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_OPERATION Operation;\r
- UINTN NumberOfBytes;\r
- UINTN NumberOfPages;\r
- EFI_PHYSICAL_ADDRESS HostAddress;\r
- EFI_PHYSICAL_ADDRESS MappedHostAddress;\r
-} MAP_INFO;\r
-\r
-typedef struct {\r
- ACPI_HID_DEVICE_PATH AcpiDevicePath;\r
- EFI_DEVICE_PATH_PROTOCOL EndDevicePath;\r
-} EFI_PCI_ROOT_BRIDGE_DEVICE_PATH;\r
-\r
-#define PCI_ROOT_BRIDGE_SIGNATURE SIGNATURE_32 ('e', '2', 'p', 'b')\r
-\r
-typedef struct {\r
- UINT32 Signature;\r
- EFI_LIST_ENTRY Link;\r
- EFI_HANDLE Handle;\r
- UINT64 RootBridgeAllocAttrib;\r
- UINT64 Attributes;\r
- UINT64 Supports;\r
- PCI_RES_NODE ResAllocNode[6];\r
- PCI_ROOT_BRIDGE_RESOURCE_APERTURE Aperture;\r
- EFI_LOCK PciLock;\r
- UINTN PciAddress;\r
- UINTN PciData;\r
- UINT32 HecBase;\r
- UINT32 HecLen;\r
- UINTN BusScanCount;\r
- BOOLEAN BusNumberAssigned;\r
- VOID *ConfigBuffer;\r
- EFI_DEVICE_PATH_PROTOCOL *DevicePath;\r
- EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL Io;\r
-} PCI_ROOT_BRIDGE_INSTANCE;\r
-\r
-//\r
-// Driver Instance Data Macros\r
-//\r
-#define DRIVER_INSTANCE_FROM_PCI_ROOT_BRIDGE_IO_THIS(a) CR (a, PCI_ROOT_BRIDGE_INSTANCE, Io, PCI_ROOT_BRIDGE_SIGNATURE)\r
-\r
-#define DRIVER_INSTANCE_FROM_LIST_ENTRY(a) CR (a, PCI_ROOT_BRIDGE_INSTANCE, Link, PCI_ROOT_BRIDGE_SIGNATURE)\r
-\r
-EFI_STATUS\r
-SimpleIioRootBridgeConstructor (\r
- IN EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *Protocol,\r
- IN EFI_HANDLE HostBridgeHandle,\r
- IN PCI_ROOT_BRIDGE_RESOURCE_APERTURE *ResAppeture,\r
- IN UINT64 AllocAttributes\r
- )\r
-/*++\r
-\r
-Routine Description:\r
-\r
- Construct the Pci Root Bridge Io protocol.\r
-\r
-Arguments:\r
-\r
- Protocol - Protocol to initialize.\r
- HostBridgeHandle - Handle to the HostBridge.\r
- ResAppeture - Resource apperture of the root bridge.\r
- AllocAttributes - Attribute of resouce allocated.\r
-\r
-Returns:\r
-\r
- EFI_SUCCESS - Success.\r
- Others - Fail.\r
-\r
---*/\r
-;\r
-\r
-//\r
-// Protocol Member Function Prototypes\r
-//\r
-EFI_STATUS\r
-EFIAPI\r
-RootBridgeIoPollMem (\r
- IN EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *This,\r
- IN EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_WIDTH Width,\r
- IN UINT64 Address,\r
- IN UINT64 Mask,\r
- IN UINT64 Value,\r
- IN UINT64 Delay,\r
- OUT UINT64 *Result\r
- )\r
-/*++\r
-\r
-Routine Description:\r
-\r
- Poll an address in memory mapped space until an exit condition is met\r
- or a timeout occurs.\r
-\r
-Arguments:\r
-\r
- This - Pointer to EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL instance.\r
- Width - Width of the memory operation.\r
- Address - The base address of the memory operation.\r
- Mask - Mask used for polling criteria.\r
- Value - Comparison value used for polling exit criteria.\r
- Delay - Number of 100ns units to poll.\r
- Result - Pointer to the last value read from memory location.\r
-\r
-Returns:\r
-\r
- EFI_SUCCESS - Success.\r
- EFI_INVALID_PARAMETER - Invalid parameter found.\r
- EFI_TIMEOUT - Delay expired before a match occurred.\r
- EFI_OUT_OF_RESOURCES - Fail due to lack of resources.\r
-\r
---*/\r
-;\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-RootBridgeIoPollIo (\r
- IN EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *This,\r
- IN EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_WIDTH Width,\r
- IN UINT64 Address,\r
- IN UINT64 Mask,\r
- IN UINT64 Value,\r
- IN UINT64 Delay,\r
- OUT UINT64 *Result\r
- )\r
-/*++\r
-\r
-Routine Description:\r
-\r
- Poll an address in I/O space until an exit condition is met\r
- or a timeout occurs.\r
-\r
-Arguments:\r
-\r
- This - Pointer to EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL instance.\r
- Width - Width of I/O operation.\r
- Address - The base address of the I/O operation.\r
- Mask - Mask used for polling criteria.\r
- Value - Comparison value used for polling exit criteria.\r
- Delay - Number of 100ns units to poll.\r
- Result - Pointer to the last value read from memory location.\r
-\r
-Returns:\r
-\r
- EFI_SUCCESS - Success.\r
- EFI_INVALID_PARAMETER - Invalid parameter found.\r
- EFI_TIMEOUT - Delay expired before a match occurred.\r
- EFI_OUT_OF_RESOURCES - Fail due to lack of resources.\r
-\r
---*/\r
-;\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-RootBridgeIoMemRead (\r
- IN EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *This,\r
- IN EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_WIDTH Width,\r
- IN UINT64 Address,\r
- IN UINTN Count,\r
- IN OUT VOID *Buffer\r
- )\r
-/*++\r
-\r
-Routine Description:\r
-\r
- Allow read from memory mapped I/O space.\r
-\r
-Arguments:\r
-\r
- This - Pointer to EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL instance.\r
- Width - The width of memory operation.\r
- Address - Base address of the memory operation.\r
- Count - Number of memory opeartion to perform.\r
- Buffer - The destination buffer to store data.\r
-\r
-Returns:\r
-\r
- EFI_SUCCESS - Success.\r
- EFI_INVALID_PARAMETER - Invalid parameter found.\r
- EFI_OUT_OF_RESOURCES - Fail due to lack of resources.\r
-\r
---*/\r
-;\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-RootBridgeIoMemWrite (\r
- IN EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *This,\r
- IN EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_WIDTH Width,\r
- IN UINT64 Address,\r
- IN UINTN Count,\r
- IN OUT VOID *Buffer\r
- )\r
-/*++\r
-\r
-Routine Description:\r
-\r
- Allow write to memory mapped I/O space.\r
-\r
-Arguments:\r
-\r
- This - Pointer to EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL instance.\r
- Width - The width of memory operation.\r
- Address - Base address of the memory operation.\r
- Count - Number of memory opeartion to perform.\r
- Buffer - The source buffer to write data from.\r
-\r
-Returns:\r
-\r
- EFI_SUCCESS - Success.\r
- EFI_INVALID_PARAMETER - Invalid parameter found.\r
- EFI_OUT_OF_RESOURCES - Fail due to lack of resources.\r
-\r
---*/\r
-;\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-RootBridgeIoIoRead (\r
- IN EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *This,\r
- IN EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_WIDTH Width,\r
- IN UINT64 UserAddress,\r
- IN UINTN Count,\r
- IN OUT VOID *UserBuffer\r
- )\r
-/*++\r
-\r
-Routine Description:\r
-\r
- Enable a PCI driver to read PCI controller registers in the\r
- PCI root bridge I/O space.\r
-\r
-Arguments:\r
-\r
- This - A pointer to EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL\r
- Width - Signifies the width of the memory operation.\r
- UserAddress - The base address of the I/O operation.\r
- Count - The number of I/O operations to perform.\r
- UserBuffer - The destination buffer to store the results.\r
-\r
-Returns:\r
-\r
- EFI_SUCCESS - The data was read from the PCI root bridge.\r
- EFI_INVALID_PARAMETER - Invalid parameters found.\r
- EFI_OUT_OF_RESOURCES - The request could not be completed due to a lack of\r
- resources.\r
---*/\r
-;\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-RootBridgeIoIoWrite (\r
- IN EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *This,\r
- IN EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_WIDTH Width,\r
- IN UINT64 UserAddress,\r
- IN UINTN Count,\r
- IN OUT VOID *UserBuffer\r
- )\r
-/*++\r
-\r
-Routine Description:\r
-\r
- Enable a PCI driver to write to PCI controller registers in the\r
- PCI root bridge I/O space.\r
-\r
-Arguments:\r
-\r
- This - A pointer to EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL\r
- Width - Signifies the width of the memory operation.\r
- UserAddress - The base address of the I/O operation.\r
- Count - The number of I/O operations to perform.\r
- UserBuffer - The source buffer to write data from.\r
-\r
-Returns:\r
-\r
- EFI_SUCCESS - The data was written to the PCI root bridge.\r
- EFI_INVALID_PARAMETER - Invalid parameters found.\r
- EFI_OUT_OF_RESOURCES - The request could not be completed due to a lack of\r
- resources.\r
---*/\r
-;\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-RootBridgeIoCopyMem (\r
- IN EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *This,\r
- IN EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_WIDTH Width,\r
- IN UINT64 DestAddress,\r
- IN UINT64 SrcAddress,\r
- IN UINTN Count\r
- )\r
-/*++\r
-\r
-Routine Description:\r
-\r
- Copy one region of PCI root bridge memory space to be copied to\r
- another region of PCI root bridge memory space.\r
-\r
-Arguments:\r
-\r
- This - A pointer to EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL instance.\r
- Width - Signifies the width of the memory operation.\r
- DestAddress - Destination address of the memory operation.\r
- SrcAddress - Source address of the memory operation.\r
- Count - Number of memory operations to perform.\r
-\r
-Returns:\r
-\r
- EFI_SUCCESS - The data was copied successfully.\r
- EFI_INVALID_PARAMETER - Invalid parameters found.\r
- EFI_OUT_OF_RESOURCES - The request could not be completed due to a lack of\r
- resources.\r
---*/\r
-;\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-RootBridgeIoPciRead (\r
- IN EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *This,\r
- IN EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_WIDTH Width,\r
- IN UINT64 Address,\r
- IN UINTN Count,\r
- IN OUT VOID *Buffer\r
- )\r
-/*++\r
-\r
-Routine Description:\r
-\r
- Allows read from PCI configuration space.\r
-\r
-Arguments:\r
-\r
- This - A pointer to EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL\r
- Width - Signifies the width of the memory operation.\r
- Address - The address within the PCI configuration space\r
- for the PCI controller.\r
- Count - The number of PCI configuration operations\r
- to perform.\r
- Buffer - The destination buffer to store the results.\r
-\r
-Returns:\r
-\r
- EFI_SUCCESS - The data was read from the PCI root bridge.\r
- EFI_INVALID_PARAMETER - Invalid parameters found.\r
- EFI_OUT_OF_RESOURCES - The request could not be completed due to a lack of\r
- resources.\r
---*/\r
-;\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-RootBridgeIoPciWrite (\r
- IN EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *This,\r
- IN EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_WIDTH Width,\r
- IN UINT64 Address,\r
- IN UINTN Count,\r
- IN OUT VOID *Buffer\r
- )\r
-/*++\r
-\r
-Routine Description:\r
-\r
- Allows write to PCI configuration space.\r
-\r
-Arguments:\r
-\r
- This - A pointer to EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL\r
- Width - Signifies the width of the memory operation.\r
- Address - The address within the PCI configuration space\r
- for the PCI controller.\r
- Count - The number of PCI configuration operations\r
- to perform.\r
- Buffer - The source buffer to get the results.\r
-\r
-Returns:\r
-\r
- EFI_SUCCESS - The data was written to the PCI root bridge.\r
- EFI_INVALID_PARAMETER - Invalid parameters found.\r
- EFI_OUT_OF_RESOURCES - The request could not be completed due to a lack of\r
- resources.\r
---*/\r
-;\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-RootBridgeIoMap (\r
- IN EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *This,\r
- IN EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_OPERATION Operation,\r
- IN VOID *HostAddress,\r
- IN OUT UINTN *NumberOfBytes,\r
- OUT EFI_PHYSICAL_ADDRESS *DeviceAddress,\r
- OUT VOID **Mapping\r
- )\r
-/*++\r
-\r
-Routine Description:\r
-\r
- Provides the PCI controller-specific address needed to access\r
- system memory for DMA.\r
-\r
-Arguments:\r
-\r
- This - A pointer to the EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL.\r
- Operation - Indicate if the bus master is going to read or write\r
- to system memory.\r
- HostAddress - The system memory address to map on the PCI controller.\r
- NumberOfBytes - On input the number of bytes to map.\r
- On output the number of bytes that were mapped.\r
- DeviceAddress - The resulting map address for the bus master PCI\r
- controller to use to access the system memory's HostAddress.\r
- Mapping - The value to pass to Unmap() when the bus master DMA\r
- operation is complete.\r
-\r
-Returns:\r
-\r
- EFI_SUCCESS - Success.\r
- EFI_INVALID_PARAMETER - Invalid parameters found.\r
- EFI_UNSUPPORTED - The HostAddress cannot be mapped as a common\r
- buffer.\r
- EFI_DEVICE_ERROR - The System hardware could not map the requested\r
- address.\r
- EFI_OUT_OF_RESOURCES - The request could not be completed due to\r
- lack of resources.\r
-\r
---*/\r
-;\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-RootBridgeIoUnmap (\r
- IN EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *This,\r
- IN VOID *Mapping\r
- )\r
-/*++\r
-\r
-Routine Description:\r
-\r
- Completes the Map() operation and releases any corresponding resources.\r
-\r
-Arguments:\r
-\r
- This - Pointer to the EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL instance.\r
- Mapping - The value returned from Map() operation.\r
-\r
-Returns:\r
-\r
- EFI_SUCCESS - The range was unmapped successfully.\r
- EFI_INVALID_PARAMETER - Mapping is not a value that was returned\r
- by Map operation.\r
- EFI_DEVICE_ERROR - The data was not committed to the target\r
- system memory.\r
-\r
---*/\r
-;\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-RootBridgeIoAllocateBuffer (\r
- IN EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *This,\r
- IN EFI_ALLOCATE_TYPE Type,\r
- IN EFI_MEMORY_TYPE MemoryType,\r
- IN UINTN Pages,\r
- OUT VOID **HostAddress,\r
- IN UINT64 Attributes\r
- )\r
-/*++\r
-\r
-Routine Description:\r
-\r
- Allocates pages that are suitable for a common buffer mapping.\r
-\r
-Arguments:\r
-\r
- This - Pointer to EFI_ROOT_BRIDGE_IO_PROTOCOL instance.\r
- Type - Not used and can be ignored.\r
- MemoryType - Type of memory to allocate.\r
- Pages - Number of pages to allocate.\r
- HostAddress - Pointer to store the base system memory address\r
- of the allocated range.\r
- Attributes - Requested bit mask of attributes of the allocated\r
- range.\r
-\r
-Returns:\r
-\r
- EFI_SUCCESS - The requested memory range were allocated.\r
- EFI_INVALID_PARAMETER - Invalid parameter found.\r
- EFI_UNSUPPORTED - Attributes is unsupported.\r
-\r
---*/\r
-;\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-RootBridgeIoFreeBuffer (\r
- IN EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *This,\r
- IN UINTN Pages,\r
- OUT VOID *HostAddress\r
- )\r
-/*++\r
-\r
-Routine Description:\r
-\r
- Free memory allocated in AllocateBuffer.\r
-\r
-Arguments:\r
-\r
- This - Pointer to EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL\r
- instance.\r
- Pages - Number of pages to free.\r
- HostAddress - The base system memory address of the\r
- allocated range.\r
-\r
-Returns:\r
-\r
- EFI_SUCCESS - Requested memory pages were freed.\r
- EFI_INVALID_PARAMETER - Invalid parameter found.\r
-\r
---*/\r
-;\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-RootBridgeIoFlush (\r
- IN EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *This\r
- )\r
-/*++\r
-\r
-Routine Description:\r
-\r
- Flushes all PCI posted write transactions from a PCI host\r
- bridge to system memory.\r
-\r
-Arguments:\r
-\r
- This - Pointer to EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL instance.\r
-\r
-Returns:\r
-\r
- EFI_SUCCESS - PCI posted write transactions were flushed\r
- from PCI host bridge to system memory.\r
- EFI_DEVICE_ERROR - Fail due to hardware error.\r
-\r
---*/\r
-;\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-RootBridgeIoGetAttributes (\r
- IN EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *This,\r
- OUT UINT64 *Supported,\r
- OUT UINT64 *Attributes\r
- )\r
-/*++\r
-\r
-Routine Description:\r
-\r
- Get the attributes that a PCI root bridge supports and\r
- the attributes the PCI root bridge is currently using.\r
-\r
-Arguments:\r
-\r
- This - Pointer to EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL\r
- instance.\r
- Supports - A pointer to the mask of attributes that\r
- this PCI root bridge supports.\r
- Attributes - A pointer to the mask of attributes that\r
- this PCI root bridge is currently using.\r
-Returns:\r
-\r
- EFI_SUCCESS - Success.\r
- EFI_INVALID_PARAMETER - Invalid parameter found.\r
-\r
---*/\r
-\r
-// GC_TODO: Supported - add argument and description to function comment\r
-//\r
-// GC_TODO: Supported - add argument and description to function comment\r
-//\r
-// GC_TODO: Supported - add argument and description to function comment\r
-//\r
-;\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-RootBridgeIoSetAttributes (\r
- IN EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *This,\r
- IN UINT64 Attributes,\r
- IN OUT UINT64 *ResourceBase,\r
- IN OUT UINT64 *ResourceLength\r
- )\r
-/*++\r
-\r
-Routine Description:\r
-\r
- Sets the attributes for a resource range on a PCI root bridge.\r
-\r
-Arguments:\r
-\r
- This - Pointer to EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL instance.\r
- Attributes - The mask of attributes to set.\r
- ResourceBase - Pointer to the base address of the resource range\r
- to be modified by the attributes specified by Attributes.\r
- ResourceLength - Pointer to the length of the resource range to be modified.\r
-\r
-Returns:\r
- EFI_SUCCESS - Success.\r
- EFI_INVALID_PARAMETER - Invalid parameter found.\r
- EFI_OUT_OF_RESOURCES - Not enough resources to set the attributes upon.\r
-\r
---*/\r
-;\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-RootBridgeIoConfiguration (\r
- IN EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *This,\r
- OUT VOID **Resources\r
- )\r
-/*++\r
-\r
-Routine Description:\r
-\r
- Retrieves the current resource settings of this PCI root bridge\r
- in the form of a set of ACPI 2.0 resource descriptor.\r
-\r
-Arguments:\r
-\r
- This - Pointer to the EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL instance.\r
- Resources - Pointer to the ACPI 2.0 resource descriptor that\r
- describe the current configuration of this PCI root\r
- bridge.\r
-\r
-Returns:\r
-\r
- EFI_SUCCESS - Success.\r
- EFI_UNSUPPORTED - Current configuration of the PCI root bridge\r
- could not be retrieved.\r
-\r
---*/\r
-;\r
-\r
-#endif\r