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,6 +1,7 @@
|
||||
/** @file
|
||||
Internal library declaration for PCI Bus module.
|
||||
|
||||
Copyright (c) 2006 - 2007, Intel Corporation
|
||||
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
|
||||
@@ -9,18 +10,6 @@ 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.
|
||||
|
||||
Module Name:
|
||||
|
||||
PciLib.h
|
||||
|
||||
Abstract:
|
||||
|
||||
PCI Bus Driver Lib header file.
|
||||
Please use PCD feature flag PcdPciBusHotplugDeviceSupport to enable
|
||||
support hot plug.
|
||||
|
||||
Revision History
|
||||
|
||||
**/
|
||||
|
||||
#ifndef _EFI_PCI_LIB_H_
|
||||
@@ -51,9 +40,10 @@ typedef struct {
|
||||
|
||||
|
||||
/**
|
||||
Retrieve the BAR information via PciIo interface.
|
||||
|
||||
@param PciIoDevice Pci device instance.
|
||||
Retrieve the PCI Card device BAR information via PciIo interface.
|
||||
|
||||
@param PciIoDevice PCI Card device instance.
|
||||
|
||||
**/
|
||||
VOID
|
||||
GetBackPcCardBar (
|
||||
@@ -63,23 +53,29 @@ GetBackPcCardBar (
|
||||
/**
|
||||
Remove rejected pci device from specific root bridge
|
||||
handle.
|
||||
|
||||
@param RootBridgeHandle specific parent root bridge handle.
|
||||
|
||||
@param RootBridgeHandle Specific parent root bridge handle.
|
||||
@param Bridge Bridge device instance.
|
||||
|
||||
@retval EFI_SUCCESS Success operation.
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
VOID
|
||||
RemoveRejectedPciDevices (
|
||||
EFI_HANDLE RootBridgeHandle,
|
||||
IN PCI_IO_DEVICE *Bridge
|
||||
IN EFI_HANDLE RootBridgeHandle,
|
||||
IN PCI_IO_DEVICE *Bridge
|
||||
);
|
||||
|
||||
/**
|
||||
Wrapper function for allocating resource for pci host bridge.
|
||||
|
||||
@param PciResAlloc Point to protocol instance EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL.
|
||||
|
||||
Submits the I/O and memory resource requirements for the specified PCI Host Bridge.
|
||||
|
||||
@param PciResAlloc Point to protocol instance of EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL.
|
||||
|
||||
@retval EFI_SUCCESS Successfully finished resource allocation.
|
||||
@retval EFI_NOT_FOUND Cannot get root bridge instance.
|
||||
@retval EFI_OUT_OF_RESOURCES Platform failed to program the resources if no hot plug supported.
|
||||
@retval other Some error occurred when allocating resources for the PCI Host Bridge.
|
||||
|
||||
@note Feature flag PcdPciBusHotplugDeviceSupport determine whether need support hotplug.
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
PciHostBridgeResourceAllocator (
|
||||
@@ -87,38 +83,18 @@ PciHostBridgeResourceAllocator (
|
||||
);
|
||||
|
||||
/**
|
||||
Wrapper function for allocating resource for pci host bridge without hotplug device support.
|
||||
|
||||
@param PciResAlloc Point to protocol instance EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL.
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
PciHostBridgeResourceAllocator_WithoutHotPlugDeviceSupport (
|
||||
IN EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL *PciResAlloc
|
||||
);
|
||||
Scan pci bus and assign bus number to the given PCI bus system.
|
||||
|
||||
/**
|
||||
Wrapper function for allocating resource for pci host bridge with hotplug device support.
|
||||
|
||||
@param PciResAlloc Point to protocol instance EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL.
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
PciHostBridgeResourceAllocator_WithHotPlugDeviceSupport (
|
||||
IN EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL *PciResAlloc
|
||||
);
|
||||
@param Bridge Bridge device instance.
|
||||
@param StartBusNumber start point.
|
||||
@param SubBusNumber Point to sub bus number.
|
||||
@param PaddedBusRange Customized bus number.
|
||||
|
||||
@retval EFI_SUCCESS Successfully scanned and assigned bus number.
|
||||
@retval other Some error occurred when scanning pci bus.
|
||||
|
||||
@note Feature flag PcdPciBusHotplugDeviceSupport determine whether need support hotplug.
|
||||
|
||||
/**
|
||||
Wapper function of scanning pci bus and assign bus number to the given PCI bus system
|
||||
Feature flag PcdPciBusHotplugDeviceSupport determine whether need support hotplug.
|
||||
|
||||
@param Bridge Bridge device instance.
|
||||
@param StartBusNumber start point.
|
||||
@param SubBusNumber Point to sub bus number.
|
||||
@param PaddedBusRange Customized bus number.
|
||||
|
||||
@retval EFI_SUCCESS Success.
|
||||
@retval EFI_DEVICE_ERROR Fail to scan bus.
|
||||
**/
|
||||
EFI_STATUS
|
||||
PciScanBus (
|
||||
@@ -129,51 +105,13 @@ PciScanBus (
|
||||
);
|
||||
|
||||
/**
|
||||
Wapper function of scanning pci bus and assign bus number to the given PCI bus system
|
||||
Feature flag PcdPciBusHotplugDeviceSupport determine whether need support hotplug.
|
||||
|
||||
@param Bridge Bridge device instance.
|
||||
@param StartBusNumber start point.
|
||||
@param SubBusNumber Point to sub bus number.
|
||||
@param PaddedBusRange Customized bus number.
|
||||
|
||||
@retval EFI_SUCCESS Success.
|
||||
@retval EFI_DEVICE_ERROR Fail to scan bus.
|
||||
**/
|
||||
EFI_STATUS
|
||||
PciScanBus_WithHotPlugDeviceSupport (
|
||||
IN PCI_IO_DEVICE *Bridge,
|
||||
IN UINT8 StartBusNumber,
|
||||
OUT UINT8 *SubBusNumber,
|
||||
OUT UINT8 *PaddedBusRange
|
||||
);
|
||||
Process Option Rom on the specified root bridge.
|
||||
|
||||
/**
|
||||
Wapper function of scanning pci bus and assign bus number to the given PCI bus system
|
||||
Feature flag PcdPciBusHotplugDeviceSupport determine whether need support hotplug.
|
||||
|
||||
@param Bridge Bridge device instance.
|
||||
@param StartBusNumber start point.
|
||||
@param SubBusNumber Point to sub bus number.
|
||||
@param PaddedBusRange Customized bus number.
|
||||
|
||||
@retval EFI_SUCCESS Success.
|
||||
@retval EFI_DEVICE_ERROR Fail to scan bus.
|
||||
**/
|
||||
EFI_STATUS
|
||||
PciScanBus_WithoutHotPlugDeviceSupport (
|
||||
IN PCI_IO_DEVICE *Bridge,
|
||||
IN UINT8 StartBusNumber,
|
||||
OUT UINT8 *SubBusNumber,
|
||||
OUT UINT8 *PaddedBusRange
|
||||
);
|
||||
@param Bridge Pci root bridge device instance.
|
||||
|
||||
@retval EFI_SUCCESS Success process.
|
||||
@retval other Some error occurred when processing Option Rom on the root bridge.
|
||||
|
||||
/**
|
||||
Process Option Rom on this host bridge.
|
||||
|
||||
@param Bridge Pci bridge device instance.
|
||||
|
||||
@retval EFI_SUCCESS Success.
|
||||
**/
|
||||
EFI_STATUS
|
||||
PciRootBridgeP2CProcess (
|
||||
@@ -181,12 +119,14 @@ PciRootBridgeP2CProcess (
|
||||
);
|
||||
|
||||
/**
|
||||
Process Option Rom on this host bridge.
|
||||
|
||||
@param PciResAlloc Pointer to instance of EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL.
|
||||
|
||||
@retval EFI_NOT_FOUND Can not find the root bridge instance.
|
||||
Process Option Rom on the specified host bridge.
|
||||
|
||||
@param PciResAlloc Pointer to instance of EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL.
|
||||
|
||||
@retval EFI_SUCCESS Success process.
|
||||
@retval EFI_NOT_FOUND Can not find the root bridge instance.
|
||||
@retval other Some error occurred when processing Option Rom on the host bridge.
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
PciHostBridgeP2CProcess (
|
||||
@@ -197,10 +137,11 @@ PciHostBridgeP2CProcess (
|
||||
This function is used to enumerate the entire host bridge
|
||||
in a given platform.
|
||||
|
||||
@param PciResAlloc A pointer to the resource allocate protocol.
|
||||
@param PciResAlloc A pointer to the PCI Host Resource Allocation protocol.
|
||||
|
||||
@retval EFI_OUT_OF_RESOURCES no enough resource.
|
||||
@retval EFI_SUCCESS Success.
|
||||
@retval EFI_SUCCESS Successfully enumerated the host bridge.
|
||||
@retval EFI_OUT_OF_RESOURCES No enough memory available.
|
||||
@retval other Some error occurred when enumerating the host bridge.
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
@@ -218,10 +159,11 @@ PciHostBridgeEnumerator (
|
||||
@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 root bridge.
|
||||
@retval EFI_INVALID_PARAMETER Width is invalid for this PCI root bridge.
|
||||
@retval EFI_INVALID_PARAMETER Buffer is NULL.
|
||||
@retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources.
|
||||
@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.
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
@@ -236,17 +178,20 @@ PciIoRead (
|
||||
/**
|
||||
Write PCI configuration space through EFI_PCI_IO_PROTOCOL.
|
||||
|
||||
@param PciIo A pointer to the EFI_PCI_O_PROTOCOL.
|
||||
@param Width Signifies the width of the memory operations.
|
||||
@param Address The address within the PCI configuration space for the PCI controller.
|
||||
@param Count The number of unit to be write.
|
||||
@param Buffer For read operations, the destination buffer to store the results. For
|
||||
write operations, the source buffer to write data from.
|
||||
If PCI incompatibility check is enabled, do incompatibility check.
|
||||
|
||||
@retval EFI_SUCCESS The data was read from or written to the PCI root bridge.
|
||||
@retval EFI_INVALID_PARAMETER Width is invalid for this PCI root bridge.
|
||||
@retval EFI_INVALID_PARAMETER Buffer is NULL.
|
||||
@retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources.
|
||||
@param PciIo 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.
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
@@ -265,14 +210,13 @@ PciIoWrite (
|
||||
@param Pci A pointer to PCI_TYPE00.
|
||||
@param Width Signifies the width of the memory operations.
|
||||
@param Address The address within the PCI configuration space for the PCI controller.
|
||||
@param Count The number of unit to be write.
|
||||
@param Count The number of unit to be read.
|
||||
@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 root bridge.
|
||||
@retval EFI_INVALID_PARAMETER Width is invalid for this PCI root bridge.
|
||||
@retval EFI_INVALID_PARAMETER Buffer is NULL.
|
||||
@retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources.
|
||||
@retval EFI_SUCCESS The data was read from or written to the PCI root bridge.
|
||||
@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
|
||||
@@ -296,16 +240,15 @@ PciRootBridgeIoWrite (
|
||||
@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 root bridge.
|
||||
@retval EFI_INVALID_PARAMETER Width is invalid for this PCI root bridge.
|
||||
@retval EFI_INVALID_PARAMETER Buffer is NULL.
|
||||
@retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources.
|
||||
@retval EFI_SUCCESS The data was read from or written to the PCI root bridge.
|
||||
@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
|
||||
PciRootBridgeIoRead (
|
||||
IN EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *PciRootBridgeIo,
|
||||
IN PCI_TYPE00 *Pci, OPTIONAL
|
||||
IN PCI_TYPE00 *Pci, OPTIONAL
|
||||
IN EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_WIDTH Width,
|
||||
IN UINT64 Address,
|
||||
IN UINTN Count,
|
||||
|
Reference in New Issue
Block a user