Code scrub for PCI Bus module and PciIncompatibleDeviceSupportLib module.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8662 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
@@ -1,94 +1,98 @@
|
||||
/** @file
|
||||
Header file of EFI PCI IO protocol.
|
||||
EFI PCI IO protocol functions declaration for PCI Bus module.
|
||||
|
||||
Copyright (c) 2006 - 2009, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
Copyright (c) 2006 - 2009, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
**/
|
||||
|
||||
|
||||
#ifndef _EFI_PCI_IO_PROTOCOL_H_
|
||||
#define _EFI_PCI_IO_PROTOCOL_H_
|
||||
|
||||
/**
|
||||
Initializes a PCI I/O Instance.
|
||||
|
||||
@param PciIoDevice Pci device instance.
|
||||
|
||||
|
||||
@param PciIoDevice Pci device instance.
|
||||
|
||||
**/
|
||||
VOID
|
||||
InitializePciIoInstance (
|
||||
PCI_IO_DEVICE *PciIoDevice
|
||||
IN PCI_IO_DEVICE *PciIoDevice
|
||||
);
|
||||
|
||||
/**
|
||||
Verifies access to a PCI Base Address Register (BAR)
|
||||
|
||||
@param PciIoDevice Pci device instance
|
||||
Verifies access to a PCI Base Address Register (BAR).
|
||||
|
||||
@param PciIoDevice Pci device instance.
|
||||
@param BarIndex The BAR index of the standard PCI Configuration header to use as the
|
||||
base address for the memory or I/O operation to perform.
|
||||
@param Type Operation type could be memory or I/O
|
||||
base address for the memory or I/O operation to perform.
|
||||
@param Type Operation type could be memory or I/O.
|
||||
@param Width Signifies the width of the memory or I/O operations.
|
||||
@param Count The number of memory or I/O operations to perform.
|
||||
@param Offset The offset within the PCI configuration space for the PCI controller.
|
||||
|
||||
|
||||
@retval EFI_INVALID_PARAMETER Invalid Width/BarIndex or Bar type.
|
||||
@retval EFI_SUCCESS Success Operation.
|
||||
@retval EFI_SUCCESS Successfully verified.
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
PciIoVerifyBarAccess (
|
||||
PCI_IO_DEVICE *PciIoDevice,
|
||||
UINT8 BarIndex,
|
||||
PCI_BAR_TYPE Type,
|
||||
IN EFI_PCI_IO_PROTOCOL_WIDTH Width,
|
||||
IN UINTN Count,
|
||||
UINT64 *Offset
|
||||
IN PCI_IO_DEVICE *PciIoDevice,
|
||||
IN UINT8 BarIndex,
|
||||
IN PCI_BAR_TYPE Type,
|
||||
IN IN EFI_PCI_IO_PROTOCOL_WIDTH Width,
|
||||
IN IN UINTN Count,
|
||||
IN UINT64 *Offset
|
||||
);
|
||||
|
||||
/**
|
||||
Verifies access to a PCI Config Header
|
||||
|
||||
@param PciIoDevice Pci device instance
|
||||
Verifies access to a PCI Configuration Header.
|
||||
|
||||
@param PciIoDevice Pci device instance.
|
||||
@param Width Signifies the width of the memory or I/O operations.
|
||||
@param Count The number of memory or I/O operations to perform.
|
||||
@param Offset The offset within the PCI configuration space for the PCI controller.
|
||||
|
||||
@retval EFI_INVALID_PARAMETER Invalid Width.
|
||||
@retval EFI_UNSUPPORTED Offset overflow.
|
||||
@retval EFI_SUCCESS Success operation.
|
||||
@retval EFI_INVALID_PARAMETER Invalid Width
|
||||
@retval EFI_UNSUPPORTED Offset overflowed.
|
||||
@retval EFI_SUCCESS Successfully verified.
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
PciIoVerifyConfigAccess (
|
||||
PCI_IO_DEVICE *PciIoDevice,
|
||||
IN PCI_IO_DEVICE *PciIoDevice,
|
||||
IN EFI_PCI_IO_PROTOCOL_WIDTH Width,
|
||||
IN UINTN Count,
|
||||
IN UINT64 *Offset
|
||||
);
|
||||
|
||||
/**
|
||||
Reads from the I/O space of a PCI Root Bridge. Returns when either the polling exit criteria is
|
||||
Reads from the memory space of a PCI controller. Returns either when the polling exit criteria is
|
||||
satisfied or after a defined duration.
|
||||
|
||||
@param This Pointer to protocol instance of EFI_PCI_IO_PROTOCOL
|
||||
@param Width Signifies the width of the memory or I/O operations.
|
||||
@param BarIndex The BAR index of the standard PCI Configuration header to use as the
|
||||
base address for the memory or I/O operation to perform.
|
||||
@param Offset The offset within the PCI configuration space for the PCI controller.
|
||||
@param Mask Mask used for the polling criteria.
|
||||
@param Value The comparison value used for the polling exit criteria.
|
||||
@param Delay The number of 100 ns units to poll.
|
||||
@param Result Pointer to the last value read from the memory location.
|
||||
|
||||
|
||||
@param This A pointer to the EFI_PCI_IO_PROTOCOL instance.
|
||||
@param Width Signifies the width of the memory or I/O operations.
|
||||
@param BarIndex The BAR index of the standard PCI Configuration header to use as the
|
||||
base address for the memory operation to perform.
|
||||
@param Offset The offset within the selected BAR to start the memory operation.
|
||||
@param Mask Mask used for the polling criteria.
|
||||
@param Value The comparison value used for the polling exit criteria.
|
||||
@param Delay The number of 100 ns units to poll.
|
||||
@param Result Pointer to the last value read from the memory location.
|
||||
|
||||
@retval EFI_SUCCESS The last data returned from the access matched the poll exit criteria.
|
||||
@retval EFI_UNSUPPORTED BarIndex not valid for this PCI controller.
|
||||
@retval EFI_UNSUPPORTED Offset is not valid for the BarIndex of this PCI controller.
|
||||
@retval EFI_TIMEOUT Delay expired before a match occurred.
|
||||
@retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources.
|
||||
@retval EFI_INVALID_PARAMETER One or more parameters are invalid.
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
@@ -103,25 +107,27 @@ PciIoPollMem (
|
||||
OUT UINT64 *Result
|
||||
);
|
||||
|
||||
/**
|
||||
Reads from the I/O space of a PCI Root Bridge. Returns when either the polling exit criteria is
|
||||
/**
|
||||
Reads from the memory space of a PCI controller. Returns either when the polling exit criteria is
|
||||
satisfied or after a defined duration.
|
||||
|
||||
@param This A pointer to the EFI_PCI_IO_PROTOCOL.
|
||||
|
||||
@param This A pointer to the EFI_PCI_IO_PROTOCOL instance.
|
||||
@param Width Signifies the width of the memory or I/O operations.
|
||||
@param BarIndex The BAR index of the standard PCI Configuration header to use as the
|
||||
base address for the memory or I/O operation to perform.
|
||||
@param Offset The offset within the selected BAR to start the memory or I/O operation.
|
||||
base address for the memory operation to perform.
|
||||
@param Offset The offset within the selected BAR to start the memory operation.
|
||||
@param Mask Mask used for the polling criteria.
|
||||
@param Value The comparison value used for the polling exit criteria.
|
||||
@param Delay The number of 100 ns units to poll.
|
||||
@param Result Pointer to the last value read from the memory location.
|
||||
|
||||
|
||||
@retval EFI_SUCCESS The last data returned from the access matched the poll exit criteria.
|
||||
@retval EFI_UNSUPPORTED BarIndex not valid for this PCI controller.
|
||||
@retval EFI_UNSUPPORTED Offset is not valid for the BarIndex of this PCI controller.
|
||||
@retval EFI_TIMEOUT Delay expired before a match occurred.
|
||||
@retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources.
|
||||
@retval EFI_INVALID_PARAMETER One or more parameters are invalid.
|
||||
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
@@ -136,25 +142,25 @@ PciIoPollIo (
|
||||
OUT UINT64 *Result
|
||||
);
|
||||
|
||||
/**
|
||||
/**
|
||||
Enable a PCI driver to access PCI controller registers in the PCI memory or I/O space.
|
||||
|
||||
|
||||
@param This A pointer to the EFI_PCI_IO_PROTOCOL instance.
|
||||
@param Width Signifies the width of the memory or I/O operations.
|
||||
@param BarIndex The BAR index of the standard PCI Configuration header to use as the
|
||||
base address for the memory or I/O operation to perform.
|
||||
@param Offset The offset within the selected BAR to start the memory or I/O operation.
|
||||
base address for the memory or I/O operation to perform.
|
||||
@param Offset The offset within the selected BAR to start the memory or I/O operation.
|
||||
@param Count The number of memory or I/O operations to perform.
|
||||
@param Buffer For read operations, the destination buffer to store the results. For write
|
||||
operations, the source buffer to write data from.
|
||||
|
||||
operations, the source buffer to write data from.
|
||||
|
||||
@retval EFI_SUCCESS The data was read from or written to the PCI controller.
|
||||
@retval EFI_UNSUPPORTED BarIndex not valid for this PCI controller.
|
||||
@retval EFI_UNSUPPORTED The address range specified by Offset, Width, and Count is not
|
||||
valid for the PCI BAR specified by BarIndex.
|
||||
valid for the PCI BAR specified by BarIndex.
|
||||
@retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources.
|
||||
@retval EFI_INVALID_PARAMETER One or more parameters are invalid.
|
||||
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
@@ -167,25 +173,25 @@ PciIoMemRead (
|
||||
IN OUT VOID *Buffer
|
||||
);
|
||||
|
||||
/**
|
||||
/**
|
||||
Enable a PCI driver to access PCI controller registers in the PCI memory or I/O space.
|
||||
|
||||
|
||||
@param This A pointer to the EFI_PCI_IO_PROTOCOL instance.
|
||||
@param Width Signifies the width of the memory or I/O operations.
|
||||
@param BarIndex The BAR index of the standard PCI Configuration header to use as the
|
||||
base address for the memory or I/O operation to perform.
|
||||
@param Offset The offset within the selected BAR to start the memory or I/O operation.
|
||||
base address for the memory or I/O operation to perform.
|
||||
@param Offset The offset within the selected BAR to start the memory or I/O operation.
|
||||
@param Count The number of memory or I/O operations to perform.
|
||||
@param Buffer For read operations, the destination buffer to store the results. For write
|
||||
operations, the source buffer to write data from.
|
||||
|
||||
operations, the source buffer to write data from.
|
||||
|
||||
@retval EFI_SUCCESS The data was read from or written to the PCI controller.
|
||||
@retval EFI_UNSUPPORTED BarIndex not valid for this PCI controller.
|
||||
@retval EFI_UNSUPPORTED The address range specified by Offset, Width, and Count is not
|
||||
valid for the PCI BAR specified by BarIndex.
|
||||
valid for the PCI BAR specified by BarIndex.
|
||||
@retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources.
|
||||
@retval EFI_INVALID_PARAMETER One or more parameters are invalid.
|
||||
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
@@ -198,25 +204,25 @@ PciIoMemWrite (
|
||||
IN OUT VOID *Buffer
|
||||
);
|
||||
|
||||
/**
|
||||
/**
|
||||
Enable a PCI driver to access PCI controller registers in the PCI memory or I/O space.
|
||||
|
||||
|
||||
@param This A pointer to the EFI_PCI_IO_PROTOCOL instance.
|
||||
@param Width Signifies the width of the memory or I/O operations.
|
||||
@param BarIndex The BAR index of the standard PCI Configuration header to use as the
|
||||
base address for the memory or I/O operation to perform.
|
||||
@param Offset The offset within the selected BAR to start the memory or I/O operation.
|
||||
base address for the memory or I/O operation to perform.
|
||||
@param Offset The offset within the selected BAR to start the memory or I/O operation.
|
||||
@param Count The number of memory or I/O operations to perform.
|
||||
@param Buffer For read operations, the destination buffer to store the results. For write
|
||||
operations, the source buffer to write data from.
|
||||
|
||||
operations, the source buffer to write data from.
|
||||
|
||||
@retval EFI_SUCCESS The data was read from or written to the PCI controller.
|
||||
@retval EFI_UNSUPPORTED BarIndex not valid for this PCI controller.
|
||||
@retval EFI_UNSUPPORTED The address range specified by Offset, Width, and Count is not
|
||||
valid for the PCI BAR specified by BarIndex.
|
||||
valid for the PCI BAR specified by BarIndex.
|
||||
@retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources.
|
||||
@retval EFI_INVALID_PARAMETER One or more parameters are invalid.
|
||||
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
@@ -229,25 +235,25 @@ PciIoIoRead (
|
||||
IN OUT VOID *Buffer
|
||||
);
|
||||
|
||||
/**
|
||||
/**
|
||||
Enable a PCI driver to access PCI controller registers in the PCI memory or I/O space.
|
||||
|
||||
|
||||
@param This A pointer to the EFI_PCI_IO_PROTOCOL instance.
|
||||
@param Width Signifies the width of the memory or I/O operations.
|
||||
@param BarIndex The BAR index of the standard PCI Configuration header to use as the
|
||||
base address for the memory or I/O operation to perform.
|
||||
@param Offset The offset within the selected BAR to start the memory or I/O operation.
|
||||
base address for the memory or I/O operation to perform.
|
||||
@param Offset The offset within the selected BAR to start the memory or I/O operation.
|
||||
@param Count The number of memory or I/O operations to perform.
|
||||
@param Buffer For read operations, the destination buffer to store the results. For write
|
||||
operations, the source buffer to write data from.
|
||||
|
||||
operations, the source buffer to write data from.
|
||||
|
||||
@retval EFI_SUCCESS The data was read from or written to the PCI controller.
|
||||
@retval EFI_UNSUPPORTED BarIndex not valid for this PCI controller.
|
||||
@retval EFI_UNSUPPORTED The address range specified by Offset, Width, and Count is not
|
||||
valid for the PCI BAR specified by BarIndex.
|
||||
valid for the PCI BAR specified by BarIndex.
|
||||
@retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources.
|
||||
@retval EFI_INVALID_PARAMETER One or more parameters are invalid.
|
||||
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
@@ -260,23 +266,23 @@ PciIoIoWrite (
|
||||
IN OUT VOID *Buffer
|
||||
);
|
||||
|
||||
/**
|
||||
/**
|
||||
Enable a PCI driver to access PCI controller registers in PCI configuration space.
|
||||
|
||||
@param This A pointer to the EFI_PCI_IO_PROTOCOL instance.
|
||||
|
||||
@param This A pointer to the EFI_PCI_IO_PROTOCOL instance.
|
||||
@param Width Signifies the width of the memory operations.
|
||||
@param Offset The offset within the PCI configuration space for the PCI controller.
|
||||
@param Count The number of PCI configuration operations to perform.
|
||||
@param Buffer For read operations, the destination buffer to store the results. For write
|
||||
operations, the source buffer to write data from.
|
||||
|
||||
|
||||
|
||||
|
||||
@retval EFI_SUCCESS The data was read from or written to the PCI controller.
|
||||
@retval EFI_UNSUPPORTED The address range specified by Offset, Width, and Count is not
|
||||
valid for the PCI configuration header of the PCI controller.
|
||||
@retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources.
|
||||
@retval EFI_INVALID_PARAMETER Buffer is NULL or Width is invalid.
|
||||
|
||||
@retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources.
|
||||
@retval EFI_INVALID_PARAMETER Buffer is NULL or Width is invalid.
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
@@ -288,23 +294,23 @@ PciIoConfigRead (
|
||||
IN OUT VOID *Buffer
|
||||
);
|
||||
|
||||
/**
|
||||
/**
|
||||
Enable a PCI driver to access PCI controller registers in PCI configuration space.
|
||||
|
||||
@param This A pointer to the EFI_PCI_IO_PROTOCOL instance.
|
||||
|
||||
@param This A pointer to the EFI_PCI_IO_PROTOCOL instance.
|
||||
@param Width Signifies the width of the memory operations.
|
||||
@param Offset The offset within the PCI configuration space for the PCI controller.
|
||||
@param Count The number of PCI configuration operations to perform.
|
||||
@param Buffer For read operations, the destination buffer to store the results. For write
|
||||
operations, the source buffer to write data from.
|
||||
|
||||
|
||||
|
||||
|
||||
@retval EFI_SUCCESS The data was read from or written to the PCI controller.
|
||||
@retval EFI_UNSUPPORTED The address range specified by Offset, Width, and Count is not
|
||||
valid for the PCI configuration header of the PCI controller.
|
||||
@retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources.
|
||||
@retval EFI_INVALID_PARAMETER Buffer is NULL or Width is invalid.
|
||||
|
||||
@retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources.
|
||||
@retval EFI_INVALID_PARAMETER Buffer is NULL or Width is invalid.
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
@@ -316,33 +322,33 @@ PciIoConfigWrite (
|
||||
IN OUT VOID *Buffer
|
||||
);
|
||||
|
||||
/**
|
||||
/**
|
||||
Enables a PCI driver to copy one region of PCI memory space to another region of PCI
|
||||
memory space.
|
||||
|
||||
|
||||
@param This A pointer to the EFI_PCI_IO_PROTOCOL instance.
|
||||
@param Width Signifies the width of the memory operations.
|
||||
@param DestBarIndex The BAR index in the standard PCI Configuration header to use as the
|
||||
base address for the memory operation to perform.
|
||||
base address for the memory operation to perform.
|
||||
@param DestOffset The destination offset within the BAR specified by DestBarIndex to
|
||||
start the memory writes for the copy operation.
|
||||
start the memory writes for the copy operation.
|
||||
@param SrcBarIndex The BAR index in the standard PCI Configuration header to use as the
|
||||
base address for the memory operation to perform.
|
||||
base address for the memory operation to perform.
|
||||
@param SrcOffset The source offset within the BAR specified by SrcBarIndex to start
|
||||
the memory reads for the copy operation.
|
||||
the memory reads for the copy operation.
|
||||
@param Count The number of memory operations to perform. Bytes moved is Width
|
||||
size * Count, starting at DestOffset and SrcOffset.
|
||||
|
||||
size * Count, starting at DestOffset and SrcOffset.
|
||||
|
||||
@retval EFI_SUCCESS The data was copied from one memory region to another memory region.
|
||||
@retval EFI_UNSUPPORTED DestBarIndex not valid for this PCI controller.
|
||||
@retval EFI_UNSUPPORTED SrcBarIndex not valid for this PCI controller.
|
||||
@retval EFI_UNSUPPORTED The address range specified by DestOffset, Width, and Count
|
||||
is not valid for the PCI BAR specified by DestBarIndex.
|
||||
is not valid for the PCI BAR specified by DestBarIndex.
|
||||
@retval EFI_UNSUPPORTED The address range specified by SrcOffset, Width, and Count is
|
||||
not valid for the PCI BAR specified by SrcBarIndex.
|
||||
not valid for the PCI BAR specified by SrcBarIndex.
|
||||
@retval EFI_INVALID_PARAMETER Width is invalid.
|
||||
@retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources.
|
||||
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
@@ -356,24 +362,24 @@ PciIoCopyMem (
|
||||
IN UINTN Count
|
||||
);
|
||||
|
||||
/**
|
||||
Provides the PCI controller-Cspecific addresses needed to access system memory.
|
||||
|
||||
/**
|
||||
Provides the PCI controller-specific addresses needed to access system memory.
|
||||
|
||||
@param This A pointer to the EFI_PCI_IO_PROTOCOL instance.
|
||||
@param Operation Indicates if the bus master is going to read or write to system memory.
|
||||
@param HostAddress The system memory address to map to the PCI controller.
|
||||
@param NumberOfBytes On input the number of bytes to map. On output the number of bytes
|
||||
that were mapped.
|
||||
that were mapped.
|
||||
@param DeviceAddress The resulting map address for the bus master PCI controller to use to
|
||||
access the hosts HostAddress.
|
||||
access the hosts HostAddress.
|
||||
@param Mapping A resulting value to pass to Unmap().
|
||||
|
||||
|
||||
@retval EFI_SUCCESS The range was mapped for the returned NumberOfBytes.
|
||||
@retval EFI_UNSUPPORTED The HostAddress cannot be mapped as a common buffer.
|
||||
@retval EFI_UNSUPPORTED The HostAddress cannot be mapped as a common buffer.
|
||||
@retval EFI_INVALID_PARAMETER One or more parameters are invalid.
|
||||
@retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources.
|
||||
@retval EFI_DEVICE_ERROR The system hardware could not map the requested address.
|
||||
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
@@ -386,15 +392,15 @@ PciIoMap (
|
||||
OUT VOID **Mapping
|
||||
);
|
||||
|
||||
/**
|
||||
/**
|
||||
Completes the Map() operation and releases any corresponding resources.
|
||||
|
||||
@param This A pointer to the EFI_PCI_IO_PROTOCOL instance.
|
||||
|
||||
@param This A pointer to the EFI_PCI_IO_PROTOCOL instance.
|
||||
@param Mapping The mapping value returned from Map().
|
||||
|
||||
|
||||
@retval EFI_SUCCESS The range was unmapped.
|
||||
@retval EFI_DEVICE_ERROR The data was not committed to the target system memory.
|
||||
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
@@ -403,25 +409,25 @@ PciIoUnmap (
|
||||
IN VOID *Mapping
|
||||
);
|
||||
|
||||
/**
|
||||
/**
|
||||
Allocates pages that are suitable for an EfiPciIoOperationBusMasterCommonBuffer
|
||||
mapping.
|
||||
|
||||
mapping.
|
||||
|
||||
@param This A pointer to the EFI_PCI_IO_PROTOCOL instance.
|
||||
@param Type This parameter is not used and must be ignored.
|
||||
@param MemoryType The type of memory to allocate, EfiBootServicesData or
|
||||
EfiRuntimeServicesData.
|
||||
@param Pages The number of pages to allocate.
|
||||
EfiRuntimeServicesData.
|
||||
@param Pages The number of pages to allocate.
|
||||
@param HostAddress A pointer to store the base system memory address of the
|
||||
allocated range.
|
||||
allocated range.
|
||||
@param Attributes The requested bit mask of attributes for the allocated range.
|
||||
|
||||
|
||||
@retval EFI_SUCCESS The requested memory pages were allocated.
|
||||
@retval EFI_UNSUPPORTED Attributes is unsupported. The only legal attribute bits are
|
||||
MEMORY_WRITE_COMBINE and MEMORY_CACHED.
|
||||
MEMORY_WRITE_COMBINE and MEMORY_CACHED.
|
||||
@retval EFI_INVALID_PARAMETER One or more parameters are invalid.
|
||||
@retval EFI_OUT_OF_RESOURCES The memory pages could not be allocated.
|
||||
|
||||
@retval EFI_OUT_OF_RESOURCES The memory pages could not be allocated.
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
@@ -434,17 +440,17 @@ PciIoAllocateBuffer (
|
||||
IN UINT64 Attributes
|
||||
);
|
||||
|
||||
/**
|
||||
/**
|
||||
Frees memory that was allocated with AllocateBuffer().
|
||||
|
||||
@param This A pointer to the EFI_PCI_IO_PROTOCOL instance.
|
||||
@param Pages The number of pages to free.
|
||||
@param HostAddress The base system memory address of the allocated range.
|
||||
|
||||
|
||||
@param This A pointer to the EFI_PCI_IO_PROTOCOL instance.
|
||||
@param Pages The number of pages to free.
|
||||
@param HostAddress The base system memory address of the allocated range.
|
||||
|
||||
@retval EFI_SUCCESS The requested memory pages were freed.
|
||||
@retval EFI_INVALID_PARAMETER The memory range specified by HostAddress and Pages
|
||||
was not allocated with AllocateBuffer().
|
||||
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
@@ -454,16 +460,16 @@ PciIoFreeBuffer (
|
||||
IN VOID *HostAddress
|
||||
);
|
||||
|
||||
/**
|
||||
/**
|
||||
Flushes all PCI posted write transactions from a PCI host bridge to system memory.
|
||||
|
||||
@param This A pointer to the EFI_PCI_IO_PROTOCOL instance.
|
||||
|
||||
|
||||
@param This A pointer to the EFI_PCI_IO_PROTOCOL instance.
|
||||
|
||||
@retval EFI_SUCCESS The PCI posted write transactions were flushed from the PCI host
|
||||
bridge to system memory.
|
||||
bridge to system memory.
|
||||
@retval EFI_DEVICE_ERROR The PCI posted write transactions were not flushed from the PCI
|
||||
host bridge due to a hardware error.
|
||||
|
||||
host bridge due to a hardware error.
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
@@ -471,18 +477,18 @@ PciIoFlush (
|
||||
IN EFI_PCI_IO_PROTOCOL *This
|
||||
);
|
||||
|
||||
/**
|
||||
/**
|
||||
Retrieves this PCI controller's current PCI bus number, device number, and function number.
|
||||
|
||||
@param This A pointer to the EFI_PCI_IO_PROTOCOL instance.
|
||||
|
||||
@param This A pointer to the EFI_PCI_IO_PROTOCOL instance.
|
||||
@param SegmentNumber The PCI controller's current PCI segment number.
|
||||
@param BusNumber The PCI controller's current PCI bus number.
|
||||
@param DeviceNumber The PCI controller's current PCI device number.
|
||||
@param FunctionNumber The PCI controller's current PCI function number.
|
||||
|
||||
@retval EFI_SUCCESS The PCI controller location was returned.
|
||||
@retval EFI_INVALID_PARAMETER One or more parameters are invalid.
|
||||
|
||||
|
||||
@retval EFI_SUCCESS The PCI controller location was returned.
|
||||
@retval EFI_INVALID_PARAMETER One or more parameters are invalid.
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
@@ -496,30 +502,33 @@ PciIoGetLocation (
|
||||
|
||||
/**
|
||||
Check BAR type for PCI resource.
|
||||
|
||||
@param PciIoDevice PCI device instance
|
||||
|
||||
@param PciIoDevice PCI device instance.
|
||||
@param BarIndex The BAR index of the standard PCI Configuration header to use as the
|
||||
base address for the memory or I/O operation to perform.
|
||||
@param BarType Memory or I/O
|
||||
|
||||
@return whether Pci device's bar type is same with input BarType.
|
||||
base address for the memory or I/O operation to perform.
|
||||
@param BarType Memory or I/O.
|
||||
|
||||
@retval TRUE Pci device's bar type is same with input BarType.
|
||||
@retval TRUE Pci device's bar type is not same with input BarType.
|
||||
|
||||
**/
|
||||
BOOLEAN
|
||||
CheckBarType (
|
||||
IN PCI_IO_DEVICE *PciIoDevice,
|
||||
UINT8 BarIndex,
|
||||
PCI_BAR_TYPE BarType
|
||||
IN PCI_IO_DEVICE *PciIoDevice,
|
||||
IN UINT8 BarIndex,
|
||||
IN PCI_BAR_TYPE BarType
|
||||
);
|
||||
|
||||
/**
|
||||
Set/Disable new attributes to a Root Bridge
|
||||
|
||||
@param PciIoDevice Pci device instance
|
||||
@param Attributes New attribute want to be set
|
||||
@param Operation Set or Disable
|
||||
|
||||
@retval EFI_UNSUPPORTED If root bridge does not support change attribute
|
||||
@retval EFI_SUCCESS Success operation.
|
||||
Set/Disable new attributes to a Root Bridge.
|
||||
|
||||
@param PciIoDevice Pci device instance.
|
||||
@param Attributes New attribute want to be set.
|
||||
@param Operation Set or Disable.
|
||||
|
||||
@retval EFI_UNSUPPORTED If root bridge does not support change attribute.
|
||||
@retval EFI_SUCCESS Successfully set new attributs.
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
ModifyRootBridgeAttributes (
|
||||
@@ -529,38 +538,39 @@ ModifyRootBridgeAttributes (
|
||||
);
|
||||
|
||||
/**
|
||||
Check whether this device can be enable/disable to snoop
|
||||
|
||||
@param PciIoDevice Pci device instance
|
||||
@param Operation Enable/Disable
|
||||
|
||||
@retval EFI_UNSUPPORTED Pci device is not GFX device or not support snoop
|
||||
Check whether this device can be enable/disable to snoop.
|
||||
|
||||
@param PciIoDevice Pci device instance.
|
||||
@param Operation Enable/Disable.
|
||||
|
||||
@retval EFI_UNSUPPORTED Pci device is not GFX device or not support snoop.
|
||||
@retval EFI_SUCCESS Snoop can be supported.
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
SupportPaletteSnoopAttributes (
|
||||
IN PCI_IO_DEVICE *PciIoDevice,
|
||||
IN EFI_PCI_IO_PROTOCOL_ATTRIBUTE_OPERATION Operation
|
||||
IN PCI_IO_DEVICE *PciIoDevice,
|
||||
IN EFI_PCI_IO_PROTOCOL_ATTRIBUTE_OPERATION Operation
|
||||
);
|
||||
|
||||
/**
|
||||
/**
|
||||
Performs an operation on the attributes that this PCI controller supports. The operations include
|
||||
getting the set of supported attributes, retrieving the current attributes, setting the current
|
||||
attributes, enabling attributes, and disabling attributes.
|
||||
|
||||
@param This A pointer to the EFI_PCI_IO_PROTOCOL instance.
|
||||
getting the set of supported attributes, retrieving the current attributes, setting the current
|
||||
attributes, enabling attributes, and disabling attributes.
|
||||
|
||||
@param This A pointer to the EFI_PCI_IO_PROTOCOL instance.
|
||||
@param Operation The operation to perform on the attributes for this PCI controller.
|
||||
@param Attributes The mask of attributes that are used for Set, Enable, and Disable
|
||||
operations.
|
||||
operations.
|
||||
@param Result A pointer to the result mask of attributes that are returned for the Get
|
||||
and Supported operations.
|
||||
|
||||
and Supported operations.
|
||||
|
||||
@retval EFI_SUCCESS The operation on the PCI controller's attributes was completed.
|
||||
@retval EFI_INVALID_PARAMETER One or more parameters are invalid.
|
||||
@retval EFI_UNSUPPORTED one or more of the bits set in
|
||||
@retval EFI_INVALID_PARAMETER One or more parameters are invalid.
|
||||
@retval EFI_UNSUPPORTED one or more of the bits set in
|
||||
Attributes are not supported by this PCI controller or one of
|
||||
its parent bridges when Operation is Set, Enable or Disable.
|
||||
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
@@ -571,27 +581,27 @@ PciIoAttributes (
|
||||
OUT UINT64 *Result OPTIONAL
|
||||
);
|
||||
|
||||
/**
|
||||
/**
|
||||
Gets the attributes that this PCI controller supports setting on a BAR using
|
||||
SetBarAttributes(), and retrieves the list of resource descriptors for a BAR.
|
||||
|
||||
@param This A pointer to the EFI_PCI_IO_PROTOCOL instance.
|
||||
|
||||
@param This A pointer to the EFI_PCI_IO_PROTOCOL instance.
|
||||
@param BarIndex The BAR index of the standard PCI Configuration header to use as the
|
||||
base address for resource range. The legal range for this field is 0..5.
|
||||
@param Supports A pointer to the mask of attributes that this PCI controller supports
|
||||
setting for this BAR with SetBarAttributes().
|
||||
setting for this BAR with SetBarAttributes().
|
||||
@param Resources A pointer to the ACPI 2.0 resource descriptors that describe the current
|
||||
configuration of this BAR of the PCI controller.
|
||||
|
||||
@retval EFI_SUCCESS If Supports is not NULL, then the attributes that the PCI
|
||||
controller supports are returned in Supports. If Resources
|
||||
configuration of this BAR of the PCI controller.
|
||||
|
||||
@retval EFI_SUCCESS If Supports is not NULL, then the attributes that the PCI
|
||||
controller supports are returned in Supports. If Resources
|
||||
is not NULL, then the ACPI 2.0 resource descriptors that the PCI
|
||||
controller is currently using are returned in Resources.
|
||||
controller is currently using are returned in Resources.
|
||||
@retval EFI_INVALID_PARAMETER Both Supports and Attributes are NULL.
|
||||
@retval EFI_UNSUPPORTED BarIndex not valid for this PCI controller.
|
||||
@retval EFI_OUT_OF_RESOURCES There are not enough resources available to allocate
|
||||
Resources.
|
||||
|
||||
Resources.
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
@@ -602,29 +612,29 @@ PciIoGetBarAttributes (
|
||||
OUT VOID **Resources OPTIONAL
|
||||
);
|
||||
|
||||
/**
|
||||
/**
|
||||
Sets the attributes for a range of a BAR on a PCI controller.
|
||||
|
||||
@param This A pointer to the EFI_PCI_IO_PROTOCOL instance.
|
||||
|
||||
@param This A pointer to the EFI_PCI_IO_PROTOCOL instance.
|
||||
@param Attributes The mask of attributes to set for the resource range specified by
|
||||
BarIndex, Offset, and Length.
|
||||
BarIndex, Offset, and Length.
|
||||
@param BarIndex The BAR index of the standard PCI Configuration header to use as the
|
||||
base address for resource range. The legal range for this field is 0..5.
|
||||
@param Offset A pointer to the BAR relative base address of the resource range to be
|
||||
modified by the attributes specified by Attributes.
|
||||
modified by the attributes specified by Attributes.
|
||||
@param Length A pointer to the length of the resource range to be modified by the
|
||||
attributes specified by Attributes.
|
||||
|
||||
@retval EFI_SUCCESS The set of attributes specified by Attributes for the resource
|
||||
range specified by BarIndex, Offset, and Length were
|
||||
attributes specified by Attributes.
|
||||
|
||||
@retval EFI_SUCCESS The set of attributes specified by Attributes for the resource
|
||||
range specified by BarIndex, Offset, and Length were
|
||||
set on the PCI controller, and the actual resource range is returned
|
||||
in Offset and Length.
|
||||
in Offset and Length.
|
||||
@retval EFI_INVALID_PARAMETER Offset or Length is NULL.
|
||||
@retval EFI_UNSUPPORTED BarIndex not valid for this PCI controller.
|
||||
@retval EFI_OUT_OF_RESOURCES There are not enough resources to set the attributes on the
|
||||
resource range specified by BarIndex, Offset, and
|
||||
Length.
|
||||
|
||||
resource range specified by BarIndex, Offset, and
|
||||
Length.
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
@@ -638,33 +648,35 @@ PciIoSetBarAttributes (
|
||||
|
||||
/**
|
||||
Program parent bridge's attribute recurrently.
|
||||
|
||||
|
||||
@param PciIoDevice Child Pci device instance
|
||||
@param Operation The operation to perform on the attributes for this PCI controller.
|
||||
@param Attributes The mask of attributes that are used for Set, Enable, and Disable
|
||||
operations.
|
||||
|
||||
|
||||
@retval EFI_SUCCESS The operation on the PCI controller's attributes was completed.
|
||||
@retval EFI_INVALID_PARAMETER One or more parameters are invalid.
|
||||
@retval EFI_UNSUPPORTED one or more of the bits set in
|
||||
@retval EFI_INVALID_PARAMETER One or more parameters are invalid.
|
||||
@retval EFI_UNSUPPORTED one or more of the bits set in
|
||||
Attributes are not supported by this PCI controller or one of
|
||||
its parent bridges when Operation is Set, Enable or Disable.
|
||||
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
UpStreamBridgesAttributes (
|
||||
IN PCI_IO_DEVICE *PciIoDevice,
|
||||
IN EFI_PCI_IO_PROTOCOL_ATTRIBUTE_OPERATION Operation,
|
||||
IN UINT64 Attributes
|
||||
IN PCI_IO_DEVICE *PciIoDevice,
|
||||
IN EFI_PCI_IO_PROTOCOL_ATTRIBUTE_OPERATION Operation,
|
||||
IN UINT64 Attributes
|
||||
);
|
||||
|
||||
/**
|
||||
Test whether two Pci device has same parent bridge.
|
||||
|
||||
@param PciDevice1 the frist pci device for testing
|
||||
@param PciDevice2 the second pci device for testing
|
||||
|
||||
@return whether two Pci device has same parent bridge.
|
||||
Test whether two Pci devices has same parent bridge.
|
||||
|
||||
@param PciDevice1 The first pci device for testing.
|
||||
@param PciDevice2 The second pci device for testing.
|
||||
|
||||
@retval TRUE Two Pci device has the same parent bridge.
|
||||
@retval FALSE Two Pci device has not the same parent bridge.
|
||||
|
||||
**/
|
||||
BOOLEAN
|
||||
PciDevicesOnTheSamePath (
|
||||
|
Reference in New Issue
Block a user